Re: [Qemu-devel] [PATCH v2] target-arm: raise exception on misaligned LDREX operands

2016-01-14 Thread Peter Maydell
On 14 January 2016 at 18:00, alvise rigo wrote: > Forcing an unaligned LDREX access in aarch32, QEMU fails the following assert: > target-arm/helper.c:5921:regime_el: code should not be reached > > Running this snippet both baremetal and on top of Linux will trigger > the problem: > > static inlin

Re: [Qemu-devel] [PATCH v2] target-arm: raise exception on misaligned LDREX operands

2016-01-14 Thread alvise rigo
Forcing an unaligned LDREX access in aarch32, QEMU fails the following assert: target-arm/helper.c:5921:regime_el: code should not be reached Running this snippet both baremetal and on top of Linux will trigger the problem: static inline int cmpxchg(volatile void *ptr, unsigned int old,

Re: [Qemu-devel] [PATCH v2] target-arm: raise exception on misaligned LDREX operands

2015-12-15 Thread Peter Maydell
On 3 December 2015 at 18:36, Andrew Baumann wrote: > Qemu does not generally perform alignment checks. However, the ARM ARM > requires implementation of alignment exceptions for a number of cases > including LDREX, and Windows-on-ARM relies on this. > > This change adds plumbing to enable alignmen

[Qemu-devel] [PATCH v2] target-arm: raise exception on misaligned LDREX operands

2015-12-03 Thread Andrew Baumann
Qemu does not generally perform alignment checks. However, the ARM ARM requires implementation of alignment exceptions for a number of cases including LDREX, and Windows-on-ARM relies on this. This change adds plumbing to enable alignment checks on loads using MO_ALIGN, a do_unaligned_access hook