Commit graph

32 commits

Author SHA1 Message Date
Stefan Lankes
cdd16a2b9f add the SSE support
=> context switch stores also the SSE registers
2011-05-28 23:35:46 +02:00
Stefan Lankes
29ab43f289 First steps to realize Inter-Core-Communication via RCCE 2011-04-23 00:13:12 -07:00
Stefan Lankes
68564c3238 Merge branch 'tests'
Conflicts:
	include/metalsvm/spinlock.h
	include/metalsvm/spinlock_types.h
	kernel/tasks.c
2011-04-18 15:36:22 +02:00
Stefan Lankes
47f37e3b00 use memory barriers instead of read memory barriers to determine the current TSC
=> more accurate caclculation of the timer frequency
+ minor cosmetic changes
2011-04-18 15:07:45 +02:00
Stefan Lankes
02cf1d87f2 resolve some merge conflicts 2011-04-14 08:58:07 +02:00
Stefan Lankes
b5908af744 Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm into doxygen
Conflicts:
	.gitignore
	arch/x86/include/asm/apic.h
	arch/x86/include/asm/page.h
	arch/x86/include/asm/processor.h
	arch/x86/kernel/idt.c
2011-04-14 08:40:52 +02:00
Stefan Lankes
eeb49cdb90 add the SCC support of a initial ramdisk 2011-04-13 11:03:34 -07:00
Stefan Lankes
ba1388c13d Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm into rcce 2011-04-08 07:26:55 -07:00
Stefan Lankes
030243f200 introduce the hlt instruction 2011-04-08 16:01:44 +02:00
Stefan Lankes
683f8cca1e add macro to simplify the using of th hlt instruction 2011-04-06 05:38:44 -07:00
Stefan Lankes
f0e4a2b833 add the support of the memory type MPBT
=> seesection "10.1.2 Internal Cache Changes" of SCC External Architecture Specification (R1.1)
2011-04-05 23:43:44 -07:00
Stefan Lankes
9918db81ec fix bugs in initialization of RCCE
at first, we have to enable paging and to disable caching for the configuration registers
2011-04-05 01:55:02 -07:00
Jacek Galowicz
f411498368 Commented another bunch of header files. 2011-04-04 18:12:08 +02:00
Stefan Lankes
f9ec7ccadc redesign of the SCC's init routines 2011-03-25 20:28:43 +01:00
Stefan Lankes
c738a64d57 integration of RCCE in MetalSVM (untested version)
Attention: currently, MetalSVM didn't support the floating point unit

=> no using of RCCE_wtime
=> no using of the data type RCCE_double
=> RCCE_init expect an integer value as frequency in MHZ
2011-03-24 11:21:38 +01:00
Stefan Lankes
5ce3ed9338 First steps to support the system calls "fork" and "wait"
- Currently, the system call "fork" doesn't work and has a memory leak
- However, it is a good starting point for further developments.
2011-03-02 13:49:36 +01:00
Stefan Lankes
cf078ec359 add a function to read the instruction pointer 2011-03-02 06:28:50 +01:00
stefan
8646b56a63 - minor changes to support APIC
(currently, we got page fault by entering apic_calibration)
- first steps to realize a loader



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@365 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-05 10:16:53 +00:00
stefan
45219bce2e - huge commit
- enable the paging support
- redesign of the APIC code

TODO:
- Currently, we are not able to start user-level applications.
- The RTL8139 driver does not longer work. Perhaps, a bug in the output function.
- The APIC codes doesn't work on all systems. Therefore, the code is currently disabled.



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@326 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-10 06:16:58 +00:00
stefan
0419142d83 - add an inline C function for the assembler operation CL1FLUSHMB
- works only on the SCC


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@269 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-24 22:00:03 +00:00
stefan
6346f54594 - redesign of the function cpuid to avoid unintentional overriding of registers
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@268 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-24 19:05:04 +00:00
stefan
c8c3035a4d - complete redesign of the APIC code
- MetalSVM detects the APIC and initializes the APIC timer
- If an a APIC is available, the PIC timer will be disabled
- SMP is currently not supported



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@233 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-04 20:15:39 +00:00
stefan
08cbc0a257 - add the first steps to support the (local and IO) APIC
- remove some typos in the comments


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@196 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-10-25 16:58:31 +00:00
stefan
c4ed163f9d - cosmetic changes
- use inline functions instead of macros


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@158 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-11 11:29:30 +00:00
stefan
81df510743 - add comments
- use readable macros instead of constants
- use the same error number like newlib


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@156 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-10 22:18:55 +00:00
stefan
bb075ea130 - add macros for cache flushing and memory barriers
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@145 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-07 21:10:59 +00:00
stefan
61907132a8 - rename some functions
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@69 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-11 13:12:55 +00:00
stefan
2a6664f01a - first steps to intialize the a Rock Creek system
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@59 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-10 15:20:27 +00:00
stefan
7294c47c98 - add code to detect pci interfaces
- code restructuring
- remove some typos in debug messages



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@42 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-05 11:53:02 +00:00
stefan
9825532c82 - remove obsolete files
- the function join_kernel_task delivers the return value of the task, which is watinting for
-spinlocks supports irq save functions 


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@21 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-03 10:20:32 +00:00
stefan
0aea73bdc7 - add a simple memory mangement unit
- use a bitmask to mark used pages (see lecture notes "BS")


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@7 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-02 07:43:56 +00:00
stefan
9778b7b790 - first steps to realize a SVM subsystem in a VM
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@2 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-07-31 15:53:30 +00:00