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:
Родитель
0f47331475
Коммит
443dcac4d8
|
@ -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 */
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче