qemu-e2k/include/hw
Cédric Le Goater 6e21de4a50 spapr: add device tree support for the XIVE exploitation mode
The XIVE interface for the guest is described in the device tree under
the "interrupt-controller" node. A couple of new properties are
specific to XIVE :

 - "reg"

   contains the base address and size of the thread interrupt
   managnement areas (TIMA), for the User level and for the Guest OS
   level. Only the Guest OS level is taken into account today.

 - "ibm,xive-eq-sizes"

   the size of the event queues. One cell per size supported, contains
   log2 of size, in ascending order.

 - "ibm,xive-lisn-ranges"

   the IRQ interrupt number ranges assigned to the guest for the IPIs.

and also under the root node :

 - "ibm,plat-res-int-priorities"

   contains a list of priorities that the hypervisor has reserved for
   its own use. OPAL uses the priority 7 queue to automatically
   escalate interrupts for all other queues (DD2.X POWER9). So only
   priorities [0..6] are allowed for the guest.

Extend the sPAPR IRQ backend with a new handler to populate the DT
with the appropriate "interrupt-controller" node.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
[dwg: Fix style nits]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-12-21 09:39:07 +11:00
..
acpi qom: make interface types abstract 2018-12-11 15:45:22 -02:00
adc STM32F2xx: Add the ADC device 2016-10-04 13:28:07 +01:00
arm hw/arm: versal: Correct the nr of IRQs to 192 2018-12-13 13:48:04 +00:00
audio audio: use TYPE_MV88W8618_AUDIO instead of hardcoded string 2018-10-29 13:50:15 +01:00
block block: Remove deprecated -drive option serial 2018-08-15 12:50:39 +02:00
char hw/char: Implement nRF51 SoC UART 2018-11-02 14:03:33 +00:00
core hw/core/split-irq: Device that splits IRQ lines 2018-03-02 11:03:45 +00:00
cpu hw: remove "qemu/osdep.h" from header files 2017-12-18 17:07:02 +03:00
cris char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
display edid: fix vendor default 2018-10-05 11:26:56 +02:00
dma hw/dma/pl080: Don't use CPU address space for DMA accesses 2018-08-20 11:24:33 +01:00
gpio bcm2835_gpio: add bcm2835 gpio controller 2017-02-28 17:10:00 +00:00
hyperv hyperv: process POST_MESSAGE hypercall 2018-10-19 13:44:14 +02:00
i2c i2c: Move typedef of bitbang_i2c_interface to i2c.h 2018-12-12 10:01:13 +01:00
i386 q35/440fx/arm/spapr: Add QEMU 4.0 machine type 2018-12-11 15:45:22 -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 qom: make interface types abstract 2018-12-11 15:45:22 -02:00
ipack ipack: Update e-mail address 2016-05-18 15:04:27 +03:00
ipmi qom: make interface types abstract 2018-12-11 15:45:22 -02:00
isa qom: make interface types abstract 2018-12-11 15:45:22 -02:00
kvm
lm32 intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
m68k hw/char/mcf_uart: QOMify the ColdFire UART 2017-02-16 14:06:56 +01:00
mem qom: make interface types abstract 2018-12-11 15:45:22 -02:00
mips hw/mips: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
misc macio: add addr property to macio IDE object 2018-08-30 10:42:18 +10:00
net net: cadence_gem: Add support for selecting the DMA MemoryRegion 2018-10-16 17:13:49 +01:00
nvram fw_cfg: import & use linux/qemu_fw_cfg.h 2018-08-23 18:46:25 +02:00
pci * icount fix (Clement) 2018-11-08 10:01:51 +00:00
pci-bridge Clean up includes 2018-02-09 05:05:11 +01:00
pci-host spapr_pci: add an extra 'nr_msis' argument to spapr_populate_pci_dt 2018-09-25 11:12:25 +10:00
ppc spapr: add device tree support for the XIVE exploitation mode 2018-12-21 09:39:07 +11:00
riscv RISC-V: Use atomic_cmpxchg to update PLIC bitmaps 2018-09-04 13:19:31 -07:00
s390x s390x/tod: Properly stop the KVM TOD while the guest is not running 2018-12-12 10:39:28 +01:00
scsi scsi-generic: avoid invalid access to struct when emulating block limits 2018-11-06 21:35:06 +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 Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
sparc sun4u_iommu: update to reflect IOMMU is no longer part of the APB device 2018-01-09 21:48:20 +00:00
ssi hw/ssi/pl022: Allow use as embedded-struct device 2018-08-24 13:17:44 +01:00
timer qom: make interface types abstract 2018-12-11 15:45:22 -02:00
tricore Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
unicore32 hw/unicore32: restrict hw addr defines to source file 2017-12-18 17:07:02 +03:00
usb usb: Add basic code to emulate Chipidea USB IP 2018-02-09 10:40:30 +00:00
vfio vfio: Clean up error reporting after previous commit 2018-10-19 14:51:34 +02:00
virtio virtio-gpu: pass down VirtIOGPU pointer to a bunch of functions 2018-09-03 08:31:50 +02:00
watchdog hw/watchdog/cmsdk_apb_watchdog: Implement CMSDK APB watchdog module 2018-08-20 11:24:33 +01:00
xen compiler: add a sizeof_field() macro 2018-06-27 13:01:40 +01:00
xtensa Clean up includes 2018-02-09 05:05:11 +01:00
boards.h fw_cfg: ignore suffixes in the bootdevice list dependent on machine class 2018-08-16 22:27:43 -03:00
bt.h char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
compat.h q35/440fx/arm/spapr: Add QEMU 4.0 machine type 2018-12-11 15:45:22 -02:00
devices.h hw: Clean "hw/devices.h" includes 2018-06-01 14:15:10 +02:00
elf_ops.h elf_ops.h: Use address_space_write() to write memory 2018-12-14 13:30:49 +00:00
empty_slot.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
fw-path-provider.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
hotplug.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
hw.h migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
ide.h xen-platform: add missing disk unplug option 2017-01-27 15:23:29 -08:00
irq.h hw/core/split-irq: Device that splits IRQ lines 2018-03-02 11:03:45 +00:00
loader-fit.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
loader.h include/hw/loader.h: Document load_image_size() 2018-12-14 13:30:53 +00:00
nmi.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
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 Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
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 hw: qdev: fix error in comment 2018-12-11 18:28:46 +01:00
qdev-dma.h
qdev-properties.h qdev: move qdev_prop_register_global_list() to tests 2018-12-11 15:45:23 -02:00
qdev.h
register.h hw: register: Run post_write hook on reset 2018-03-01 11:05:43 +00:00
registerfields.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
stream.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
sysbus.h core/sysbus: remove the SysBusDeviceClass::init path 2018-12-13 13:48:03 +00:00
usb.h usb: Remove legacy -usbdevice options (host, serial, disk and net) 2018-01-26 07:15:08 +01:00