[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 03/39] target-arm: Set correct syndrome for faults on
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 03/39] target-arm: Set correct syndrome for faults on MSR DAIF*, imm |
Date: |
Fri, 29 May 2015 14:10:09 +0100 |
If the SCTLR.UMA trap bit is set then attempts by EL0 to update
the PSTATE DAIF bits via "MSR DAIFSet, imm" and "MSR DAIFClr, imm"
instructions will raise an exception. We were failing to set
the syndrome information for this exception, which meant that
it would be reported as a repeat of whatever the previous
exception was. Set the correct syndrome information.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
---
target-arm/op_helper.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c
index 43e3457..906b39f 100644
--- a/target-arm/op_helper.c
+++ b/target-arm/op_helper.c
@@ -381,6 +381,9 @@ void HELPER(msr_i_pstate)(CPUARMState *env, uint32_t op,
uint32_t imm)
*/
if (arm_current_el(env) == 0 && !(env->cp15.sctlr_el[1] & SCTLR_UMA)) {
env->exception.target_el = exception_target_el(env);
+ env->exception.syndrome = syn_aa64_sysregtrap(0, extract32(op, 0, 3),
+ extract32(op, 3, 3), 4,
+ imm, 0x1f, 0);
raise_exception(env, EXCP_UDEF);
}
--
1.9.1
- [Qemu-devel] [PULL 01/39] target-arm: Add exception target el infrastructure, (continued)
- [Qemu-devel] [PULL 01/39] target-arm: Add exception target el infrastructure, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 22/39] hw/arm/virt-acpi-build: Generate FADT table and update ACPI headers, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 14/39] target-arm: Add WFx instruction trap support, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 13/39] target-arm: Don't halt on WFI unless we don't have any work, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 29/39] hw/acpi/aml-build: Add ToUUID macro, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 18/39] hw/arm/virt-acpi-build: Basic framework for building ACPI tables on ARM, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 05/39] target-arm: Set exception target EL in tlb_fill, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 09/39] target-arm: Add AArch64 CPTR registers, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 19/39] hw/acpi/aml-build: Add aml_memory32_fixed() term, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 08/39] target-arm: Allow cp access functions to indicate traps to EL2 or EL3, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 03/39] target-arm: Set correct syndrome for faults on MSR DAIF*, imm,
Peter Maydell <=
- [Qemu-devel] [PULL 10/39] target-arm: Make singlestate TB flags common between AArch32/64, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 02/39] target-arm: Extend helpers to route exceptions, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 11/39] target-arm: Extend FP checks to use an EL, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 24/39] hw/arm/virt-acpi-build: Generate GTDT table, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 07/39] target-arm: Update interrupt handling to use target EL, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 16/39] hw/arm/virt: Move common definitions to virt.h, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 04/39] target-arm: Move setting of exception info into tlb_fill, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 12/39] target-arm: Move TB flags down to fill gap, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 15/39] hw/acpi/aml-build: Make enum values to be upper case to match coding style, Peter Maydell, 2015/05/29
- [Qemu-devel] [PULL 06/39] target-arm: Make raise_exception() take syndrome and target EL, Peter Maydell, 2015/05/29