target-s390x: PER instruction-fetch event support
authorAurelien Jarno <aurelien@aurel32.net>
Fri, 12 Jun 2015 22:45:58 +0000 (00:45 +0200)
committerAlexander Graf <agraf@suse.de>
Wed, 17 Jun 2015 10:40:52 +0000 (12:40 +0200)
commitf0e0d817c22539cd2ce1bcb5487e076f117b04c0
tree654992ba9d6cbb96cfade0d5826de97ca7da4bbc
parent2c2275eb41c612df4bd115cf71d6e651d105f69c
target-s390x: PER instruction-fetch event support

For the PER instruction-fetch, we can't use the QEMU breakpoint
infrastructure as it triggers for a single address and not a full
address range, and as it actually stop before the instruction and
not before.

We therefore call an helper with the just fetched instruction address,
which check if the address is within the PER address range. If it is
the case, an event is recorded and will be signaled through an
exception.

Note that we implement here the PER-3 behaviour, that is an invalid
opcode is not considered as an instruction fetch. Without PER-3 this
behavious is undefined.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
target-s390x/helper.h
target-s390x/misc_helper.c
target-s390x/translate.c