summaryrefslogtreecommitdiff
path: root/src/core/ao_host.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-11-11 22:30:17 -0800
committerKeith Packard <keithp@keithp.com>2011-11-11 22:30:17 -0800
commitb132eefc5f63412bb4a98a4bb72b9055e40d5d42 (patch)
tree53f0d529cf30b21649b69cee3e5f8966adf86642 /src/core/ao_host.h
parent7ecde50fbebe68a2e2200a2f8d081fd37074f840 (diff)
altos: Make ao_xmem funcs require __xdata void * instead of casting
Having an explicit cast in the ao_xmem wrapper macros caused the compiler to generate garbage values for pdata addresses, making the upper byte 0x00 instead of the required 0xf0. Removing the casts from the ao_xmem macros exposed this problem, so a new PDATA_TO_XDATA macros was added, along with a CODE_TO_XDATA macro which serve to cast pointers, with suitable address modifications, so that things work again. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/core/ao_host.h')
-rw-r--r--src/core/ao_host.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/ao_host.h b/src/core/ao_host.h
index f2b2f0c9..6eb752c9 100644
--- a/src/core/ao_host.h
+++ b/src/core/ao_host.h
@@ -46,6 +46,10 @@ struct ao_adc {
#define __code
#define __reentrant
+#define DATA_TO_XDATA(a) (a)
+#define PDATA_TO_XDATA(a) (a)
+#define CODE_TO_XDATA(a) (a)
+
enum ao_flight_state {
ao_flight_startup = 0,
ao_flight_idle = 1,