diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2016-02-09 17:01:33 +0000 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2016-03-09 04:22:21 +0000 |
commit | c813bb17f2b7166adb1c740ffc0d957b46271fa1 (patch) | |
tree | c6dac8a7656389db85428080f832d23817670a51 /fs/hfsplus | |
parent | 59f00ff9afc028053fa9281407627e95008ebd5c (diff) | |
download | talos-op-linux-c813bb17f2b7166adb1c740ffc0d957b46271fa1.tar.gz talos-op-linux-c813bb17f2b7166adb1c740ffc0d957b46271fa1.zip |
KVM: arm/arm64: vgic-v2: Save maintenance interrupt state only if required
Next on our list of useless accesses is the maintenance interrupt
status registers (GICH_MISR, GICH_EISR{0,1}).
It is pointless to save them if we haven't asked for a maintenance
interrupt the first place, which can only happen for two reasons:
- Underflow: GICH_HCR_UIE will be set,
- EOI: GICH_LR_EOI will be set.
These conditions can be checked on the in-memory copies of the regs.
Should any of these two condition be valid, we must read GICH_MISR.
We can then check for GICH_MISR_EOI, and only when set read
GICH_EISR*.
This means that in most case, we don't have to save them at all.
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'fs/hfsplus')
0 files changed, 0 insertions, 0 deletions