target/mips: Inline qemu_get/put_betls()
Use TargetInfo target_long_bits() helper at runtime to migrate the VPN register as 32 or 64-bits. The "migration/qemu-file-types.h" isn't required anymore in "migration/cpu.h", however it was missing in "ppc/machine.c". Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20260325211728.89204-7-philmd@linaro.org>
Philippe Mathieu-Daudé committed
Mar 25, 2026 at 11:19 UTC
eaac837353250430164ddda6f0c36fe45b305522
3 files changed
+13
-9
include/migration/cpu.h
-7
@@ -4,13 +4,9 @@
4
#define MIGRATION_CPU_H
5
6
#include "exec/cpu-defs.h"
7
-#include "migration/qemu-file-types.h"
7
#include "migration/vmstate.h"
8
9
#if TARGET_LONG_BITS == 64
11
-#define qemu_put_betls qemu_put_be64s
12
-#define qemu_get_betls qemu_get_be64s
13
-
10
#define VMSTATE_UINTTL_V(_f, _s, _v) \
11
VMSTATE_UINT64_V(_f, _s, _v)
12
#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \
@@ -19,9 +15,6 @@
15
VMSTATE_UINT64_SUB_ARRAY(_f, _s, _start, _num)
16
#define vmstate_info_uinttl vmstate_info_uint64
17
#else
22
-#define qemu_put_betls qemu_put_be32s
23
-#define qemu_get_betls qemu_get_be32s
24
-
18
#define VMSTATE_UINTTL_V(_f, _s, _v) \
19
VMSTATE_UINT32_V(_f, _s, _v)
20
#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \
target/mips/system/machine.c
+12
-2
@@ -1,7 +1,9 @@
1
#include "qemu/osdep.h"
2
+#include "qemu/target-info.h"
3
#include "cpu.h"
4
#include "internal.h"
5
#include "migration/cpu.h"
6
+#include "migration/qemu-file-types.h"
7
#include "fpu_helper.h"
8
#include "qemu/timer.h"
9
@@ -140,7 +142,11 @@ static int get_tlb(QEMUFile *f, void *pv, size_t size,
142
r4k_tlb_t *v = pv;
143
uint16_t flags;
144
143
- qemu_get_betls(f, &v->VPN);
145
+ if (target_long_bits() == 64) {
146
+ v->VPN = qemu_get_be64(f);
147
+ } else {
148
+ v->VPN = qemu_get_be32(f);
149
+ }
150
qemu_get_be32s(f, &v->PageMask);
151
qemu_get_be16s(f, &v->ASID);
152
qemu_get_be32s(f, &v->MMID);
@@ -183,7 +189,11 @@ static int put_tlb(QEMUFile *f, void *pv, size_t size,
189
(v->D0 << 1) |
190
(v->D1 << 0));
191
186
- qemu_put_betls(f, &v->VPN);
192
+ if (target_long_bits() == 64) {
193
+ qemu_put_be64(f, v->VPN);
194
+ } else {
195
+ qemu_put_be32(f, v->VPN);
196
+ }
197
qemu_put_be32s(f, &v->PageMask);
198
qemu_put_be16s(f, &asid);
199
qemu_put_be32s(f, &mmid);
target/ppc/machine.c
+1
@@ -5,6 +5,7 @@
5
#include "helper_regs.h"
6
#include "mmu-hash64.h"
7
#include "migration/cpu.h"
8
+#include "migration/qemu-file-types.h"
9
#include "qapi/error.h"
10
#include "kvm_ppc.h"
11
#include "power8-pmu.h"