qemu/hw
Gavin Shan ee954280da sPAPR: Implement EEH RTAS calls
The emulation for EEH RTAS requests from guest isn't covered
by QEMU yet and the patch implements them.

The patch defines constants used by EEH RTAS calls and adds
callbacks sPAPRPHBClass::{eeh_set_option, eeh_get_state, eeh_reset,
eeh_configure}, which are going to be used as follows:

  * RTAS calls are received in spapr_pci.c, sanity check is done
    there.
  * RTAS handlers handle what they can. If there is something it
    cannot handle and the corresponding sPAPRPHBClass callback is
    defined, it is called.
  * Those callbacks are only implemented for VFIO now. They do ioctl()
    to the IOMMU container fd to complete the calls. Error codes from
    that ioctl() are transferred back to the guest.

[aik: defined RTAS tokens for EEH RTAS calls]
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-03-09 15:00:08 +01:00
..
9pfs virtio: feature bit manipulation helpers 2015-02-26 13:04:07 +01:00
acpi aml-build: fix build for glib < 2.22 2015-03-03 17:42:18 +01:00
alpha QOM infrastructure fixes and device conversions 2015-03-02 13:20:43 +00:00
arm error: Use error_report_err() where appropriate 2015-02-18 10:51:09 +01:00
audio pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
block virtio: add feature checking helpers 2015-02-26 13:04:07 +01:00
bt l2cap: fix access to freed memory 2014-08-15 19:12:48 +04:00
char spapr_vio: Convert to realize() 2015-03-09 15:00:07 +01:00
core pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
cpu icc_bus: fix typo ICC_BRIGDE -> ICC_BRIDGE 2014-11-03 19:51:56 +03:00
cris hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
display vga: Expose framebuffer byteorder as a QOM property 2015-03-09 15:00:02 +01:00
dma vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
gpio PPC: Add MPC8XXX gpio controller 2014-11-04 23:26:12 +01:00
i2c pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
i386 pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
ide pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
input adb.c: include ADBDevice parent state in KBDState and MouseState 2015-03-09 15:00:04 +01:00
intc openpic: convert to vmstate 2015-03-09 15:00:07 +01:00
ipack pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
isa acpi, ich9: Add unplug cb for ich9. 2015-02-26 12:42:18 +01:00
lm32 acpi-build: make ROMs RAM blocks resizeable 2015-01-08 13:17:55 +02:00
m68k hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
mem pc-dimm: add a function to calculate VM's current RAM size 2015-03-04 13:00:04 -05:00
microblaze hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
mips QOM infrastructure fixes and device conversions 2015-03-02 13:20:43 +00:00
misc cuda.c: include adb_poll_timer in VMStateDescription 2015-03-09 15:00:05 +01:00
moxie memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
net spapr_vio: Convert to realize() 2015-03-09 15:00:07 +01:00
nvram spapr_vio: Convert to realize() 2015-03-09 15:00:07 +01:00
openrisc hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
pci pci-hotplug-old: Has been dead for five major releases, bury 2015-03-01 12:37:54 +01:00
pci-bridge pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
pci-host pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
pcmcia hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
ppc sPAPR: Implement EEH RTAS calls 2015-03-09 15:00:08 +01:00
s390x balloon: call qdev_alias_all_properties for proxy dev in balloon class init 2015-03-01 12:32:59 +01:00
scsi spapr_vio: Convert to realize() 2015-03-09 15:00:07 +01:00
sd pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
sh4 r2d: Don't use legacy -usbdevice support for setting up board 2015-02-18 10:53:10 +01:00
sparc hmp: Name HMP info handler functions hmp_info_SUBCOMMAND() 2015-02-18 11:58:50 +01:00
sparc64 QOM infrastructure fixes and device conversions 2015-03-02 13:20:43 +00:00
ssi ssi: xilinx_spi: Initialise CS GPIOs as NULL 2014-08-15 18:54:40 +04:00
timer Generalize QOM publishing of date and time from mc146818rtc.c 2015-03-09 14:59:55 +01:00
tpm tpm: Support for capability flags of TIS 1.3 2015-03-01 12:33:21 +01:00
tricore target-tricore: check return value before using it 2014-11-02 10:04:34 +03:00
unicore32 memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
usb pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
vfio vfio-pci: Enable device request notification support 2015-03-02 11:38:55 -07:00
virtio pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
watchdog pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
xen xen-pt: Fix PCI devices re-attach failed 2015-01-13 11:49:46 +00:00
xenpv hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
xtensa target-xtensa: xtfpga: fix ml605 flash size 2015-03-07 15:27:55 +03:00
Makefile.objs vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio 2014-12-19 15:24:06 -07:00