From e388539d78dba35310647f2d4b5b3b54a8f8755b Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 28 Aug 2008 13:09:02 +0100 Subject: stubdom: fix munmap's update_va_mapping flag passing, thus fixing INVLPG passing Signed-off-by: Samuel Thibault --- extras/mini-os/lib/sys.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'extras/mini-os/lib') diff --git a/extras/mini-os/lib/sys.c b/extras/mini-os/lib/sys.c index 47bbbda39e..4285449991 100644 --- a/extras/mini-os/lib/sys.c +++ b/extras/mini-os/lib/sys.c @@ -1221,11 +1221,14 @@ int munmap(void *start, size_t length) int ret; for (i = 0; i < n; i++) { + int arg = 0; call[i].op = __HYPERVISOR_update_va_mapping; - call[i].args[0] = (unsigned long) &data[i]; - call[i].args[1] = 0; - call[i].args[2] = 0; - call[i].args[3] = UVMF_INVLPG; + call[i].args[arg++] = (unsigned long) &data[i]; + call[i].args[arg++] = 0; +#ifdef __i386__ + call[i].args[arg++] = 0; +#endif + call[i].args[arg++] = UVMF_INVLPG; } ret = HYPERVISOR_multicall(call, n); -- cgit v1.2.3