[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v9 10/26] target-arm: add NSACR register
From: |
Greg Bellows |
Subject: |
[Qemu-devel] [PATCH v9 10/26] target-arm: add NSACR register |
Date: |
Wed, 5 Nov 2014 17:22:57 -0600 |
From: Fabian Aggeler <address@hidden>
Implements NSACR register with corresponding read/write functions
for ARMv7 and ARMv8.
Signed-off-by: Sergey Fedorov <address@hidden>
Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
---
v8 -> v9
- Removed unused NSACR constants
- Added TODO for trapping secure EL1 accesses to NSACR
- Change NSACR access from PL3_RW to PL3_W
- Fixed declaration order of the NSACR register components
v7 -> v8
- Update naming from c1_nsacr to nsacr to match other registers being changed.
- Remove NSACR read/write functions
v4 -> v5
- Changed to use renamed arm_current_el()
---
target-arm/cpu.h | 1 +
target-arm/helper.c | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/target-arm/cpu.h b/target-arm/cpu.h
index 3031911..d2db3aa 100644
--- a/target-arm/cpu.h
+++ b/target-arm/cpu.h
@@ -181,6 +181,7 @@ typedef struct CPUARMState {
uint64_t c1_sys; /* System control register. */
uint64_t c1_coproc; /* Coprocessor access register. */
uint32_t c1_xscaleauxcr; /* XScale auxiliary control register. */
+ uint32_t nsacr; /* Non-secure access control register. */
uint64_t ttbr0_el1; /* MMU translation table base 0. */
uint64_t ttbr1_el1; /* MMU translation table base 1. */
uint64_t c2_control; /* MMU translation table base control. */
diff --git a/target-arm/helper.c b/target-arm/helper.c
index 3086c2c..016cf39 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -2344,6 +2344,10 @@ static const ARMCPRegInfo el3_cp_reginfo[] = {
.cp = 15, .opc1 = 0, .crn = 1, .crm = 1, .opc2 = 0,
.access = PL3_RW, .fieldoffset = offsetoflow32(CPUARMState,
cp15.scr_el3),
.resetfn = arm_cp_reset_ignore, .writefn = scr_write },
+ /* TODO: Implement NSACR trapping of secure EL1 accesses to EL3 */
+ { .name = "NSACR", .cp = 15, .opc1 = 0, .crn = 1, .crm = 1, .opc2 = 2,
+ .access = PL3_W | PL1_R, .resetvalue = 0,
+ .fieldoffset = offsetof(CPUARMState, cp15.nsacr) },
REGINFO_SENTINEL
};
--
1.8.3.2
- Re: [Qemu-devel] [PATCH v9 01/26] target-arm: extend async excp masking, (continued)
- [Qemu-devel] [PATCH v9 03/26] target-arm: add banked register accessors, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 04/26] target-arm: add non-secure Translation Block flag, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 02/26] target-arm: add async excp target_el function, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 05/26] target-arm: add CPREG secure state support, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 06/26] target-arm: add secure state bit to CPREG hash, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 08/26] target-arm: move AArch32 SCR into security reglist, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 07/26] target-arm: insert AArch32 cpregs twice into hashtable, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 09/26] target-arm: implement IRQ/FIQ routing to Monitor mode, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 10/26] target-arm: add NSACR register,
Greg Bellows <=
- [Qemu-devel] [PATCH v9 11/26] target-arm: add SDER definition, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 12/26] target-arm: add MVBAR support, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 13/26] target-arm: add SCTLR_EL3 and make SCTLR banked, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 14/26] target-arm: respect SCR.FW, SCR.AW and SCTLR.NMFI, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 15/26] target-arm: make CSSELR banked, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 16/26] target-arm: make TTBR0/1 banked, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 17/26] target-arm: make TTBCR banked, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 18/26] target-arm: make DACR banked, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 19/26] target-arm: make IFSR banked, Greg Bellows, 2014/11/05
- [Qemu-devel] [PATCH v9 20/26] target-arm: make DFSR banked, Greg Bellows, 2014/11/05