diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2013-02-20 04:00:58 +0100 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2013-02-20 04:01:55 +0100 |
commit | 07d0c943663f82d9682856c0a7db7145a6c911d6 (patch) | |
tree | 371eaccc190f1b79010b063bd4497c21d0e40571 /arch/arm/xen | |
parent | xen/smp: Move the common CPU init code a bit to prep for PVH patch. (diff) | |
download | linux-07d0c943663f82d9682856c0a7db7145a6c911d6.tar.xz linux-07d0c943663f82d9682856c0a7db7145a6c911d6.zip |
xen: implement updated XENMEM_add_to_physmap_range ABI
Allows for more fine grained error reporting. Only used by PVH and
ARM both of which are marked EXPERIMENTAL precisely because the ABI
is not yet stable
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
[v1: Rebased without PVH patches]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'arch/arm/xen')
-rw-r--r-- | arch/arm/xen/enlighten.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c index 7a32976fa2a3..8dc0605a9ce9 100644 --- a/arch/arm/xen/enlighten.c +++ b/arch/arm/xen/enlighten.c @@ -59,14 +59,16 @@ static int map_foreign_page(unsigned long lpfn, unsigned long fgmfn, }; xen_ulong_t idx = fgmfn; xen_pfn_t gpfn = lpfn; + int err = 0; set_xen_guest_handle(xatp.idxs, &idx); set_xen_guest_handle(xatp.gpfns, &gpfn); + set_xen_guest_handle(xatp.errs, &err); rc = HYPERVISOR_memory_op(XENMEM_add_to_physmap_range, &xatp); - if (rc) { - pr_warn("Failed to map pfn to mfn rc:%d pfn:%lx mfn:%lx\n", - rc, lpfn, fgmfn); + if (rc || err) { + pr_warn("Failed to map pfn to mfn rc:%d:%d pfn:%lx mfn:%lx\n", + rc, err, lpfn, fgmfn); return 1; } return 0; |