ia64/xen-unstable

changeset 18409:b674d7159549

stubdom: fix munmap's update_va_mapping flag passing, thus fixing
INVLPG passing

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Aug 28 13:09:02 2008 +0100 (2008-08-28)
parents 98b89c2b1cde
children a37902923a67
files extras/mini-os/lib/sys.c
line diff
     1.1 --- a/extras/mini-os/lib/sys.c	Thu Aug 28 11:38:57 2008 +0100
     1.2 +++ b/extras/mini-os/lib/sys.c	Thu Aug 28 13:09:02 2008 +0100
     1.3 @@ -1221,11 +1221,14 @@ int munmap(void *start, size_t length)
     1.4              int ret;
     1.5  
     1.6              for (i = 0; i < n; i++) {
     1.7 +                int arg = 0;
     1.8                  call[i].op = __HYPERVISOR_update_va_mapping;
     1.9 -                call[i].args[0] = (unsigned long) &data[i];
    1.10 -                call[i].args[1] = 0;
    1.11 -                call[i].args[2] = 0;
    1.12 -                call[i].args[3] = UVMF_INVLPG;
    1.13 +                call[i].args[arg++] = (unsigned long) &data[i];
    1.14 +                call[i].args[arg++] = 0;
    1.15 +#ifdef __i386__
    1.16 +                call[i].args[arg++] = 0;
    1.17 +#endif
    1.18 +                call[i].args[arg++] = UVMF_INVLPG;
    1.19              }
    1.20  
    1.21              ret = HYPERVISOR_multicall(call, n);