powerpc/mm: Add hooks for cxl
authorIan Munsie <imunsie@au1.ibm.com>
Wed, 8 Oct 2014 08:55:00 +0000 (19:55 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 8 Oct 2014 09:15:55 +0000 (20:15 +1100)
commit4c6d9acce1f4ca815881f0e3adca192795eca1c5
tree0dc40c132dc85d1d05fe4d111739543df7622004
parent09521736011e83003ca3cf7d9a31c43148306a20
powerpc/mm: Add hooks for cxl

This adds hooks into the core powerpc mm code for cxl.

The core powerpc code sometimes uses local tlbie. Unfortunately this won't
work with the current cxl driver as it relies on snooping tlbie broadcasts.

The cxl hardware can have TLB entries invalidated via MMIO but this is not
currently supported by the driver. In future we can make local tlbie smarter so
that it invalidates cxl contexts via MMIO when it needs to but for now we have
this workaround.

This workaround checks for any active cxl contexts and if so, disables local
tlbie.

This also adds a hook for when SLBs are invalidated. This ensures any
corresponding SLBs in cxl are also invalidated at the same time. This is
required for segment demotion.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/copro_fault.c
arch/powerpc/mm/hash_native_64.c