genode/base-nova/patches
Alexander Boettcher ae6257dce1 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
2012-06-20 19:44:07 +02:00
..
README Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
utcb.patch Use NOVA microkernel from github, add 64bit 2012-06-20 19:44:07 +02:00

README

This directory contains patches for the Nova Hypervisor prerelease 0.3

:'utcb.patch':

  It is not possible to destroy UTCBs in NOVA 0.3. Therefore UTCBs cannot be
  re-used which may lead to the exhaustion of contexts within Genode. This patch
  simply causes NOVA to ignore this issue.


Applying the patches
--------------------

To apply a patch to the NOVA hypervisor, use the 'patch' command. First check
the directory given at the header of the patch. It may contain a directory
prefix (such as 'a/'), which does not actually exist. This prefix is usually
generated by the tool used to create the patch. In this case, use the '-p'
option of the patch command. To apply the patch with the first part of the
path stripped, issue the following command (make sure that you changed to
the base directory of the NOVA hypervisor):

! patch -p1 < /path/to/utcb.patch