cpu.h (33fe584f7026bfaa13bb8a943f85c879e06bbdc6) | cpu.h (95799e36c15a9ab602a388491c40f6860f6ae8bf) |
---|---|
1/* 2 * QEMU RISC-V CPU 3 * 4 * Copyright (c) 2016-2017 Sagar Karandikar, sagark@eecs.berkeley.edu 5 * Copyright (c) 2017-2018 SiFive, Inc. 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms and conditions of the GNU General Public License, --- 92 unchanged lines hidden (view full) --- 101#define MMU_USER_IDX 3 102 103#define MAX_RISCV_PMPS (16) 104 105typedef struct CPUArchState CPURISCVState; 106 107#if !defined(CONFIG_USER_ONLY) 108#include "pmp.h" | 1/* 2 * QEMU RISC-V CPU 3 * 4 * Copyright (c) 2016-2017 Sagar Karandikar, sagark@eecs.berkeley.edu 5 * Copyright (c) 2017-2018 SiFive, Inc. 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms and conditions of the GNU General Public License, --- 92 unchanged lines hidden (view full) --- 101#define MMU_USER_IDX 3 102 103#define MAX_RISCV_PMPS (16) 104 105typedef struct CPUArchState CPURISCVState; 106 107#if !defined(CONFIG_USER_ONLY) 108#include "pmp.h" |
109#include "debug.h" |
|
109#endif 110 111#define RV_VLEN_MAX 1024 112 113FIELD(VTYPE, VLMUL, 0, 3) 114FIELD(VTYPE, VSEW, 3, 3) 115FIELD(VTYPE, VTA, 6, 1) 116FIELD(VTYPE, VMA, 7, 1) --- 157 unchanged lines hidden (view full) --- 274 uint64_t mfromhost; 275 uint64_t mtohost; 276 uint64_t timecmp; 277 278 /* physical memory protection */ 279 pmp_table_t pmp_state; 280 target_ulong mseccfg; 281 | 110#endif 111 112#define RV_VLEN_MAX 1024 113 114FIELD(VTYPE, VLMUL, 0, 3) 115FIELD(VTYPE, VSEW, 3, 3) 116FIELD(VTYPE, VTA, 6, 1) 117FIELD(VTYPE, VMA, 7, 1) --- 157 unchanged lines hidden (view full) --- 275 uint64_t mfromhost; 276 uint64_t mtohost; 277 uint64_t timecmp; 278 279 /* physical memory protection */ 280 pmp_table_t pmp_state; 281 target_ulong mseccfg; 282 |
283 /* trigger module */ 284 target_ulong trigger_cur; 285 type2_trigger_t type2_trig[TRIGGER_TYPE2_NUM]; 286 |
|
282 /* machine specific rdtime callback */ 283 uint64_t (*rdtime_fn)(uint32_t); 284 uint32_t rdtime_fn_arg; 285 286 /* machine specific AIA ireg read-modify-write callback */ 287#define AIA_MAKE_IREG(__isel, __priv, __virt, __vgein, __xlen) \ 288 ((((__xlen) & 0xff) << 24) | \ 289 (((__vgein) & 0x3f) << 20) | \ --- 402 unchanged lines hidden --- | 287 /* machine specific rdtime callback */ 288 uint64_t (*rdtime_fn)(uint32_t); 289 uint32_t rdtime_fn_arg; 290 291 /* machine specific AIA ireg read-modify-write callback */ 292#define AIA_MAKE_IREG(__isel, __priv, __virt, __vgein, __xlen) \ 293 ((((__xlen) & 0xff) << 24) | \ 294 (((__vgein) & 0x3f) << 20) | \ --- 402 unchanged lines hidden --- |