diff options
Diffstat (limited to 'arch/alpha')
-rw-r--r-- | arch/alpha/vtophys.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/alpha/vtophys.cc b/arch/alpha/vtophys.cc index 784c4af7e..c5fe8df10 100644 --- a/arch/alpha/vtophys.cc +++ b/arch/alpha/vtophys.cc @@ -96,13 +96,13 @@ vtophys(ExecContext *xc, Addr vaddr) { Addr ptbr = xc->regs.ipr[AlphaISA::IPR_PALtemp20]; Addr paddr = 0; - if (PC_PAL(vaddr) || vaddr < 0x10000) { + if (PC_PAL(vaddr)) { paddr = vaddr & ~ULL(1); - } else if (!ptbr) { - paddr = vaddr; } else { if (vaddr >= ALPHA_K0SEG_BASE && vaddr <= ALPHA_K0SEG_END) { paddr = ALPHA_K0SEG_TO_PHYS(vaddr); + } else if (!ptbr) { + paddr = vaddr; } else { Addr pte = kernel_pte_lookup(xc->physmem, ptbr, vaddr); uint64_t entry = xc->physmem->phys_read_qword(pte); |