powerpc: Ignore DSI error caused by the copy/paste instruction
authorHaren Myneni <haren@linux.ibm.com>
Wed, 28 Sep 2022 01:29:27 +0000 (18:29 -0700)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 28 Sep 2022 12:52:32 +0000 (22:52 +1000)
commit335e1a91042764629fbbcd8c7e40379fa3762d35
tree55acaa75b51655c7f57c9f9bf39db29596449ddc
parent19c95df1277c48e3ef8cc7d9f1d315dce949f203
powerpc: Ignore DSI error caused by the copy/paste instruction

The data storage interrupt (DSI) error will be generated when the
paste operation is issued on the suspended Nest Accelerator (NX)
window due to NX state changes. The hypervisor expects the
partition to ignore this error during page fault handling.
To differentiate DSI caused by an actual HW configuration or by
the NX window, a new “ibm,pi-features” type value is defined.
Byte 0, bit 3 of pi-attribute-specifier-type is now defined to
indicate this DSI error. If this error is not ignored, the user
space can get SIGBUS when the NX request is issued.

This patch adds changes to read ibm,pi-features property and ignore
DSI error during page fault handling if MMU_FTR_NX_DSI is defined.

Signed-off-by: Haren Myneni <haren@linux.ibm.com>
[mpe: Mention PAPR version in comment]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/b9cd844b85eb8f70459109ce1b14e44c4cc85fa7.camel@linux.ibm.com
arch/powerpc/include/asm/mmu.h
arch/powerpc/kernel/prom.c
arch/powerpc/mm/fault.c