sabre: generate correct fw path for sabre PCI host bridge
Set the fw_name property to "pci" and also set an explicit OFW address using the value of the special_base property. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
		
							parent
							
								
									19b599f766
								
							
						
					
					
						commit
						09af820e49
					
				@ -496,6 +496,15 @@ static const TypeInfo sabre_pci_info = {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static char *sabre_ofw_unit_address(const SysBusDevice *dev)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    SabreState *s = SABRE_DEVICE(dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return g_strdup_printf("%x,%x",
 | 
				
			||||||
 | 
					               (uint32_t)((s->special_base >> 32) & 0xffffffff),
 | 
				
			||||||
 | 
					               (uint32_t)(s->special_base & 0xffffffff));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static Property sabre_properties[] = {
 | 
					static Property sabre_properties[] = {
 | 
				
			||||||
    DEFINE_PROP_UINT64("special-base", SabreState, special_base, 0),
 | 
					    DEFINE_PROP_UINT64("special-base", SabreState, special_base, 0),
 | 
				
			||||||
    DEFINE_PROP_UINT64("mem-base", SabreState, mem_base, 0),
 | 
					    DEFINE_PROP_UINT64("mem-base", SabreState, mem_base, 0),
 | 
				
			||||||
@ -505,11 +514,14 @@ static Property sabre_properties[] = {
 | 
				
			|||||||
static void sabre_class_init(ObjectClass *klass, void *data)
 | 
					static void sabre_class_init(ObjectClass *klass, void *data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    DeviceClass *dc = DEVICE_CLASS(klass);
 | 
					    DeviceClass *dc = DEVICE_CLASS(klass);
 | 
				
			||||||
 | 
					    SysBusDeviceClass *sbc = SYS_BUS_DEVICE_CLASS(klass);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dc->realize = sabre_realize;
 | 
					    dc->realize = sabre_realize;
 | 
				
			||||||
    dc->reset = sabre_reset;
 | 
					    dc->reset = sabre_reset;
 | 
				
			||||||
    dc->props = sabre_properties;
 | 
					    dc->props = sabre_properties;
 | 
				
			||||||
    set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
 | 
					    set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
 | 
				
			||||||
 | 
					    dc->fw_name = "pci";
 | 
				
			||||||
 | 
					    sbc->explicit_ofw_unit_address = sabre_ofw_unit_address;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const TypeInfo sabre_info = {
 | 
					static const TypeInfo sabre_info = {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user