aboutsummaryrefslogtreecommitdiff
path: root/target/hppa/gdbstub.c
diff options
context:
space:
mode:
authorSven Schnelle <svens@stackframe.org>2019-03-11 20:16:00 +0100
committerRichard Henderson <richard.henderson@linaro.org>2019-03-12 09:13:43 -0700
commitd5de20bd84ae3a6f6c194f0088cfcb4d4f6af602 (patch)
treeee63c5d833b5d74e4d11098d30da525d55c29691 /target/hppa/gdbstub.c
parent38188fd216cf139e88459296cb42400b5a039f79 (diff)
downloadqemu-d5de20bd84ae3a6f6c194f0088cfcb4d4f6af602.zip
qemu-d5de20bd84ae3a6f6c194f0088cfcb4d4f6af602.tar.gz
qemu-d5de20bd84ae3a6f6c194f0088cfcb4d4f6af602.tar.bz2
target/hppa: add TLB protection id check
Signed-off-by: Sven Schnelle <svens@stackframe.org> Message-Id: <20190311191602.25796-10-svens@stackframe.org> [rth: Add required tlb flushing when prot id registers change.] Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/hppa/gdbstub.c')
-rw-r--r--target/hppa/gdbstub.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/target/hppa/gdbstub.c b/target/hppa/gdbstub.c
index 3157a69..983bf92 100644
--- a/target/hppa/gdbstub.c
+++ b/target/hppa/gdbstub.c
@@ -93,19 +93,19 @@ int hppa_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int n)
val = env->cr[CR_RC];
break;
case 52:
- val = env->cr[8];
+ val = env->cr[CR_PID1];
break;
case 53:
- val = env->cr[9];
+ val = env->cr[CR_PID2];
break;
case 54:
val = env->cr[CR_SCRCCR];
break;
case 55:
- val = env->cr[12];
+ val = env->cr[CR_PID3];
break;
case 56:
- val = env->cr[13];
+ val = env->cr[CR_PID4];
break;
case 57:
val = env->cr[24];
@@ -224,19 +224,23 @@ int hppa_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
env->cr[CR_RC] = val;
break;
case 52:
- env->cr[8] = val;
+ env->cr[CR_PID1] = val;
+ cpu_hppa_change_prot_id(env);
break;
case 53:
- env->cr[9] = val;
+ env->cr[CR_PID2] = val;
+ cpu_hppa_change_prot_id(env);
break;
case 54:
env->cr[CR_SCRCCR] = val;
break;
case 55:
- env->cr[12] = val;
+ env->cr[CR_PID3] = val;
+ cpu_hppa_change_prot_id(env);
break;
case 56:
- env->cr[13] = val;
+ env->cr[CR_PID4] = val;
+ cpu_hppa_change_prot_id(env);
break;
case 57:
env->cr[24] = val;