From 77c7ea5ebbcf494f36f243d786e5f8409d7a4b85 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 26 May 2011 11:52:45 +0200 Subject: [PATCH] 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 Cc: Alexander Graf Cc: David Gibson Signed-off-by: Alexander Graf --- hw/spapr_llan.c | 4 +--- hw/spapr_vio.h | 5 +++++ hw/spapr_vscsi.c | 4 +--- hw/spapr_vty.c | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/hw/spapr_llan.c b/hw/spapr_llan.c index 2597748882..abe12973e6 100644 --- a/hw/spapr_llan.c +++ b/hw/spapr_llan.c @@ -495,9 +495,7 @@ static VIOsPAPRDeviceInfo spapr_vlan = { .qdev.name = "spapr-vlan", .qdev.size = sizeof(VIOsPAPRVLANDevice), .qdev.props = (Property[]) { - DEFINE_PROP_UINT32("reg", VIOsPAPRDevice, reg, 0x1000), - DEFINE_PROP_UINT32("dma-window", VIOsPAPRDevice, rtce_window_size, - 0x10000000), + DEFINE_SPAPR_PROPERTIES(VIOsPAPRVLANDevice, sdev, 0x1000, 0x10000000), DEFINE_NIC_PROPERTIES(VIOsPAPRVLANDevice, nicconf), DEFINE_PROP_END_OF_LIST(), }, diff --git a/hw/spapr_vio.h b/hw/spapr_vio.h index faa5d94d7a..7eb5367653 100644 --- a/hw/spapr_vio.h +++ b/hw/spapr_vio.h @@ -60,6 +60,11 @@ typedef struct VIOsPAPRDevice { VIOsPAPR_CRQ crq; } 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 { BusState bus; int irq; diff --git a/hw/spapr_vscsi.c b/hw/spapr_vscsi.c index d2d041522f..6fc82f6bd7 100644 --- a/hw/spapr_vscsi.c +++ b/hw/spapr_vscsi.c @@ -930,9 +930,7 @@ static VIOsPAPRDeviceInfo spapr_vscsi = { .qdev.name = "spapr-vscsi", .qdev.size = sizeof(VSCSIState), .qdev.props = (Property[]) { - DEFINE_PROP_UINT32("reg", VIOsPAPRDevice, reg, 0x2000), - DEFINE_PROP_UINT32("dma-window", VIOsPAPRDevice, - rtce_window_size, 0x10000000), + DEFINE_SPAPR_PROPERTIES(VSCSIState, vdev, 0x2000, 0x10000000), DEFINE_PROP_END_OF_LIST(), }, }; diff --git a/hw/spapr_vty.c b/hw/spapr_vty.c index 607b81b533..a9d4b035e2 100644 --- a/hw/spapr_vty.c +++ b/hw/spapr_vty.c @@ -140,7 +140,7 @@ static VIOsPAPRDeviceInfo spapr_vty = { .qdev.name = "spapr-vty", .qdev.size = sizeof(VIOsPAPRVTYDevice), .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_END_OF_LIST(), },