Skip to content

Commit 2fd35d0

Browse files
bsdjhbjrtc27
authored andcommitted
Use upstream 'name' field for CSR names
This should fix the use of CSR names in the GDB stub.
1 parent acdce4e commit 2fd35d0

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

Diff for: target/riscv/cpu.h

-1
Original file line numberDiff line numberDiff line change
@@ -814,7 +814,6 @@ typedef struct {
814814
riscv_csr_write_fn write;
815815
riscv_csr_op_fn op;
816816
riscv_csr_log_update_fn log_update;
817-
const char *csr_name;
818817
} riscv_csr_operations;
819818

820819
/* CSR function table constants */

Diff for: target/riscv/csr.c

+8-8
Original file line numberDiff line numberDiff line change
@@ -1560,26 +1560,26 @@ static void log_changed_csr_fn(CPURISCVState *env, int csrno,
15601560
target_ulong value)
15611561
{
15621562
if (qemu_log_instr_enabled(env)) {
1563-
qemu_log_instr_reg(env, csr_ops[csrno].csr_name, value);
1563+
qemu_log_instr_reg(env, csr_ops[csrno].name, value);
15641564
}
15651565
}
15661566
#else
15671567
#define log_changed_csr_fn (NULL)
15681568
#endif
15691569

15701570
/* Define csr_ops entry for read-only CSR register */
1571-
#define CSR_OP_FN_R(pred, readfn, name) \
1571+
#define CSR_OP_FN_R(pred, readfn, csr_name) \
15721572
{.predicate=pred, .read=readfn, .write=NULL, .op=NULL, \
1573-
.log_update=NULL, .csr_name=name}
1573+
.log_update=NULL, .name=csr_name}
15741574

15751575
/* Shorthand for functions following the read_<csr> pattern */
15761576
#define CSR_OP_R(pred, name) \
15771577
CSR_OP_FN_R(pred, glue(read_, name), stringify(name))
15781578

15791579
/* Internal - use CSR_OP_FN_RW, CSR_OP_RW and CSR_OP_NOLOG_RW */
1580-
#define _CSR_OP_FN_RW(pred, readfn, writefn, logfn, name) \
1580+
#define _CSR_OP_FN_RW(pred, readfn, writefn, logfn, csr_name) \
15811581
{.predicate=pred, .read=readfn, .write=writefn, \
1582-
.op=NULL, .log_update=logfn, .csr_name=name}
1582+
.op=NULL, .log_update=logfn, .name=csr_name}
15831583

15841584
/* Define csr_ops entry for read-write CSR register */
15851585
#define CSR_OP_FN_RW(pred, readfn, writefn, name) \
@@ -1599,10 +1599,10 @@ static void log_changed_csr_fn(CPURISCVState *env, int csrno,
15991599
NULL, stringify(name))
16001600

16011601
/* Define csr_ops entry for read-modify-write CSR register */
1602-
#define CSR_OP_RMW(pred, name) \
1602+
#define CSR_OP_RMW(pred, csr_name) \
16031603
{.predicate=pred, .read=NULL, .write=NULL, \
1604-
.op=glue(rmw_, name), .log_update=log_changed_csr_fn, \
1605-
.csr_name=stringify(name)}
1604+
.op=glue(rmw_, csr_name), .log_update=log_changed_csr_fn, \
1605+
.name=stringify(csr_name)}
16061606

16071607
/* Control and Status Register function table */
16081608
riscv_csr_operations csr_ops[CSR_TABLE_SIZE] = {

0 commit comments

Comments
 (0)