Message ID | alpine.DEB.2.10.1612131105390.2777@sstabellini-ThinkPad-X260 (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Stefano, On 13/12/16 19:08, Stefano Stabellini wrote: > Rt is four bit at offset 12, not three. See see encoding T2 for LDRB > A8.8.70 in ARM DDI 0406C.c > > Suggested-by: Julien Grall <julien.grall@arm.com> > Signed-off-by: Stefano Stabellini <sstabellini@kernel.org> Reviewed-by: Julien Grall <julien.grall@arm.com> Regards,
diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c index c6f49a5..514b7a2 100644 --- a/xen/arch/arm/decode.c +++ b/xen/arch/arm/decode.c @@ -41,7 +41,7 @@ static int decode_thumb2(register_t pc, struct hsr_dabt *dabt, uint16_t hw1) if ( raw_copy_from_guest(&hw2, (void *__user)(pc + 2), sizeof (hw2)) ) return -EFAULT; - rt = (hw2 >> 12) & 0x7; + rt = (hw2 >> 12) & 0xf; switch ( (hw1 >> 9) & 0xf ) {
Rt is four bit at offset 12, not three. See see encoding T2 for LDRB A8.8.70 in ARM DDI 0406C.c Suggested-by: Julien Grall <julien.grall@arm.com> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>