|
MdePkg[all]
1.08
|
Macros | |
| #define | MDE_CPU_RISCV64 |
| #define | MAX_BIT 0x8000000000000000ULL |
| #define | MAX_2_BITS 0xC000000000000000ULL |
| #define | MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL |
| #define | MAX_ALLOC_ADDRESS 0xFFFFFFFFFFFFULL |
| #define | MAX_INTN ((INTN)0x7FFFFFFFFFFFFFFFULL) |
| #define | MAX_UINTN ((UINTN)0xFFFFFFFFFFFFFFFFULL) |
| #define | CPU_STACK_ALIGNMENT 16 |
| #define | DEFAULT_PAGE_ALLOCATION_GRANULARITY (0x1000) |
| #define | RUNTIME_PAGE_ALLOCATION_GRANULARITY (0x1000) |
| #define | EFIAPI |
| #define | ASM_GLOBAL .globl |
| #define | FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer) |
| #define | __USER_LABEL_PREFIX__ |
Typedefs | |
| typedef unsigned long long UINT64 | __attribute__ ((aligned(8))) |
| typedef unsigned char | BOOLEAN |
| typedef unsigned char | UINT8 |
| typedef char | CHAR8 |
| typedef signed char | INT8 |
Processor or Compiler specific defines and types for RISC-V
Copyright (c) 2016 - 2020, Hewlett Packard Enterprise Development LP. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
| #define __USER_LABEL_PREFIX__ |
| #define ASM_GLOBAL .globl |
For GNU assembly code, .global or .globl can declare global symbols. Define this macro to unify the usage.
| #define CPU_STACK_ALIGNMENT 16 |
The stack alignment required for RISC-V
| #define DEFAULT_PAGE_ALLOCATION_GRANULARITY (0x1000) |
Page allocation granularity for RISC-V
| #define EFIAPI |
Define the standard calling convention regardless of optimization level The GCC support assumes a GCC compiler that supports the EFI ABI. The EFI ABI is much closer to the x64 Microsoft* ABI than standard x64 (x86-64) GCC ABI. Thus a standard x64 (x86-64) GCC compiler can not be used for x64. Warning the assembly code in the MDE x64 does not follow the correct ABI for the standard x64 (x86-64) GCC.
Return the pointer to the first instruction of a function given a function pointer. On x64 CPU architectures, these two pointer values are the same, so the implementation of this macro is very simple.
| FunctionPointer | A pointer to a function. |
| #define MAX_2_BITS 0xC000000000000000ULL |
A value of native width with the two highest bits set.
| #define MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL |
Maximum legal RV64 address
| #define MAX_ALLOC_ADDRESS 0xFFFFFFFFFFFFULL |
Maximum usable address at boot time (48 bits using 4 KB pages in Supervisor mode)
| #define MAX_BIT 0x8000000000000000ULL |
A value of native width with the highest bit set.
| #define MAX_INTN ((INTN)0x7FFFFFFFFFFFFFFFULL) |
Maximum legal RISC-V INTN and UINTN values.
| #define MAX_UINTN ((UINTN)0xFFFFFFFFFFFFFFFFULL) |
| #define MDE_CPU_RISCV64 |
Define the processor type so other code can make processor based choices
| #define RUNTIME_PAGE_ALLOCATION_GRANULARITY (0x1000) |
8-byte unsigned value
8-byte signed value
4-byte unsigned value
4-byte signed value
2-byte unsigned value
2-byte Character. Unless otherwise specified all strings are stored in the UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards.
2-byte signed value
Unsigned value of native width. (4 bytes on supported 32-bit processor instructions, 8 bytes on supported 64-bit processor instructions)
Signed value of native width. (4 bytes on supported 32-bit processor instructions, 8 bytes on supported 64-bit processor instructions)
| typedef unsigned char BOOLEAN |
Logical Boolean. 1-byte value containing 0 for FALSE or a 1 for TRUE. Other values are undefined.
| typedef char CHAR8 |
1-byte Character
| typedef signed char INT8 |
1-byte signed value
| typedef unsigned char UINT8 |
1-byte unsigned value