iPXE
ProcessorBind.h File Reference

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.
#define MAX_BIT   0x8000000000000000ULL
 A value of native width with the highest bit set.
#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_INTN   ((INTN)0x7FFFFFFFFFFFFFFFULL)
 Maximum legal RISC-V INTN and UINTN values.
#define MAX_UINTN   ((UINTN)0xFFFFFFFFFFFFFFFFULL)
#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 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.
#define FUNCTION_ENTRY_POINT(FunctionPointer)
 Return the pointer to the first instruction of a function given a function pointer.
#define __USER_LABEL_PREFIX__

Typedefs

typedef unsigned long long UINT64 __attribute__((aligned(8)))
 8-byte unsigned value

Functions

 FILE_LICENCE (BSD2_PATENT)
 FILE_SECBOOT (PERMITTED)

Detailed Description

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.

Macro Definition Documentation

◆ MDE_CPU_RISCV64

#define MDE_CPU_RISCV64

Define the processor type so other code can make processor based choices.

Definition at line 19 of file ProcessorBind.h.

◆ MAX_BIT

#define MAX_BIT   0x8000000000000000ULL

A value of native width with the highest bit set.

Definition at line 92 of file ProcessorBind.h.

◆ MAX_2_BITS

#define MAX_2_BITS   0xC000000000000000ULL

A value of native width with the two highest bits set.

Definition at line 96 of file ProcessorBind.h.

◆ MAX_ADDRESS

#define MAX_ADDRESS   0xFFFFFFFFFFFFFFFFULL

Maximum legal RV64 address.

Definition at line 101 of file ProcessorBind.h.

◆ MAX_ALLOC_ADDRESS

#define MAX_ALLOC_ADDRESS   0xFFFFFFFFFFFFULL

Maximum usable address at boot time (48 bits using 4 KB pages in Supervisor mode)

Definition at line 106 of file ProcessorBind.h.

◆ MAX_INTN

#define MAX_INTN   ((INTN)0x7FFFFFFFFFFFFFFFULL)

Maximum legal RISC-V INTN and UINTN values.

Definition at line 111 of file ProcessorBind.h.

◆ MAX_UINTN

#define MAX_UINTN   ((UINTN)0xFFFFFFFFFFFFFFFFULL)

Definition at line 112 of file ProcessorBind.h.

◆ CPU_STACK_ALIGNMENT

#define CPU_STACK_ALIGNMENT   16

The stack alignment required for RISC-V.

Definition at line 117 of file ProcessorBind.h.

◆ DEFAULT_PAGE_ALLOCATION_GRANULARITY

#define DEFAULT_PAGE_ALLOCATION_GRANULARITY   (0x1000)

Page allocation granularity for RISC-V.

Definition at line 122 of file ProcessorBind.h.

◆ RUNTIME_PAGE_ALLOCATION_GRANULARITY

#define RUNTIME_PAGE_ALLOCATION_GRANULARITY   (0x1000)

Definition at line 123 of file ProcessorBind.h.

◆ EFIAPI

#define EFIAPI

The default for a non Microsoft* or GCC compiler is to assume the EFI ABI is the standard.

Definition at line 149 of file ProcessorBind.h.

◆ FUNCTION_ENTRY_POINT

#define FUNCTION_ENTRY_POINT ( FunctionPointer)
Value:
(VOID *)(UINTN)(FunctionPointer)
UINT64 UINTN
Unsigned value of native width.
#define VOID
Undeclared type.
Definition Base.h:272

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.

Parameters
FunctionPointerA pointer to a function.
Returns
The pointer to the first instruction of a function given a function pointer.

Definition at line 170 of file ProcessorBind.h.

◆ __USER_LABEL_PREFIX__

#define __USER_LABEL_PREFIX__

Definition at line 173 of file ProcessorBind.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )