forked from mirror/qemu
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
782 B
C
33 lines
782 B
C
/*
|
|
* RISC-V cpu parameters for qemu.
|
|
*
|
|
* Copyright (c) 2017-2018 SiFive, Inc.
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef RISCV_CPU_PARAM_H
|
|
#define RISCV_CPU_PARAM_H
|
|
|
|
#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 */
|
|
/*
|
|
* 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
|
|
|
|
#endif
|