Commit graph

22 commits

Author SHA1 Message Date
a972efe288 Merge branch 'vma_kernel' into vogel
Conflicts:
	kernel/tasks.c
2013-11-20 14:00:04 +01:00
de33962e9d removed old vm_alloc()/vm_free() which have been replaced by vma_alloc()/vma_free() 2013-11-20 13:22:09 +01:00
aa1730919e standardized comment format and code cleanup 2013-11-20 12:03:24 +01:00
ec171dfcce implemented map_region() (more testing needed; will propably replaced by a iterative solution) 2013-11-14 13:12:35 +01:00
892154c9f1 implemented drop_page_map() (more testing needed) 2013-11-14 13:09:56 +01:00
bbb8c5c186 implemented copy_page_frame() (more testing needed) 2013-11-14 13:09:31 +01:00
92b2badf71 implemented copy_page_map() (more testing needed) 2013-11-14 13:08:56 +01:00
cdcd9e7d20 implemented create_page_map() 2013-11-14 12:25:52 +01:00
14938ef7e1 added some helper functions to for the recursive mapping structures 2013-11-14 12:25:07 +01:00
4b485f5733 implemented virt_to_phys() 2013-11-14 12:23:42 +01:00
9441d21d89 more cleanup of old 32bit code relicts, typos and indention 2013-11-14 12:22:52 +01:00
fca96e9851 unified paging preprocessor #defines and naming scheme 2013-10-24 12:36:05 +02:00
Steffen Vogel
9b47b3ef45 refactored paging code to be more universial and suitable for 64bit paging 2013-10-16 17:50:37 +02:00
1fc3e40c4e fixed some typos, added comments and some code cleanup 2013-10-10 11:09:36 +02:00
Stefan Lankes
941a7006a4 backport of the 32bit code 2012-09-10 15:37:45 +02:00
Stefan Lankes
e2550fbdb2 avoid deadlock by disabling interrupts in map_region
- the page_fault handler uses also map_region and implicitly its spinlock
- risk of a deadlock
2012-08-01 21:12:55 +02:00
Stefan Lankes
8b91ff3fff remove some compiler warnings 2012-07-22 20:10:16 +02:00
Stefan Lankes
531556f53c remove warnings, optimize vm_alloc 2012-06-12 09:24:38 +02:00
Stefan Lankes
1e275732c5 simplify the APIC and GDT code 2012-06-10 23:40:22 +02:00
Stefan Lankes
609500a6d8 add additional output messages 2012-06-10 12:10:54 +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