diff options
author | David S. Miller <davem@davemloft.net> | 2011-07-29 09:42:07 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-02 21:28:50 -0700 |
commit | ef7c4d4675d2a9206f913f26ca1a5cd41bff9d41 (patch) | |
tree | 88839b80e603ba395882df98b8a8c8f8385337b1 /arch/sparc/kernel/entry.h | |
parent | e95ade083939dcb4b0c51c1a2c8504ea9ef3d6ef (diff) | |
download | linux-ef7c4d4675d2a9206f913f26ca1a5cd41bff9d41.tar.gz linux-ef7c4d4675d2a9206f913f26ca1a5cd41bff9d41.tar.bz2 linux-ef7c4d4675d2a9206f913f26ca1a5cd41bff9d41.zip |
sparc: Use popc if possible for hweight routines.
Just like powerpc, we code patch at boot time.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/entry.h')
-rw-r--r-- | arch/sparc/kernel/entry.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/sparc/kernel/entry.h b/arch/sparc/kernel/entry.h index d1f1361c4167..16d1545d84fc 100644 --- a/arch/sparc/kernel/entry.h +++ b/arch/sparc/kernel/entry.h @@ -42,6 +42,13 @@ extern void fpsave(unsigned long *fpregs, unsigned long *fsr, extern void fpload(unsigned long *fpregs, unsigned long *fsr); #else /* CONFIG_SPARC32 */ +struct popc_3insn_patch_entry { + unsigned int addr; + unsigned int insns[3]; +}; +extern struct popc_3insn_patch_entry __popc_3insn_patch, + __popc_3insn_patch_end; + extern void __init per_cpu_patch(void); extern void __init sun4v_patch(void); extern void __init boot_cpu_id_too_large(int cpu); |