q800: add IOSB subsystem

It is needed because it defines the BIOSConfig area.

Co-developed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-ID: <20231004083806.757242-6-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
Mark Cave-Ayland 2023-10-04 09:37:51 +01:00 committed by Laurent Vivier
parent 0f03047c1b
commit bdc2c77d29
9 changed files with 180 additions and 0 deletions

View file

@ -37,6 +37,7 @@
#include "hw/nubus/mac-nubus-bridge.h"
#include "hw/display/macfb.h"
#include "hw/misc/djmemc.h"
#include "hw/misc/iosb.h"
/*
* The main Q800 machine
@ -58,6 +59,7 @@ struct Q800MachineState {
MacNubusBridge mac_nubus_bridge;
MacfbNubusState macfb;
DJMEMCState djmemc;
IOSBState iosb;
MemoryRegion macio;
MemoryRegion macio_alias;
MemoryRegion machine_id;

25
include/hw/misc/iosb.h Normal file
View file

@ -0,0 +1,25 @@
/*
* QEMU IOSB emulation
*
* Copyright (c) 2019 Laurent Vivier
* Copyright (c) 2022 Mark Cave-Ayland
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef HW_MEM_IOSB_H
#define HW_MEM_IOSB_H
#define IOSB_REGS 7
struct IOSBState {
SysBusDevice parent_obj;
MemoryRegion mem_regs;
uint32_t regs[IOSB_REGS];
};
#define TYPE_IOSB "IOSB"
OBJECT_DECLARE_SIMPLE_TYPE(IOSBState, IOSB);
#endif