@samitouri / QOSamiQemu / commits / e074c90947

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;