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
3d1facb657
Merge branch 'sw_switch'
2012-05-23 11:21:38 -07:00
Stefan Lankes
fc0c903de3
reduce overhead to determine TSS
2012-05-23 11:19:46 -07:00
Stefan Lankes
83bd8ea677
add 64bit version of link.ld
2012-05-23 08:09:08 +02:00
Stefan Lankes
07a981a028
prepare newlib to support x86_64
2012-05-23 08:03:06 +02:00
Jacek Galowicz
181ae30e2c
Changed the .gitignore file to make git ignore config.inc
2012-05-22 13:44:33 +02:00
Jacek Galowicz
f8058bbee2
Made the makescript generate config.inc automatically.
2012-05-22 13:38:41 +02:00
Marian Ohligs
884dd08641
fix memory leak
2012-05-22 13:24:00 +02: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
Jacek Galowicz
0a577b9f7e
Fixed the pageframe allocation error introduced by
...
d641f5a211
This did only occur on the SCC: If someone allocated much memory and
wrote over it, it did affect the initrd...
2012-05-03 04:16:41 -07:00
Stefan Lankes
b1bf768341
temporary disabling the support of reentrant functions
2012-04-27 22:25:54 +02:00
Stefan Lankes
702bc7dfcd
minor improvements
2012-04-24 21:02:47 +02:00
Stefan Lankes
71a1502489
add support of pid caching
2012-04-24 20:47:36 +02:00
Stefan Lankes
e6816bb0bd
add test case for the system call "getpid"
2012-04-24 20:44:25 +02:00
Stefan Lankes
21e113c53a
avoid compiling of SCC features on non-SCC systems
2012-04-24 10:35:24 +02:00
Stefan Lankes
c52d457b08
switch to the default apps
2012-04-24 01:29:24 -07:00
Stefan Lankes
ee4e23bff0
Merge branch 'master' into experiments
2012-04-24 00:38:42 -07:00
Stefan Lankes
86687fdd6f
disable the support of operations on large files (sseek64 etc.)
2012-04-23 13:39:17 -07:00
Stefan Lankes
0c4e177c1f
switch to a reentrant version of newlib and uses correct values for O_CREAT & Co
...
=> see include/metalsvm/fs.h and newlib/examples/hello.c
2012-04-23 21:23:49 +02:00
Stefan Lankes
dafa1f813e
upgrade to newlib 1.2.0
2012-04-23 15:29:51 +02:00
Stefan Lankes
ee5597df15
increasing the readability
2012-04-22 21:40:17 +02:00
Jacek Galowicz
9b36a72f5f
Wrote a benchmark for measuring the context switch time.
2012-04-15 19:40:51 +02: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
f4950981b2
Added a define constant for task switching modes.
2012-04-09 20:02:21 +02:00
Jacek Galowicz
17106b7a74
Added a context switch measurement scenario from the operating systems
...
lecture
2012-04-09 20:01:39 +02:00
Stefan Lankes
bc6a55a696
Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm
2012-04-03 16:17:46 +02:00
Jacek Galowicz
72016236f1
Fixed two typos.
2012-04-02 14:55:29 +02:00
Jacek Galowicz
da1e72f5b3
Added the famous Mike Ostrich logo to the documentation!
2012-03-28 14:01:12 +02:00
Jacek Galowicz
5e4e0e2159
Edited the Doxyfile
...
Fixed some errors and added a nice iframes treeview.
2012-03-28 13:06:25 +02:00
Florian Zeitz
b64324def1
Fix tautologic compare, harmonize types
2012-02-28 13:20:46 +01:00
Florian Zeitz
4b7cc737f6
Fix GFX_init() and use it instead of gfx_init()
2012-02-28 13:16:55 +01:00
Florian Zeitz
f58afd7e34
Introduce CPP_FOR_TARGET in Makefile
2012-02-28 12:48:25 +01:00
Stefan Lankes
8ec1d0e817
fix deadlock in load_balancing
2012-02-24 06:47:41 +01:00
Marian Ohligs
5b5139c283
now using readsyscall in newlib/net/recv and writesyscall in newlib/net/send
2012-02-14 17:01:57 +01:00
Marian Ohligs
9f30fab544
fix newlib/Makefile
2012-02-14 10:32:35 +01: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
fd4281bb16
fine tuning
2011-12-21 08:26:03 -08:00
Stefan Lankes
b9747ae4d1
fine tuning
2011-12-21 06:54:15 -08:00
Stefan Lankes
e3e77baee5
add jacobi example
2011-12-21 05:22:16 -08: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