Stefan Lankes
941a7006a4
backport of the 32bit code
2012-09-10 15:37:45 +02:00
Stefan Lankes
e1c3ddbc8d
use irqsave page directory lock to avoid deadlocks
2012-09-10 13:41:00 +02: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
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
9d422ed700
define the function shmalloc to allocate a shared page
...
caution, the function returns the physical address
2012-07-15 05:57:39 -07: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
c2935e2f66
remove "unsecure" usage of get_page in page_init
2012-06-10 11:53:33 +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
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
ee4e23bff0
Merge branch 'master' into experiments
2012-04-24 00:38:42 -07: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
4148da6571
fine tuning
2011-12-19 12:26:22 -08:00
Stefan Lankes
dceb8485d9
increasing the support of affinity-on-first-touch
2011-12-14 01:39:12 -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
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
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
Pablo Reble
774388526a
- set correct task flag
...
- cosmetical changes
2011-11-09 07:48:16 -08:00
Pablo Reble
7b6a2424e0
- implemented first draft of L2 flush
2011-11-08 09:22:49 -08:00
Stefan Lankes
ed26215989
add additional performance counters
2011-11-08 07:46:35 -08:00
Stefan Lankes
9e286a567e
initialize atomic counters and enable Lubashevsky barrier
2011-11-08 06:49:40 -08:00
Stefan Lankes
d24958f8b1
Merge branch 'svm' of git.lfbs.rwth-aachen.de:metalsvm into svm
2011-11-08 01:12:13 -08:00
Stefan Lankes
4c61e37fca
first steps to realize a Lubachevsky barrier with flag
2011-11-08 01:03:27 -08:00
Stefan Lankes
9dbde43197
rename svmmalloc to svm_malloc, rename svmfree to svm_free, add the function svm_barrier
2011-11-07 12:19:57 -08:00
Stefan Lankes
4c2525c0b3
add code to evaluate the performance of our SVM system
2011-11-07 11:28:44 -08:00
Pablo Reble
2459cdcc7f
- started to add L2 flush routine and adapt svm testcase
2011-11-07 07:39:08 -08:00
Stefan Lankes
2db441bc17
add temporary workaround to distribute shared pages over all memory controllers
2011-10-21 14:17:54 -07:00
Stefan Lankes
69d2114654
add flag MAP_REMAP to remap already mapped paged with new attributes
2011-10-10 15:37:35 -07:00
Stefan Lankes
8e6b00b42e
redesign of the interrupt handling
...
=> now, the eMAC device uses also LINT0
2011-10-09 13:04:13 -07:00
Stefan Lankes
62070aa3a9
add the support of (explicit) write through caching
2011-09-03 13:25:49 -07:00
Stefan Lankes
27e652f81d
if a task exists with a higher priority, we start a rescheduling in check_workqueues.
2011-09-02 13:57:11 -07:00
Stefan Lankes
f198c26851
add nicer output messages
2011-09-02 13:35:22 -07:00
Stefan Lankes
5f4c1f8aaa
Integration of Simon's mailbox system into the SVM subsystem
2011-08-29 01:49:59 -07:00
Stefan Lankes
a8cfbf3e93
disable MPE flag (=> using L2 cache) for readonly regions
2011-08-29 01:49:19 -07:00
Stefan Lankes
38d26aecae
Merge branch 'master' into demo
2011-08-28 23:59:12 -07:00
Stefan Lankes
81d384b1b0
minor changes in the code style
2011-08-28 08:54:18 -07:00
Stefan Lankes
c81c83e9ff
Merge remote branch 'origin/mailbox_integration' into demo
2011-08-27 08:07:43 -07:00