Message ID | 20210923091308.13832-18-mark.cave-ayland@ilande.co.uk |
---|---|
State | New |
Headers | show |
Series | nubus: bus, device, bridge, IRQ and address space improvements | expand |
On 9/23/21 11:13, Mark Cave-Ayland wrote: > This is to allow Macintosh machines to further specify which slots are available > since the number of addressable slots may not match the number of physical slots > present in the machine. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Reviewed-by: Laurent Vivier <laurent@vivier.eu> > --- > hw/nubus/nubus-bridge.c | 7 +++++++ > 1 file changed, 7 insertions(+) > +static Property nubus_bridge_properties[] = { > + DEFINE_PROP_UINT32("slot-available-mask", NubusBridge, > + bus.slot_available_mask, 0xffff), What about using DEFINE_PROP_UINT16() here and uint16_t in patch 04/20 "nubus: use bitmap to manage available slots"? Regardless: Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > + DEFINE_PROP_END_OF_LIST() > +};
On 23/09/2021 10:52, Philippe Mathieu-Daudé wrote: > On 9/23/21 11:13, Mark Cave-Ayland wrote: >> This is to allow Macintosh machines to further specify which slots are available >> since the number of addressable slots may not match the number of physical slots >> present in the machine. >> >> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> >> Reviewed-by: Laurent Vivier <laurent@vivier.eu> >> --- >> hw/nubus/nubus-bridge.c | 7 +++++++ >> 1 file changed, 7 insertions(+) > >> +static Property nubus_bridge_properties[] = { >> + DEFINE_PROP_UINT32("slot-available-mask", NubusBridge, >> + bus.slot_available_mask, 0xffff), > > What about using DEFINE_PROP_UINT16() here and uint16_t in > patch 04/20 "nubus: use bitmap to manage available slots"? > > Regardless: > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Yes, that seems to work fine so I'll make this change in v6. >> + DEFINE_PROP_END_OF_LIST() >> +}; ATB, Mark.
diff --git a/hw/nubus/nubus-bridge.c b/hw/nubus/nubus-bridge.c index 1adda7f5a6..2c7c4ee121 100644 --- a/hw/nubus/nubus-bridge.c +++ b/hw/nubus/nubus-bridge.c @@ -21,11 +21,18 @@ static void nubus_bridge_init(Object *obj) qbus_create_inplace(bus, sizeof(s->bus), TYPE_NUBUS_BUS, DEVICE(s), NULL); } +static Property nubus_bridge_properties[] = { + DEFINE_PROP_UINT32("slot-available-mask", NubusBridge, + bus.slot_available_mask, 0xffff), + DEFINE_PROP_END_OF_LIST() +}; + static void nubus_bridge_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); dc->fw_name = "nubus"; + device_class_set_props(dc, nubus_bridge_properties); } static const TypeInfo nubus_bridge_info = {