iPXE
|
Processor or Compiler specific defines and types for RISC-V. More...
Go to the source code of this file.
Macros | |
#define | MDE_CPU_RISCV64 |
Define the processor type so other code can make processor based choices. More... | |
#define | MAX_BIT 0x8000000000000000ULL |
A value of native width with the highest bit set. More... | |
#define | MAX_2_BITS 0xC000000000000000ULL |
A value of native width with the two highest bits set. More... | |
#define | MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL |
Maximum legal RV64 address. More... | |
#define | MAX_ALLOC_ADDRESS 0xFFFFFFFFFFFFULL |
Maximum usable address at boot time (48 bits using 4 KB pages in Supervisor mode) More... | |
#define | MAX_INTN ((INTN)0x7FFFFFFFFFFFFFFFULL) |
Maximum legal RISC-V INTN and UINTN values. More... | |
#define | MAX_UINTN ((UINTN)0xFFFFFFFFFFFFFFFFULL) |
#define | CPU_STACK_ALIGNMENT 16 |
The stack alignment required for RISC-V. More... | |
#define | DEFAULT_PAGE_ALLOCATION_GRANULARITY (0x1000) |
Page allocation granularity for RISC-V. More... | |
#define | RUNTIME_PAGE_ALLOCATION_GRANULARITY (0x1000) |
#define | EFIAPI |
The default for a non Microsoft* or GCC compiler is to assume the EFI ABI is the standard. More... | |
#define | FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer) |
Return the pointer to the first instruction of a function given a function pointer. More... | |
#define | __USER_LABEL_PREFIX__ |
Typedefs | |
typedef unsigned long long UINT64 | __attribute__((aligned(8))) |
8-byte unsigned value More... | |
typedef unsigned char | BOOLEAN |
Logical Boolean. More... | |
typedef unsigned char | UINT8 |
1-byte unsigned value More... | |
typedef char | CHAR8 |
1-byte Character More... | |
typedef signed char | INT8 |
1-byte signed value More... | |
Functions | |
FILE_LICENCE (BSD2_PATENT) | |
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
Definition in file ProcessorBind.h.
#define MDE_CPU_RISCV64 |
Define the processor type so other code can make processor based choices.
Definition at line 18 of file ProcessorBind.h.
#define MAX_BIT 0x8000000000000000ULL |
A value of native width with the highest bit set.
Definition at line 91 of file ProcessorBind.h.
#define MAX_2_BITS 0xC000000000000000ULL |
A value of native width with the two highest bits set.
Definition at line 95 of file ProcessorBind.h.
#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL |
Maximum legal RV64 address.
Definition at line 100 of file ProcessorBind.h.
#define MAX_ALLOC_ADDRESS 0xFFFFFFFFFFFFULL |
Maximum usable address at boot time (48 bits using 4 KB pages in Supervisor mode)
Definition at line 105 of file ProcessorBind.h.
#define MAX_INTN ((INTN)0x7FFFFFFFFFFFFFFFULL) |
Maximum legal RISC-V INTN and UINTN values.
Definition at line 110 of file ProcessorBind.h.
#define MAX_UINTN ((UINTN)0xFFFFFFFFFFFFFFFFULL) |
Definition at line 111 of file ProcessorBind.h.
#define CPU_STACK_ALIGNMENT 16 |
The stack alignment required for RISC-V.
Definition at line 116 of file ProcessorBind.h.
#define DEFAULT_PAGE_ALLOCATION_GRANULARITY (0x1000) |
Page allocation granularity for RISC-V.
Definition at line 121 of file ProcessorBind.h.
#define RUNTIME_PAGE_ALLOCATION_GRANULARITY (0x1000) |
Definition at line 122 of file ProcessorBind.h.
#define EFIAPI |
The default for a non Microsoft* or GCC compiler is to assume the EFI ABI is the standard.
Definition at line 148 of file ProcessorBind.h.
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. |
Definition at line 169 of file ProcessorBind.h.
#define __USER_LABEL_PREFIX__ |
Definition at line 172 of file ProcessorBind.h.
typedef INT64 INTN __attribute__((aligned(8))) |
8-byte unsigned value
Signed value of native width.
Unsigned value of native width.
2-byte signed value
2-byte Character.
2-byte unsigned value
4-byte signed value
4-byte unsigned value
8-byte signed value
Unless otherwise specified all strings are stored in the UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards.
(4 bytes on supported 32-bit processor instructions, 8 bytes on supported 64-bit processor instructions)
Definition at line 30 of file ProcessorBind.h.
typedef unsigned char BOOLEAN |
Logical Boolean.
1-byte value containing 0 for FALSE or a 1 for TRUE. Other values are undefined.
Definition at line 60 of file ProcessorBind.h.
typedef unsigned char UINT8 |
1-byte unsigned value
Definition at line 64 of file ProcessorBind.h.
typedef char CHAR8 |
1-byte Character
Definition at line 68 of file ProcessorBind.h.
typedef signed char INT8 |
1-byte signed value
Definition at line 72 of file ProcessorBind.h.
FILE_LICENCE | ( | BSD2_PATENT | ) |