From: Samuel Thibault Subject: [PATCH] stubdom: fix munmap's update_va_mapping flag passing Date: Thu, 28 Aug 2008 13:01:52 +0100 Message-ID: <20080828120152.GK4523@implementation.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Should be applied to the 3.3 tree as well. stubdom: fix munmap's update_va_mapping flag passing, thus fixing INVLPG passing Signed-off-by: Samuel Thibault diff -r c80615d6a50d extras/mini-os/lib/sys.c --- a/extras/mini-os/lib/sys.c Thu Aug 28 10:55:54 2008 +0100 +++ b/extras/mini-os/lib/sys.c Thu Aug 28 12:56:35 2008 +0100 @@ -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);