1fa2ba3b8SLaurent Vivier /* 2fa2ba3b8SLaurent Vivier * Copyright (c) 2013-2018 Laurent Vivier <laurent@vivier.eu> 3fa2ba3b8SLaurent Vivier * 4fa2ba3b8SLaurent Vivier * This work is licensed under the terms of the GNU GPL, version 2 or later. 5fa2ba3b8SLaurent Vivier * See the COPYING file in the top-level directory. 6fa2ba3b8SLaurent Vivier * 7fa2ba3b8SLaurent Vivier */ 8fa2ba3b8SLaurent Vivier 9fa2ba3b8SLaurent Vivier #ifndef HW_NUBUS_MAC_H 10fa2ba3b8SLaurent Vivier #define HW_NUBUS_MAC_H 11fa2ba3b8SLaurent Vivier 12fa2ba3b8SLaurent Vivier #include "hw/nubus/nubus.h" 13db1015e9SEduardo Habkost #include "qom/object.h" 14fa2ba3b8SLaurent Vivier 1503deab99SMark Cave-Ayland #define MAC_NUBUS_FIRST_SLOT 0x9 1603deab99SMark Cave-Ayland #define MAC_NUBUS_LAST_SLOT 0xe 1703deab99SMark Cave-Ayland #define MAC_NUBUS_SLOT_NB (MAC_NUBUS_LAST_SLOT - MAC_NUBUS_FIRST_SLOT + 1) 1803deab99SMark Cave-Ayland 19fa2ba3b8SLaurent Vivier #define TYPE_MAC_NUBUS_BRIDGE "mac-nubus-bridge" 208063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(MacNubusState, MAC_NUBUS_BRIDGE) 21fa2ba3b8SLaurent Vivier 22db1015e9SEduardo Habkost struct MacNubusState { 23*9bf674bcSMark Cave-Ayland NubusBridge parent_obj; 24fa2ba3b8SLaurent Vivier 25fa2ba3b8SLaurent Vivier NubusBus *bus; 2662437f90SMark Cave-Ayland MemoryRegion super_slot_alias; 2762437f90SMark Cave-Ayland MemoryRegion slot_alias; 28db1015e9SEduardo Habkost }; 29fa2ba3b8SLaurent Vivier 30fa2ba3b8SLaurent Vivier #endif 31