diff options
author | Arnd Bergmann <arnd@arndb.de> | 2021-05-08 00:07:48 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2021-05-10 17:50:47 +0200 |
commit | 94528b70781a4c63db9e1309d4cdbcaef2387904 (patch) | |
tree | 4a3660f6628bc88b3d1bcd6cc05202c782d8d24a /arch/sh/include/asm/unaligned.h | |
parent | openrisc: always use unaligned-struct header (diff) | |
download | linux-dev-94528b70781a4c63db9e1309d4cdbcaef2387904.tar.xz linux-dev-94528b70781a4c63db9e1309d4cdbcaef2387904.zip |
sh: remove unaligned access for sh4a
Unlike every other architecture, sh4a uses an inline asm implementation
for get_unaligned(). I have shown that this produces better object
code than the asm-generic version. However, there are very few users of
arch/sh/ overall, and most of those seem to use sh4 rather than sh4a CPU
cores, so it seems not worth keeping the complexity in the architecture
independent code.
Change over to the generic version to allow simplifying that in a
follow-up patch.
If there are sh4a users that want the best performance, it would probably
be best to add support for the movua instruction in gcc itself, as this
would not just help get_unaligned() callers but any code that accesses
a __packed variable in user space or kernel.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to '')
-rw-r--r-- | arch/sh/include/asm/unaligned.h | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/arch/sh/include/asm/unaligned.h b/arch/sh/include/asm/unaligned.h deleted file mode 100644 index 0c92e2c73af4..000000000000 --- a/arch/sh/include/asm/unaligned.h +++ /dev/null @@ -1,13 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef _ASM_SH_UNALIGNED_H -#define _ASM_SH_UNALIGNED_H - -#ifdef CONFIG_CPU_SH4A -/* SH-4A can handle unaligned loads in a relatively neutered fashion. */ -#include <asm/unaligned-sh4a.h> -#else -/* Otherwise, SH can't handle unaligned accesses. */ -#include <asm-generic/unaligned.h> -#endif - -#endif /* _ASM_SH_UNALIGNED_H */ |