nubus-bridge: introduce separate NubusBridge structure

This is to allow the Nubus bridge to store its own additional state. Also update
the comment in the file header to reflect that nubus-bridge is not specific to
the Macintosh.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20210924073808.1041-14-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
Mark Cave-Ayland 2021-09-24 08:38:01 +01:00 committed by Laurent Vivier
parent 62437f90cf
commit 9bf674bc71
3 changed files with 9 additions and 3 deletions

View File

@ -1,5 +1,5 @@
/* /*
* QEMU Macintosh Nubus * QEMU Nubus
* *
* Copyright (c) 2013-2018 Laurent Vivier <laurent@vivier.eu> * Copyright (c) 2013-2018 Laurent Vivier <laurent@vivier.eu>
* *
@ -22,7 +22,7 @@ static void nubus_bridge_class_init(ObjectClass *klass, void *data)
static const TypeInfo nubus_bridge_info = { static const TypeInfo nubus_bridge_info = {
.name = TYPE_NUBUS_BRIDGE, .name = TYPE_NUBUS_BRIDGE,
.parent = TYPE_SYS_BUS_DEVICE, .parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(SysBusDevice), .instance_size = sizeof(NubusBridge),
.class_init = nubus_bridge_class_init, .class_init = nubus_bridge_class_init,
}; };

View File

@ -20,7 +20,7 @@
OBJECT_DECLARE_SIMPLE_TYPE(MacNubusState, MAC_NUBUS_BRIDGE) OBJECT_DECLARE_SIMPLE_TYPE(MacNubusState, MAC_NUBUS_BRIDGE)
struct MacNubusState { struct MacNubusState {
SysBusDevice sysbus_dev; NubusBridge parent_obj;
NubusBus *bus; NubusBus *bus;
MemoryRegion super_slot_alias; MemoryRegion super_slot_alias;

View File

@ -10,6 +10,7 @@
#define HW_NUBUS_NUBUS_H #define HW_NUBUS_NUBUS_H
#include "hw/qdev-properties.h" #include "hw/qdev-properties.h"
#include "hw/sysbus.h"
#include "exec/address-spaces.h" #include "exec/address-spaces.h"
#include "qom/object.h" #include "qom/object.h"
#include "qemu/units.h" #include "qemu/units.h"
@ -32,6 +33,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(NubusDevice, NUBUS_DEVICE)
OBJECT_DECLARE_SIMPLE_TYPE(NubusBus, NUBUS_BUS) OBJECT_DECLARE_SIMPLE_TYPE(NubusBus, NUBUS_BUS)
#define TYPE_NUBUS_BRIDGE "nubus-bridge" #define TYPE_NUBUS_BRIDGE "nubus-bridge"
OBJECT_DECLARE_SIMPLE_TYPE(NubusBridge, NUBUS_BRIDGE);
struct NubusBus { struct NubusBus {
BusState qbus; BusState qbus;
@ -58,4 +60,8 @@ struct NubusDevice {
MemoryRegion decl_rom; MemoryRegion decl_rom;
}; };
struct NubusBridge {
SysBusDevice parent_obj;
};
#endif #endif