xref: /openbmc/qemu/include/hw/m68k/q800.h (revision f18a2886)
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"
31a8019229SMark Cave-Ayland 
32a8019229SMark Cave-Ayland /*
33a8019229SMark Cave-Ayland  * The main Q800 machine
34a8019229SMark Cave-Ayland  */
35a8019229SMark Cave-Ayland 
36a8019229SMark Cave-Ayland struct Q800MachineState {
37a8019229SMark Cave-Ayland     MachineState parent_obj;
3836e2e338SMark Cave-Ayland 
3936e2e338SMark Cave-Ayland     M68kCPU cpu;
400b9b41fbSMark Cave-Ayland     MemoryRegion rom;
411ecc6ec1SMark Cave-Ayland     GLUEState glue;
427527c52fSMark Cave-Ayland     MemoryRegion macio;
43*f18a2886SMark Cave-Ayland     MemoryRegion macio_alias;
44a8019229SMark Cave-Ayland };
45a8019229SMark Cave-Ayland 
46a8019229SMark Cave-Ayland #define TYPE_Q800_MACHINE MACHINE_TYPE_NAME("q800")
47a8019229SMark Cave-Ayland OBJECT_DECLARE_SIMPLE_TYPE(Q800MachineState, Q800_MACHINE)
48a8019229SMark Cave-Ayland 
49a8019229SMark Cave-Ayland #endif
50