Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 6209
b: refs/heads/master
c: aefd16b
h: refs/heads/master
i:
  6207: afe06d6
v: v3
  • Loading branch information
Michael Ellerman authored and Paul Mackerras committed Aug 29, 2005
1 parent 7c42d95 commit e39ee20
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ce21795275ab469b97384faa36462350af17eca0
refs/heads/master: aefd16b0c5a594b5feaba23954ad74061f45c8a5
5 changes: 4 additions & 1 deletion trunk/arch/ppc64/kernel/iSeries_htab.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/ppc64/kernel/pSeries_lpar.c
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,6 @@ long pSeries_lpar_hpte_insert(unsigned long hpte_group,
unsigned long va, unsigned long prpn,
unsigned long vflags, unsigned long rflags)
{
unsigned long arpn = physRpn_to_absRpn(prpn);
unsigned long lpar_rc;
unsigned long flags;
unsigned long slot;
Expand All @@ -289,7 +288,7 @@ long pSeries_lpar_hpte_insert(unsigned long hpte_group,
if (vflags & HPTE_V_LARGE)
hpte_v &= ~(1UL << HPTE_V_AVPN_SHIFT);

hpte_r = (arpn << HPTE_R_RPN_SHIFT) | rflags;
hpte_r = (prpn << HPTE_R_RPN_SHIFT) | rflags;

/* Now fill in the actual HPTE */
/* Set CEC cookie to 0 */
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/ppc64/mm/hash_native.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ long native_hpte_insert(unsigned long hpte_group, unsigned long va,
unsigned long prpn, unsigned long vflags,
unsigned long rflags)
{
unsigned long arpn = physRpn_to_absRpn(prpn);
hpte_t *hptep = htab_address + hpte_group;
unsigned long hpte_v, hpte_r;
int i;
Expand All @@ -74,7 +73,7 @@ long native_hpte_insert(unsigned long hpte_group, unsigned long va,
hpte_v = (va >> 23) << HPTE_V_AVPN_SHIFT | vflags | HPTE_V_VALID;
if (vflags & HPTE_V_LARGE)
va &= ~(1UL << HPTE_V_AVPN_SHIFT);
hpte_r = (arpn << HPTE_R_RPN_SHIFT) | rflags;
hpte_r = (prpn << HPTE_R_RPN_SHIFT) | rflags;

hptep->r = hpte_r;
/* Guarantee the second dword is visible before the valid bit */
Expand Down
8 changes: 0 additions & 8 deletions trunk/include/asm-ppc64/abs_addr.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,6 @@ static inline unsigned long phys_to_abs(unsigned long pa)
return chunk_to_addr(chunk) + (pa & MSCHUNKS_OFFSET_MASK);
}

static inline unsigned long
physRpn_to_absRpn(unsigned long rpn)
{
unsigned long pa = rpn << PAGE_SHIFT;
unsigned long aa = phys_to_abs(pa);
return (aa >> PAGE_SHIFT);
}

/* A macro so it can take pointers or unsigned long. */
#define abs_to_phys(aa) lmb_abs_to_phys((unsigned long)(aa))

Expand Down

0 comments on commit e39ee20

Please sign in to comment.