xref: /qemu/include/sysemu/arch_init.h (revision d0fb9657)
1 #ifndef QEMU_ARCH_INIT_H
2 #define QEMU_ARCH_INIT_H
3 
4 
5 enum {
6     QEMU_ARCH_ALL = -1,
7     QEMU_ARCH_ALPHA = (1 << 0),
8     QEMU_ARCH_ARM = (1 << 1),
9     QEMU_ARCH_CRIS = (1 << 2),
10     QEMU_ARCH_I386 = (1 << 3),
11     QEMU_ARCH_M68K = (1 << 4),
12     QEMU_ARCH_MICROBLAZE = (1 << 6),
13     QEMU_ARCH_MIPS = (1 << 7),
14     QEMU_ARCH_PPC = (1 << 8),
15     QEMU_ARCH_S390X = (1 << 9),
16     QEMU_ARCH_SH4 = (1 << 10),
17     QEMU_ARCH_SPARC = (1 << 11),
18     QEMU_ARCH_XTENSA = (1 << 12),
19     QEMU_ARCH_OPENRISC = (1 << 13),
20     QEMU_ARCH_TRICORE = (1 << 16),
21     QEMU_ARCH_NIOS2 = (1 << 17),
22     QEMU_ARCH_HPPA = (1 << 18),
23     QEMU_ARCH_RISCV = (1 << 19),
24     QEMU_ARCH_RX = (1 << 20),
25     QEMU_ARCH_AVR = (1 << 21),
26 
27     QEMU_ARCH_NONE = (1 << 31),
28 };
29 
30 extern const uint32_t arch_type;
31 
32 int kvm_available(void);
33 int xen_available(void);
34 
35 /* default virtio transport per architecture */
36 #define QEMU_ARCH_VIRTIO_PCI (QEMU_ARCH_ALPHA | QEMU_ARCH_ARM | \
37                               QEMU_ARCH_HPPA | QEMU_ARCH_I386 | \
38                               QEMU_ARCH_MIPS | QEMU_ARCH_PPC |  \
39                               QEMU_ARCH_RISCV | QEMU_ARCH_SH4 | \
40                               QEMU_ARCH_SPARC | QEMU_ARCH_XTENSA)
41 #define QEMU_ARCH_VIRTIO_CCW (QEMU_ARCH_S390X)
42 #define QEMU_ARCH_VIRTIO_MMIO (QEMU_ARCH_M68K)
43 
44 #endif
45