• Ian Campbell's avatar
    privcmd: MMAPBATCH: Fix error handling/reporting · f020e290
    Ian Campbell authored
    On error IOCTL_PRIVCMD_MMAPBATCH is expected to set the top nibble of
    the effected MFN and return 0. Currently it leaves the MFN unmodified
    and returns the number of failures. Therefore:
    
    - reimplement remap_domain_mfn_range() using direct
      HYPERVISOR_mmu_update() calls and small batches. The xen_set_domain_pte()
      interface does not report errors and since some failures are
      expected/normal using the multicall infrastructure is too noisy.
    - return 0 as expected
    - writeback the updated MFN list to mmapbatch->arr not over mmapbatch,
      smashing the caller's stack.
    - remap_domain_mfn_range can be static.
    
    With this change I am able to start an HVM domain.
    Signed-off-by: default avatarIan Campbell <ian.campbell@citrix.com>
    Cc: Jeremy Fitzhardinge <jeremy@goop.org>
    Signed-off-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    f020e290
privcmd.c 9.46 KB