qemu-e2k/hw/core
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
..
bus.c Revert "bus: do not unref the added child bus on realize" 2018-06-18 09:15:51 +02:00
empty_slot.c hw/core: Clean up includes 2016-01-29 15:07:25 +00:00
fw-path-provider.c hw/core: Clean up includes 2016-01-29 15:07:25 +00:00
generic-loader.c hw/core/generic-loader: Allow PC to be set on command line 2018-02-09 10:55:40 +00:00
hotplug.c qdev: add HotplugHandler->post_plug() callback 2018-07-16 16:58:16 +02:00
irq.c tcg: drop global lock during TCG code execution 2017-02-24 10:32:45 +00:00
loader-fit.c hw: Use IEC binary prefix definitions from "qemu/units.h" 2018-07-02 15:41:10 +02:00
loader.c loader: add rom transaction API 2018-08-16 14:05:28 +01:00
machine.c hw/machine: Remove the Zero check of nb_numa_nodes for numa_complete_configuration() 2018-07-09 14:37:48 -03:00
Makefile.objs hw/core/split-irq: Device that splits IRQ lines 2018-03-02 11:03:45 +00:00
nmi.c nmi: remove x86 specific nmi handling 2016-05-23 16:53:46 +02:00
null-machine.c Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-19 14:10:36 -03:00
or-irq.c hw/core/or-irq: Support more than 16 inputs to an OR gate 2018-06-15 15:23:34 +01:00
platform-bus.c hw: Do not include "exec/address-spaces.h" if it is not necessary 2018-06-01 14:15:10 +02:00
ptimer.c ptimer: Add TRIGGER_ONLY_ON_DECREMENT policy option 2018-07-09 14:51:34 +01:00
qdev-fw.c linux-user: remove nmi.c and fw-path-provider.c 2018-01-23 14:20:52 +01:00
qdev-properties-system.c net: Remove the deprecated "vlan" parameter 2018-05-14 15:47:14 +08:00
qdev-properties.c object: fix OBJ_PROP_LINK_UNREF_ON_RELEASE ambivalence 2018-06-12 12:07:30 +02:00
qdev.c qdev: add HotplugHandler->post_plug() callback 2018-07-16 16:58:16 +02:00
register.c hw/core/register: Add trailing '\n' to qemu_log() call 2018-06-08 13:15:33 +01:00
reset.c hw: move reset handlers from vl.c to hw/core 2017-01-16 17:52:35 +01:00
split-irq.c hw/core/split-irq: Device that splits IRQ lines 2018-03-02 11:03:45 +00:00
stream.c hw/core: Clean up includes 2016-01-29 15:07:25 +00:00
sysbus.c hw/core/sysbus: Add a function for creating and attaching an object 2018-07-17 13:12:49 +01:00
uboot_image.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00