mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00

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> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20210924073808.1041-18-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
/*
|
|
* QEMU Nubus
|
|
*
|
|
* Copyright (c) 2013-2018 Laurent Vivier <laurent@vivier.eu>
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*
|
|
*/
|
|
|
|
#include "qemu/osdep.h"
|
|
#include "hw/sysbus.h"
|
|
#include "hw/nubus/nubus.h"
|
|
|
|
|
|
static void nubus_bridge_init(Object *obj)
|
|
{
|
|
NubusBridge *s = NUBUS_BRIDGE(obj);
|
|
NubusBus *bus = &s->bus;
|
|
|
|
qbus_create_inplace(bus, sizeof(s->bus), TYPE_NUBUS_BUS, DEVICE(s), NULL);
|
|
}
|
|
|
|
static Property nubus_bridge_properties[] = {
|
|
DEFINE_PROP_UINT16("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 = {
|
|
.name = TYPE_NUBUS_BRIDGE,
|
|
.parent = TYPE_SYS_BUS_DEVICE,
|
|
.instance_init = nubus_bridge_init,
|
|
.instance_size = sizeof(NubusBridge),
|
|
.class_init = nubus_bridge_class_init,
|
|
};
|
|
|
|
static void nubus_register_types(void)
|
|
{
|
|
type_register_static(&nubus_bridge_info);
|
|
}
|
|
|
|
type_init(nubus_register_types)
|