2019-03-22 18:51:19 +00:00
|
|
|
/*
|
|
|
|
* RISC-V cpu parameters for qemu.
|
|
|
|
*
|
|
|
|
* Copyright (c) 2017-2018 SiFive, Inc.
|
|
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef RISCV_CPU_PARAM_H
|
2022-05-06 13:49:10 +00:00
|
|
|
#define RISCV_CPU_PARAM_H
|
2019-03-22 18:51:19 +00:00
|
|
|
|
|
|
|
#if defined(TARGET_RISCV64)
|
|
|
|
# define TARGET_LONG_BITS 64
|
|
|
|
# define TARGET_PHYS_ADDR_SPACE_BITS 56 /* 44-bit PPN */
|
|
|
|
# define TARGET_VIRT_ADDR_SPACE_BITS 48 /* sv48 */
|
|
|
|
#elif defined(TARGET_RISCV32)
|
|
|
|
# define TARGET_LONG_BITS 32
|
|
|
|
# define TARGET_PHYS_ADDR_SPACE_BITS 34 /* 22-bit PPN */
|
|
|
|
# define TARGET_VIRT_ADDR_SPACE_BITS 32 /* sv32 */
|
|
|
|
#endif
|
|
|
|
#define TARGET_PAGE_BITS 12 /* 4 KiB Pages */
|
2020-11-04 04:43:23 +00:00
|
|
|
/*
|
|
|
|
* The current MMU Modes are:
|
|
|
|
* - U mode 0b000
|
|
|
|
* - S mode 0b001
|
|
|
|
* - M mode 0b011
|
|
|
|
* - U mode HLV/HLVX/HSV 0b100
|
|
|
|
* - S mode HLV/HLVX/HSV 0b101
|
|
|
|
* - M mode HLV/HLVX/HSV 0b111
|
|
|
|
*/
|
|
|
|
#define NB_MMU_MODES 8
|
2019-03-22 18:51:19 +00:00
|
|
|
|
|
|
|
#endif
|