|
|
@@ -154,7 +154,7 @@ htab_insert_hpte:
|
|
|
}
|
|
|
hash = hpt_hash(vpn, shift, ssize);
|
|
|
repeat:
|
|
|
- hpte_group = ((hash & htab_hash_mask) * HPTES_PER_GROUP) & ~0x7UL;
|
|
|
+ hpte_group = (hash & htab_hash_mask) * HPTES_PER_GROUP;
|
|
|
|
|
|
/* Insert into the hash table, primary slot */
|
|
|
slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa, rflags, 0,
|
|
|
@@ -165,7 +165,7 @@ repeat:
|
|
|
if (unlikely(slot == -1)) {
|
|
|
bool soft_invalid;
|
|
|
|
|
|
- hpte_group = ((~hash & htab_hash_mask) * HPTES_PER_GROUP) & ~0x7UL;
|
|
|
+ hpte_group = (~hash & htab_hash_mask) * HPTES_PER_GROUP;
|
|
|
slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa,
|
|
|
rflags, HPTE_V_SECONDARY,
|
|
|
MMU_PAGE_4K, MMU_PAGE_4K,
|
|
|
@@ -193,8 +193,7 @@ repeat:
|
|
|
* that we do not get the same soft-invalid slot.
|
|
|
*/
|
|
|
if (soft_invalid || (mftb() & 0x1))
|
|
|
- hpte_group = ((hash & htab_hash_mask) *
|
|
|
- HPTES_PER_GROUP) & ~0x7UL;
|
|
|
+ hpte_group = (hash & htab_hash_mask) * HPTES_PER_GROUP;
|
|
|
|
|
|
mmu_hash_ops.hpte_remove(hpte_group);
|
|
|
/*
|
|
|
@@ -288,7 +287,7 @@ int __hash_page_64K(unsigned long ea, unsigned long access,
|
|
|
hash = hpt_hash(vpn, shift, ssize);
|
|
|
|
|
|
repeat:
|
|
|
- hpte_group = ((hash & htab_hash_mask) * HPTES_PER_GROUP) & ~0x7UL;
|
|
|
+ hpte_group = (hash & htab_hash_mask) * HPTES_PER_GROUP;
|
|
|
|
|
|
/* Insert into the hash table, primary slot */
|
|
|
slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa, rflags, 0,
|
|
|
@@ -298,7 +297,7 @@ repeat:
|
|
|
* Primary is full, try the secondary
|
|
|
*/
|
|
|
if (unlikely(slot == -1)) {
|
|
|
- hpte_group = ((~hash & htab_hash_mask) * HPTES_PER_GROUP) & ~0x7UL;
|
|
|
+ hpte_group = (~hash & htab_hash_mask) * HPTES_PER_GROUP;
|
|
|
slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa,
|
|
|
rflags,
|
|
|
HPTE_V_SECONDARY,
|
|
|
@@ -306,8 +305,8 @@ repeat:
|
|
|
MMU_PAGE_64K, ssize);
|
|
|
if (slot == -1) {
|
|
|
if (mftb() & 0x1)
|
|
|
- hpte_group = ((hash & htab_hash_mask) *
|
|
|
- HPTES_PER_GROUP) & ~0x7UL;
|
|
|
+ hpte_group = (hash & htab_hash_mask) *
|
|
|
+ HPTES_PER_GROUP;
|
|
|
mmu_hash_ops.hpte_remove(hpte_group);
|
|
|
/*
|
|
|
* FIXME!! Should be try the group from which we removed ?
|