|
@@ -85,7 +85,6 @@ int __hash_page_thp(unsigned long ea, unsigned long access, unsigned long vsid,
|
|
|
BUG_ON(index >= 4096);
|
|
|
|
|
|
vpn = hpt_vpn(ea, vsid, ssize);
|
|
|
- hash = hpt_hash(vpn, shift, ssize);
|
|
|
hpte_slot_array = get_hpte_slot_array(pmdp);
|
|
|
if (psize == MMU_PAGE_4K) {
|
|
|
/*
|
|
@@ -101,6 +100,7 @@ int __hash_page_thp(unsigned long ea, unsigned long access, unsigned long vsid,
|
|
|
valid = hpte_valid(hpte_slot_array, index);
|
|
|
if (valid) {
|
|
|
/* update the hpte bits */
|
|
|
+ hash = hpt_hash(vpn, shift, ssize);
|
|
|
hidx = hpte_hash_index(hpte_slot_array, index);
|
|
|
if (hidx & _PTEIDX_SECONDARY)
|
|
|
hash = ~hash;
|
|
@@ -126,6 +126,7 @@ int __hash_page_thp(unsigned long ea, unsigned long access, unsigned long vsid,
|
|
|
if (!valid) {
|
|
|
unsigned long hpte_group;
|
|
|
|
|
|
+ hash = hpt_hash(vpn, shift, ssize);
|
|
|
/* insert new entry */
|
|
|
pa = pmd_pfn(__pmd(old_pmd)) << PAGE_SHIFT;
|
|
|
new_pmd |= _PAGE_HASHPTE;
|