mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
hw/pci-host: Add emulation of Marvell MV64361 PPC system controller
The Marvell Discovery II aka. MV64361 is a PowerPC system controller chip that is used on the pegasos2 PPC board. This adds emulation of it that models the device enough to boot guests on this board. The mv643xx.h header with register definitions is taken from Linux 4.15.10 only fixing white space errors, removing not needed parts and changing formatting for QEMU coding style. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <79545ebd03bfe0665b73d2d7cbc74fdf3d62629e.1616680239.git.balaton@eik.bme.hu> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
committed by
David Gibson
parent
f9f0c9e2fa
commit
dcdf98a901
@@ -72,3 +72,7 @@ config REMOTE_PCIHOST
|
||||
config SH_PCI
|
||||
bool
|
||||
select PCI
|
||||
|
||||
config MV64361
|
||||
bool
|
||||
select PCI
|
||||
|
||||
@@ -19,6 +19,8 @@ pci_ss.add(when: 'CONFIG_GRACKLE_PCI', if_true: files('grackle.c'))
|
||||
pci_ss.add(when: 'CONFIG_UNIN_PCI', if_true: files('uninorth.c'))
|
||||
# PowerPC E500 boards
|
||||
pci_ss.add(when: 'CONFIG_PPCE500_PCI', if_true: files('ppce500.c'))
|
||||
# Pegasos2
|
||||
pci_ss.add(when: 'CONFIG_MV64361', if_true: files('mv64361.c'))
|
||||
|
||||
# ARM devices
|
||||
pci_ss.add(when: 'CONFIG_VERSATILE_PCI', if_true: files('versatile.c'))
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,12 @@
|
||||
# grackle.c
|
||||
grackle_set_irq(int irq_num, int level) "set_irq num %d level %d"
|
||||
|
||||
# mv64361.c
|
||||
mv64361_region_map(const char *name, uint64_t poffs, uint64_t size, uint64_t moffs) "Mapping %s 0x%"PRIx64"+0x%"PRIx64" @ 0x%"PRIx64
|
||||
mv64361_region_enable(const char *op, int num) "Should %s region %d"
|
||||
mv64361_reg_read(uint64_t addr, uint32_t val) "0x%"PRIx64" -> 0x%x"
|
||||
mv64361_reg_write(uint64_t addr, uint64_t val) "0x%"PRIx64" <- 0x%"PRIx64
|
||||
|
||||
# sabre.c
|
||||
sabre_set_request(int irq_num) "request irq %d"
|
||||
sabre_clear_request(int irq_num) "clear request irq %d"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef MV64361_H
|
||||
#define MV64361_H
|
||||
|
||||
#define TYPE_MV64361 "mv64361"
|
||||
|
||||
PCIBus *mv64361_get_pci_bus(DeviceState *dev, int n);
|
||||
|
||||
#endif
|
||||
@@ -214,6 +214,7 @@
|
||||
#define PCI_DEVICE_ID_VIA_8231_PM 0x8235
|
||||
|
||||
#define PCI_VENDOR_ID_MARVELL 0x11ab
|
||||
#define PCI_DEVICE_ID_MARVELL_MV6436X 0x6460
|
||||
|
||||
#define PCI_VENDOR_ID_SILICON_MOTION 0x126f
|
||||
#define PCI_DEVICE_ID_SM501 0x0501
|
||||
|
||||
Reference in New Issue
Block a user