commit 143213085e61761669a8b2ec0fe97cd658f28771
parent 9a0ac2c7dcf38950851bf37a55faa5864a09cec3
Author: Virgil Dupras <hsoft@hardcoded.net>
Date: Wed, 5 Jul 2023 10:33:52 -0400
arm: add note about a probable alignment bug
Diffstat:
1 file changed, 4 insertions(+), 0 deletions(-)
diff --git a/fs/emul/uxn/vm.c b/fs/emul/uxn/vm.c
@@ -17,6 +17,10 @@ typedef void (*VMOP) ();
static uchar ram[$10000];
static Stack wst, rst, *src, *dst;
+// TODO: This is probably broken on ARM. Device's total size is uneven. The
+// fields are aligned, so access to dev[0] is fine, but access to dev[1] will be
+// unaligned. Struct size need to be aligned to 4b, but this will need careful
+// adjustments to CDecl.
static Device dev[$10];
static ushort pc; // Program Counter
static int bs; // byte/short 0=byte 1=short