master
h 46 lines 1.45 KB
Raw
1 /*
2 * QOM type definitions for ARM / Aarch64 machines
3 *
4 * Copyright (c) Linaro
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
9 #ifndef HW_ARM_MACHINES_QOM_H
10 #define HW_ARM_MACHINES_QOM_H
11
12 #include "hw/core/boards.h"
13
14 #define TYPE_TARGET_ARM_MACHINE \
15 "target-info-arm-machine"
16
17 #define TYPE_TARGET_AARCH64_MACHINE \
18 "target-info-aarch64-machine"
19
20 /*
21 * A machine filtered with arm_machine_interfaces[] or
22 * arm_aarch64_machine_interfaces[] will be available
23 * in both qemu-system-arm and qemu-system-aarch64 binaries.
24 *
25 * One filtered with aarch64_machine_interfaces[] will only
26 * be available in the qemu-system-aarch64 binary.
27 */
28 extern const InterfaceInfo arm_machine_interfaces[];
29 extern const InterfaceInfo arm_aarch64_machine_interfaces[];
30 extern const InterfaceInfo aarch64_machine_interfaces[];
31
32 /*
33 * A machine defined with the DEFINE_MACHINE_ARM() macro will be
34 * available in both qemu-system-arm and qemu-system-aarch64 binaries.
35 *
36 * One defined with DEFINE_MACHINE_AARCH64() will only be available in
37 * the qemu-system-aarch64 binary.
38 */
39 #define DEFINE_MACHINE_ARM(namestr, machine_initfn) \
40 DEFINE_MACHINE_WITH_INTERFACE_ARRAY(namestr, machine_initfn, \
41 arm_machine_interfaces)
42 #define DEFINE_MACHINE_AARCH64(namestr, machine_initfn) \
43 DEFINE_MACHINE_WITH_INTERFACE_ARRAY(namestr, machine_initfn, \
44 aarch64_machine_interfaces)
45
46 #endif