Commit graph

10 commits

Author SHA1 Message Date
Stefan Lankes
da30b95e9d minor optimizations and code cleanups 2012-09-10 05:34:18 -07:00
Stefan Lankes
4131221b9a By entering/leaving the kernel, DS and ES registers will be saved/restored. 2012-08-24 20:21:21 +02:00
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
89c792cc03 fix bug in the calculation of esp0 2012-07-19 00:17:31 +02:00
Stefan Lankes
dadc4ce7ed set task switched flag to support applications, which require FPU support 2012-07-18 20:54:04 +02:00
Stefan Lankes
c32a30726a some code cleanups 2012-07-17 12:44:18 -07:00
Stefan Lankes
3c1b270160 fix bug in the calculation of esp0 2012-07-14 11:16:29 +02:00
Stefan Lankes
e230fdcf15 usage of 64bit TSS descriptors and some code cleanups 2012-06-11 16:16:35 +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
ed2186ee03 add init code, which jumps to 64bit mode and and calls main 2012-05-29 20:47:45 +02:00
Renamed from arch/x86/kernel/entry.asm (Browse further)