Commit graph

542 commits

Author SHA1 Message Date
Jacek Galowicz
ecb3fb5af2 Reverted the removal of configure_idt_entry()
Commit 227cc19890
"add alpha version of x64 support"
removed configure_idt_entry(), but this is used within the
lguest branch.
2012-06-13 09:57:01 +02:00
Jacek Galowicz
49eb099b80 Reverted the removal of configure_gdt_entry()
Commit 227cc19890
"add alpha version of x64 support"
removed configure_gdt_entry(), but this is used within the
lguest branch.
2012-06-13 09:36:28 +02:00
Stefan Lankes
e06d910514 enable SMP support for 64bit systems 2012-06-12 23:42:02 +02:00
Stefan Lankes
531556f53c remove warnings, optimize vm_alloc 2012-06-12 09:24:38 +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
e230fdcf15 usage of 64bit TSS descriptors and some code cleanups 2012-06-11 16:16:35 +02:00
Stefan Lankes
4fb03cde20 fix bug in the initialization of the stack pointer 2012-06-11 16:15:26 +02:00
Stefan Lankes
1e275732c5 simplify the APIC and GDT code 2012-06-10 23:40:22 +02:00
Stefan Lankes
654e91b0a2 add LAPIC support of the 64bit kernel 2012-06-10 21:38:01 +02:00
Stefan Lankes
609500a6d8 add additional output messages 2012-06-10 12:10:54 +02:00
Stefan Lankes
c2935e2f66 remove "unsecure" usage of get_page in page_init 2012-06-10 11:53:33 +02:00
Stefan Lankes
9d843a5e09 reduce obsolete lines and additional output messages 2012-06-10 08:54:08 +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
Stefan Lankes
d21e707024 Merge remote-tracking branch 'origin/master' into x64_new 2012-05-24 12:05:14 +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
fc0c903de3 reduce overhead to determine TSS 2012-05-23 11:19:46 -07:00
Stefan Lankes
50b8068a78 fix bug in inline assembler 2012-05-21 12:16:19 -07:00
Stefan Lankes
b9b962ea73 revise software multitasking
=> remove hardware multitasking
2012-05-21 15:04:05 +02:00
Stefan Lankes
b39a84e07f Merge remote-tracking branch 'origin/ctx_switch' into x64_new 2012-05-17 14:45:34 +02:00
Stefan Lankes
21e113c53a avoid compiling of SCC features on non-SCC systems 2012-04-24 10:35:24 +02:00
Stefan Lankes
ee4e23bff0 Merge branch 'master' into experiments 2012-04-24 00:38:42 -07:00
Jacek Galowicz
0984eb593f Commented everything 2012-04-14 09:57:18 +02:00
Jacek Galowicz
43fc6c94e5 Removed DS, ES, FS and GS registers from task switch routines 2012-04-14 09:18:36 +02:00
Jacek Galowicz
f4a7d6bd3a The context is now switched by software.
- Cleanup to be done
- Arch_fork does NOT work in this state
- Multiprocessing support not yet implemented
2012-04-14 00:34:09 +02:00
Jacek Galowicz
49533df72e Made the interrupt entry also safe the registers DS to GS.
This may be removed in the future for speed purposes.
2012-04-11 08:41:58 +02:00
Jacek Galowicz
72016236f1 Fixed two typos. 2012-04-02 14:55:29 +02:00
Stefan Lankes
bfbd560f70 this fixes booting with initrd on qemu 1.0
patch submitted by Niels Ole Salscheider  <niels_ole@salscheider-online.de>
2012-02-02 22:54:09 +01:00
Stefan Lankes
e03d155fc0 add missing RCCE file to support RCCE_allreduce 2011-12-19 22:33:19 -08:00
Stefan Lankes
4148da6571 fine tuning 2011-12-19 12:26:22 -08:00
Jacek Galowicz
4e53aa6f95 Commented the PIT-initialization code to make it easier to understand. 2011-12-15 18:48:06 +01:00
Stefan Lankes
49ee4593d0 minor optimization of the mail benchmark 2011-12-14 01:39:55 -08:00
Stefan Lankes
dceb8485d9 increasing the support of affinity-on-first-touch 2011-12-14 01:39:12 -08:00
Generic account for RWTHAachen Students
adc10512ed little changes in pingpong bench 2011-12-13 03:39:21 -08:00
Stefan Lankes
1d5ad1c917 use response mail per default 2011-12-05 00:19:47 -08:00
Stefan Lankes
fae93b4304 support an approach without response mail 2011-12-04 04:47:40 -08:00
Stefan Lankes
feaf615724 align address to page boundary, cosmetic changes 2011-12-03 12:06:36 -08:00
Stefan Lankes
3acdf72b88 remove obsolete debug message 2011-12-01 06:52:04 -08:00
Stefan Lankes
2d1a19f15e use core ids instead of RCCE ids for the mailbox benchmarks 2011-12-01 05:40:10 -08:00
Stefan Lankes
54b1c3e6ac check five times the receive buffers because a remote interrupt could pass the mail 2011-11-29 03:22:01 -08:00
Stefan Lankes
7ed258a1fb remove buf in the calucaltion of the MPB address
+ increasing the readabilty
+ add additional performance counters for the page allocation
2011-11-21 13:39:01 -08:00
Stefan Lankes
2071bb0601 increasing the readability of the code 2011-11-21 13:38:02 -08:00
Stefan Lankes
85c94f7af7 disable unused performance counters 2011-11-21 13:37:15 -08:00
Stefan Lankes
cf76781baa first steps to support affinity on the touch 2011-11-16 03:12:09 -08:00
Stefan Lankes
8c67426c8c Merge branch 'svm' of git.lfbs.rwth-aachen.de:metalsvm into svm 2011-11-10 01:15:37 -08:00
Pablo Reble
1636501973 - fix merge conflicts 2011-11-10 01:09:31 -08:00
Stefan Lankes
e68568aa8f Merge branch 'svm' of git.lfbs.rwth-aachen.de:metalsvm into svm
Conflicts:
	arch/x86/mm/svm.c
2011-11-10 01:00:45 -08:00
Stefan Lankes
aba9731610 first steps to realiz "affinity-on-first-touch" 2011-11-10 00:58:34 -08:00
Pablo Reble
a114e3997d Merge branch 'svm', remote branch 'origin/svm' into svm
Conflicts:
	arch/x86/mm/svm.c
2011-11-09 07:56:54 -08:00