1*bdc2c77dSMark Cave-Ayland /* 2*bdc2c77dSMark Cave-Ayland * QEMU IOSB emulation 3*bdc2c77dSMark Cave-Ayland * 4*bdc2c77dSMark Cave-Ayland * Copyright (c) 2019 Laurent Vivier 5*bdc2c77dSMark Cave-Ayland * Copyright (c) 2022 Mark Cave-Ayland 6*bdc2c77dSMark Cave-Ayland * 7*bdc2c77dSMark Cave-Ayland * SPDX-License-Identifier: GPL-2.0-or-later 8*bdc2c77dSMark Cave-Ayland */ 9*bdc2c77dSMark Cave-Ayland 10*bdc2c77dSMark Cave-Ayland #ifndef HW_MEM_IOSB_H 11*bdc2c77dSMark Cave-Ayland #define HW_MEM_IOSB_H 12*bdc2c77dSMark Cave-Ayland 13*bdc2c77dSMark Cave-Ayland #define IOSB_REGS 7 14*bdc2c77dSMark Cave-Ayland 15*bdc2c77dSMark Cave-Ayland struct IOSBState { 16*bdc2c77dSMark Cave-Ayland SysBusDevice parent_obj; 17*bdc2c77dSMark Cave-Ayland 18*bdc2c77dSMark Cave-Ayland MemoryRegion mem_regs; 19*bdc2c77dSMark Cave-Ayland uint32_t regs[IOSB_REGS]; 20*bdc2c77dSMark Cave-Ayland }; 21*bdc2c77dSMark Cave-Ayland 22*bdc2c77dSMark Cave-Ayland #define TYPE_IOSB "IOSB" 23*bdc2c77dSMark Cave-Ayland OBJECT_DECLARE_SIMPLE_TYPE(IOSBState, IOSB); 24*bdc2c77dSMark Cave-Ayland 25*bdc2c77dSMark Cave-Ayland #endif 26