s390x/tcg: fixup TEST PROTECTION
commitb5e85329026115b5a679849f45e7c19c2714e4fd
authorDavid Hildenbrand <david@redhat.com>
Fri, 12 Jan 2018 12:54:52 +0000 (12 13:54 +0100)
committerCornelia Huck <cohuck@redhat.com>
Mon, 22 Jan 2018 10:04:52 +0000 (22 11:04 +0100)
tree4e1b8e2008a670e87e2b4c65b50c9c4ab301788a
parent46fa893355e0bd88f3c59b886f0d75cbd5f0bbbe
s390x/tcg: fixup TEST PROTECTION

CC == 2 can only happen due to a protection exception, not if memory is
not available (PGM_ADDRESSING). So all PGM_ADDRESSING exceptions have to
be forwarded to the guest.

Since the initial definition of TEST PROTECTION, we now read globals
(e.g. PSW mask), so we have to correctly mark the instruction
(otherwise, e.g. booting fedora 27 fails).

Also, the architecture explicitly specifies which exceptions are
forwarded to the guest, this makes the code a little nicer.

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20180112125452.8569-1-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
target/s390x/cpu.h
target/s390x/helper.h
target/s390x/mem_helper.c