MdePkg/Include: RISC-V definitions.
Add RISC-V processor related definitions. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2672 Signed-off-by: Abner Chang <abner.chang@hpe.com> Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Gilbert Chen <gilbert.chen@hpe.com>
This commit is contained in:
committed by
mergify[bot]
parent
1510d6a391
commit
d3abb40d77
@ -7,6 +7,7 @@
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
|
||||
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@ -603,6 +604,59 @@ typedef struct {
|
||||
UINT64 FAR; // Fault Address Register
|
||||
} EFI_SYSTEM_CONTEXT_AARCH64;
|
||||
|
||||
///
|
||||
/// RISC-V processor exception types.
|
||||
///
|
||||
#define EXCEPT_RISCV_INST_MISALIGNED 0
|
||||
#define EXCEPT_RISCV_INST_ACCESS_FAULT 1
|
||||
#define EXCEPT_RISCV_ILLEGAL_INST 2
|
||||
#define EXCEPT_RISCV_BREAKPOINT 3
|
||||
#define EXCEPT_RISCV_LOAD_ADDRESS_MISALIGNED 4
|
||||
#define EXCEPT_RISCV_LOAD_ACCESS_FAULT 5
|
||||
#define EXCEPT_RISCV_STORE_AMO_ADDRESS_MISALIGNED 6
|
||||
#define EXCEPT_RISCV_STORE_AMO_ACCESS_FAULT 7
|
||||
#define EXCEPT_RISCV_ENV_CALL_FROM_UMODE 8
|
||||
#define EXCEPT_RISCV_ENV_CALL_FROM_SMODE 9
|
||||
#define EXCEPT_RISCV_ENV_CALL_FROM_HMODE 10
|
||||
#define EXCEPT_RISCV_ENV_CALL_FROM_MMODE 11
|
||||
|
||||
#define EXCEPT_RISCV_SOFTWARE_INT 0x0
|
||||
#define EXCEPT_RISCV_TIMER_INT 0x1
|
||||
|
||||
typedef struct {
|
||||
UINT64 X0;
|
||||
UINT64 X1;
|
||||
UINT64 X2;
|
||||
UINT64 X3;
|
||||
UINT64 X4;
|
||||
UINT64 X5;
|
||||
UINT64 X6;
|
||||
UINT64 X7;
|
||||
UINT64 X8;
|
||||
UINT64 X9;
|
||||
UINT64 X10;
|
||||
UINT64 X11;
|
||||
UINT64 X12;
|
||||
UINT64 X13;
|
||||
UINT64 X14;
|
||||
UINT64 X15;
|
||||
UINT64 X16;
|
||||
UINT64 X17;
|
||||
UINT64 X18;
|
||||
UINT64 X19;
|
||||
UINT64 X20;
|
||||
UINT64 X21;
|
||||
UINT64 X22;
|
||||
UINT64 X23;
|
||||
UINT64 X24;
|
||||
UINT64 X25;
|
||||
UINT64 X26;
|
||||
UINT64 X27;
|
||||
UINT64 X28;
|
||||
UINT64 X29;
|
||||
UINT64 X30;
|
||||
UINT64 X31;
|
||||
} EFI_SYSTEM_CONTEXT_RISCV64;
|
||||
|
||||
///
|
||||
/// Universal EFI_SYSTEM_CONTEXT definition.
|
||||
@ -614,6 +668,7 @@ typedef union {
|
||||
EFI_SYSTEM_CONTEXT_IPF *SystemContextIpf;
|
||||
EFI_SYSTEM_CONTEXT_ARM *SystemContextArm;
|
||||
EFI_SYSTEM_CONTEXT_AARCH64 *SystemContextAArch64;
|
||||
EFI_SYSTEM_CONTEXT_RISCV64 *SystemContextRiscV64;
|
||||
} EFI_SYSTEM_CONTEXT;
|
||||
|
||||
//
|
||||
|
Reference in New Issue
Block a user