Module Name: src Committed By: matt Date: Sun Feb 12 07:48:37 UTC 2012
Modified Files: src/sys/arch/mips/mips [matt-nb5-mips64]: pmap.c Log Message: pmap pv pages can come from KSEGX too. To generate a diff of this commit: cvs rdiff -u -r1.179.16.39 -r1.179.16.40 src/sys/arch/mips/mips/pmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/mips/mips/pmap.c diff -u src/sys/arch/mips/mips/pmap.c:1.179.16.39 src/sys/arch/mips/mips/pmap.c:1.179.16.40 --- src/sys/arch/mips/mips/pmap.c:1.179.16.39 Fri Feb 10 08:15:58 2012 +++ src/sys/arch/mips/mips/pmap.c Sun Feb 12 07:48:37 2012 @@ -2538,8 +2538,15 @@ pmap_pv_page_free(struct pool *pp, void KASSERT(MIPS_XKPHYS_P(va)); pa = MIPS_XKPHYS_TO_PHYS(va); #else - KASSERT(MIPS_KSEG0_P(va)); - pa = MIPS_KSEG0_TO_PHYS(va); +#ifdef ENABLE_MIPS_KSEGX + if (VM_KSEGX_ADDRESS <= va && va <= VM_KSEGX_ADDRESS + VM_KSEGX_SIZE) { + pa = mips_ksegx_start + va - VM_KSEGX_ADDRESS; + } else +#endif + { + KASSERT(MIPS_KSEG0_P(va)); + pa = MIPS_KSEG0_TO_PHYS(va); + } #endif #ifdef MIPS3_PLUS if (MIPS_CACHE_VIRTUAL_ALIAS)