aboutsummaryrefslogtreecommitdiff
path: root/hw/poison.h
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2009-05-19 16:17:58 +0100
committerPaul Brook <paul@codesourcery.com>2009-05-19 16:17:58 +0100
commit1ad2134f914dfd4c8f92307c94c9a5a1e28f0059 (patch)
treefafeb00db8346df20b35434ea3f1eaad1fd67832 /hw/poison.h
parent8a637d444387bbdb60eff803d321244487521c86 (diff)
Hardware convenience library
The only target dependency for most hardware is sizeof(target_phys_addr_t). Build these files into a convenience library, and use that instead of building for every target. Remove and poison various target specific macros to avoid bogus target dependencies creeping back in. Big/Little endian is not handled because devices should not know or care about this to start with. Signed-off-by: Paul Brook <paul@codesourcery.com>
Diffstat (limited to 'hw/poison.h')
-rw-r--r--hw/poison.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/hw/poison.h b/hw/poison.h
new file mode 100644
index 0000000000..94abff2f1a
--- /dev/null
+++ b/hw/poison.h
@@ -0,0 +1,27 @@
+/* Poison identifiers that should not be used when building
+ target independent device code. */
+
+#ifndef HW_POISON_H
+#define HW_POISON_H
+#ifdef __GNUC__
+
+#pragma GCC poison TARGET_I386
+#pragma GCC poison TARGET_X86_64
+#pragma GCC poison TARGET_ALPHA
+#pragma GCC poison TARGET_ARM
+#pragma GCC poison TARGET_CRIS
+#pragma GCC poison TARGET_M68K
+#pragma GCC poison TARGET_MIPS
+#pragma GCC poison TARGET_MIPS64
+#pragma GCC poison TARGET_PPC
+#pragma GCC poison TARGET_PPCEMB
+#pragma GCC poison TARGET_PPC64
+#pragma GCC poison TARGET_ABI32
+#pragma GCC poison TARGET_SH4
+#pragma GCC poison TARGET_SPARC
+#pragma GCC poison TARGET_SPARC64
+
+#pragma GCC poison TARGET_WORDS_BIGENDIAN
+
+#endif
+#endif