Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

tools: Detect A-profile ARM cores for hosted and sim builds

The only v7-a targets we have are built using the androidndk (with gcc
4.9) but it is possible to perform "self-hosted" builds for eg the
simulator or the sdlapp.

Where this gets messy is the considerable amount of inline arm
asm we have.

Native builds will need considerably more work to support
v7-a processors, but we have to start somewhere.

(Note that this contains parts of commit 508bfabe8, which had to
be reverted due to breakage)

Change-Id: Ia1c8e10d21a976c68fdaae58e4d776854b63186c

+12 -3
+7 -2
firmware/export/config.h
··· 720 720 # endif 721 721 # elif ARM_PROFILE == ARM_PROFILE_CLASSIC 722 722 # define CPU_ARM_CLASSIC 723 + # elif ARM_PROFILE == ARM_PROFILE_APPLICATION 724 + # define CPU_ARM_APPLICATION 725 + # if defined(__ARM_FEATURE_IDIV) // Some v7-a, all v8-a 726 + # define ARM_HAVE_HW_DIV 727 + # endif 723 728 # endif 724 - # if (CONFIG_PLATFORM & PLATFORM_NATIVE) 729 + # if (CONFIG_PLATFORM & PLATFORM_NATIVE) && !defined(ARM_HAVE_HW_DIV) 725 730 # define ARM_NEED_DIV0 726 731 # endif 727 732 #endif ··· 1100 1105 * Older versions of GCC emit assembly in divided syntax with no option 1101 1106 * to enable unified syntax. 1102 1107 */ 1103 - #if (__GNUC__ < 8) && defined(CPU_ARM_CLASSIC) || defined(CTRU) 1108 + #if (__GNUC__ < 8) && (defined(CPU_ARM_CLASSIC)||defined(CPU_ARM_APPLICATION)) 1104 1109 #define BEGIN_ARM_ASM_SYNTAX_UNIFIED ".syntax unified\n" 1105 1110 #define END_ARM_ASM_SYNTAX_UNIFIED ".syntax divided\n" 1106 1111 #else
+5 -1
tools/configure
··· 4735 4735 GCCOPTS="$GCCOPTS -masm-syntax-unified" 4736 4736 fi 4737 4737 case "$arch_profile" in 4738 - 77) 4738 + 65) # Cortex-A 4739 + arch_profile=application 4740 + ;; 4741 + 77) # Cortex-M 4739 4742 arch_profile=micro 4740 4743 4741 4744 # We have a lot of assembly written for ARM32, which won't ··· 4857 4860 4858 4861 #define ARM_PROFILE_CLASSIC 0 /* Classic ARM cores (<= ARMv6) */ 4859 4862 #define ARM_PROFILE_MICRO 1 /* ARMv6/ARMv7+ M-profile cores */ 4863 + #define ARM_PROFILE_APPLICATION 2 /* ARMv7+ A-profile cores */ 4860 4864 4861 4865 /* Define target machine architecture */ 4862 4866 ${Darch}