s390x/mmu: Implement Instruction-Execution-Protection Facility
commit3a06f981925bfade8f5e650655fce0b38dbd6649
authorDavid Hildenbrand <david@redhat.com>
Sun, 14 Jan 2018 23:29:22 +0000 (15 00:29 +0100)
committerDavid Hildenbrand <david@redhat.com>
Wed, 9 Oct 2019 10:49:01 +0000 (9 12:49 +0200)
treefe4f3d4e4cdf8b89f6f89a6551eb09c45ac52054
parent3dc29061f3291bf0b6cda9cc7bc04aa94101b52e
s390x/mmu: Implement Instruction-Execution-Protection Facility

IEP support in the mmu is fairly easy. Set the right permissions for TLB
entries and properly report an exception.

Make sure to handle EDAT-2 by setting bit 56/60/61 of the TEID (TEC) to
the right values.

Let's keep s390_cpu_get_phys_page_debug() working even if IEP is
active. Switch MMU_DATA_LOAD - this has no other effects any more as the
ASC to be used is now fully selected outside of mmu_translate().

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
target/s390x/cpu.h
target/s390x/helper.c
target/s390x/mmu_helper.c