From: Steve Reinhardt Date: Tue, 17 Jan 2012 03:01:27 +0000 (-0800) Subject: Alpha: warn_once about broken PAL breakpoints. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7a3a37307a00b3111cf24769a857126c4c4f5bc4;p=gem5.git 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. --- 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: