qemu/hw
Alexander Graf 582b55a96a roms: Flush icache when writing roms to guest memory
We use the rom infrastructure to write firmware and/or initial kernel
blobs into guest address space. So we're basically emulating the cache
off phase on very early system bootup.

That phase is usually responsible for clearing the instruction cache for
anything it writes into cachable memory, to ensure that after reboot we
don't happen to execute stale bits from the instruction cache.

So we need to invalidate the icache every time we write a rom into guest
address space. We do not need to do this for every DMA since the guest
expects it has to flush the icache manually in that case.

This fixes random reboot issues on e5500 (booke ppc) for me.

Signed-off-by: Alexander Graf <agraf@suse.de>
2013-12-20 01:58:03 +01:00
..
9pfs virtio-9p: Convert to QOM realize 2013-12-09 21:46:49 +01:00
acpi bswap.h: Remove le16_to_cpupu() 2013-11-05 19:57:46 -08:00
alpha hw/alpha: Fix compiler warning (integer constant is too large) 2013-10-02 22:55:28 +04:00
arm hw/arm: add cubieboard support 2013-12-17 20:12:51 +00:00
audio intel-hda: fix position buffer 2013-12-09 09:19:26 +01:00
block Fix NOR flash device ID reading 2013-12-17 19:42:27 +00:00
bt Preparation for usb-bt-dongle conditional build 2013-09-10 11:14:41 +02:00
char hw/arm/digic: add UART support 2013-12-17 20:12:51 +00:00
core roms: Flush icache when writing roms to guest memory 2013-12-20 01:58:03 +01:00
cpu cpu/a9mpcore: Add Global Timer 2013-12-10 13:28:25 +00:00
cris axis_dev88: Don't enforce use of kernel for qtest 2013-11-05 17:47:29 +01:00
display spice: stop server for qxl hard reset 2013-12-16 10:12:20 +01:00
dma qom: Pass available size to object_initialize() 2013-08-30 21:15:44 +02:00
gpio gpio/zaurus: QOM cast cleanup 2013-07-29 21:06:57 +02:00
i2c exynos4210_i2c: QOM cast cleanup 2013-07-29 21:07:02 +02:00
i386 pc: use macro for HPET type 2013-12-11 20:11:10 +02:00
ide bswap.h: Remove cpu_to_be16wu() 2013-11-05 19:57:47 -08:00
input aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
intc spapr-rtas: replace return code constants with macros 2013-12-20 01:57:59 +01:00
isa ich9: APIs for pc guest info 2013-10-14 17:48:52 +03:00
lm32 milkymist: Suppress -kernel/-bios/-drive error for qtest 2013-11-05 17:47:29 +01:00
m68k an5206: Don't enforce use of kernel for qtest 2013-11-05 17:47:29 +01:00
microblaze hw/microblaze: Add support for loading initrd images 2013-10-24 22:56:48 +02:00
mips mips jazz: do not raise data bus exception when accessing invalid addresses 2013-11-21 17:39:22 +01:00
misc vfio-pci: Release all MSI-X vectors when disabled 2013-12-06 11:16:40 -07:00
moxie memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
net Merge remote-tracking branch 'bonzini/virtio' into staging 2013-12-13 11:10:33 -08:00
nvram spapr-rtas: replace return code constants with macros 2013-12-20 01:57:59 +01:00
openrisc openrisc-timer: Reduce overhead, Separate clock update functions 2013-11-20 21:46:45 +08:00
pci pci: fix pci bridge fw path 2013-12-11 20:11:08 +02:00
pci-bridge hw/pci-bridge: set PCI_INTERRUPT_PIN register before shpc init 2013-10-14 17:11:45 +03:00
pci-host PPC: Use default pci bus name for grackle and heathrow 2013-12-20 01:58:01 +01:00
pcmcia pcmcia/pxa2xx: QOM'ify PXA2xxPCMCIAState 2013-11-05 18:06:52 +01:00
ppc spapr: tie spapr-nvram to -pflash 2013-12-20 01:58:02 +01:00
s390x virtio-ccw: remove vdev field 2013-12-09 21:46:48 +01:00
scsi Merge remote-tracking branch 'bonzini/virtio' into staging 2013-12-13 11:10:33 -08:00
sd sd: Avoid access to NULL BlockDriverState 2013-10-17 10:15:18 +02:00
sh4 shix: Don't require firmware presence for qtest 2013-11-05 17:47:29 +01:00
sparc sun4m: Add FCode ROM for TCX framebuffer 2013-11-21 17:38:52 +01:00
sparc64 pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
ssi xilinx_spi: QOM cast cleanup 2013-07-29 21:07:01 +02:00
timer hw/timer: add allwinner a10 timer 2013-12-17 20:12:51 +00:00
tpm aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
unicore32 puv3: Turn puv3_load_kernel() into a no-op for qtest without -kernel 2013-11-05 17:47:28 +01:00
usb Improvements for usb3 bulk stream (usb core, xhci). 2013-12-06 12:54:36 -08:00
virtio virtio: Convert exit to unrealize 2013-12-09 21:46:49 +01:00
watchdog aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
xen xen-pvdevice: make device-id property compulsory 2013-12-01 18:25:48 +00:00
xtensa pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
Makefile.objs pcmcia: QOM'ify PCMCIACardState and MicroDriveState 2013-11-05 18:06:52 +01:00