Stefan Lankes
4775e5e11e
use static stacks only for the idle tasks
...
=> all other stacks will be created on demand
2012-07-19 22:07:59 +02:00
Stefan Lankes
e230fdcf15
usage of 64bit TSS descriptors and some code cleanups
2012-06-11 16:16:35 +02:00
Stefan Lankes
1e275732c5
simplify the APIC and GDT code
2012-06-10 23:40:22 +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
45313d47f2
add build environment for 64bit code
...
=> environment build 64bit kernel, but the kernel is not tested!
=> work in progess
2012-05-24 10:49:45 +02:00
Stefan Lankes
b9b962ea73
revise software multitasking
...
=> remove hardware multitasking
2012-05-21 15:04:05 +02:00
Jacek Galowicz
5a4bd9a069
Fixed some documentation errors across the project.
...
Changed some stuff in the doxyfile and added a directory structure for
future manual pages.
2011-10-24 19:26:27 +02:00
Stefan Lankes
721bf94599
add missing "cc" in the clobber list
2011-08-26 08:38:30 +02:00
Stefan Lankes
452aa3b1d1
cosmetic changes and add some scheduling statistics
2011-08-03 19:37:05 +02: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
ab37b024b0
simply the scheduler => move code from entry.asm to timer.c
2011-07-21 09:59:29 +02:00
Stefan Lankes
e595fae384
add SMP support
...
- this is experimental version
- by setting MAX_CORES to 1, you are to disable the SMP support
2011-07-18 09:14:28 +02:00
Jacek Galowicz
f411498368
Commented another bunch of header files.
2011-04-04 18:12:08 +02:00
Stefan Lankes
a27150b923
Fix bug in system call "fork"
...
- issues: memory leak
2011-03-02 23:08:01 +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
23ed873c24
- define jump_to_user_code as line function
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@395 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-08 19:47:49 +00:00
stefan
9a9df5ed2e
- merge current eduOS branch to MetalSVM
...
=> add the support of "real" user-space applications, which could be loaded via initrd
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@394 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-08 18:37:56 +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
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
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