xemu/include/hw
Alexey Kardashevskiy 2a6593cb6a spapr: Add ibm, client-architecture-support call
The PAPR+ specification defines a ibm,client-architecture-support (CAS)
RTAS call which purpose is to provide a negotiation mechanism for
the guest and the hypervisor to work out the best compatibility parameters.
During the negotiation process, the guest provides an array of various
options and capabilities which it supports, the hypervisor adjusts
the device tree and (optionally) reboots the guest.

At the moment the Linux guest calls CAS method at early boot so SLOF
gets called. SLOF allocates a memory buffer for the device tree changes
and calls a custom KVMPPC_H_CAS hypercall. QEMU parses the options,
composes a diff for the device tree, copies it to the buffer provided
by SLOF and returns to SLOF. SLOF updates the device tree and returns
control to the guest kernel. Only then the Linux guest parses the device
tree so it is possible to avoid unnecessary reboot in most cases.

The device tree diff is a header with an update format version
(defined as 1 in this patch) followed by a device tree with the properties
which require update.

If QEMU detects that it has to reboot the guest, it silently does so
as the guest expects reboot to happen because this is usual pHyp firmware
behavior.

This defines custom KVMPPC_H_CAS hypercall. The current SLOF already
has support for it.

This implements stub which returns very basic tree (root node,
no properties) to the guest.

As the return buffer does not contain any change, no change in behavior is
expected.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-06-16 13:24:37 +02:00
..
acpi acpi: Add ACPI_CPU_HOTPLUG_ID_LIMIT macro 2014-03-18 16:08:42 +02:00
arm i2c: Rename i2c_bus to I2CBus 2014-02-14 16:22:31 +01:00
audio
block qdev: Add enum property types to QAPI schema 2014-02-14 21:12:05 +01:00
char
cpu
cris cris: Remove the CRIS PIC glue 2014-02-03 14:04:00 +00:00
i2c smbus: return -1 if nothing found at the given address 2014-05-07 19:14:46 +03:00
i386 pc,pci,virtio,qdev fixes, tests 2014-06-05 21:52:37 +01:00
input input: switch hid mouse and tablet to the new input layer api. 2014-05-26 08:42:43 +02:00
intc arm: vgic device control api support 2014-02-26 17:20:00 +00:00
ipack ipack: Move IndustryPack out of hw/char/ 2014-02-14 21:11:53 +01:00
isa i2c: Rename i2c_bus to I2CBus 2014-02-14 16:22:31 +01:00
kvm
lm32
m68k
mips
misc
net allwinner-emac: set autonegotiation complete bit on link up 2014-04-17 21:34:06 +01:00
nvram sun4m: Set HostID in NVRAM 2014-02-27 10:01:40 +00:00
pci pcie_host: Turn pcie_host_init() into an instance_init 2014-05-21 15:47:50 +03:00
pci-host q35: Correct typo BRDIGE -> BRIDGE 2014-03-11 13:27:27 +02:00
ppc spapr: Add ibm, client-architecture-support call 2014-06-16 13:24:37 +02:00
s390x s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
scsi scsi: Fix migration of scsi sense data 2014-03-14 10:06:55 +01:00
sh4
sparc
timer allwinner-a10-pit: implement prescaler and source selection 2014-04-17 21:34:06 +01:00
unicore32
usb usb: move ehci register defines to header file 2014-06-02 16:28:59 +02:00
virtio virtio-blk: Factor out virtio_blk_handle_scsi_req from virtio_blk_handle_scsi 2014-06-04 09:56:12 +02:00
xen xen_disk: add discard support 2014-05-07 16:18:04 +00:00
boards.h machine: Make -machine opts properties of MachineState 2014-05-28 17:36:13 +02:00
bt.h
devices.h
elf_ops.h elf-loader: add more return codes 2014-03-05 03:06:46 +01:00
empty_slot.h
fw-path-provider.h fw-path-provider: Change GPL version to 2+ 2014-04-07 15:36:07 +02:00
hotplug.h define hotplug interface 2014-02-10 10:23:35 +02:00
hw.h
ide.h Call pci_piix3_xen_ide_unplug from unplug_disks 2014-02-20 17:28:08 +00:00
irq.h
loader.h pc: avoid duplicate names for ROM MRs 2014-03-11 13:25:48 +02:00
pcmcia.h
ptimer.h vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type 2014-02-04 15:51:45 +01:00
qdev-core.h pc,pci,virtio,qdev fixes, tests 2014-06-05 21:52:37 +01:00
qdev-dma.h qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
qdev-properties.h qdev: Display warning about unused -global 2014-06-05 19:20:37 +03:00
qdev.h
sd.h
ssi.h ssi: Name the CS GPIO 2014-05-28 17:36:21 +02:00
stream.h
sysbus.h
usb.h usb: add usb_pick_speed 2014-06-02 16:29:00 +02:00