powerpc: Remove unnecessary condition when sanity-checking WIMG bits

It is okay for both _PAGE_GUARDED and _PAGE_COHERENT (G and M) to be set
in the same pte.  In fact, even if that were not the case, there doesn't
seem to be any place where G is set without also setting I (_PAGE_NO_CACHE),
so the test for I is sufficient as a condition to clear _PAGE_COHERENT
when filling the hash table.

Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Dave Kleikamp 2008-07-10 01:28:07 +10:00 committed by Benjamin Herrenschmidt
parent 0f47331475
commit 443dcac4d8
2 changed files with 3 additions and 4 deletions

View File

@ -112,7 +112,7 @@ static long beat_lpar_hpte_insert(unsigned long hpte_group,
if (!(vflags & HPTE_V_BOLTED)) if (!(vflags & HPTE_V_BOLTED))
DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r);
if (rflags & (_PAGE_GUARDED|_PAGE_NO_CACHE)) if (rflags & _PAGE_NO_CACHE)
hpte_r &= ~_PAGE_COHERENT; hpte_r &= ~_PAGE_COHERENT;
spin_lock(&beat_htab_lock); spin_lock(&beat_htab_lock);
@ -334,7 +334,7 @@ static long beat_lpar_hpte_insert_v3(unsigned long hpte_group,
if (!(vflags & HPTE_V_BOLTED)) if (!(vflags & HPTE_V_BOLTED))
DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r);
if (rflags & (_PAGE_GUARDED|_PAGE_NO_CACHE)) if (rflags & _PAGE_NO_CACHE)
hpte_r &= ~_PAGE_COHERENT; hpte_r &= ~_PAGE_COHERENT;
/* insert into not-volted entry */ /* insert into not-volted entry */

View File

@ -305,8 +305,7 @@ static long pSeries_lpar_hpte_insert(unsigned long hpte_group,
flags = 0; flags = 0;
/* Make pHyp happy */ /* Make pHyp happy */
if ((rflags & _PAGE_GUARDED) || if ((rflags & _PAGE_NO_CACHE) & !(rflags & _PAGE_WRITETHRU))
((rflags & _PAGE_NO_CACHE) & !(rflags & _PAGE_WRITETHRU)))
hpte_r &= ~_PAGE_COHERENT; hpte_r &= ~_PAGE_COHERENT;
lpar_rc = plpar_pte_enter(flags, hpte_group, hpte_v, hpte_r, &slot); lpar_rc = plpar_pte_enter(flags, hpte_group, hpte_v, hpte_r, &slot);