Skip to content

Commit daf4923

Browse files
Rot127ivg
authored andcommitted
Use qemus function to determine memop size.
1 parent a261afd commit daf4923

File tree

1 file changed

+13
-30
lines changed

1 file changed

+13
-30
lines changed

target/ppc/trace_helper.c

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "cpu.h"
33
#include "qemu/log.h"
44
#include "exec/helper-proto.h"
5+
#include "exec/memop.h"
56

67
#include "trace_helper.h"
78

@@ -10,24 +11,6 @@
1011
* QEMUs helper.
1112
*/
1213

13-
static uint32_t memop2size(MemOp op) {
14-
switch(op & MO_SIZE) {
15-
default:
16-
qemu_log("Memory access size not handled for MemOp: %d.\n", op);
17-
return 0;
18-
case MO_8:
19-
return 1;
20-
case MO_16:
21-
return 2;
22-
case MO_32:
23-
return 4;
24-
case MO_64:
25-
return 8;
26-
case MO_128:
27-
return 16;
28-
}
29-
}
30-
3114
static const char *get_spr_name(uint32_t reg, uint32_t field, CPUPPCState *env) {
3215
const char *name = env->spr_cb[reg].name;
3316
if (name && field == NO_SPR_FIELD) {
@@ -64,29 +47,29 @@ void HELPER(trace_endframe)(CPUPPCState *state, uint64_t pc)
6447

6548
void HELPER(trace_load_mem)(uint32_t addr, uint32_t val, MemOp op)
6649
{
67-
qemu_log("LOAD at 0x%lx size: %d data: 0x%lx\n", (unsigned long) addr, memop2size(op), (unsigned long) val);
68-
OperandInfo *oi = load_store_mem(addr, 0, &val, memop2size(op));
50+
qemu_log("LOAD at 0x%lx size: %d data: 0x%lx\n", (unsigned long) addr, memop_size(op), (unsigned long) val);
51+
OperandInfo *oi = load_store_mem(addr, 0, &val, memop_size(op));
6952
qemu_trace_add_operand(oi, 0x1);
7053
}
7154

7255
void HELPER(trace_store_mem)(uint32_t addr, uint32_t val, MemOp op)
7356
{
74-
qemu_log("STORE at 0x%lx size: %d data: 0x%lx\n", (unsigned long) addr, memop2size(op), (unsigned long) val);
75-
OperandInfo *oi = load_store_mem(addr, 1, &val, memop2size(op));
57+
qemu_log("STORE at 0x%lx size: %d data: 0x%lx\n", (unsigned long) addr, memop_size(op), (unsigned long) val);
58+
OperandInfo *oi = load_store_mem(addr, 1, &val, memop_size(op));
7659
qemu_trace_add_operand(oi, 0x2);
7760
}
7861

7962
void HELPER(trace_load_mem_i64)(uint32_t addr, uint64_t val, MemOp op)
8063
{
81-
qemu_log("LOAD at 0x%lx size: %d data: 0x%llx\n", (unsigned long) addr, memop2size(op), (unsigned long long) val);
82-
OperandInfo *oi = load_store_mem(addr, 0, &val, memop2size(op));
64+
qemu_log("LOAD at 0x%lx size: %d data: 0x%llx\n", (unsigned long) addr, memop_size(op), (unsigned long long) val);
65+
OperandInfo *oi = load_store_mem(addr, 0, &val, memop_size(op));
8366
qemu_trace_add_operand(oi, 0x1);
8467
}
8568

8669
void HELPER(trace_store_mem_i64)(uint32_t addr, uint64_t val, MemOp op)
8770
{
88-
qemu_log("STORE at 0x%lx size: %d data: 0x%llx\n", (unsigned long) addr, memop2size(op), (unsigned long long) val);
89-
OperandInfo *oi = load_store_mem(addr, 1, &val, memop2size(op));
71+
qemu_log("STORE at 0x%lx size: %d data: 0x%llx\n", (unsigned long) addr, memop_size(op), (unsigned long long) val);
72+
OperandInfo *oi = load_store_mem(addr, 1, &val, memop_size(op));
9073
qemu_trace_add_operand(oi, 0x2);
9174
}
9275

@@ -147,15 +130,15 @@ void HELPER(trace_store_reg64)(uint32_t reg, uint64_t val)
147130

148131
void HELPER(trace_load_mem64)(uint64_t addr, uint64_t val, MemOp op)
149132
{
150-
qemu_log("LOAD at 0x%llx size: %d data: 0x%llx\n", (unsigned long long) addr, memop2size(op), (unsigned long long) val);
151-
OperandInfo *oi = load_store_mem(addr, 0, &val, memop2size(op));
133+
qemu_log("LOAD at 0x%llx size: %d data: 0x%llx\n", (unsigned long long) addr, memop_size(op), (unsigned long long) val);
134+
OperandInfo *oi = load_store_mem(addr, 0, &val, memop_size(op));
152135
qemu_trace_add_operand(oi, 0x1);
153136
}
154137

155138
void HELPER(trace_store_mem64)(uint64_t addr, uint64_t val, MemOp op)
156139
{
157-
qemu_log("STORE at 0x%llx size: %d data: 0x%llx\n", (unsigned long long) addr, memop2size(op), (unsigned long long) val);
158-
OperandInfo *oi = load_store_mem(addr, 1, &val, memop2size(op));
140+
qemu_log("STORE at 0x%llx size: %d data: 0x%llx\n", (unsigned long long) addr, memop_size(op), (unsigned long long) val);
141+
OperandInfo *oi = load_store_mem(addr, 1, &val, memop_size(op));
159142
qemu_trace_add_operand(oi, 0x2);
160143
}
161144

0 commit comments

Comments
 (0)