[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen: arm: correct use of find_next_bit
On Mon, 2014-01-27 at 12:33 +0000, Stefano Stabellini wrote: > On Fri, 24 Jan 2014, Ian Campbell wrote: > > find_next_bit takes a "const unsigned long *" but forcing a cast of an > > "uint32_t *" throws away the alignment constraints and ends up causing an > > alignment fault on arm64 if the input happened to be 4 but not 8 byte > > aligned. > > I am not opposed to this patch, but for the sake of clarity, isn't the > alignment of (uint32_t*) and (const unsigned long*) the same? It should > be 8 bytes in both cases on ARM64. The target of a uint32_t * only needs to be 4 byte aligned on arm64, since that is the natural alignment of a 32-bit type. > It seems to me that the problem is not the cast to (const unsigned > long*), but the usage of &r: maybe the tools aren't able to covert &r to > a properly aligned pointer? No, &r behaves exactly as expected and returns the address of r, whatever the alignment of r is. > Am I getting this wrong? I think so, yes. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |