diff options
author | Steve Reinhardt <steve.reinhardt@amd.com> | 2012-01-16 19:01:27 -0800 |
---|---|---|
committer | Steve Reinhardt <steve.reinhardt@amd.com> | 2012-01-16 19:01:27 -0800 |
commit | 7a3a37307a00b3111cf24769a857126c4c4f5bc4 (patch) | |
tree | c17c9079cae9bb2f74c8329f3e28ede750b2cabd | |
parent | 1585cfb5b5df37f92c0ed053f951019966a6a05a (diff) | |
download | gem5-7a3a37307a00b3111cf24769a857126c4c4f5bc4.tar.xz |
Alpha: warn_once about broken PAL breakpoints.
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.
-rw-r--r-- | src/arch/alpha/remote_gdb.cc | 8 | ||||
-rw-r--r-- | src/arch/alpha/remote_gdb.hh | 2 | ||||
-rw-r--r-- | src/base/remote_gdb.hh | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/arch/alpha/remote_gdb.cc b/src/arch/alpha/remote_gdb.cc index 88d453754..06fca92a3 100644 --- a/src/arch/alpha/remote_gdb.cc +++ b/src/arch/alpha/remote_gdb.cc @@ -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); +} diff --git a/src/arch/alpha/remote_gdb.hh b/src/arch/alpha/remote_gdb.hh index b7aef5f64..7223fea55 100644 --- a/src/arch/alpha/remote_gdb.hh +++ b/src/arch/alpha/remote_gdb.hh @@ -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); }; diff --git a/src/base/remote_gdb.hh b/src/base/remote_gdb.hh index 7c1228e59..899c7c29e 100644 --- a/src/base/remote_gdb.hh +++ b/src/base/remote_gdb.hh @@ -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: |