On 30/09/2016 23:30, Alex Bennée wrote: > Commit b480d9b74 converted tb_page_addr_t to abi_ulong which while the > right size imposes additional alignment restrictions on the type. This > gets in the way of using atomic accesses on certain guest platforms > which allow finer alignments. As tb_page_addr_t isn't actually visible > to the guest we can revert the change. > > This is potentially less efficient for ILP32 style guests but it is the > simpler change to make. > > Signed-off-by: Alex Bennée <alex.ben...@linaro.org> > --- > include/exec/exec-all.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h > index 336a57c..c3596a6 100644 > --- a/include/exec/exec-all.h > +++ b/include/exec/exec-all.h > @@ -30,7 +30,7 @@ > addresses in userspace mode. Define tb_page_addr_t to be an appropriate > type. */ > #if defined(CONFIG_USER_ONLY) > -typedef abi_ulong tb_page_addr_t; > +typedef target_ulong tb_page_addr_t; > #else > typedef ram_addr_t tb_page_addr_t; > #endif >
I think target_ulong is in general not accessible atomically, because we still haven't dropped 64-on-32 support. Paolo