Skip to content

Commit

Permalink
xen/arm: pfn_to_mfn and mfn_to_pfn return the argument if nothing is …
Browse files Browse the repository at this point in the history
…in the p2m

Some common Xen drivers, like balloon.c, call pfn_to_mfn and mfn_to_pfn
even for autotranslate guests, expecting the argument back.
The following commit broke these drivers by changing the behavior of
pfn_to_mfn and mfn_to_pfn:

commit 4a19138
Author: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date:   Thu Oct 17 16:22:27 2013 +0000

    arm/xen,arm64/xen: introduce p2m

They now return INVALID_P2M_ENTRY if Linux doesn't actually know what is
the mfn backing a pfn or what is the pfn corresponding to an mfn.
Fix the regression by switching to the old behavior.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Tested-by: Ian Campbell <ian.campbell@citrix.com>
  • Loading branch information
Stefano Stabellini authored and Konrad Rzeszutek Wilk committed Nov 11, 2013
1 parent ffc555b commit 18c51e1
Showing 1 changed file with 2 additions and 8 deletions.
10 changes: 2 additions & 8 deletions arch/arm/include/asm/xen/page.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,7 @@ static inline unsigned long pfn_to_mfn(unsigned long pfn)
return mfn;
}

if (xen_initial_domain())
return pfn;
else
return INVALID_P2M_ENTRY;
return pfn;
}

static inline unsigned long mfn_to_pfn(unsigned long mfn)
Expand All @@ -62,10 +59,7 @@ static inline unsigned long mfn_to_pfn(unsigned long mfn)
return pfn;
}

if (xen_initial_domain())
return mfn;
else
return INVALID_P2M_ENTRY;
return mfn;
}

#define mfn_to_local_pfn(mfn) mfn_to_pfn(mfn)
Expand Down

0 comments on commit 18c51e1

Please sign in to comment.