AARCH64: Adding Saphira core detection using MIDR.
Commit Message
Hi!
Please find attached the patch for CPU detection using MIDR code for
Qualcomm's Saphira processor, and use Falkor specific memset routine
for Saphira.
Ok for trunk?
--
- Thanks and regards,
Sameera D.
Comments
On Tue, 20 Nov 2018 at 16:18, Sameera Deshpande
<sameera.deshpande@linaro.org> wrote:
>
> Hi!
>
> Please find attached the patch for CPU detection using MIDR code for
> Qualcomm's Saphira processor, and use Falkor specific memset routine
> for Saphira.
>
> Ok for trunk?
>
> --
> - Thanks and regards,
> Sameera D.
Please find below the changelog entry:
Changelog:
2018-11-20 Sameera Deshpande <sameera.deshpande@linaro.org>
* sysdeps/aarch64/multiarch/memset.c (libc_ifunc): Invoke
__memset_falkor for Saphira.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list): Add Saphira.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_SAPHIRA): New macro
(AVOID_SLOW_MRS): Likewise
On 20/11/18 4:18 PM, Sameera Deshpande wrote:
> Please find attached the patch for CPU detection using MIDR code for
> Qualcomm's Saphira processor, and use Falkor specific memset routine
> for Saphira.
The patch looks technically correct, so this only needs a more precise
subject line and detailed description for the patch. We use the email
subject and content for the git commit log so those need to be clear and
precise.
For example "aarch64: Use falkor memset for saphira" would be a more
precise subject since that's the most important functional change in
this patch. The email description should then describe the rationale of
the patch (i.e., the introduction of the new midr for saphira,
consolidation of the checks, etc.) as well as a description of what
saphira is.
That and the ChangeLog should be good enough. Please send a v2 with
these changes.
Thanks,
Siddhesh
@@ -32,7 +32,7 @@ extern __typeof (__redirect_memset) __memset_falkor attribute_hidden;
extern __typeof (__redirect_memset) __memset_generic attribute_hidden;
libc_ifunc (__libc_memset,
- ((IS_FALKOR (midr) || IS_PHECDA (midr)) && zva_size == 64
+ ((AVOID_SLOW_MRS (midr)) && zva_size == 64
? __memset_falkor
: __memset_generic));
@@ -31,6 +31,7 @@ struct cpu_list
};
static struct cpu_list cpu_list[] = {
+ {"saphira", 0x510FC010},
{"falkor", 0x510FC000},
{"thunderxt88", 0x430F0A10},
{"thunderx2t99", 0x431F0AF0},
@@ -52,6 +52,13 @@
#define IS_PHECDA(midr) (MIDR_IMPLEMENTOR(midr) == 'h' \
&& MIDR_PARTNUM(midr) == 0x000)
+#define IS_SAPHIRA(midr) (MIDR_IMPLEMENTOR(midr) == 'Q' \
+ && MIDR_PARTNUM(midr) == 0xc01)
+
+#define AVOID_SLOW_MRS(midr) (IS_FALKOR (midr) \
+ || IS_SAPHIRA (midr) \
+ || IS_PHECDA (midr))
+
struct cpu_features
{
uint64_t midr_el1;