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.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(),
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -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(),
 | 
			
		||||
    },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -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(),
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user