summaryrefslogtreecommitdiffstats
path: root/arch/ppc64/kernel/iSeries_htab.c
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2005-08-30 09:30:09 -0700
committerTony Luck <tony.luck@intel.com>2005-08-30 09:30:09 -0700
commit288ceb8f142249109fd2e9f1bf0492bd6ff6d892 (patch)
treeeab3d229c7a527816db405299ce9603e538b521f /arch/ppc64/kernel/iSeries_htab.c
parente438befd76a5a743725a89365140a8a7bf276096 (diff)
parentd8971fcb702e24d1e22c77fd1772f182ffee87e3 (diff)
Auto-update from upstream
Diffstat (limited to 'arch/ppc64/kernel/iSeries_htab.c')
-rw-r--r--arch/ppc64/kernel/iSeries_htab.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/ppc64/kernel/iSeries_htab.c b/arch/ppc64/kernel/iSeries_htab.c
index b0250ae4a72..2192055a90a 100644
--- a/arch/ppc64/kernel/iSeries_htab.c
+++ b/arch/ppc64/kernel/iSeries_htab.c
@@ -41,6 +41,7 @@ static long iSeries_hpte_insert(unsigned long hpte_group, unsigned long va,
unsigned long prpn, unsigned long vflags,
unsigned long rflags)
{
+ unsigned long arpn;
long slot;
hpte_t lhpte;
int secondary = 0;
@@ -70,8 +71,10 @@ static long iSeries_hpte_insert(unsigned long hpte_group, unsigned long va,
slot &= 0x7fffffffffffffff;
}
+ arpn = phys_to_abs(prpn << PAGE_SHIFT) >> PAGE_SHIFT;
+
lhpte.v = (va >> 23) << HPTE_V_AVPN_SHIFT | vflags | HPTE_V_VALID;
- lhpte.r = (physRpn_to_absRpn(prpn) << HPTE_R_RPN_SHIFT) | rflags;
+ lhpte.r = (arpn << HPTE_R_RPN_SHIFT) | rflags;
/* Now fill in the actual HPTE */
HvCallHpt_addValidate(slot, secondary, &lhpte);