]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sparc64: Set valid bytes of misaligned no-fault loads
authorRob Gardner <rob.gardner@oracle.com>
Fri, 9 Jun 2017 04:36:24 +0000 (00:36 -0400)
committerAllen Pais <allen.pais@oracle.com>
Thu, 29 Jun 2017 08:09:44 +0000 (13:39 +0530)
commit3e8503afcc66749d05f9e4e618a8b2f81af0f510
treef2d9acfc071a951c537a6e8780f448f788f8296f
parent2d61151b83624d4b64909fe808a416875f85e58e
sparc64: Set valid bytes of misaligned no-fault loads

If a misaligned no-fault load (ldm* from ASI 0x82, primary no fault)
crosses a page boundary, and one of the pages causes an MMU miss
that cannot be resolved, then the kernel must load bytes from the
valid page into the high (or low) bytes of the destination register,
and must load zeros into the low (or high) bytes of the register.

Orabug: 25766652

Signed-off-by: Rob Gardner <rob.gardner@oracle.com>
Reviewed-by: Steve Sistare steven.sistare@oracle.com
Reviewed-by: Anthony Yznaga <anthony.yznaga@oracle.com>
Signed-off-by: Allen Pais <allen.pais@oracle.com>
arch/sparc/include/asm/adi_64.h
arch/sparc/include/asm/setup.h
arch/sparc/kernel/unaligned_64.c
arch/sparc/mm/fault_64.c