# HG changeset patch # User Olaf Hering # Date 1350655745 -7200 # Node ID 4ae08ca5500f68d19a689c06489024157300d7b0 # Parent 478ba3f146df23d2cfa95fc603d0b4b9d21ba15d hvm: handle PoD and grant pages in HVMOP_get_mem_type During kexec in a ballooned PVonHVM guest the new kernel needs to check each pfn if its backed by a mfn to find ballooned pages. Currently all PoD and grant pages will appear as HVMMEM_mmio_dm, so the new kernel has to assume they are ballooned. This is wrong: PoD pages may turn into real RAM at runtime, grant pages are also RAM. Signed-off-by: Olaf Hering Acked-by: Tim Deegan Committed-by: Tim Deegan Index: xen-4.2.0-testing/xen/arch/x86/hvm/hvm.c =================================================================== --- xen-4.2.0-testing.orig/xen/arch/x86/hvm/hvm.c +++ xen-4.2.0-testing/xen/arch/x86/hvm/hvm.c @@ -4135,6 +4135,10 @@ long do_hvm_op(unsigned long op, XEN_GUE a.mem_type = HVMMEM_ram_ro; else if ( p2m_is_ram(t) ) a.mem_type = HVMMEM_ram_rw; + else if ( p2m_is_magic(t) ) + a.mem_type = HVMMEM_ram_rw; + else if ( p2m_is_grant(t) ) + a.mem_type = HVMMEM_ram_rw; else a.mem_type = HVMMEM_mmio_dm; rc = copy_to_guest(arg, &a, 1) ? -EFAULT : 0;