ff130c4538
moved VMA initialization of APIC and MultiProcessing related stuff to apic.c
2014-05-14 18:01:58 +02:00
8287ab79d3
fixed SMP with new paging code
2014-05-14 15:17:34 +02:00
ab35409aac
the LAPIC page should be marked as not executable
2014-04-15 16:57:03 +02:00
00127d06cf
some cleanup
2014-04-15 16:28:02 +02:00
6bd2f64687
set PG_GLOBAL flag on pagetables
...
this leads to global self-mapped page tables
and therefore reduces to effect of TLB shootdowns.
2014-04-15 16:27:16 +02:00
273137f2e7
fixed sys_fork and sys_execve for new paging code
2014-02-18 13:12:19 +01:00
61ec065da1
some smaller codestyle improvements
2014-02-18 13:03:52 +01:00
39bb5e8d56
fixed mapping for APIC and IOAPIC
2014-02-18 11:06:13 +01:00
d51237f3f2
fixed missing page map: Multiboot mmap_* fields are not required to be on the same page as the Multiboot info structure itself
2014-02-07 10:56:04 +01:00
d5f60ef542
fixed two smaller bugs and some compiler warnings
2014-01-09 16:12:13 +01:00
a00177ec09
adapted c runtime and syscalls to x86-64 ABI calling convention
2014-01-09 14:04:02 +01:00
269bffc208
unified comment fontcase
2014-01-09 13:41:22 +01:00
4514080014
enable global pages for the kernelspace
2013-12-03 15:54:58 +01:00
fff2708c5a
move page map setup to arch_paging_init()
2013-12-03 15:52:16 +01:00
9441d21d89
more cleanup of old 32bit code relicts, typos and indention
2013-11-14 12:22:52 +01:00
90d884ec8d
changed naming of 64bit boot paging tables according to 32bit boot tables
...
calculate required boot page tables as a function of KERNEL_SPACE
2013-10-25 12:02:04 +02:00
fca96e9851
unified paging preprocessor #defines and naming scheme
2013-10-24 12:36:05 +02:00
d59676dbf5
more work to make our assembly initialization more beautiful
2013-10-17 21:35:13 +02:00
3e73d6384e
fixed regression
2013-10-17 13:09:20 +02:00
3be25b99d2
reorganized 64bit paging initialization
2013-10-17 11:36:02 +02:00
403c529e8b
fixed copy&paste bug and moved cpu initialization in cpu_init()
2013-10-16 17:50:37 +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
c0a96953b4
only if CONFIG_VGA is defined, VGA will be mapped into the kernel space
2012-07-22 10:56:03 +02:00
Stefan Lankes
cbd5b5be83
disable the cache for VGA
2012-07-22 10:46:07 +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
1c4c51ae50
port esp0-patch to x86_64
2012-07-14 12:15:01 +02:00
Stefan Lankes
32aee76655
remove obsolete symbols in a single environment
2012-07-10 21:48:23 +02:00
Stefan Lankes
e06d910514
enable SMP support for 64bit systems
2012-06-12 23:42:02 +02:00
Stefan Lankes
a1f07c8027
map also mp_config into the address space
2012-06-12 09:20:54 +02:00
Stefan Lankes
08bcc19626
enable full (64bit) APIC support
...
- no SMP support
2012-06-11 21:49:17 +02:00
Stefan Lankes
4fb03cde20
fix bug in the initialization of the stack pointer
2012-06-11 16:15:26 +02:00
Stefan Lankes
654e91b0a2
add LAPIC support of the 64bit kernel
2012-06-10 21:38:01 +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