xref: /openbmc/qemu/include/hw/m68k/q800.h (revision 804ae67e)
1a8019229SMark Cave-Ayland /*
2a8019229SMark Cave-Ayland  * QEMU Motorla 680x0 Macintosh hardware System Emulator
3a8019229SMark Cave-Ayland  *
4a8019229SMark Cave-Ayland  * Permission is hereby granted, free of charge, to any person obtaining a copy
5a8019229SMark Cave-Ayland  * of this software and associated documentation files (the "Software"), to deal
6a8019229SMark Cave-Ayland  * in the Software without restriction, including without limitation the rights
7a8019229SMark Cave-Ayland  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8a8019229SMark Cave-Ayland  * copies of the Software, and to permit persons to whom the Software is
9a8019229SMark Cave-Ayland  * furnished to do so, subject to the following conditions:
10a8019229SMark Cave-Ayland  *
11a8019229SMark Cave-Ayland  * The above copyright notice and this permission notice shall be included in
12a8019229SMark Cave-Ayland  * all copies or substantial portions of the Software.
13a8019229SMark Cave-Ayland  *
14a8019229SMark Cave-Ayland  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15a8019229SMark Cave-Ayland  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16a8019229SMark Cave-Ayland  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17a8019229SMark Cave-Ayland  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18a8019229SMark Cave-Ayland  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19a8019229SMark Cave-Ayland  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20a8019229SMark Cave-Ayland  * THE SOFTWARE.
21a8019229SMark Cave-Ayland  */
22a8019229SMark Cave-Ayland 
23a8019229SMark Cave-Ayland #ifndef HW_Q800_H
24a8019229SMark Cave-Ayland #define HW_Q800_H
25a8019229SMark Cave-Ayland 
26a8019229SMark Cave-Ayland #include "hw/boards.h"
27a8019229SMark Cave-Ayland #include "qom/object.h"
2836e2e338SMark Cave-Ayland #include "target/m68k/cpu-qom.h"
290b9b41fbSMark Cave-Ayland #include "exec/memory.h"
301ecc6ec1SMark Cave-Ayland #include "hw/m68k/q800-glue.h"
316d32c064SMark Cave-Ayland #include "hw/misc/mac_via.h"
32*804ae67eSMark Cave-Ayland #include "hw/net/dp8393x.h"
33a8019229SMark Cave-Ayland 
34a8019229SMark Cave-Ayland /*
35a8019229SMark Cave-Ayland  * The main Q800 machine
36a8019229SMark Cave-Ayland  */
37a8019229SMark Cave-Ayland 
38a8019229SMark Cave-Ayland struct Q800MachineState {
39a8019229SMark Cave-Ayland     MachineState parent_obj;
4036e2e338SMark Cave-Ayland 
4136e2e338SMark Cave-Ayland     M68kCPU cpu;
420b9b41fbSMark Cave-Ayland     MemoryRegion rom;
431ecc6ec1SMark Cave-Ayland     GLUEState glue;
446d32c064SMark Cave-Ayland     MOS6522Q800VIA1State via1;
45d7942e16SMark Cave-Ayland     MOS6522Q800VIA2State via2;
46*804ae67eSMark Cave-Ayland     dp8393xState dp8393x;
477527c52fSMark Cave-Ayland     MemoryRegion macio;
48f18a2886SMark Cave-Ayland     MemoryRegion macio_alias;
49a8019229SMark Cave-Ayland };
50a8019229SMark Cave-Ayland 
51a8019229SMark Cave-Ayland #define TYPE_Q800_MACHINE MACHINE_TYPE_NAME("q800")
52a8019229SMark Cave-Ayland OBJECT_DECLARE_SIMPLE_TYPE(Q800MachineState, Q800_MACHINE)
53a8019229SMark Cave-Ayland 
54a8019229SMark Cave-Ayland #endif
55