[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 12/21] target/arm: Log fault address for M-profile faults
From: |
Peter Maydell |
Subject: |
[PULL 12/21] target/arm: Log fault address for M-profile faults |
Date: |
Fri, 18 Mar 2022 13:22:57 +0000 |
For M-profile, the fault address is not always exposed to the guest
in a fault register (for instance the BFAR bus fault address register
is only updated for bus faults on data accesses, not instruction
accesses). Currently we log the address only if we're putting it
into a particular guest-visible register. Since we always have it,
log it generically, to make logs of i-side faults a bit clearer.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20220315204306.2797684-3-peter.maydell@linaro.org
---
target/arm/m_helper.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/target/arm/m_helper.c b/target/arm/m_helper.c
index 3bd16c0c465..b7a0fe01141 100644
--- a/target/arm/m_helper.c
+++ b/target/arm/m_helper.c
@@ -2272,7 +2272,13 @@ void arm_v7m_cpu_do_interrupt(CPUState *cs)
* Note that for M profile we don't have a guest facing FSR, but
* the env->exception.fsr will be populated by the code that
* raises the fault, in the A profile short-descriptor format.
+ *
+ * Log the exception.vaddress now regardless of subtype, because
+ * logging below only logs it when it goes into a guest visible
+ * register.
*/
+ qemu_log_mask(CPU_LOG_INT, "...at fault address 0x%x\n",
+ (uint32_t)env->exception.vaddress);
switch (env->exception.fsr & 0xf) {
case M_FAKE_FSR_NSC_EXEC:
/*
--
2.25.1
- [PULL 03/21] target/arm: Fix handling of LPAE block descriptors, (continued)
- [PULL 03/21] target/arm: Fix handling of LPAE block descriptors, Peter Maydell, 2022/03/18
- [PULL 05/21] hw/misc/npcm7xx_clk: Don't leak string in npcm7xx_clk_sel_init(), Peter Maydell, 2022/03/18
- [PULL 04/21] hw/dma/xlnx_csu_dma: Set TYPE_XLNX_CSU_DMA class_size, Peter Maydell, 2022/03/18
- [PULL 06/21] nsis installer: List emulators in alphabetical order, Peter Maydell, 2022/03/18
- [PULL 07/21] nsis installer: Suppress "ANSI targets are deprecated" warning, Peter Maydell, 2022/03/18
- [PULL 08/21] nsis installer: Fix mouse-over descriptions for emulators, Peter Maydell, 2022/03/18
- [PULL 09/21] hw/intc: Rename CONFIG_ARM_GIC_TCG into CONFIG_ARM_GICV3_TCG, Peter Maydell, 2022/03/18
- [PULL 11/21] target/arm: Log M-profile vector table accesses, Peter Maydell, 2022/03/18
- [PULL 13/21] hw/arm/xlnx-zynqmp: Add an unimplemented SERDES area, Peter Maydell, 2022/03/18
- [PULL 10/21] hw/arm/virt: Fix gic-version=max when CONFIG_ARM_GICV3_TCG is unset, Peter Maydell, 2022/03/18
- [PULL 12/21] target/arm: Log fault address for M-profile faults,
Peter Maydell <=
- [PULL 14/21] target/arm: Make rvbar settable after realize, Peter Maydell, 2022/03/18
- [PULL 15/21] hw/misc: Add a model of the Xilinx ZynqMP CRF, Peter Maydell, 2022/03/18
- [PULL 16/21] hw/arm/xlnx-zynqmp: Connect the ZynqMP CRF, Peter Maydell, 2022/03/18
- [PULL 18/21] hw/arm/xlnx-zynqmp: Connect the ZynqMP APU Control, Peter Maydell, 2022/03/18
- [PULL 17/21] hw/misc: Add a model of the Xilinx ZynqMP APU Control, Peter Maydell, 2022/03/18
- [PULL 19/21] util/osdep: Avoid madvise proto on modern Solaris, Peter Maydell, 2022/03/18
- [PULL 20/21] hw/i386/acpi-build: Avoid 'sun' identifier, Peter Maydell, 2022/03/18
- [PULL 21/21] util/osdep: Remove some early cruft, Peter Maydell, 2022/03/18
- Re: [PULL 00/21] target-arm queue, Peter Maydell, 2022/03/19