]> Git Repo - qemu.git/commit
target/arm: Don't store M profile PRIMASK and FAULTMASK in daif
authorPeter Maydell <[email protected]>
Mon, 4 Sep 2017 14:21:52 +0000 (15:21 +0100)
committerPeter Maydell <[email protected]>
Mon, 4 Sep 2017 14:21:52 +0000 (15:21 +0100)
commite6ae5981ea4b0f6feb223009a5108582e7644f8f
tree27973dc8e8b022eee00ebbfaed539986413b50e1
parent987ab45e108953c1c98126c338c2119c243c372b
target/arm: Don't store M profile PRIMASK and FAULTMASK in daif

We currently store the M profile CPU register state PRIMASK and
FAULTMASK in the daif field of the CPU state in its I and F
bits. This is a legacy from the original implementation, which
tried to share the cpu_exec_interrupt code between A profile
and M profile. We've since separated out the two cases because
they are significantly different, so now there is no common
code between M and A profile which looks at env->daif: all the
uses are either in A-only or M-only code paths. Sharing the state
fields now is just confusing, and will make things awkward
when we implement v8M, where the PRIMASK and FAULTMASK
registers are banked between security states.

Switch M profile over to using v7m.faultmask and v7m.primask
fields for these registers.

Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-id: 1501692241[email protected]
hw/intc/armv7m_nvic.c
target/arm/cpu.c
target/arm/cpu.h
target/arm/helper.c
target/arm/machine.c
This page took 0.022285 seconds and 4 git commands to generate.