ia64/xen-unstable
changeset 3748:31070c4d28c6
bitkeeper revision 1.1159.1.555 (42094892MsTPGiy_x_uFbwMVQuq4Qg)
Fix the synchronization issues between xend and the device model at
startup time.
Initialize the shared page in the hypervisor. Otherwise, the hypervisor
might try to inject spurious interrupts into the guest due to
uninitialized data.
Signed-off-by: Xin B Li <xin.b.li@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian@xensource.com
Fix the synchronization issues between xend and the device model at
startup time.
Initialize the shared page in the hypervisor. Otherwise, the hypervisor
might try to inject spurious interrupts into the guest due to
uninitialized data.
Signed-off-by: Xin B Li <xin.b.li@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian@xensource.com
author | iap10@labyrinth.cl.cam.ac.uk |
---|---|
date | Tue Feb 08 23:17:38 2005 +0000 (2005-02-08) |
parents | b1937df6cdee |
children | 8518c7b4c3f3 |
files | tools/ioemu/iodev/main.cc tools/ioemu/memory/misc_mem.cc tools/python/xen/xend/XendDomainInfo.py xen/arch/x86/vmx_vmcs.c |
line diff
1.1 --- a/tools/ioemu/iodev/main.cc Tue Feb 08 22:41:47 2005 +0000 1.2 +++ b/tools/ioemu/iodev/main.cc Tue Feb 08 23:17:38 2005 +0000 1.3 @@ -1781,6 +1781,7 @@ int bxmain () { 1.4 // wxWindows under win32. 1.5 int main (int argc, char *argv[]) 1.6 { 1.7 + daemon(0, 0); 1.8 bx_startup_flags.argc = argc; 1.9 bx_startup_flags.argv = argv; 1.10 #if BX_WITH_SDL && defined(WIN32)
2.1 --- a/tools/ioemu/memory/misc_mem.cc Tue Feb 08 22:41:47 2005 +0000 2.2 +++ b/tools/ioemu/memory/misc_mem.cc Tue Feb 08 23:17:38 2005 +0000 2.3 @@ -189,9 +189,6 @@ BX_MEM_C::init_memory(int memsize) 2.4 shared_page = xc_map_foreign_range(xc_handle, domid, PAGE_SIZE, 2.5 PROT_READ|PROT_WRITE, 2.6 page_array[nr_pages - 1]); 2.7 - 2.8 - /* Initialize shared page */ 2.9 - memset(shared_page, 0, PAGE_SIZE); 2.10 } 2.11 #endif // #if BX_PROVIDE_CPU_MEMORY 2.12
3.1 --- a/tools/python/xen/xend/XendDomainInfo.py Tue Feb 08 22:41:47 2005 +0000 3.2 +++ b/tools/python/xen/xend/XendDomainInfo.py Tue Feb 08 23:17:38 2005 +0000 3.3 @@ -855,7 +855,7 @@ class XendDomainInfo: 3.4 + " -f %s" % device_config 3.5 + " -d %d" % self.dom 3.6 + " -p %d" % device_channel['port1'] 3.7 - + " -m %s &" % memory) 3.8 + + " -m %s" % memory) 3.9 return deferred 3.10 3.11 def device_create(self, dev_config):
4.1 --- a/xen/arch/x86/vmx_vmcs.c Tue Feb 08 22:41:47 2005 +0000 4.2 +++ b/xen/arch/x86/vmx_vmcs.c Tue Feb 08 23:17:38 2005 +0000 4.3 @@ -142,6 +142,10 @@ int vmx_setup_platform(struct exec_domai 4.4 mpfn = phys_to_machine_mapping(gpfn); 4.5 p = map_domain_mem(mpfn << PAGE_SHIFT); 4.6 ASSERT(p != NULL); 4.7 + 4.8 + /* Initialise shared page */ 4.9 + memset(p, 0, PAGE_SIZE); 4.10 + 4.11 d->arch.arch_vmx.vmx_platform.shared_page_va = (unsigned long) p; 4.12 4.13 return 0;