OSDN Git Service

target/xtensa: fix gdbstub register counts
authorMax Filippov <jcmvbkbc@gmail.com>
Thu, 16 Aug 2018 17:33:04 +0000 (10:33 -0700)
committerMax Filippov <jcmvbkbc@gmail.com>
Mon, 20 Aug 2018 00:14:25 +0000 (17:14 -0700)
This fixes communication with gdb in the presence of type-5 (TIE state
mapped on user registers) and type-7 (special case of masked registers)
registers in the xtensa core config.

Cc: qemu-stable@nongnu.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
target/xtensa/helper.c

index c9a6132..efb3cef 100644 (file)
@@ -100,7 +100,9 @@ void xtensa_finalize_config(XtensaConfig *config)
         unsigned n_core_regs = 0;
 
         for (i = 0; config->gdb_regmap.reg[i].targno >= 0; ++i) {
-            if (config->gdb_regmap.reg[i].type != 6) {
+            if (config->gdb_regmap.reg[i].type != 5 &&
+                config->gdb_regmap.reg[i].type != 6 &&
+                config->gdb_regmap.reg[i].type != 7) {
                 ++n_regs;
                 if ((config->gdb_regmap.reg[i].flags & 0x1) == 0) {
                     ++n_core_regs;