mirror-linux/arch/microblaze/include/asm
Linus Torvalds 4cad671979 asm-generic/unaligned: Unify asm/unaligned.h around struct helper
The get_unaligned()/put_unaligned() helpers are traditionally architecture
 specific, with the two main variants being the "access-ok.h" version
 that assumes unaligned pointer accesses always work on a particular
 architecture, and the "le-struct.h" version that casts the data to a
 byte aligned type before dereferencing, for architectures that cannot
 always do unaligned accesses in hardware.
 
 Based on the discussion linked below, it appears that the access-ok
 version is not realiable on any architecture, but the struct version
 probably has no downsides. This series changes the code to use the
 same implementation on all architectures, addressing the few exceptions
 separately.
 
 Link: https://lore.kernel.org/lkml/75d07691-1e4f-741f-9852-38c0b4f520bc@synopsys.com/
 Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100363
 Link: https://lore.kernel.org/lkml/20210507220813.365382-14-arnd@kernel.org/
 Link: git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git unaligned-rework-v2
 Link: https://lore.kernel.org/lkml/CAHk-=whGObOKruA_bU3aPGZfoDqZM1_9wBkwREp0H0FgR-90uQ@mail.gmail.com/
 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmDfFx4ACgkQmmx57+YA
 GNkqzRAAjdlIr8M+xI2CyT0/A9tswYfLMeWejmYopq3zlxI6RnvPiJJDIdY2I8US
 1npIiDo55w061CnXL9rV65ocL3XmGu1mabOvgM6ATsec+8t4WaXBV9tysxTJ9ea0
 ltLTa2P5DXWALvWiVMTME7hFaf1cW+8Uqt3LmXxDp2l5zasXajCHAH6YokON2PfM
 CsaRhwSxIu8Sbnu/IQGBI9JW5UXsBfKSyUwtM0OwP7jFOuIeZ4WBVA+j6UxONnFC
 wouKmAM/ThoOsaV9aP4EZLIfBx8d4/hfYQjZ958kYXurerruYkJeEqdIRbV0QqTy
 2O6ZrJ6uqPlzfWz9h458me2dt98YEtALHV/3DCWUcBfHmUQtxElyJYEhG0YjVF3H
 5RYtjw8Q2LS/QR5ask1Xn0JfT89rRnLi2migAtsA4Ce70JP4Us6wGobkj4SHlgDt
 P7+eVq2Mkhqw/kmV8N4p+ZS5lpkK0JniDN+ONDhkZqHL/zXG/HQzx9wLV69jlvo2
 ASevKxITdi+bKHWs5ANungkBOnBUQZacq46mVyi4HPDwMAFyWvVYTbFumy9koagQ
 o9NEgX3RsZcxxi7bU1xuFPFMLMlUQT3Nb30+84B4fKe9FmvHC1hizTiCnp7q4bZr
 z6a6AMHke7YLqKZOqzTJGRR3lPoZZDCb775SAd70LQp6XPZXOHs=
 =IY5U
 -----END PGP SIGNATURE-----

Merge tag 'asm-generic-unaligned-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic

Pull asm/unaligned.h unification from Arnd Bergmann:
 "Unify asm/unaligned.h around struct helper

  The get_unaligned()/put_unaligned() helpers are traditionally
  architecture specific, with the two main variants being the
  "access-ok.h" version that assumes unaligned pointer accesses always
  work on a particular architecture, and the "le-struct.h" version that
  casts the data to a byte aligned type before dereferencing, for
  architectures that cannot always do unaligned accesses in hardware.

  Based on the discussion linked below, it appears that the access-ok
  version is not realiable on any architecture, but the struct version
  probably has no downsides. This series changes the code to use the
  same implementation on all architectures, addressing the few
  exceptions separately"

Link: https://lore.kernel.org/lkml/75d07691-1e4f-741f-9852-38c0b4f520bc@synopsys.com/
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100363
Link: https://lore.kernel.org/lkml/20210507220813.365382-14-arnd@kernel.org/
Link: git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git unaligned-rework-v2
Link: https://lore.kernel.org/lkml/CAHk-=whGObOKruA_bU3aPGZfoDqZM1_9wBkwREp0H0FgR-90uQ@mail.gmail.com/

* tag 'asm-generic-unaligned-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
  asm-generic: simplify asm/unaligned.h
  asm-generic: uaccess: 1-byte access is always aligned
  netpoll: avoid put_unaligned() on single character
  mwifiex: re-fix for unaligned accesses
  apparmor: use get_unaligned() only for multi-byte words
  partitions: msdos: fix one-byte get_unaligned()
  asm-generic: unaligned always use struct helpers
  asm-generic: unaligned: remove byteshift helpers
  powerpc: use linux/unaligned/le_struct.h on LE power7
  m68k: select CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
  sh: remove unaligned access for sh4a
  openrisc: always use unaligned-struct header
  asm-generic: use asm-generic/unaligned.h for most architectures
2021-07-02 12:43:40 -07:00
..
Kbuild locking/atomic: microblaze: use asm-generic exclusively 2021-05-26 13:20:49 +02:00
asm-compat.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
asm-offsets.h
barrier.h microblaze: Define microblaze barrier 2020-02-25 12:33:19 +01:00
cache.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
cacheflush.h microblaze: use asm-generic/cacheflush.h 2020-06-08 11:05:57 -07:00
checksum.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
cpuinfo.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
current.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
delay.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
dma.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
elf.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
entry.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
exceptions.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
fixmap.h microblaze/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:56 +01:00
flat.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
ftrace.h tracing: Fix various typos in comments 2021-03-23 14:08:18 -04:00
futex.h futex: arch_futex_atomic_op_inuser() calling conventions change 2020-03-27 23:58:51 -04:00
hash.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
highmem.h microblaze/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:56 +01:00
io.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
irq.h Two reverts addressing regressions of the Xilinx interrupt controller 2020-04-05 11:57:12 -07:00
irqflags.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
kgdb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mmu.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
mmu_context.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
mmu_context_mm.h microblaze: use asm-generic/mmu_context.h for no-op implementations 2020-10-27 16:02:36 +01:00
module.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
page.h microblaze: Cleanup unused functions 2021-05-31 14:24:25 +02:00
pci-bridge.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pci.h PCI: Convert pci_resource_to_user() to a weak function 2019-08-08 15:12:07 -05:00
pgalloc.h mm/thp: define default pmd_pgtable() 2021-07-01 11:06:03 -07:00
pgtable.h mm: define default value for FIRST_USER_ADDRESS 2021-07-01 11:06:02 -07:00
processor.h Microblaze patches for 5.11-rc1 2020-12-16 12:04:39 -08:00
ptrace.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
pvr.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
registers.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
seccomp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sections.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
setup.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
string.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
switch_to.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
syscall.h audit/stable-5.2 PR 20190507 2019-05-07 19:06:04 -07:00
thread_info.h microblaze: add support for TIF_NOTIFY_SIGNAL 2020-11-10 18:07:09 +01:00
timex.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
tlbflush.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
uaccess.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
unistd.h microblaze: Convert headers to SPDX license 2020-02-25 12:33:19 +01:00
unwind.h microblaze: add loglvl to microblaze_unwind() 2020-06-09 09:39:11 -07:00
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01:00