qemu/include/hw
Stefan Hajnoczi e2336043cc loader: add rom transaction API
Image file loaders may add a series of roms.  If an error occurs partway
through loading there is no easy way to drop previously added roms.

This patch adds a transaction mechanism that works like this:

  rom_transaction_begin();
  ...call rom_add_*()...
  rom_transaction_end(ok);

If ok is false then roms added in this transaction are dropped.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20180814162739.11814-5-stefanha@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2018-08-16 14:05:28 +01:00
..
acpi hw/tpm: Use the IEC binary prefix definitions 2018-07-02 15:41:13 +02:00
adc
arm hw/arm: make bitbanded IO optional on ARMv7-M 2018-08-16 14:05:28 +01:00
audio
block block: Remove deprecated -drive option serial 2018-08-15 12:50:39 +02:00
char
core
cpu
cris
display hw/display: Use the IEC binary prefix definitions 2018-07-02 15:41:13 +02:00
dma hw: Do not include "exec/address-spaces.h" if it is not necessary 2018-06-01 14:15:10 +02:00
gpio
i2c ppc4xx_i2c: Rewrite to model hardware more closely 2018-07-03 09:56:52 +10:00
i386 i386: do not migrate MSR_SMI_COUNT on machine types <2.12 2018-07-30 14:00:11 +02:00
ide ide: introduce ide_transfer_start_norecurse 2018-06-08 13:36:31 -04:00
input adb: add property to disable direct reg 3 writes 2018-06-16 16:32:33 +10:00
intc intc/arm_gic: Add the virtualization extensions to the GIC state 2018-08-14 17:17:20 +01:00
ipack
ipmi
isa
kvm
lm32
m68k
mem pc-dimm: get_memory_region() will not fail after realize 2018-06-28 19:05:34 +02:00
mips hw/mips: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
misc i.MX6UL: Add i.MX6UL specific CCM device 2018-08-16 14:05:28 +01:00
net hw/net: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
nvram
pci allocate pci id for mdpy 2018-05-23 03:14:40 +03:00
pci-bridge
pci-host uninorth: remove token register from uninorth device 2018-06-12 09:33:52 +10:00
ppc ppc patch queue 2018-07-03 2018-07-03 14:59:27 +01:00
riscv hw/riscv/sifive_u: Connect the Cadence GEM Ethernet device 2018-07-05 15:24:25 -07:00
s390x s390x/tcg: properly implement the TOD 2018-07-02 10:37:38 +02:00
scsi Block layer patches: 2018-06-29 18:29:15 +01:00
sd sdcard: Reflect when the Spec v3 is supported in the Config Register (SCR) 2018-06-08 13:15:34 +01:00
sh4 hw: Do not include "exec/address-spaces.h" if it is not necessary 2018-06-01 14:15:10 +02:00
smbios
sparc
ssi xilinx_spips: Make dma transactions as per dma_burst_size 2018-06-26 17:50:39 +01:00
timer aspeed/timer: use the APB frequency from the SCU 2018-06-26 17:50:42 +01:00
tricore
unicore32
usb
vfio vfio: remove DPRINTF() definition from vfio-common.h 2018-06-05 08:23:16 -06:00
virtio virtio-gpu: fix crashes upon warm reboot with vga mode 2018-08-07 15:03:58 +01:00
watchdog
xen compiler: add a sizeof_field() macro 2018-06-27 13:01:40 +01:00
xtensa
boards.h boards.h: Remove doc comment reference to nonexistent function 2018-07-09 14:51:34 +01:00
bt.h
compat.h vga: disable global_vmstate for 3.0+ machine types 2018-07-03 11:19:49 +02:00
devices.h hw: Clean "hw/devices.h" includes 2018-06-01 14:15:10 +02:00
elf_ops.h
empty_slot.h
fw-path-provider.h
hotplug.h qdev: add HotplugHandler->post_plug() callback 2018-07-16 16:58:16 +02:00
hw.h
ide.h
irq.h
loader-fit.h
loader.h loader: add rom transaction API 2018-08-16 14:05:28 +01:00
nmi.h
or-irq.h hw/core/or-irq: Support more than 16 inputs to an OR gate 2018-06-15 15:23:34 +01:00
pcmcia.h
platform-bus.h platform-bus-device: use device plug callback instead of machine_done notifier 2018-05-10 18:10:56 +01:00
ptimer.h ptimer: Add TRIGGER_ONLY_ON_DECREMENT policy option 2018-07-09 14:51:34 +01:00
qdev-core.h qdev: Remove DeviceClass::init() and ::exit() 2018-06-01 15:14:31 +02:00
qdev-dma.h
qdev-properties.h net: Remove the deprecated "vlan" parameter 2018-05-14 15:47:14 +08:00
qdev.h
register.h
registerfields.h
stream.h
sysbus.h hw/core/sysbus: Add a function for creating and attaching an object 2018-07-17 13:12:49 +01:00
usb.h