Stefan Lankes
1920947ae8
determine via awk KERNEL_STACK_SIZE and push the value into config.inc
2012-07-14 11:14:29 +02:00
Stefan Lankes
0b5f83392f
Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm_private
2012-07-14 11:13:07 +02:00
Stefan Lankes
d5c5e1278a
determine via awk KERNEL_STACK_SIZE and push the value into config.inc
2012-07-14 11:12:13 +02:00
Jacek Galowicz
c0c6244690
Added Makefile.scc and config.h.scc - preconfigured for use on SCC
2012-07-13 08:02:19 +02:00
Stefan Lankes
764134bd18
remove bug by searching lapci on a 64bit system
2012-07-10 22:43:02 +02:00
Stefan Lankes
32aee76655
remove obsolete symbols in a single environment
2012-07-10 21:48:23 +02:00
Stefan Lankes
aba4c7205a
remove bug in Makefile to build a 64bit system on Linux system
2012-07-10 21:47:03 +02:00
Stefan Lankes
4255cc0a6b
add SCC-related stuff to support the tickless kernel
2012-07-03 10:58:20 -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
c7c58b9a30
Updated Doxygen config and texts.
2012-07-02 12:40:08 +02:00
Stefan Lankes
d9f311877c
Merge branch 'x64_new'
2012-06-13 11:24:10 +02:00
Stefan Lankes
be3eed681e
use the correct data type for the CR4 register
2012-06-13 11:23:05 +02:00
Stefan Lankes
ab27285843
disable obsolete 64bit code
2012-06-13 11:22:38 +02:00
Stefan Lankes
b3a0fd13a3
add support of old compilers, which does not define __SIZEOF_POINTER__
2012-06-13 02:03:00 -07: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
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
44ea32c241
remove wrong alignment
2012-06-11 21:44:53 +02:00
Stefan Lankes
5759b57cb0
on 64bit systems, LwIP uses an alignment of 8 bytes
2012-06-11 19:39:08 +02:00
Stefan Lankes
e8ec97923f
remove typo
2012-06-11 17:41:04 +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
f5f6163589
usage of the compiler flag -ffreestanding instead of -nostdinc and -fno-builtin
2012-06-10 21:59:08 +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
a929feb257
nicer code style
2012-06-10 09:00:02 +02:00
Stefan Lankes
9d843a5e09
reduce obsolete lines and additional output messages
2012-06-10 08:54:08 +02:00
Stefan Lankes
be4cfaf413
Merge remote-tracking branch 'origin/master' into x64_new
2012-06-10 08:07:50 +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
Florian Zeitz
5a70cbbd75
Make it easier to change the number of used cores
...
This commit uses the CORENUM Makefile variable to
generate scc_bootinfo.asm. This enables easier use of
more than one core.
2012-06-06 05:06:41 -07:00
Florian Zeitz
c19916db0d
Update scc_bootinfo.asm when the initrd changed
2012-06-06 05:06:18 -07: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