mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
Use NOVA microkernel from github, add 64bit
Use git to get recent kernels from github. Adjust NOVA patch to compile with recent github version. Patch and use makefile of NOVA microkernel to avoid duplicated (and outdated) makefile in Genode Furthermore, this patch adds support for using NOVA on x86_64. The generic part of the syscall bindings has been moved to 'base-nova/include/nova/syscall-generic.h'. The 32/64-bit specific parts are located at 'base-nova/include/32bit/nova/syscalls.h' and 'base-nova/include/64bit/nova/syscalls.h' respectively. On x86_64, the run environment boots qemu using the Pulsar boot loader because GRUB legacy does not support booting 64bit ELF executables. In addition to the NOVA-specific changes in base-nova, this patch rectifies compile-time warnings or build errors in the 'ports' and 'libports' repositories that are related to NOVA x86_64 (i.e., Vancouver builds for 32bit only and needed an adaptation to NOVAs changed bindings) Fixes #233, fixes #234
This commit is contained in:
committed by
Norman Feske
parent
200deec403
commit
ae6257dce1
7
tool/run
7
tool/run
@@ -441,7 +441,12 @@ proc spawn_qemu { wait_for_re timeout_value } {
|
||||
if {[have_spec platform_vea9x4]} { append qemu_args " -M vexpress-a9 -cpu cortex-a9 -m 256 " }
|
||||
|
||||
# on x86, we supply the boot image as ISO image
|
||||
if {[have_spec x86]} { append qemu_args " -cdrom [run_dir].iso " }
|
||||
if {[have_spec x86_64] && [have_spec nova]} {
|
||||
append qemu_args " -boot n -tftp [run_dir] -bootp boot/pulsar -no-reboot -no-shutdown "
|
||||
} else {
|
||||
# on x86, we supply the boot image as ISO image
|
||||
if {[have_spec x86]} { append qemu_args " -cdrom [run_dir].iso " }
|
||||
}
|
||||
|
||||
# on ARM, we supply the boot image as kernel
|
||||
if {[have_spec arm]} { append qemu_args " -kernel [run_dir]/image.elf " }
|
||||
|
||||
Reference in New Issue
Block a user