Improved PABITS handling, and config register fixes.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3855 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
ths
2007-12-25 03:13:56 +00:00
parent cbd669dae9
commit 6d35524c40
4 changed files with 106 additions and 56 deletions

View File

@@ -148,10 +148,9 @@ static int get_physical_address (CPUState *env, target_ulong *physical,
}
} else if (address < 0xC000000000000000ULL) {
/* xkphys */
/* XXX: Assumes PABITS = 36 (correct for MIPS64R1) */
if (kernel_mode && KX &&
(address & 0x07FFFFFFFFFFFFFFULL) <= 0x0000000FFFFFFFFFULL) {
*physical = address & 0x0000000FFFFFFFFFULL;
(address & 0x07FFFFFFFFFFFFFFULL) <= env->PAMask) {
*physical = address & env->PAMask;
*prot = PAGE_READ | PAGE_WRITE;
} else {
ret = TLBRET_BADADDR;