qemu/hw/intc
Cédric Le Goater 7aa22e1809 ppc/pnv: Remove pnv_xive_vst_size() routine
pnv_xive_vst_size() tries to compute the size of a VSD table from the
information given by FW. The number of entries of the table are
deduced from the result and the MMIO regions of the ESBs and the END
ESBs are then resized accordingly with the computed value. This
reduces the number of elements that can be addressed by the ESB pages.

The maximum number of elements of a direct table can contain is simply:

   Table size / sizeof(XIVE structure)

An indirect table is a one page array of VSDs pointing to subpages
containing XIVE virtual structures and the maximum number of elements
an indirect table can contain :

   (PAGE_SIZE / sizeof(vsd)) * (PAGE_SIZE / sizeof(XIVE structure))

which gives us 16M for XiveENDs, 8M for XiveNVTs. That's more than the
associated VC and PC BARS can address.

The result returned by pnv_xive_vst_size() for indirect tables is
incorrect and can not be used to reduce the size of the MMIO region of
a XIVE resource using an indirect table, such as ENDs in skiboot.

Remove pnv_xive_vst_size() and use a simpler form for direct tables
only. Keep the resizing of the MMIO region for direct tables only as
this is still useful for the ESB MMIO window.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20191115162436.30548-4-clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-12-17 10:39:47 +11:00
..
allwinner-a10-pic.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
apic_common.c hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers 2019-11-05 23:33:12 +01:00
apic.c hw/intc/apic: reject pic ints if isa_pic == NULL 2019-10-22 09:39:54 +02:00
arm_gic_common.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
arm_gic_kvm.c intc/arm_gic: Support IRQ injection for more than 256 vpus 2019-10-15 18:09:02 +01:00
arm_gic.c hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
arm_gicv2m.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
arm_gicv3_common.c hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
arm_gicv3_cpuif.c Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
arm_gicv3_dist.c hw/intc/arm_gicv3: GICD_TYPER.SecurityExtn is RAZ if GICD_CTLR.DS == 1 2019-06-17 15:13:19 +01:00
arm_gicv3_its_common.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
arm_gicv3_its_kvm.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
arm_gicv3_kvm.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
arm_gicv3_redist.c hw/intc/arm_gicv3: Fix decoding of ID register range 2019-06-17 15:13:19 +01:00
arm_gicv3.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
armv7m_nvic.c target/arm: Rebuild hflags for M-profile NVIC 2019-10-24 17:16:28 +01:00
aspeed_vic.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
bcm2835_ic.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
bcm2836_control.c hw/arm/bcm2835_peripherals: Improve logging 2019-10-15 18:09:05 +01:00
etraxfs_pic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
exynos4210_combiner.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
exynos4210_gic.c exynos4210_gic: Suppress gcc9 format-truncation warnings 2019-12-16 10:46:34 +00:00
gic_internal.h hw/intc/arm_gic: Drop GIC_BASE_IRQ macro 2018-09-25 15:13:24 +01:00
gicv3_internal.h target-arm: Add GICv3CPUState in CPUARMState struct 2017-02-28 17:10:00 +00:00
grlib_irqmp.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
heathrow_pic.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
i8259_common.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
i8259.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
imx_avic.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
imx_gpcv2.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
intc.c intc: add an interface to gather statistics/informations on interrupt controllers 2016-10-04 10:00:25 +02:00
ioapic_common.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
ioapic.c hw/i386: split PCMachineState deriving X86MachineState from it 2019-10-22 09:39:50 +02:00
Kconfig kconfig: add CONFIG_MSI_NONBROKEN 2019-03-18 09:39:57 +01:00
lm32_pic.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
Makefile.objs hw/intc: Only build the xlnx-iomod-intc device for the MicroBlaze PMU 2019-08-19 21:28:25 +02:00
mips_gic.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
nios2_iic.c Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
omap_intc.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
ompic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
openpic_kvm.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
openpic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
pl190.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
pnv_xive_regs.h ppc/pnv: add a XIVE interrupt controller model for POWER9 2019-03-12 14:33:04 +11:00
pnv_xive.c ppc/pnv: Remove pnv_xive_vst_size() routine 2019-12-17 10:39:47 +11:00
puv3_intc.c Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
realview_gic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
s390_flic_kvm.c core: replace getpagesize() with qemu_real_host_page_size 2019-10-26 15:38:06 +02:00
s390_flic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
sh_intc.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
slavio_intctl.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
spapr_xive_kvm.c spapr, xics, xive: Match signatures for XICS and XIVE KVM connect routines 2019-10-24 09:36:55 +11:00
spapr_xive.c xive: Link "xive" property to XiveEndSource::xrtr pointer 2019-12-17 10:39:47 +11:00
trace-events xics: Rename misleading ics_simple_*() functions 2019-10-04 19:08:22 +10:00
vgic_common.h intc/gic: Extract some reusable vGIC code 2015-09-24 01:29:36 +01:00
xics_kvm.c spapr, xics, xive: Match signatures for XICS and XIVE KVM connect routines 2019-10-24 09:36:55 +11:00
xics_pnv.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
xics_spapr.c ppc: Add intc_destroy() handlers to SpaprInterruptController/PnvChip 2019-11-18 11:49:11 +01:00
xics.c xics: Link ICP_PROP_CPU property to ICPState::cs pointer 2019-12-17 10:39:47 +11:00
xilinx_intc.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
xive.c ppc/xive: Record the IPB in the associated NVT 2019-12-17 10:39:47 +11:00
xlnx-pmu-iomod-intc.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
xlnx-zynqmp-ipi.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00