qemu with hax to log dma reads & writes
jcs.org/2018/11/12/vfio
1/* Poison identifiers that should not be used when building
2 target independent device code. */
3
4#ifndef HW_POISON_H
5#define HW_POISON_H
6#ifdef __GNUC__
7
8#pragma GCC poison TARGET_I386
9#pragma GCC poison TARGET_X86_64
10#pragma GCC poison TARGET_AARCH64
11#pragma GCC poison TARGET_ALPHA
12#pragma GCC poison TARGET_ARM
13#pragma GCC poison TARGET_CRIS
14#pragma GCC poison TARGET_HPPA
15#pragma GCC poison TARGET_LM32
16#pragma GCC poison TARGET_M68K
17#pragma GCC poison TARGET_MICROBLAZE
18#pragma GCC poison TARGET_MIPS
19#pragma GCC poison TARGET_ABI_MIPSN32
20#pragma GCC poison TARGET_ABI_MIPSO32
21#pragma GCC poison TARGET_MIPS64
22#pragma GCC poison TARGET_ABI_MIPSN64
23#pragma GCC poison TARGET_MOXIE
24#pragma GCC poison TARGET_NIOS2
25#pragma GCC poison TARGET_OPENRISC
26#pragma GCC poison TARGET_PPC
27#pragma GCC poison TARGET_PPC64
28#pragma GCC poison TARGET_ABI32
29#pragma GCC poison TARGET_RX
30#pragma GCC poison TARGET_S390X
31#pragma GCC poison TARGET_SH4
32#pragma GCC poison TARGET_SPARC
33#pragma GCC poison TARGET_SPARC64
34#pragma GCC poison TARGET_TILEGX
35#pragma GCC poison TARGET_TRICORE
36#pragma GCC poison TARGET_UNICORE32
37#pragma GCC poison TARGET_XTENSA
38
39#pragma GCC poison TARGET_ALIGNED_ONLY
40#pragma GCC poison TARGET_HAS_BFLT
41#pragma GCC poison TARGET_NAME
42#pragma GCC poison TARGET_SUPPORTS_MTTCG
43#pragma GCC poison TARGET_WORDS_BIGENDIAN
44#pragma GCC poison BSWAP_NEEDED
45
46#pragma GCC poison TARGET_LONG_BITS
47#pragma GCC poison TARGET_FMT_lx
48#pragma GCC poison TARGET_FMT_ld
49#pragma GCC poison TARGET_FMT_lu
50
51#pragma GCC poison TARGET_PAGE_SIZE
52#pragma GCC poison TARGET_PAGE_MASK
53#pragma GCC poison TARGET_PAGE_BITS
54#pragma GCC poison TARGET_PAGE_ALIGN
55
56#pragma GCC poison CPUArchState
57
58#pragma GCC poison CPU_INTERRUPT_HARD
59#pragma GCC poison CPU_INTERRUPT_EXITTB
60#pragma GCC poison CPU_INTERRUPT_HALT
61#pragma GCC poison CPU_INTERRUPT_DEBUG
62#pragma GCC poison CPU_INTERRUPT_TGT_EXT_0
63#pragma GCC poison CPU_INTERRUPT_TGT_EXT_1
64#pragma GCC poison CPU_INTERRUPT_TGT_EXT_2
65#pragma GCC poison CPU_INTERRUPT_TGT_EXT_3
66#pragma GCC poison CPU_INTERRUPT_TGT_EXT_4
67#pragma GCC poison CPU_INTERRUPT_TGT_INT_0
68#pragma GCC poison CPU_INTERRUPT_TGT_INT_1
69#pragma GCC poison CPU_INTERRUPT_TGT_INT_2
70
71#pragma GCC poison CONFIG_ALPHA_DIS
72#pragma GCC poison CONFIG_ARM_A64_DIS
73#pragma GCC poison CONFIG_ARM_DIS
74#pragma GCC poison CONFIG_CRIS_DIS
75#pragma GCC poison CONFIG_HPPA_DIS
76#pragma GCC poison CONFIG_I386_DIS
77#pragma GCC poison CONFIG_LM32_DIS
78#pragma GCC poison CONFIG_M68K_DIS
79#pragma GCC poison CONFIG_MICROBLAZE_DIS
80#pragma GCC poison CONFIG_MIPS_DIS
81#pragma GCC poison CONFIG_NANOMIPS_DIS
82#pragma GCC poison CONFIG_MOXIE_DIS
83#pragma GCC poison CONFIG_NIOS2_DIS
84#pragma GCC poison CONFIG_PPC_DIS
85#pragma GCC poison CONFIG_RISCV_DIS
86#pragma GCC poison CONFIG_S390_DIS
87#pragma GCC poison CONFIG_SH4_DIS
88#pragma GCC poison CONFIG_SPARC_DIS
89#pragma GCC poison CONFIG_XTENSA_DIS
90
91#pragma GCC poison CONFIG_LINUX_USER
92#pragma GCC poison CONFIG_KVM
93#pragma GCC poison CONFIG_SOFTMMU
94
95#endif
96#endif