Skip to content

Commit d03114e

Browse files
committed
target/loongarch: Add common header file for CSR registers
Common header file csr.h is added here, it can be used by both TCG mode and kvm mode. Signed-off-by: Bibo Mao <maobibo@loongson.cn>
1 parent 75b2c5d commit d03114e

File tree

2 files changed

+26
-15
lines changed

2 files changed

+26
-15
lines changed

target/loongarch/csr.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/* SPDX-License-Identifier: GPL-2.0-or-later */
2+
/*
3+
* Copyright (c) 2025 Loongson Technology Corporation Limited
4+
*/
5+
6+
#ifndef TARGET_LOONGARCH_CSR_H
7+
#define TARGET_LOONGARCH_CSR_H
8+
9+
#include "cpu-csr.h"
10+
11+
typedef void (*GenCSRFunc)(void);
12+
enum {
13+
CSRFL_READONLY = (1 << 0),
14+
CSRFL_EXITTB = (1 << 1),
15+
CSRFL_IO = (1 << 2),
16+
};
17+
18+
typedef struct {
19+
int offset;
20+
int flags;
21+
GenCSRFunc readfn;
22+
GenCSRFunc writefn;
23+
} CSRInfo;
24+
25+
#endif /* TARGET_LOONGARCH_CSR_H */

target/loongarch/tcg/insn_trans/trans_privileged.c.inc

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* LoongArch translation routines for the privileged instructions.
66
*/
77

8-
#include "cpu-csr.h"
8+
#include "csr.h"
99

1010
#ifdef CONFIG_USER_ONLY
1111

@@ -44,20 +44,6 @@ GEN_FALSE_TRANS(idle)
4444

4545
typedef void (*GenCSRRead)(TCGv dest, TCGv_ptr env);
4646
typedef void (*GenCSRWrite)(TCGv dest, TCGv_ptr env, TCGv src);
47-
typedef void (*GenCSRFunc)(void);
48-
49-
typedef struct {
50-
int offset;
51-
int flags;
52-
GenCSRFunc readfn;
53-
GenCSRFunc writefn;
54-
} CSRInfo;
55-
56-
enum {
57-
CSRFL_READONLY = (1 << 0),
58-
CSRFL_EXITTB = (1 << 1),
59-
CSRFL_IO = (1 << 2),
60-
};
6147

6248
#define CSR_OFF_FUNCS(NAME, FL, RD, WR) \
6349
[LOONGARCH_CSR_##NAME] = { \

0 commit comments

Comments
 (0)