AArch64: Refactor verifiers to make more general.
authorTamar Christina <tamar.christina@arm.com>
Wed, 3 Oct 2018 17:37:07 +0000 (18:37 +0100)
committerTamar Christina <tamar.christina@arm.com>
Wed, 3 Oct 2018 17:40:48 +0000 (18:40 +0100)
commit755b748fd9fbee8cad2e55535d23298e8ac76b15
treeb70510477152c03244207ba779875866c061c3da
parent1d4823943d92e7fccb0616f885c029d9952cfb0e
AArch64: Refactor verifiers to make more general.

The current verifiers only take an instruction description and encoded value as
arguments.  This was enough when the verifiers only needed to do simple checking
but it's insufficient for the purposes of validating instruction sequences.

This patch adds the required arguments and also a flag to allow a verifier to
distinguish between whether it's being run during encoding or decoding.  It also
allows for errors and warnings to be returned by a verifier instead of a simple
pass/fail.

include/

* opcode/aarch64.h (struct aarch64_opcode): Expand verifiers to take
more arguments.

opcodes/

* aarch64-dis.c (aarch64_opcode_decode): Update verifier call.
* aarch64-opc.c (verify_ldpsw): Update arguments.
include/ChangeLog
include/opcode/aarch64.h
opcodes/ChangeLog
opcodes/aarch64-dis.c
opcodes/aarch64-opc.c