0e6f7b1e32
added more exception names
2014-01-30 14:38:08 +01:00
494ee1299a
unified and extended pagefault exception handler
...
some cleanup
2014-01-09 13:32:00 +01:00
Stefan Lankes
09ec6dcc3a
some code cleanups
...
=> simplify the handling of FPU exceptions
2012-07-18 20:56:23 +02:00
Stefan Lankes
f83f29abb7
add automatic detection of fence instructions
2012-07-17 22:33:29 +02:00
Stefan Lankes
227cc19890
add alpha version of x64 support
...
New features:
- support of kernel tasks in 64bit mode
- support of LwIP in 64bit mode
Missing features in 64bit mode
- user-level support
- APIC support => SMP support
To create a 64bit version of the MetalSVM kernel, the compiler flags “-m64 -mno-red-zone” and the assembler flags “-felf64” has to be used. Please use qemu-system-x86_64 as test platform.
Notice, metalsvm.elf is a 32bit ELF file. However, it contains (beside the startup code) only 64bit code. This is required because GRUB doesn’t boot 64bit ELF kernels. Therefore, for disassembling via objdump the flag “-M x86-64” has to be used.
2012-06-10 08:05:24 +02:00
Stefan Lankes
5fe4f8895b
minor optimizations and additional output messages
2011-10-07 16:10:34 +02:00
Stefan Lankes
81d384b1b0
minor changes in the code style
2011-08-28 08:54:18 -07:00
Stefan Lankes
d5bfc4f28c
avoid races on SMP systems
...
=> signalizes with a new flag, that a task switch is finished
2011-08-01 22:01:39 +02:00
Stefan Lankes
5290cd0002
using of the correct data types
...
=> avoids some conflicts on other architectures
2011-07-30 22:46:08 +02:00
Stefan Lankes
ab37b024b0
simply the scheduler => move code from entry.asm to timer.c
2011-07-21 09:59:29 +02:00
Stefan Lankes
e57a447fda
minor changes in using the per_core macro, add additional output messages by an exception & cosmetic changes
2011-07-20 09:47:46 +02:00
Stefan Lankes
d05ffcacac
we use the same handler for exceptions and interrupts => interrupts has to push a virtual error code on the stack
2011-07-19 09:10:12 +02:00
Stefan Lankes
ff1bc7c470
remove typo
2011-07-11 23:42:25 -07:00
root
7724b70d55
upgrade to newest metalsvm
2011-06-27 11:39:01 +02:00
Stefan Lankes
cdd16a2b9f
add the SSE support
...
=> context switch stores also the SSE registers
2011-05-28 23:35:46 +02:00
Stefan Lankes
0c411fd702
add basic support of sbrk and fix bug in saving of the fpu context
2011-04-21 07:32:20 +02:00
Stefan Lankes
7cb05d8f4a
first version to support the FPU
...
- seems to work
- currently, we didn't support SIMD instructions
2011-04-21 07:32:10 +02:00
Jacek Galowicz
dfe2c817de
Continued the small documentation journey.
...
Edited Doxyfile - will show static functions and vars now, because some
of them were interesting for documentation.
2011-04-04 11:27:49 +02: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
f28fd84c68
- redesign of the apic code
...
- add ioapic support
- currently, all irq will forwarded to the boot processor
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@293 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-29 02:39:10 +00:00
stefan
bc67c946af
- add APIC support for the SCC
...
- seems to work, only the APIC timer doesn't work!
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@273 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-26 05:33:02 +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
6e0bbaf55e
- increase the readability by using macros instead of some hard-coded numbers
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@123 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-24 05:43:39 +00:00
stefan
71188c92f9
- complete restart of the project
...
- support of TSS-based task switching
- add a mailbox template
- suport of user level task
- support of system calls
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@47 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 11:47:51 +00:00
stefan
9160888a8d
- cosmetic changes
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@46 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-05 13:50:03 +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