changeset 44010fc924d4 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=44010fc924d4
description:
        X86: Don't panic on faults on prefetches in SE mode.

diffstat:

1 file changed, 15 insertions(+), 11 deletions(-)
src/arch/x86/tlb.cc |   26 +++++++++++++++-----------

diffs (36 lines):

diff -r b3ab661715ac -r 44010fc924d4 src/arch/x86/tlb.cc
--- a/src/arch/x86/tlb.cc       Sun Nov 08 22:49:57 2009 -0800
+++ b/src/arch/x86/tlb.cc       Sun Nov 08 22:49:58 2009 -0800
@@ -637,17 +637,21 @@
                     success = p->pTable->lookup(vaddr, newEntry);
                 }
                 if (!success) {
-                    const char *modeStr = "";
-                    if (mode == Execute)
-                        modeStr = "execute";
-                    else if (mode == Read)
-                        modeStr = "read";
-                    else if (mode == Write)
-                        modeStr = "write";
-                    else
-                        modeStr = "?";
-                    panic("Tried to %s unmapped address %#x.\n",
-                            modeStr, vaddr);
+                    if (req->isPrefetch()) {
+                        return new PageFault(vaddr, true, mode, true, false);
+                    } else {
+                        const char *modeStr = "";
+                        if (mode == Execute)
+                            modeStr = "execute";
+                        else if (mode == Read)
+                            modeStr = "read";
+                        else if (mode == Write)
+                            modeStr = "write";
+                        else
+                            modeStr = "?";
+                        panic("Tried to %s unmapped address %#x.\n",
+                                modeStr, vaddr);
+                    }
                 } else {
                     Addr alignedVaddr = p->pTable->pageAlign(vaddr);
                     DPRINTF(TLB, "Mapping %#x to %#x\n", alignedVaddr,
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to