tests/tcg/plugins/mem.c: fix endian swap in update_region_info
value returned by qemu_plugin_mem_get_value() is always in host-endian order, so we need to convert TO target endianness and not FROM it. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Link: https://lore.kernel.org/qemu-devel/20260325024252.3369186-4-pierrick.bouvier@linaro.org Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Pierrick Bouvier committed
Mar 24, 2026 at 19:42 UTC
e074c90947a162f795fe85a46e98922c887d6985
1 file changed
+6
-6
tests/tcg/plugins/mem.c
+6
-6
@@ -154,20 +154,20 @@ static void update_region_info(uint64_t region, uint64_t offset,
154
val_size = 1;
155
break;
156
case QEMU_PLUGIN_MEM_VALUE_U16:
157
- swapped_value.data.u16 = be ? GUINT16_FROM_BE(value.data.u16) :
158
- GUINT16_FROM_LE(value.data.u16);
157
+ swapped_value.data.u16 = be ? GUINT16_TO_BE(value.data.u16) :
158
+ GUINT16_TO_LE(value.data.u16);
159
val_ptr = &swapped_value.data.u16;
160
val_size = 2;
161
break;
162
case QEMU_PLUGIN_MEM_VALUE_U32:
163
- swapped_value.data.u32 = be ? GUINT32_FROM_BE(value.data.u32) :
164
- GUINT32_FROM_LE(value.data.u32);
163
+ swapped_value.data.u32 = be ? GUINT32_TO_BE(value.data.u32) :
164
+ GUINT32_TO_LE(value.data.u32);
165
val_ptr = &swapped_value.data.u32;
166
val_size = 4;
167
break;
168
case QEMU_PLUGIN_MEM_VALUE_U64:
169
- swapped_value.data.u64 = be ? GUINT64_FROM_BE(value.data.u64) :
170
- GUINT64_FROM_LE(value.data.u64);
169
+ swapped_value.data.u64 = be ? GUINT64_TO_BE(value.data.u64) :
170
+ GUINT64_TO_LE(value.data.u64);
171
val_ptr = &swapped_value.data.u64;
172
val_size = 8;
173
break;