As we no longer support i386 as a host architecture, this abstraction is no longer required.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Reviewed-by: Pierrick Bouvier <[email protected]> Signed-off-by: Richard Henderson <[email protected]> --- accel/tcg/atomic_template.h | 4 ++-- include/qemu/atomic.h | 13 ------------- include/system/cpu-timers-internal.h | 2 +- linux-user/hppa/cpu_loop.c | 2 +- util/qsp.c | 4 ++-- 5 files changed, 6 insertions(+), 19 deletions(-) diff --git a/accel/tcg/atomic_template.h b/accel/tcg/atomic_template.h index ae5203b439..f7924078f7 100644 --- a/accel/tcg/atomic_template.h +++ b/accel/tcg/atomic_template.h @@ -27,8 +27,8 @@ # define SHIFT 4 #elif DATA_SIZE == 8 # define SUFFIX q -# define DATA_TYPE aligned_uint64_t -# define SDATA_TYPE aligned_int64_t +# define DATA_TYPE uint64_t +# define SDATA_TYPE int64_t # define BSWAP bswap64 # define SHIFT 3 #elif DATA_SIZE == 4 diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h index 27d98014d4..dc9290084b 100644 --- a/include/qemu/atomic.h +++ b/include/qemu/atomic.h @@ -234,17 +234,4 @@ _oldn; \ }) -/* - * Abstractions to access atomically (i.e. "once") i64/u64 variables. - * - * The i386 abi is odd in that by default members are only aligned to - * 4 bytes, which means that 8-byte types can wind up mis-aligned. - * Clang will then warn about this, and emit a call into libatomic. - * - * Use of these types in structures when they will be used with atomic - * operations can avoid this. - */ -typedef int64_t aligned_int64_t __attribute__((aligned(8))); -typedef uint64_t aligned_uint64_t __attribute__((aligned(8))); - #endif /* QEMU_ATOMIC_H */ diff --git a/include/system/cpu-timers-internal.h b/include/system/cpu-timers-internal.h index 94bb7394c5..8c262ce139 100644 --- a/include/system/cpu-timers-internal.h +++ b/include/system/cpu-timers-internal.h @@ -47,7 +47,7 @@ typedef struct TimersState { int64_t last_delta; /* Compensate for varying guest execution speed. */ - aligned_int64_t qemu_icount_bias; + int64_t qemu_icount_bias; int64_t vm_clock_warp_start; int64_t cpu_clock_offset; diff --git a/linux-user/hppa/cpu_loop.c b/linux-user/hppa/cpu_loop.c index e5c0f52d94..972e85c487 100644 --- a/linux-user/hppa/cpu_loop.c +++ b/linux-user/hppa/cpu_loop.c @@ -83,7 +83,7 @@ static abi_ulong hppa_lws(CPUHPPAState *env) uint64_t o64, n64, r64; o64 = *(uint64_t *)g2h(cs, old); n64 = *(uint64_t *)g2h(cs, new); - r64 = qatomic_cmpxchg((aligned_uint64_t *)g2h(cs, addr), o64, n64); + r64 = qatomic_cmpxchg((uint64_t *)g2h(cs, addr), o64, n64); ret = r64 != o64; } break; diff --git a/util/qsp.c b/util/qsp.c index 382e4397e2..55477ae025 100644 --- a/util/qsp.c +++ b/util/qsp.c @@ -83,8 +83,8 @@ typedef struct QSPCallSite QSPCallSite; struct QSPEntry { void *thread_ptr; const QSPCallSite *callsite; - aligned_uint64_t n_acqs; - aligned_uint64_t ns; + uint64_t n_acqs; + uint64_t ns; unsigned int n_objs; /* count of coalesced objs; only used for reporting */ }; typedef struct QSPEntry QSPEntry; -- 2.43.0
