qemu/hw
Michael Davidsaver 542b3478a0 armv7m: Replace armv7m.hack with unassigned_access handler
For v7m we need to catch attempts to execute from special
addresses at 0xfffffff0 and above. Previously we did this
with the aid of a hacky special purpose lump of memory
in the address space and a check in translate.c for whether
we were translating code at those addresses.

We can implement this more cleanly using a CPU
unassigned access handler which throws the exception
if the unassigned access is for one of the special addresses.

Signed-off-by: Michael Davidsaver <mdavidsaver@gmail.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 1484937883-1068-3-git-send-email-peter.maydell@linaro.org
[PMM:
 * drop the deletion of the "don't interrupt if PC is magic"
   code in arm_v7m_cpu_exec_interrupt() -- this is still
   required
 * don't generate an exception for unassigned accesses
   which aren't to the magic address -- although doing
   this is in theory correct in practice it will break
   currently working guests which rely on the RAZ/WI
   behaviour when they touch devices which we haven't
   modelled.
 * trigger EXCP_EXCEPTION_EXIT on is_exec, not !is_write
]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-01-27 15:20:21 +00:00
..
9pfs This pull request fixes a 2.9 regression and a long standing bug that can 2017-01-25 17:54:14 +00:00
acpi machine: Make possible_cpu_arch_ids() return const pointer 2017-01-23 21:25:37 -02:00
adc STM32F2xx: Add the ADC device 2016-10-04 13:28:07 +01:00
alpha Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
arm armv7m: Replace armv7m.hack with unassigned_access handler 2017-01-27 15:20:21 +00:00
audio es1370: wire up reset via DeviceClass 2017-01-11 09:19:03 +01:00
block hw/block/m25p80: Fix typo in local macro name 2017-01-24 23:26:52 +03:00
bt char: replace avail_connections 2016-10-24 15:46:10 +02:00
char serial: fix memory leak in serial exit 2017-01-16 17:52:35 +01:00
core hw: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
cpu
cris
display trivial patches for 2017-01-24 2017-01-25 10:42:26 +00:00
dma hw/dma/pl080: Fix bad bit mask (PL080_CONF_M1 | PL080_CONF_M1) 2016-10-17 19:22:17 +01:00
gpio i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00
i2c arm: Uniquely name imx25 I2C buses. 2017-01-20 11:15:06 +00:00
i386 hw/i386/kvmvapic: Remove dead code in patch_hypercalls() 2017-01-24 23:26:53 +03:00
ide atapi: classify read_cd as conditionally returning data 2016-11-14 11:15:54 -05:00
input gtk,vnc: misc bugfixes. 2017-01-10 14:52:34 +00:00
intc s390x/flic: fix compilation of kvm flic 2017-01-26 10:33:48 +01:00
ipack
ipmi ipmi: fix qemu crash while migrating with ipmi 2016-11-18 17:50:09 +02:00
isa hw/isa/isa-bus: Set category of the "isabus-bridge" device 2017-01-24 23:26:54 +03:00
lm32 fw-cfg: support writeable blobs 2017-01-18 22:59:53 +02:00
m68k m68k: QOMify the MCF Fast Ethernet Controller device 2017-01-20 10:36:38 +08:00
mem pc: memhp: enable nvdimm device hotplug 2016-11-01 19:21:09 +02:00
microblaze clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
mips clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
misc migration: disallow migrate_add_blocker during migration 2017-01-24 18:00:30 +00:00
moxie
net trivial patches for 2017-01-24 2017-01-25 10:42:26 +00:00
nios2 nios2: Add Altera 10M50 GHRD emulation 2017-01-24 13:10:35 -08:00
nvram migration: extend VMStateInfo 2017-01-24 17:54:47 +00:00
openrisc
pci trivial patches for 2017-01-24 2017-01-25 10:42:26 +00:00
pci-bridge PCI/migration merge vmstate_pci_device and vmstate_pcie_device 2017-01-24 18:00:31 +00:00
pci-host ppc: Make uninorth interrupt swizzling identical to Grackle 2016-11-23 12:00:48 +11:00
pcmcia
ppc hw: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
s390x hw: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
scsi trivial patches for 2017-01-24 2017-01-25 10:42:26 +00:00
sd
sh4 cputlb: drop flush_global flag from tlb_flush 2017-01-13 14:24:37 +00:00
smbios stubs: move smbios stubs to hw/smbios 2017-01-16 17:52:35 +01:00
sparc fw_cfg: move FW_CFG_NB_CPUS out of fw_cfg_init1() 2016-11-16 12:09:58 -02:00
sparc64 target-sparc: fix up niagara machine 2017-01-18 22:03:44 +01:00
ssi aspeed/smc: handle dummy bytes when doing fast reads in command mode 2017-01-27 15:20:20 +00:00
timer nios2 target support 2017-01-25 13:30:23 +00:00
tpm clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
tricore
unicore32 clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
usb trivial patches for 2017-01-24 2017-01-25 10:42:26 +00:00
vfio vfio: remove a duplicated word in comments 2017-01-24 23:26:53 +03:00
virtio trivial patches for 2017-01-24 2017-01-25 10:42:26 +00:00
watchdog watchdog: 6300esb: add exit function 2016-12-22 16:00:23 +01:00
xen xen: create qdev for each backend device 2016-11-22 10:29:39 -08:00
xenpv xenpv: Fix qemu_uuid compiling error 2016-09-29 11:43:17 +08:00
xtensa target/xtensa: refactor CCOUNT/CCOMPARE 2017-01-15 13:01:55 -08:00
Makefile.objs acpi: filter based on CONFIG_ACPI_X86 rather than TARGET 2017-01-16 17:52:35 +01:00