Alpha: warn_once about broken PAL breakpoints.
authorSteve Reinhardt <steve.reinhardt@amd.com>
Tue, 17 Jan 2012 03:01:27 +0000 (19:01 -0800)
committerSteve Reinhardt <steve.reinhardt@amd.com>
Tue, 17 Jan 2012 03:01:27 +0000 (19:01 -0800)
A recent changeset (aae12ce9f34c) removed support for
PAL-mode breakpoints in Alpha, since it was awkward
and likely unused.  This patch lets a user know if they
potentially run into this limitation.

src/arch/alpha/remote_gdb.cc
src/arch/alpha/remote_gdb.hh
src/base/remote_gdb.hh

index 88d4537545f0a7ad0a6ab3ca03bb7cc1c7e5d9e3..06fca92a3b55669ecdaf5cec4ca3ba4594fa0148 100644 (file)
@@ -314,3 +314,11 @@ RemoteGDB::write(Addr vaddr, size_t size, const char *data)
     }
 }
 
+
+bool
+RemoteGDB::insertHardBreak(Addr addr, size_t len)
+{
+    warn_once("Breakpoints do not work in Alpha PAL mode.\n"
+              "      See PCEventQueue::doService() in cpu/pc_event.cc.\n");
+    return BaseRemoteGDB::insertHardBreak(addr, len);
+}
index b7aef5f647685db798dfc43eeb9dfce046801b4d..7223fea55ffb1bda93147691b3a149cf25f7168b 100644 (file)
@@ -63,6 +63,8 @@ class RemoteGDB : public BaseRemoteGDB
     bool acc(Addr addr, size_t len);
     bool write(Addr addr, size_t size, const char *data);
 
+    virtual bool insertHardBreak(Addr addr, size_t len);
+
   public:
     RemoteGDB(System *system, ThreadContext *context);
 };
index 7c1228e592de5db3caeb1d59e2b10d87da383996..899c7c29ed4fc81a6d2969fb5d87791020129c67 100644 (file)
@@ -216,7 +216,7 @@ class BaseRemoteGDB
 
     bool insertSoftBreak(Addr addr, size_t len);
     bool removeSoftBreak(Addr addr, size_t len);
-    bool insertHardBreak(Addr addr, size_t len);
+    virtual bool insertHardBreak(Addr addr, size_t len);
     bool removeHardBreak(Addr addr, size_t len);
 
   protected: