s390/mm: Add gmap pmd invalidation and clearing
authorJanosch Frank <frankja@linux.ibm.com>
Fri, 13 Jul 2018 10:28:22 +0000 (11:28 +0100)
committerJanosch Frank <frankja@linux.ibm.com>
Mon, 30 Jul 2018 10:20:17 +0000 (11:20 +0100)
commit6a3762778d1ba1a58ab473124790cd612d10eadc
treea2b36696a3dffcbbe80126f8cb566f781cd33bcf
parent7c4b13a7c042fd6b71dc48d291208f8a97fad333
s390/mm: Add gmap pmd invalidation and clearing

If the host invalidates a pmd, we also have to invalidate the
corresponding gmap pmds, as well as flush them from the TLB. This is
necessary, as we don't share the pmd tables between host and guest as
we do with ptes.

The clearing part of these three new functions sets a guest pmd entry
to _SEGMENT_ENTRY_EMPTY, so the guest will fault on it and we will
re-link it.

Flushing the gmap is not necessary in the host's lazy local and csp
cases. Both purge the TLB completely.

Signed-off-by: Janosch Frank <frankja@linux.vnet.ibm.com>
Reviewed-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
arch/s390/include/asm/pgtable.h
arch/s390/mm/gmap.c
arch/s390/mm/pgtable.c