diff options
author | Tony Luck <tony.luck@intel.com> | 2005-08-30 09:30:09 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-08-30 09:30:09 -0700 |
commit | 288ceb8f142249109fd2e9f1bf0492bd6ff6d892 (patch) | |
tree | eab3d229c7a527816db405299ce9603e538b521f /arch/ppc64/kernel/iSeries_htab.c | |
parent | e438befd76a5a743725a89365140a8a7bf276096 (diff) | |
parent | d8971fcb702e24d1e22c77fd1772f182ffee87e3 (diff) |
Auto-update from upstream
Diffstat (limited to 'arch/ppc64/kernel/iSeries_htab.c')
-rw-r--r-- | arch/ppc64/kernel/iSeries_htab.c | 5 |
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); |