diff -r f348cf78072c src/arch/mips/remote_gdb.cc --- a/src/arch/mips/remote_gdb.cc Thu Jan 12 10:15:00 2012 -0500 +++ b/src/arch/mips/remote_gdb.cc Fri Jan 13 03:22:43 2012 +0800 @@ -133,8 +133,6 @@ #include #include -#include - #include "arch/mips/remote_gdb.hh" #include "arch/mips/vtophys.hh" #include "config/full_system.hh" @@ -144,7 +142,6 @@ #include "debug/GDBMisc.hh" #include "mem/page_table.hh" -using namespace std; using namespace MipsISA; RemoteGDB::RemoteGDB(System *_system, ThreadContext *tc) @@ -159,12 +156,25 @@ RemoteGDB::acc(Addr va, size_t len) { #if FULL_SYSTEM - panic("acc not implemented for MIPS FS!"); -#endif + Addr last_va; + va = TruncPage(va); + last_va = RoundPage(va + len); + + do { + if (vtophys(va) != -1) { + return true; + } + va += PageBytes; + } while (va < last_va); + + DPRINTF(GDBAcc, "acc: %#x mapping is valid\n", va); + return true; +#else TlbEntry entry; //Check to make sure the first byte is mapped into the processes address //space. return context->getProcessPtr()->pTable->lookup(va, entry); +#endif } /*