summaryrefslogtreecommitdiff
path: root/arch/alpha/vtophys.cc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/alpha/vtophys.cc')
-rw-r--r--arch/alpha/vtophys.cc6
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);