Module Name: src Committed By: thorpej Date: Sun Apr 7 14:14:03 UTC 2019
Modified Files: src/sys/arch/arm/arm: fusu.S Log Message: ...and now I really have the list of arch versions that require the armv2 style of ufetch_16/ustore_16. And since it's so many, just stop naming it for the arch version, and name it for the instruction capability. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/arm/fusu.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/arm/fusu.S diff -u src/sys/arch/arm/arm/fusu.S:1.6 src/sys/arch/arm/arm/fusu.S:1.7 --- src/sys/arch/arm/arm/fusu.S:1.6 Sun Apr 7 04:11:56 2019 +++ src/sys/arch/arm/arm/fusu.S Sun Apr 7 14:14:03 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: fusu.S,v 1.6 2019/04/07 04:11:56 thorpej Exp $ */ +/* $NetBSD: fusu.S,v 1.7 2019/04/07 14:14:03 thorpej Exp $ */ /*- * Copyright (c) 2019 The NetBSD Foundation, Inc. @@ -70,6 +70,10 @@ #include <arm/locore.h> +#if (ARM_ARCH_2 + ARM_ARCH_3 + ARM_ARCH_4 + ARM_ARCH_5 + ARM_ARCH_6) > 0 +#define NO_LDRHT_STRHT +#endif + #define RETURN_SUCCESS \ mov r0, #0x00000000 ; \ mov pc, lr @@ -99,9 +103,9 @@ ENTRY(_ufetch_8) RETURN_SUCCESS END(_ufetch_8) -#if (ARM_ARCH_2 + ARM_ARCH_3 + ARM_ARCH_4 + ARM_ARCH_5) > 0 -/* LINTSTUB: int _ufetch_16_armv2(const uint16_t *uaddr, uint16_t *valp); */ -ENTRY(_ufetch_16_armv2) +#ifdef NO_LDRHT_STRHT +/* LINTSTUB: int _ufetch_16_no_ldrht(const uint16_t *uaddr, uint16_t *valp); */ +ENTRY(_ufetch_16_no_ldrht) UFETCHSTORE_PROLOGUE ldrbt r3, [r0], #1 @@ -112,15 +116,15 @@ ENTRY(_ufetch_16_armv2) UFETCHSTORE_EPILOGUE RETURN_SUCCESS -END(_ufetch_16_armv2) +END(_ufetch_16_no_ldrht) /* LINTSTUB: int _ufetch_16(const uint16_t *uaddr, uint16_t *valp); */ -STRONG_ALIAS(_ufetch_16,_ufetch_16_armv2) +STRONG_ALIAS(_ufetch_16,_ufetch_16_no_ldrht) #else /* XXX */ -/* LINTSTUB: int _ufetch_16_armv6(const uint16_t *uaddr, uint16_t *valp); */ -ENTRY(_ufetch_16_armv6) +/* LINTSTUB: int _ufetch_16_ldrht(const uint16_t *uaddr, uint16_t *valp); */ +ENTRY(_ufetch_16_ldrht) UFETCHSTORE_PROLOGUE ldrht r3, [r0] @@ -128,11 +132,11 @@ ENTRY(_ufetch_16_armv6) UFETCHSTORE_EPILOGUE RETURN_SUCCESS -END(_ufetch_16_armv6) +END(_ufetch_16_ldrht) /* LINTSTUB: int _ufetch_16(const uint16_t *uaddr, uint16_t *valp); */ -STRONG_ALIAS(_ufetch_16,_ufetch_16_armv6) -#endif /* (ARM_ARCH_2 + ARM_ARCH_3 + ARM_ARCH_4 + ARM_ARCH_5) > 0 */ +STRONG_ALIAS(_ufetch_16,_ufetch_16_ldrht) +#endif /* NO_LDRHT_STRHT */ /* LINTSTUB: int _ufetch_32(const uint32_t *uaddr, uint32_t *valp); */ ENTRY(_ufetch_32) @@ -155,9 +159,9 @@ ENTRY(_ustore_8) RETURN_SUCCESS END(_ustore_8) -#if (ARM_ARCH_2 + ARM_ARCH_3 + ARM_ARCH_4 + ARM_ARCH_5) > 0 -/* LINTSTUB: int _ustore_16_armv2(uint16_t *uaddr, uint16_t val); */ -ENTRY(_ustore_16_armv2) +#ifdef NO_LDRHT_STRHT +/* LINTSTUB: int _ustore_16_no_strht(uint16_t *uaddr, uint16_t val); */ +ENTRY(_ustore_16_no_strht) UFETCHSTORE_PROLOGUE #ifdef __ARMEB__ @@ -171,26 +175,26 @@ ENTRY(_ustore_16_armv2) UFETCHSTORE_EPILOGUE RETURN_SUCCESS -END(_ustore_16_armv2) +END(_ustore_16_no_strht) /* LINTSTUB: int _ustore_16(uint16_t *uaddr, uint16_t val); */ -STRONG_ALIAS(_ustore_16,_ustore_16_armv2) +STRONG_ALIAS(_ustore_16,_ustore_16_no_strht) #else /* XXX */ -/* LINTSTUB: int _ustore_16_armv4(uint16_t *uaddr, uint16_t val); */ -ENTRY(_ustore_16_armv6) +/* LINTSTUB: int _ustore_16_strht(uint16_t *uaddr, uint16_t val); */ +ENTRY(_ustore_16_strht) UFETCHSTORE_PROLOGUE strht r1, [r0] UFETCHSTORE_EPILOGUE RETURN_SUCCESS -END(_ustore_16_armv6) +END(_ustore_16_strht) /* LINTSTUB: int _ustore_16(uint16_t *uaddr, uint16_t val); */ -STRONG_ALIAS(_ustore_16,_ustore_16_armv6) -#endif /* (ARM_ARCH_2 + ARM_ARCH_3 + ARM_ARCH_4 + ARM_ARCH_5) > 0 */ +STRONG_ALIAS(_ustore_16,_ustore_16_strht) +#endif /* NO_LDRHT_STRHT */ /* LINTSTUB: int _ustore_32(uint32_t *uaddr, uint32_t val); */ ENTRY(_ustore_32)