qemu/hw/ppc/Kconfig
Peter Maydell 34d0831f38 ppc: Convert PPC UIC to a QOM device
Currently the PPC UIC ("Universal Interrupt Controller") is implemented
as a non-QOM device in ppc4xx_devs.c. Convert it to a proper QOM device
in hw/intc.

The ppcuic_init() function is retained for the moment with its current
interface; in subsequent commits this will be tidied up to avoid the
allocation of an irq array.

This conversion adds VMState support.

It leaves the LOG_UIC() macro as-is to maximise the extent to which
this is simply code-movement rather than a rewrite (in new code it
would be better to use tracepoints).

The default property values for dcr-base and use-vectors are set to
match those use by most of our boards with a UIC.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20201212001537.24520-3-peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2021-01-06 11:09:59 +11:00

153 lines
2.5 KiB
Plaintext

config PSERIES
bool
imply PCI_DEVICES
imply TEST_DEVICES
imply VIRTIO_VGA
select DIMM
select PCI
select SPAPR_VSCSI
select VFIO if LINUX # needed by spapr_pci_vfio.c
select XICS_SPAPR
select XIVE_SPAPR
select MSI_NONBROKEN
select FDT_PPC
select CHRP_NVRAM
config SPAPR_RNG
bool
default y
depends on PSERIES
config POWERNV
bool
imply PCI_DEVICES
imply TEST_DEVICES
select ISA_IPMI_BT
select IPMI_LOCAL
select ISA_BUS
select MC146818RTC
select XICS
select XIVE
select FDT_PPC
select PCI_EXPRESS
select MSI_NONBROKEN
config PPC405
bool
select M48T59
select PFLASH_CFI02
select PPC4XX
select SERIAL
config PPC440
bool
imply PCI_DEVICES
imply TEST_DEVICES
imply E1000_PCI
select PCI_EXPRESS
select PPC4XX
select SERIAL
select FDT_PPC
config PPC4XX
bool
select BITBANG_I2C
select PCI
select PPC_UIC
config SAM460EX
bool
select PPC405
select PFLASH_CFI01
select IDE_SII3112
select M41T80
select PPC440
select SERIAL
select SM501
select SMBUS_EEPROM
select USB_EHCI_SYSBUS
select USB_OHCI
select FDT_PPC
config PREP
bool
imply PCI_DEVICES
imply TEST_DEVICES
select CS4231A
select PREP_PCI
select I82378
select LSI_SCSI_PCI
select M48T59
select PC87312
select RS6000_MC
select FW_CFG_PPC
config RS6000_MC
bool
config MAC_OLDWORLD
bool
imply PCI_DEVICES
imply SUNGEM
imply TEST_DEVICES
select ADB
select GRACKLE_PCI
select HEATHROW_PIC
select MACIO
select FW_CFG_PPC
config MAC_NEWWORLD
bool
imply PCI_DEVICES
imply SUNGEM
imply TEST_DEVICES
select ADB
select MACIO
select MACIO_GPIO
select MAC_PMU
select UNIN_PCI
select FW_CFG_PPC
config E500
bool
imply AT24C
imply VIRTIO_PCI
select ETSEC
select OPENPIC
select PLATFORM_BUS
select PPCE500_PCI
select SERIAL
select MPC_I2C
select FDT_PPC
config VIRTEX
bool
select PPC4XX
select PFLASH_CFI01
select SERIAL
select XILINX
select XILINX_ETHLITE
select FDT_PPC
config XIVE
bool
depends on POWERNV || PSERIES
config XIVE_SPAPR
bool
default y
depends on PSERIES
select XIVE
config XIVE_KVM
bool
default y
depends on XIVE_SPAPR && KVM
# Only used by 64-bit targets
config FW_CFG_PPC
bool
config FDT_PPC
bool