qemu/include/hw
Thomas Huth b99260ebbb hw/ppc/spapr: Fix boot path of usb-host storage devices
When passing through an USB storage device to a pseries guest, it
is currently not possible to automatically boot from the device
if the "bootindex" property has been specified, too (e.g. when using
"-device nec-usb-xhci -device usb-host,hostbus=1,hostaddr=2,bootindex=0"
at the command line). The problem is that QEMU builds a device tree path
like "/pci@800000020000000/usb@0/usb-host@1" and passes it to SLOF
in the /chosen/qemu,boot-list property. SLOF, however, probes the
USB device, recognizes that it is a storage device and thus changes
its name to "storage", and additionally adds a child node for the
SCSI LUN, so the correct boot path in SLOF is something like
"/pci@800000020000000/usb@0/storage@1/disk@101000000000000" instead.
So when we detect an USB mass storage device with SCSI interface,
we've got to adjust the firmware boot-device path properly that
SLOF can automatically boot from the device.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1354177
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-01-31 10:10:13 +11: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
arm char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
audio Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
block block/qdev: Allow configuring rerror/werror with qdev properties 2016-07-13 13:32:27 +02:00
char char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
core generic-loader: Add a generic loader 2016-10-04 13:28:09 +01:00
cpu qapi: keep names in 'CpuInstanceProperties' in sync with struct CPUCore 2016-06-27 13:15:06 +10:00
cris char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
display Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
dma include: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
gpio Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
i2c i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00
i386 char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
ide ide: Fix memory leak in ide_register_restart_cb() 2016-09-29 15:50:29 -04:00
input adb-keys.h: initial commit 2016-09-23 10:29:40 +10:00
intc hw/intc/arm_gicv3: Implement gicv3_cpuif_virt_update() 2017-01-20 11:15:10 +00:00
ipack ipack: Update e-mail address 2016-05-18 15:04:27 +03:00
ipmi ipmi: rework the fwinfo to be fetched from the interface 2016-06-07 15:36:54 +03:00
isa portio: keep references on portio 2016-09-08 18:05:21 +04:00
kvm
lm32 intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
m68k char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
mem nvdimm acpi: rename nvdimm_acpi_hotplug 2016-11-15 17:20:37 +02:00
mips Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
misc aspeed: add the definitions for the AST2400 A1 SoC 2016-12-27 14:59:28 +00:00
net cadence_gem: Add support for screening 2016-09-22 18:13:07 +01:00
nvram fw-cfg: turn FW_CFG_FILE_SLOTS into a device property 2017-01-18 22:59:53 +02:00
pci PCI/migration merge vmstate_pci_device and vmstate_pcie_device 2017-01-24 18:00:31 +00:00
pci-host include: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
ppc ppc/spapr: implement H_SIGNAL_SYS_RESET 2017-01-31 10:10:13 +11:00
s390x s390x/kvm: disable cpu model for the 2.7 machine 2016-09-19 11:05:51 +02:00
scsi Remove unused function declarations 2016-09-15 15:32:22 +03:00
sd Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
sh4 char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
smbios smbios: filter based on CONFIG_SMBIOS rather than TARGET 2017-01-16 17:52:34 +01:00
sparc char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
ssi aspeed/smc: handle SPI flash Command mode 2017-01-20 11:15:08 +00:00
timer target-sparc: implement sun4v RTC 2017-01-18 22:03:44 +01:00
tricore Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
unicore32 Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
usb Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
vfio vfio: Pass an error object to vfio_get_device 2016-10-17 10:58:00 -06:00
virtio First set of s390x patches for 2.9: 2017-01-20 15:53:58 +00:00
watchdog Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
xen char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
boards.h machine: Make possible_cpu_arch_ids() return const pointer 2017-01-23 21:25:37 -02:00
bt.h char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
compat.h pflash_cfi01: fix per-device sector length in CFI table 2017-01-27 15:20:22 +00:00
devices.h char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
elf_ops.h loader: Add AddressSpace loading support to ELFs 2016-09-22 18:13:08 +01:00
empty_slot.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
fw-path-provider.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
hotplug.h qdev: hotplug: drop HotplugHandler.post_plug callback 2016-11-15 17:20:37 +02:00
hw.h hw: move reset handlers from vl.c to hw/core 2017-01-16 17:52:35 +01:00
ide.h Call pci_piix3_xen_ide_unplug from unplug_disks 2014-02-20 17:28:08 +00:00
irq.h irq: Remove qemu_irq_intercept_out 2014-10-23 16:41:25 +02:00
loader.h fw-cfg: support writeable blobs 2017-01-18 22:59:53 +02:00
nmi.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
or-irq.h irq: Add a new irq device that allows the ORing of lines 2016-10-04 13:28:07 +01:00
pcmcia.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
platform-bus.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
ptimer.h hw/ptimer: Add "no counter round down" policy 2016-10-24 16:26:52 +01:00
qdev-core.h Introduce DEVICE_CATEGORY_CPU for CPU devices 2017-01-27 18:07:31 +01:00
qdev-dma.h qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
qdev-properties.h char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
qdev.h
register.h hw/registerfields.h: Pull FIELD etc macros out of hw/register.h 2017-01-27 15:20:21 +00:00
registerfields.h hw/registerfields.h: Pull FIELD etc macros out of hw/register.h 2017-01-27 15:20:21 +00:00
stream.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
sysbus.h sysbus: Remove ignored return value of FindSysbusDeviceFunc 2016-09-27 17:03:34 -03:00
usb.h hw/ppc/spapr: Fix boot path of usb-host storage devices 2017-01-31 10:10:13 +11:00