| /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| /* |
| * Copyright (c) 2025 Loongson Technology Corporation Limited |
| */ |
| |
| #ifndef TARGET_LOONGARCH_CSR_H |
| #define TARGET_LOONGARCH_CSR_H |
| |
| #include "cpu-csr.h" |
| |
| typedef void (*GenCSRFunc)(void); |
| enum { |
| CSRFL_READONLY = (1 << 0), |
| CSRFL_EXITTB = (1 << 1), |
| CSRFL_IO = (1 << 2), |
| CSRFL_UNUSED = (1 << 3), |
| }; |
| |
| typedef struct { |
| const char *name; |
| int offset; |
| int flags; |
| GenCSRFunc readfn; |
| GenCSRFunc writefn; |
| } CSRInfo; |
| |
| CSRInfo *get_csr(unsigned int csr_num); |
| bool set_csr_flag(unsigned int csr_num, int flag); |
| #endif /* TARGET_LOONGARCH_CSR_H */ |