qemu-e2k/hw
Peter Maydell ac656b166b target/arm: Provide accessor functions for HCR_EL2.{IMO, FMO, AMO}
The IMO, FMO and AMO bits in HCR_EL2 are defined to "behave as
1 for all purposes other than direct reads" if HCR_EL2.TGE
is set and HCR_EL2.E2H is 0, and to "behave as 0 for all
purposes other than direct reads" if HCR_EL2.TGE is set
and HRC_EL2.E2H is 1.

To avoid having to check E2H and TGE everywhere where we test IMO and
FMO, provide accessors arm_hcr_el2_imo(), arm_hcr_el2_fmo()and
arm_hcr_el2_amo().  We don't implement ARMv8.1-VHE yet, so the E2H
case will never be true, but we include the logic to save effort when
we eventually do get to that.

(Note that in several of these callsites the change doesn't
actually make a difference as either the callsite is handling
TGE specially anyway, or the CPU can't get into that situation
with TGE set; we change everywhere for consistency.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20180724115950.17316-5-peter.maydell@linaro.org
2018-08-14 17:17:21 +01:00
..
9pfs 9p: darwin: Explicitly cast comparisons of mode_t with -1 2018-06-29 12:32:10 +02:00
acpi nvdimm: make persistence option symbolic 2018-06-11 22:19:57 +03:00
adc
alpha hw/alpha: Use the IEC binary prefix definitions 2018-07-02 15:41:14 +02:00
arm arm: Fix return code of arm_load_elf 2018-08-14 17:17:21 +01:00
audio audio/hda: Fix migration 2018-07-24 17:02:02 +01:00
block Revert "block: Remove deprecated -drive geometry options" 2018-07-10 14:36:12 +02:00
bt
char Bug fixes. 2018-07-17 17:06:32 +01:00
core Bug fixes. 2018-07-17 17:06:32 +01:00
cpu hw/*/realview: Fix introspection problem with 'realview_mpcore' & 'realview_gic' 2018-07-17 13:12:49 +01:00
cris hw/cris: Use the IEC binary prefix definitions 2018-07-02 15:41:15 +02:00
display virtio-gpu: fix crashes upon warm reboot with vga mode 2018-08-07 15:03:58 +01:00
dma hw/dma/omap_dma: Use qemu_log_mask(GUEST_ERROR) instead of fprintf 2018-06-26 17:50:40 +01:00
gpio
hppa hw/hppa: Use the IEC binary prefix definitions 2018-07-02 15:41:14 +02:00
i2c ppc4xx_i2c: Rewrite to model hardware more closely 2018-07-03 09:56:52 +10:00
i386 pc: acpi: fix memory hotplug regression by reducing stub SRAT entry size 2018-08-03 11:35:21 +03:00
ide Revert "block: Remove deprecated -drive option serial" 2018-07-10 14:36:11 +02:00
input hw/input/tsc2005: Convert a fprintf() call to trace events 2018-06-29 15:04:18 +01:00
intc target/arm: Provide accessor functions for HCR_EL2.{IMO, FMO, AMO} 2018-08-14 17:17:21 +01:00
ipack hw/ipack: Use the IEC binary prefix definitions 2018-07-02 15:41:12 +02:00
ipmi object: fix OBJ_PROP_LINK_UNREF_ON_RELEASE ambivalence 2018-06-12 12:07:30 +02:00
isa hw/isa/smc37c669: Change the parallel I/O base to 378H 2018-06-16 19:46:54 -10:00
lm32 hw/lm32: Use the IEC binary prefix definitions 2018-07-02 15:41:15 +02:00
m68k hw/m68k: Use the IEC binary prefix definitions 2018-07-02 15:41:14 +02:00
mem pc-dimm: get_memory_region() will not fail after realize 2018-06-28 19:05:34 +02:00
microblaze hw/microblaze/xlnx-zynqmp-pmu: Fix introspection problem in 'xlnx, zynqmp-pmu-soc' 2018-07-23 15:21:25 +01:00
mips * IEC units series (Philippe) 2018-07-02 19:07:19 +01:00
misc hw/misc/macio: Fix device introspection problems in macio devices 2018-08-01 09:48:40 +10:00
moxie
net e1000e: Prevent MSI/MSI-X storms 2018-07-20 08:30:48 +08:00
nios2 hw/nios2: Use the IEC binary prefix definitions 2018-07-02 15:41:15 +02:00
nvram hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
openrisc
pci
pci-bridge
pci-host hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
pcmcia
ppc sam460ex: Fix PCI interrupts with multiple devices 2018-08-01 11:01:38 +10:00
rdma hw/rdma: Use the IEC binary prefix definitions 2018-07-02 15:41:17 +02:00
riscv spike: Fix crash when introspecting the device 2018-07-19 09:05:48 -07:00
s390x s390x/sclp: fix maxram calculation 2018-07-30 17:41:52 +02:00
scsi virtio-scsi: fix hotplug ->reset() vs event race 2018-07-16 16:58:16 +02:00
sd hw/sd/bcm2835_sdhost: Fix PIO mode writes 2018-07-23 15:21:26 +01:00
sh4 hw/sh4: Use the IEC binary prefix definitions 2018-07-02 15:41:15 +02:00
smbios hw/smbios: Use the IEC binary prefix definitions 2018-07-02 15:41:12 +02:00
sparc * IEC units series (Philippe) 2018-07-02 19:07:19 +01:00
sparc64 * IEC units series (Philippe) 2018-07-02 19:07:19 +01:00
ssi hw/ssi/omap_spi: Use qemu_log_mask(GUEST_ERROR) instead of fprintf 2018-06-26 17:50:40 +01:00
timer hw/timer/cmsdk-apb-timer: run or stop timer on writes to RELOAD and VALUE 2018-07-09 14:51:34 +01:00
tpm
tricore hw/tricore: Use the IEC binary prefix definitions 2018-07-02 15:41:14 +02:00
unicore32
usb Revert "block: Remove deprecated -drive option serial" 2018-07-10 14:36:11 +02:00
vfio vfio/pci: do not set the PCIDevice 'has_rom' attribute 2018-07-11 13:43:57 -06:00
virtio vhost: check region type before casting 2018-08-03 11:35:21 +03:00
watchdog hw/watchdog/wdt_i6300esb: Convert away from old_mmio 2018-06-15 15:23:34 +01:00
xen xen: Don't use memory_region_init_ram_nomigrate() in pci_assign_dev_load_option_rom() 2018-06-22 13:28:42 +01:00
xenpv hw/xen: Use the IEC binary prefix definitions 2018-07-02 15:41:13 +02:00
xtensa hw/xtensa: Use the IEC binary prefix definitions 2018-07-02 15:41:14 +02:00
Makefile.objs