aboutsummaryrefslogtreecommitdiff
path: root/poison.h
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2011-07-14 15:22:20 +0000
committerBlue Swirl <blauwirbel@gmail.com>2011-07-20 21:22:43 +0000
commit21673cdecb9e9b5a22acaf0a44e47145beb1999e (patch)
tree48b0f14b6c3fdc8524f9cd5fc171ea420e8b3e62 /poison.h
parentb5176d279a81b3205a6f4e4757b39a4e4f8833e8 (diff)
Avoid CPU endian memory accesses in devices
Don't compile virtio.c in hwlib, it depends on memory accesses performed in CPU endianness. Make loads and stores in CPU endianness unavailable to devices and poison them to avoid further bugs. Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'poison.h')
-rw-r--r--poison.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/poison.h b/poison.h
index 2b182328a1..5354e7779c 100644
--- a/poison.h
+++ b/poison.h
@@ -37,6 +37,15 @@
#pragma GCC poison CPUState
#pragma GCC poison env
+#pragma GCC poison lduw_phys
+#pragma GCC poison ldl_phys
+#pragma GCC poison ldq_phys
+#pragma GCC poison stl_phys_notdirty
+#pragma GCC poison stq_phys_notdirty
+#pragma GCC poison stw_phys
+#pragma GCC poison stl_phys
+#pragma GCC poison stq_phys
+
#pragma GCC poison CPU_INTERRUPT_HARD
#pragma GCC poison CPU_INTERRUPT_EXITTB
#pragma GCC poison CPU_INTERRUPT_HALT