VOGONS


First post, by M-HT

User metadata
Rank Newbie
Rank
Newbie

Hi,

I created a backed in the dynrec for 64-bit ARM (ARMv8, little endian).

Detection in configure is included, but in case it doesn't work, following definitions should be set in config.h

#define C_DYNREC 1
#define C_TARGETCPU ARMV8LE
#define C_UNALIGNED_MEMORY 1

Patch for revision 4112 is in the attachment.

Changed files:
src/cpu/core_dynrec.cpp
src/cpu/core_dynrec/Makefile.am
configure.ac

New file:
src/cpu/core_dynrec/risc_armv8le.h

Reply 1 of 6, by bruenor41

User metadata
Rank Newbie
Rank
Newbie

Tested last day on 6 different devices and 20+ games. No crashes or unusual behaviors. Most important : No performance regression against 32 bit backend! Good work! 😀

Reply 2 of 6, by krcroft

User metadata
Rank Oldbie
Rank
Oldbie

This excellent work just future-proofed dosbox on aarch64 when it will eventually displace the 32bit arm archs.
Excellent addition!

Reply 5 of 6, by M-HT

User metadata
Rank Newbie
Rank
Newbie

Thanks to more testing by bruenor41 a bug was found. The fix is in the attachment.