diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2004-06-22 17:20:19 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2004-06-22 17:20:19 -0400 |
commit | f37eb6f5c7184acb6df46d14d9e48a22c8ac8134 (patch) | |
tree | f4f0fa6237cb65f2b191b54611e58e3562e3ddc9 /arch/alpha/vtophys.cc | |
parent | b3ea4d90cf8d6c01f2a900798bbbeadf31bddac5 (diff) | |
download | gem5-f37eb6f5c7184acb6df46d14d9e48a22c8ac8134.tar.xz |
ifdefed ev5 vs. ev6 differences so Tlaser can work in the linux tree
arch/alpha/alpha_memory.cc:
arch/alpha/ev5.hh:
Ifdefed TLASER code
arch/alpha/vtophys.cc:
added back some code andrew removed and couldn't remember why.
--HG--
extra : convert_revision : f00d255f7a8a7bdb6e74f061dd014188e3b39e73
Diffstat (limited to 'arch/alpha/vtophys.cc')
-rw-r--r-- | arch/alpha/vtophys.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/alpha/vtophys.cc b/arch/alpha/vtophys.cc index cf2ebbf80..7a38b296b 100644 --- a/arch/alpha/vtophys.cc +++ b/arch/alpha/vtophys.cc @@ -96,20 +96,23 @@ vtophys(ExecContext *xc, Addr vaddr) { Addr ptbr = xc->regs.ipr[AlphaISA::IPR_PALtemp20]; Addr paddr = 0; -// if (PC_PAL(vaddr)) { -// paddr = vaddr & ~ULL(1); -// } else { + //@todo Andrew couldn't remember why he commented some of this code + //so I put it back in. Perhaps something to do with gdb debugging? + 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); if (pte && entry_valid(entry)) paddr = PMAP_PTE_PA(entry) | (vaddr & PGOFSET); } -// } + } + DPRINTF(VtoPhys, "vtophys(%#x) -> %#x\n", vaddr, paddr); |