Commit graph

214 commits

Author SHA1 Message Date
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
3e01fbad68 add a more flexible interface to determine PCI information
=> now, we determine also the size of the IO address space
2012-07-26 09:07:20 +02:00
Stefan Lankes
7f7dd4585f add the support of ELF64 2012-07-22 20:12:24 +02:00
Stefan Lankes
84945aee64 add MSR and X2APIC support 2012-07-22 13:16:17 +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
09ec6dcc3a some code cleanups
=> simplify the handling of FPU exceptions
2012-07-18 20:56:23 +02:00
Stefan Lankes
f83f29abb7 add automatic detection of fence instructions 2012-07-17 22:33:29 +02:00
Stefan Lankes
c32a30726a some code cleanups 2012-07-17 12:44:18 -07: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
24914fcb4f add prototype of a tickless kernel
only by entering the kernel, the tick counter will be updated
=> by using this feature, MetalSVM supports only LwIP's raw interface,
   because we have no guarantee that the tcpip thread will get computation time
=> no NETCONN & BSD socket support
=> no load balancing support
2012-07-03 16:46:54 +02:00
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
e230fdcf15 usage of 64bit TSS descriptors and some code cleanups 2012-06-11 16:16:35 +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
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
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
b9b962ea73 revise software multitasking
=> remove hardware multitasking
2012-05-21 15:04:05 +02:00
Stefan Lankes
dceb8485d9 increasing the support of affinity-on-first-touch 2011-12-14 01:39:12 -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
cf76781baa first steps to support affinity on the touch 2011-11-16 03:12:09 -08:00
Pablo Reble
1636501973 - fix merge conflicts 2011-11-10 01:09:31 -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
7b6a2424e0 - implemented first draft of L2 flush 2011-11-08 09:22:49 -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
198c1dcebd merge Simon's current version of our mailbox system 2011-11-07 13:01:57 -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
a5503ad23a add function icc_wait, which waits for a specific mail tag 2011-11-07 11:25:54 -08:00
Pablo Reble
2459cdcc7f - started to add L2 flush routine and adapt svm testcase 2011-11-07 07:39:08 -08:00
Jacek Galowicz
098f3c48e1 Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm 2011-10-24 19:27:12 +02:00
Jacek Galowicz
5a4bd9a069 Fixed some documentation errors across the project.
Changed some stuff in the doxyfile and added a directory structure for
future manual pages.
2011-10-24 19:26:27 +02:00
Stefan Lankes
e54b0e132b add test and set barrier 2011-10-21 14:21:39 -07:00
Stefan Lankes
364609e8e0 add the array RC_RCCEID to determine the RCCE ID from a given core id 2011-10-10 21:54:56 +02: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
3bbba12ac9 fix bug in save_fpu_state 2011-10-07 16:11:25 +02:00
Stefan Lankes
498654447c move scc_memcpy.h to arch/x86/include/asm 2011-10-02 14:07:13 -07:00
Marian Ohligs
aecd3b1c8c remove compiler warnings in drivers/char/stdio 2011-09-30 11:59:45 +02:00
Stefan Lankes
c42642aadc remove typo 2011-09-22 21:36:05 +02:00
Marian Ohligs
e572d1c502 Merge branch 'master' into ohligs
Conflicts:
	kernel/init.c
	kernel/tests.c
2011-09-09 21:23:15 +02:00
Stefan Lankes
751dda8f1e add helper function to determine, if the interrupt flag is set 2011-09-02 13:51:29 -07:00
Stefan Lankes
e6fb99beb4 add inline assembler functions to determine the MSB and LSB 2011-09-01 13:31:41 -07:00
Marian Ohligs
ed5dba2672 Merge branch 'master' into ohligs
Conflicts:
	kernel/tests.c
2011-08-29 14:52:23 +02:00
Stefan Lankes
6a9794dc9b remove obsolete files 2011-08-29 04:03:32 -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
cdba322d9b cosmetic changes 2011-08-29 00:04:07 -07:00
Stefan Lankes
19cfc735e2 Merge remote branch 'origin/mailbox_integration' into demo 2011-08-28 23:59:48 -07:00
Simon Pickartz
236a207ce1 benchmarks now working with 4 cores 2011-08-28 07:09:04 -07:00
Generic account for RWTHAachen Students
6d065f8621 fix in mail_noise 2011-08-27 23:32:04 -07:00
Stefan Lankes
c81c83e9ff Merge remote branch 'origin/mailbox_integration' into demo 2011-08-27 08:07:43 -07:00
Stefan Lankes
2acd2a2f57 add SCC optimized memset function 2011-08-27 05:24:28 -07:00