iPXE
ProcessorBind.h File Reference

Processor or Compiler specific defines and types for ARM. More...

Go to the source code of this file.

Macros

#define __PROCESSOR_BIND_H__
#define MDE_CPU_EBC
 Define the processor type so other code can make processor based choices.
#define MAX_BIT   0x80000000
 A value of native width with the highest bit set.
#define MAX_2_BITS   0xC0000000
 A value of native width with the two highest bits set.
#define MAX_ADDRESS   0xFFFFFFFF
 Maximum legal ARM address.
#define MAX_ALLOC_ADDRESS   MAX_ADDRESS
 Maximum usable address at boot time.
#define MAX_INTN   ((INTN)0x7FFFFFFF)
 Maximum legal ARM INTN and UINTN values.
#define MAX_UINTN   ((UINTN)0xFFFFFFFF)
#define MIN_INTN   (((INTN)-2147483647) - 1)
 Minimum legal ARM INTN value.
#define CPU_STACK_ALIGNMENT   sizeof(UINT64)
 The stack alignment required for ARM.
#define DEFAULT_PAGE_ALLOCATION_GRANULARITY   (0x1000)
 Page allocation granularity for ARM.
#define RUNTIME_PAGE_ALLOCATION_GRANULARITY   (0x1000)
#define EFIAPI
#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 UINT32 UINTN
 Unsigned value of native width.
typedef INT32 INTN
 Signed value of native width.

Functions

 FILE_LICENCE (BSD2_PATENT)

Detailed Description

Processor or Compiler specific defines and types for ARM.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file ProcessorBind.h.

Macro Definition Documentation

◆ __PROCESSOR_BIND_H__

#define __PROCESSOR_BIND_H__

Definition at line 15 of file ProcessorBind.h.

◆ MDE_CPU_EBC

#define MDE_CPU_EBC

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

Upstream EDK2 headers no longer accept MDE_CPU_ARM: define MDE_CPU_EBC to prevent build errors. (The definition doesn't actually affect anything used by iPXE.)

Definition at line 26 of file ProcessorBind.h.

◆ MAX_BIT

#define MAX_BIT   0x80000000

A value of native width with the highest bit set.

Definition at line 143 of file ProcessorBind.h.

◆ MAX_2_BITS

#define MAX_2_BITS   0xC0000000

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

Definition at line 148 of file ProcessorBind.h.

◆ MAX_ADDRESS

#define MAX_ADDRESS   0xFFFFFFFF

Maximum legal ARM address.

Definition at line 153 of file ProcessorBind.h.

◆ MAX_ALLOC_ADDRESS

#define MAX_ALLOC_ADDRESS   MAX_ADDRESS

Maximum usable address at boot time.

Definition at line 158 of file ProcessorBind.h.

◆ MAX_INTN

#define MAX_INTN   ((INTN)0x7FFFFFFF)

Maximum legal ARM INTN and UINTN values.

Definition at line 163 of file ProcessorBind.h.

◆ MAX_UINTN

#define MAX_UINTN   ((UINTN)0xFFFFFFFF)

Definition at line 164 of file ProcessorBind.h.

◆ MIN_INTN

#define MIN_INTN   (((INTN)-2147483647) - 1)

Minimum legal ARM INTN value.

Definition at line 169 of file ProcessorBind.h.

◆ CPU_STACK_ALIGNMENT

#define CPU_STACK_ALIGNMENT   sizeof(UINT64)

The stack alignment required for ARM.

Definition at line 174 of file ProcessorBind.h.

◆ DEFAULT_PAGE_ALLOCATION_GRANULARITY

#define DEFAULT_PAGE_ALLOCATION_GRANULARITY   (0x1000)

Page allocation granularity for ARM.

Definition at line 179 of file ProcessorBind.h.

◆ RUNTIME_PAGE_ALLOCATION_GRANULARITY

#define RUNTIME_PAGE_ALLOCATION_GRANULARITY   (0x1000)

Definition at line 180 of file ProcessorBind.h.

◆ EFIAPI

#define EFIAPI

Definition at line 187 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 ARM 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 242 of file ProcessorBind.h.

◆ __USER_LABEL_PREFIX__

#define __USER_LABEL_PREFIX__

Definition at line 245 of file ProcessorBind.h.

Typedef Documentation

◆ UINTN

typedef UINT32 UINTN

Unsigned value of native width.

(4 bytes on supported 32-bit processor instructions, 8 bytes on supported 64-bit processor instructions)

(4 bytes on supported 32-bit processor instructions; 8 bytes on supported 64-bit processor instructions.)

Definition at line 128 of file ProcessorBind.h.

◆ INTN

typedef INT32 INTN

Signed value of native width.

(4 bytes on supported 32-bit processor instructions, 8 bytes on supported 64-bit processor instructions)

(4 bytes on supported 32-bit processor instructions; 8 bytes on supported 64-bit processor instructions.)

Definition at line 134 of file ProcessorBind.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT )