mirror of
https://git.proxmox.com/git/qemu
synced 2025-07-09 17:17:20 +00:00
spapr: prepare for qdevification of irq
Restructure common properties for sPAPR devices so that IRQ definitions can be added in one place. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Cc: Alexander Graf <agraf@suse.de> Cc: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
277f9acf79
commit
77c7ea5ebb
@ -495,9 +495,7 @@ static VIOsPAPRDeviceInfo spapr_vlan = {
|
|||||||
.qdev.name = "spapr-vlan",
|
.qdev.name = "spapr-vlan",
|
||||||
.qdev.size = sizeof(VIOsPAPRVLANDevice),
|
.qdev.size = sizeof(VIOsPAPRVLANDevice),
|
||||||
.qdev.props = (Property[]) {
|
.qdev.props = (Property[]) {
|
||||||
DEFINE_PROP_UINT32("reg", VIOsPAPRDevice, reg, 0x1000),
|
DEFINE_SPAPR_PROPERTIES(VIOsPAPRVLANDevice, sdev, 0x1000, 0x10000000),
|
||||||
DEFINE_PROP_UINT32("dma-window", VIOsPAPRDevice, rtce_window_size,
|
|
||||||
0x10000000),
|
|
||||||
DEFINE_NIC_PROPERTIES(VIOsPAPRVLANDevice, nicconf),
|
DEFINE_NIC_PROPERTIES(VIOsPAPRVLANDevice, nicconf),
|
||||||
DEFINE_PROP_END_OF_LIST(),
|
DEFINE_PROP_END_OF_LIST(),
|
||||||
},
|
},
|
||||||
|
@ -60,6 +60,11 @@ typedef struct VIOsPAPRDevice {
|
|||||||
VIOsPAPR_CRQ crq;
|
VIOsPAPR_CRQ crq;
|
||||||
} VIOsPAPRDevice;
|
} VIOsPAPRDevice;
|
||||||
|
|
||||||
|
#define DEFINE_SPAPR_PROPERTIES(type, field, default_reg, default_dma_window) \
|
||||||
|
DEFINE_PROP_UINT32("reg", type, field.reg, default_reg), \
|
||||||
|
DEFINE_PROP_UINT32("dma-window", type, field.rtce_window_size, \
|
||||||
|
default_dma_window)
|
||||||
|
|
||||||
typedef struct VIOsPAPRBus {
|
typedef struct VIOsPAPRBus {
|
||||||
BusState bus;
|
BusState bus;
|
||||||
int irq;
|
int irq;
|
||||||
|
@ -930,9 +930,7 @@ static VIOsPAPRDeviceInfo spapr_vscsi = {
|
|||||||
.qdev.name = "spapr-vscsi",
|
.qdev.name = "spapr-vscsi",
|
||||||
.qdev.size = sizeof(VSCSIState),
|
.qdev.size = sizeof(VSCSIState),
|
||||||
.qdev.props = (Property[]) {
|
.qdev.props = (Property[]) {
|
||||||
DEFINE_PROP_UINT32("reg", VIOsPAPRDevice, reg, 0x2000),
|
DEFINE_SPAPR_PROPERTIES(VSCSIState, vdev, 0x2000, 0x10000000),
|
||||||
DEFINE_PROP_UINT32("dma-window", VIOsPAPRDevice,
|
|
||||||
rtce_window_size, 0x10000000),
|
|
||||||
DEFINE_PROP_END_OF_LIST(),
|
DEFINE_PROP_END_OF_LIST(),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -140,7 +140,7 @@ static VIOsPAPRDeviceInfo spapr_vty = {
|
|||||||
.qdev.name = "spapr-vty",
|
.qdev.name = "spapr-vty",
|
||||||
.qdev.size = sizeof(VIOsPAPRVTYDevice),
|
.qdev.size = sizeof(VIOsPAPRVTYDevice),
|
||||||
.qdev.props = (Property[]) {
|
.qdev.props = (Property[]) {
|
||||||
DEFINE_PROP_UINT32("reg", VIOsPAPRDevice, reg, 0),
|
DEFINE_SPAPR_PROPERTIES(VIOsPAPRVTYDevice, sdev, 0, 0),
|
||||||
DEFINE_PROP_CHR("chardev", VIOsPAPRVTYDevice, chardev),
|
DEFINE_PROP_CHR("chardev", VIOsPAPRVTYDevice, chardev),
|
||||||
DEFINE_PROP_END_OF_LIST(),
|
DEFINE_PROP_END_OF_LIST(),
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user