[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 31/33] gdbstub: Disable handling of nanoMIPS
From: |
Aleksandar Markovic |
Subject: |
Re: [Qemu-devel] [PATCH v2 31/33] gdbstub: Disable handling of nanoMIPS ISA bit in the MIPS gdbstub |
Date: |
Tue, 10 Jul 2018 18:33:09 +0000 |
> Subject: [PATCH v2 31/33] gdbstub: Disable handling of nanoMIPS ISA bit in
> the MIPS gdbstub
>
> From: James Hogan <address@hidden>
>
> nanoMIPS has no ISA bit in the PC, so remove the handling of the low bit
> of the PC in the MIPS gdbstub for nanoMIPS. This prevents the PC being
> read as e.g. 0xbfc00001, and prevents writing to the PC clearing
> MIPS_HFLAG_M16.
>
> Signed-off-by: James Hogan <address@hidden>
> Signed-off-by: Yongbok Kim <address@hidden>
> Signed-off-by: Aleksandar Markovic <address@hidden>
> Signed-off-by: Stefan Markovic <address@hidden>
> ---
> target/mips/gdbstub.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
Reviewed-by: Aleksandar Markovic <address@hidden>
> diff --git a/target/mips/gdbstub.c b/target/mips/gdbstub.c
> index 18e0e6d..559b69f 100644
> --- a/target/mips/gdbstub.c
> +++ b/target/mips/gdbstub.c
> @@ -60,7 +60,8 @@ int mips_cpu_gdb_read_register(CPUState *cs, uint8_t
> *mem_buf, int n)
> return gdb_get_regl(mem_buf, (int32_t)env->CP0_Cause);
> case 37:
> return gdb_get_regl(mem_buf, env->active_tc.PC |
> - !!(env->hflags & MIPS_HFLAG_M16));
> + (!(env->insn_flags & ISA_NANOMIPS32) &&
> + env->hflags & MIPS_HFLAG_M16));
> case 72:
> return gdb_get_regl(mem_buf, 0); /* fp */
> case 89:
> @@ -131,10 +132,12 @@ int mips_cpu_gdb_write_register(CPUState *cs, uint8_t
> *mem_buf, int n)
> break;
> case 37:
> env->active_tc.PC = tmp & ~(target_ulong)1;
> - if (tmp & 1) {
> - env->hflags |= MIPS_HFLAG_M16;
> - } else {
> - env->hflags &= ~(MIPS_HFLAG_M16);
> + if (!(env->insn_flags & ISA_NANOMIPS32)) {
> + if (tmp & 1) {
> + env->hflags |= MIPS_HFLAG_M16;
> + } else {
> + env->hflags &= ~(MIPS_HFLAG_M16);
> + }
> }
> break;
> case 72: /* fp, ignored */
> --
> 2.7.4
>
>
- [Qemu-devel] [PATCH v2 26/33] target/mips: Fix ERET/ERETNC behavior related to ADEL exception, (continued)
- [Qemu-devel] [PATCH v2 26/33] target/mips: Fix ERET/ERETNC behavior related to ADEL exception, Aleksandar Markovic, 2018/07/09
- [Qemu-devel] [PATCH v2 27/33] target/mips: Add ELF flags for MIPS machine variants, Aleksandar Markovic, 2018/07/09
- [Qemu-devel] [PATCH v2 28/33] mips_malta: Add basic nanoMIPS boot code for MIPS' Malta, Aleksandar Markovic, 2018/07/09
- [Qemu-devel] [PATCH v2 29/33] mips_malta: Setup GT64120 BARs in nanoMIPS bootloader, Aleksandar Markovic, 2018/07/09
- [Qemu-devel] [PATCH v2 30/33] mips_malta: Fix semihosting argument passing for nanoMIPS bare metal, Aleksandar Markovic, 2018/07/09
- [Qemu-devel] [PATCH v2 31/33] gdbstub: Disable handling of nanoMIPS ISA bit in the MIPS gdbstub, Aleksandar Markovic, 2018/07/09
- Re: [Qemu-devel] [PATCH v2 31/33] gdbstub: Disable handling of nanoMIPS ISA bit in the MIPS gdbstub,
Aleksandar Markovic <=
- [Qemu-devel] [PATCH v2 32/33] gdbstub: Add XML support for GDB for nanoMIPS, Aleksandar Markovic, 2018/07/09
- [Qemu-devel] [PATCH v2 33/33] target/mips: Add definition of nanoMIPS I7200 CPU, Aleksandar Markovic, 2018/07/09