Message ID | 1462466065-30212-9-git-send-email-julien.grall@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, 5 May 2016, Julien Grall wrote: > It may not possible to return a proper error when encoding an > instruction. Instead, a handcrafted instruction will be returned. > > Also, provide the encoding for the faulting instruction. > > Signed-off-by: Julien Grall <julien.grall@arm.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org> > xen/include/asm-arm/arm64/brk.h | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/xen/include/asm-arm/arm64/brk.h b/xen/include/asm-arm/arm64/brk.h > index 7867b07..04442c4 100644 > --- a/xen/include/asm-arm/arm64/brk.h > +++ b/xen/include/asm-arm/arm64/brk.h > @@ -12,8 +12,21 @@ > /* > * #imm16 values used for BRK instruction generation > * 0x001: xen-mode BUG() and WARN() traps > + * 0x002: for triggering a fault on purpose (reserved) > */ > #define BRK_BUG_FRAME_IMM 1 > +#define BRK_FAULT_IMM 2 > + > +/* > + * BRK instruction encoding > + * The #imm16 value should be placed at bits[20:5] within BRK ins > + */ > +#define AARCH64_BREAK_MON 0xd4200000 > + > +/* > + * BRK instruction for provoking a fault on purpose > + */ > +#define AARCH64_BREAK_FAULT (AARCH64_BREAK_MON | (BRK_FAULT_IMM << 5)) > > #endif /* !__ASM_ARM_ARM64_BRK */ > /* > -- > 1.9.1 >
diff --git a/xen/include/asm-arm/arm64/brk.h b/xen/include/asm-arm/arm64/brk.h index 7867b07..04442c4 100644 --- a/xen/include/asm-arm/arm64/brk.h +++ b/xen/include/asm-arm/arm64/brk.h @@ -12,8 +12,21 @@ /* * #imm16 values used for BRK instruction generation * 0x001: xen-mode BUG() and WARN() traps + * 0x002: for triggering a fault on purpose (reserved) */ #define BRK_BUG_FRAME_IMM 1 +#define BRK_FAULT_IMM 2 + +/* + * BRK instruction encoding + * The #imm16 value should be placed at bits[20:5] within BRK ins + */ +#define AARCH64_BREAK_MON 0xd4200000 + +/* + * BRK instruction for provoking a fault on purpose + */ +#define AARCH64_BREAK_FAULT (AARCH64_BREAK_MON | (BRK_FAULT_IMM << 5)) #endif /* !__ASM_ARM_ARM64_BRK */ /*
It may not possible to return a proper error when encoding an instruction. Instead, a handcrafted instruction will be returned. Also, provide the encoding for the faulting instruction. Signed-off-by: Julien Grall <julien.grall@arm.com> --- xen/include/asm-arm/arm64/brk.h | 13 +++++++++++++ 1 file changed, 13 insertions(+)