Kernel patch is obsolete.

With revision 37569cd43f82bb54f9e621163c4b0eb662bd1a51 of the NOVA
kernel the patch isn't required anymore.
This commit is contained in:
Alexander Boettcher 2012-07-03 15:47:41 +02:00 committed by Norman Feske
parent 80a15fde30
commit 1a2cce22ac
2 changed files with 2 additions and 39 deletions

View File

@ -1,21 +1,2 @@
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
This directory contains patches for the NOVA microhypervisor @ github
required for using this kernel with Genode.

View File

@ -1,18 +0,0 @@
diff -r 11c290b5edf9 src/syscall.cpp
--- a/src/syscall.cpp Wed Nov 09 14:50:18 2011 +0100
+++ b/src/syscall.cpp Wed Nov 09 15:07:03 2011 +0100
@@ -244,11 +244,13 @@
}
Pd *pd = static_cast<Pd *>(cap.obj());
- if (EXPECT_FALSE (r->utcb() >= USER_ADDR || r->utcb() & PAGE_MASK || !pd->insert_utcb (r->utcb()))) {
+ if (EXPECT_FALSE (r->utcb() >= USER_ADDR || r->utcb() & PAGE_MASK)) {
trace (TRACE_ERROR, "%s: Invalid UTCB address (%#lx)", __func__, r->utcb());
sys_finish<Sys_regs::BAD_PAR>();
}
+ pd->insert_utcb (r->utcb());
+
Ec *ec = new Ec (Pd::current, r->sel(), pd, r->flags() & 1 ? static_cast<void (*)()>(send_msg<ret_user_iret>) : nullptr, r->cpu(), r->evt(), r->utcb(), r->esp());
if (!Space_obj::insert_root (ec)) {