]> xenbits.xensource.com Git - people/liuw/mini-os.git/commitdiff
stubdom: fix munmap's update_va_mapping flag passing, thus fixing
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 28 Aug 2008 12:09:02 +0000 (13:09 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 28 Aug 2008 12:09:02 +0000 (13:09 +0100)
INVLPG passing

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
lib/sys.c

index 47bbbda39e71082f3672c2f497a47c5e8f9eb660..428544999135502c34a60fbed1a4d5f0ffeefc1d 100644 (file)
--- a/lib/sys.c
+++ b/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);