mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
hw/m68k: add Nubus support
This patch adds basic support for the NuBus bus. This is used by 680x0 Macintosh. Co-developed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Thomas Huth <huth@tuxfamily.org> Message-Id: <20191026164546.30020-8-laurent@vivier.eu>
This commit is contained in:
parent
87a34e2adb
commit
fa2ba3b80e
12 changed files with 509 additions and 0 deletions
45
hw/nubus/mac-nubus-bridge.c
Normal file
45
hw/nubus/mac-nubus-bridge.c
Normal file
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* 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/mac-nubus-bridge.h"
|
||||
|
||||
|
||||
static void mac_nubus_bridge_init(Object *obj)
|
||||
{
|
||||
MacNubusState *s = MAC_NUBUS_BRIDGE(obj);
|
||||
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
|
||||
|
||||
s->bus = NUBUS_BUS(qbus_create(TYPE_NUBUS_BUS, DEVICE(s), NULL));
|
||||
|
||||
sysbus_init_mmio(sbd, &s->bus->super_slot_io);
|
||||
sysbus_init_mmio(sbd, &s->bus->slot_io);
|
||||
}
|
||||
|
||||
static void mac_nubus_bridge_class_init(ObjectClass *klass, void *data)
|
||||
{
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
dc->desc = "Nubus bridge";
|
||||
}
|
||||
|
||||
static const TypeInfo mac_nubus_bridge_info = {
|
||||
.name = TYPE_MAC_NUBUS_BRIDGE,
|
||||
.parent = TYPE_NUBUS_BRIDGE,
|
||||
.instance_init = mac_nubus_bridge_init,
|
||||
.instance_size = sizeof(MacNubusState),
|
||||
.class_init = mac_nubus_bridge_class_init,
|
||||
};
|
||||
|
||||
static void mac_nubus_bridge_register_types(void)
|
||||
{
|
||||
type_register_static(&mac_nubus_bridge_info);
|
||||
}
|
||||
|
||||
type_init(mac_nubus_bridge_register_types)
|
Loading…
Add table
Add a link
Reference in a new issue