03deab9940
Convert nubus_device_realize() to use a bitmap to manage available slots to allow for future Nubus devices to be plugged into arbitrary slots from the command line using a new qdev "slot" parameter for nubus devices. Update mac_nubus_bridge_init() to only allow slots 0x9 to 0xe on Macintosh machines as documented in "Designing Cards and Drivers for the Macintosh Family". 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-5-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
29 lines
643 B
C
29 lines
643 B
C
/*
|
|
* 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.
|
|
*
|
|
*/
|
|
|
|
#ifndef HW_NUBUS_MAC_H
|
|
#define HW_NUBUS_MAC_H
|
|
|
|
#include "hw/nubus/nubus.h"
|
|
#include "qom/object.h"
|
|
|
|
#define MAC_NUBUS_FIRST_SLOT 0x9
|
|
#define MAC_NUBUS_LAST_SLOT 0xe
|
|
#define MAC_NUBUS_SLOT_NB (MAC_NUBUS_LAST_SLOT - MAC_NUBUS_FIRST_SLOT + 1)
|
|
|
|
#define TYPE_MAC_NUBUS_BRIDGE "mac-nubus-bridge"
|
|
OBJECT_DECLARE_SIMPLE_TYPE(MacNubusState, MAC_NUBUS_BRIDGE)
|
|
|
|
struct MacNubusState {
|
|
SysBusDevice sysbus_dev;
|
|
|
|
NubusBus *bus;
|
|
};
|
|
|
|
#endif
|