[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 23/41] target/ppc: 405: Debug exception cleanup
From: |
Cédric Le Goater |
Subject: |
[PULL 23/41] target/ppc: 405: Debug exception cleanup |
Date: |
Mon, 31 Jan 2022 12:07:53 +0100 |
From: Fabiano Rosas <farosas@linux.ibm.com>
The current Debug exception dispatch is the BookE one, so it is
different from the 405. We effectively don't support the 405 Debug
exception.
This patch removes the BookE code and moves the DEBUG into the "not
implemented" block.
Note that there is in theory a functional change here since we now
abort when a Debug exception happens. However, given how it was never
implemented, I don't believe this to have ever been dispatched for the
405.
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Message-Id: <20220118184448.852996-11-farosas@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
target/ppc/excp_helper.c | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
index 55f6b0e98100..89fc40bb7366 100644
--- a/target/ppc/excp_helper.c
+++ b/target/ppc/excp_helper.c
@@ -539,23 +539,13 @@ static void powerpc_excp_40x(PowerPCCPU *cpu, int excp)
case POWERPC_EXCP_DTLB: /* Data TLB error */
case POWERPC_EXCP_ITLB: /* Instruction TLB error */
break;
- case POWERPC_EXCP_DEBUG: /* Debug interrupt */
- if (env->flags & POWERPC_FLAG_DE) {
- /* FIXME: choose one or the other based on CPU type */
- srr0 = SPR_BOOKE_DSRR0;
- srr1 = SPR_BOOKE_DSRR1;
-
- env->spr[SPR_BOOKE_CSRR0] = env->nip;
- env->spr[SPR_BOOKE_CSRR1] = msr;
-
- /* DBSR already modified by caller */
- } else {
- cpu_abort(cs, "Debug exception triggered on unsupported model\n");
- }
- break;
case POWERPC_EXCP_PIT: /* Programmable interval timer interrupt */
trace_ppc_excp_print("PIT");
break;
+ case POWERPC_EXCP_DEBUG: /* Debug interrupt */
+ cpu_abort(cs, "%s exception not implemented\n",
+ powerpc_excp_name(excp));
+ break;
default:
cpu_abort(cs, "Invalid PowerPC exception %d. Aborting\n", excp);
break;
--
2.34.1
- [PULL 00/41] ppc queue, Cédric Le Goater, 2022/01/31
- [PULL 18/41] target/ppc: 405: Critical exceptions cleanup, Cédric Le Goater, 2022/01/31
- [PULL 26/41] target/ppc: 405: Program exception cleanup, Cédric Le Goater, 2022/01/31
- [PULL 23/41] target/ppc: 405: Debug exception cleanup,
Cédric Le Goater <=
- [PULL 11/41] target/ppc: Put do_rfi under a TCG-only block, Cédric Le Goater, 2022/01/31
- [PULL 14/41] target/ppc: 405: Rename MSR_POW to MSR_WE, Cédric Le Goater, 2022/01/31
- [PULL 25/41] target/ppc: 405: Instruction storage interrupt cleanup, Cédric Le Goater, 2022/01/31
- [PULL 33/41] target/ppc: Introduce powerpc_excp_74xx, Cédric Le Goater, 2022/01/31
- [PULL 06/41] ppc/pnv: use a do-while() loop in pnv_phb4_translate_tve(), Cédric Le Goater, 2022/01/31
- [PULL 19/41] target/ppc: 405: Machine check exception cleanup, Cédric Le Goater, 2022/01/31
- [PULL 10/41] target/ppc: Fix test on mmu_model in hreg_compute_hflags_value(), Cédric Le Goater, 2022/01/31
- [PULL 27/41] target/ppc: 405: Watchdog timer exception cleanup, Cédric Le Goater, 2022/01/31
- [PULL 35/41] target/ppc: 74xx: Machine Check exception cleanup, Cédric Le Goater, 2022/01/31
- [PULL 32/41] target/ppc: books: Program exception cleanup, Cédric Le Goater, 2022/01/31