arch-arm: gdb support Thumb ISA

BaseRemoteGDB only checks if the breakpoint size equals to MachInst size.
However, there are two kinds of instruction size in ARM. We should allow
the 16-bits breakpoint for Thumb ISA.

Change-Id: I79c0e1503092ecf233c719f2e354739edb8e6b25
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/52624
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Yu-hsin Wang
2021-10-14 14:43:58 +08:00
parent 13caaf4dcc
commit 2771572f76
2 changed files with 8 additions and 0 deletions

View File

@@ -361,4 +361,11 @@ RemoteGDB::gdbRegs()
return &regCache32;
}
bool
RemoteGDB::checkBpLen(size_t len)
{
// 2 for Thumb ISA, 4 for ARM ISA.
return len == 2 || len == 4;
}
} // namespace gem5

View File

@@ -120,6 +120,7 @@ class RemoteGDB : public BaseRemoteGDB
public:
RemoteGDB(System *_system, int _port);
BaseGdbRegCache *gdbRegs() override;
bool checkBpLen(size_t len) override;
std::vector<std::string>
availableFeatures() const override
{