iPXE
Macros | Typedefs | Functions
ProcessorBind.h File Reference

Processor or Compiler specific defines and types for IA-32 architecture. More...

Go to the source code of this file.

Macros

#define MDE_CPU_IA32
 Define the processor type so other code can make processor based choices. More...
 
#define MAX_BIT   0x80000000
 A value of native width with the highest bit set. More...
 
#define MAX_2_BITS   0xC0000000
 A value of native width with the two highest bits set. More...
 
#define MAX_ADDRESS   0xFFFFFFFF
 Maximum legal IA-32 address. More...
 
#define MAX_ALLOC_ADDRESS   MAX_ADDRESS
 Maximum usable address at boot time. More...
 
#define MAX_INTN   ((INTN)0x7FFFFFFF)
 Maximum legal IA-32 INTN and UINTN values. More...
 
#define MAX_UINTN   ((UINTN)0xFFFFFFFF)
 
#define MIN_INTN   (((INTN)-2147483647) - 1)
 Minimum legal IA-32 INTN value. More...
 
#define CPU_STACK_ALIGNMENT   sizeof(UINTN)
 The stack alignment required for IA-32. More...
 
#define DEFAULT_PAGE_ALLOCATION_GRANULARITY   (0x1000)
 Page allocation granularity for IA-32. 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
 8-byte unsigned value. More...
 
typedef long long INT64
 8-byte signed value. More...
 
typedef unsigned int UINT32
 4-byte unsigned value. More...
 
typedef int INT32
 4-byte signed value. More...
 
typedef unsigned short UINT16
 2-byte unsigned value. More...
 
typedef unsigned short CHAR16
 2-byte Character. More...
 
typedef short INT16
 2-byte signed 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...
 
typedef UINT32 UINTN
 Unsigned value of native width. More...
 
typedef INT32 INTN
 Signed value of native width. More...
 

Functions

 FILE_LICENCE (BSD2_PATENT)
 

Detailed Description

Processor or Compiler specific defines and types for IA-32 architecture.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file ProcessorBind.h.

Macro Definition Documentation

◆ MDE_CPU_IA32

#define MDE_CPU_IA32

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

Definition at line 17 of file ProcessorBind.h.

◆ MAX_BIT

#define MAX_BIT   0x80000000

A value of native width with the highest bit set.

Definition at line 228 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 232 of file ProcessorBind.h.

◆ MAX_ADDRESS

#define MAX_ADDRESS   0xFFFFFFFF

Maximum legal IA-32 address.

Definition at line 237 of file ProcessorBind.h.

◆ MAX_ALLOC_ADDRESS

#define MAX_ALLOC_ADDRESS   MAX_ADDRESS

Maximum usable address at boot time.

Definition at line 242 of file ProcessorBind.h.

◆ MAX_INTN

#define MAX_INTN   ((INTN)0x7FFFFFFF)

Maximum legal IA-32 INTN and UINTN values.

Definition at line 247 of file ProcessorBind.h.

◆ MAX_UINTN

#define MAX_UINTN   ((UINTN)0xFFFFFFFF)

Definition at line 248 of file ProcessorBind.h.

◆ MIN_INTN

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

Minimum legal IA-32 INTN value.

Definition at line 253 of file ProcessorBind.h.

◆ CPU_STACK_ALIGNMENT

#define CPU_STACK_ALIGNMENT   sizeof(UINTN)

The stack alignment required for IA-32.

Definition at line 258 of file ProcessorBind.h.

◆ DEFAULT_PAGE_ALLOCATION_GRANULARITY

#define DEFAULT_PAGE_ALLOCATION_GRANULARITY   (0x1000)

Page allocation granularity for IA-32.

Definition at line 263 of file ProcessorBind.h.

◆ RUNTIME_PAGE_ALLOCATION_GRANULARITY

#define RUNTIME_PAGE_ALLOCATION_GRANULARITY   (0x1000)

Definition at line 264 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 290 of file ProcessorBind.h.

◆ FUNCTION_ENTRY_POINT

#define FUNCTION_ENTRY_POINT (   FunctionPointer)    (VOID *)(UINTN)(FunctionPointer)

Return the pointer to the first instruction of a function given a function pointer.

On IA-32 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 311 of file ProcessorBind.h.

◆ __USER_LABEL_PREFIX__

#define __USER_LABEL_PREFIX__   _

Definition at line 314 of file ProcessorBind.h.

Typedef Documentation

◆ UINT64

typedef unsigned long long UINT64

8-byte unsigned value.

Definition at line 165 of file ProcessorBind.h.

◆ INT64

typedef long long INT64

8-byte signed value.

Definition at line 169 of file ProcessorBind.h.

◆ UINT32

typedef unsigned int UINT32

4-byte unsigned value.

Definition at line 173 of file ProcessorBind.h.

◆ INT32

typedef int INT32

4-byte signed value.

Definition at line 177 of file ProcessorBind.h.

◆ UINT16

typedef unsigned short UINT16

2-byte unsigned value.

Definition at line 181 of file ProcessorBind.h.

◆ CHAR16

typedef unsigned short CHAR16

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.

Definition at line 186 of file ProcessorBind.h.

◆ INT16

typedef short INT16

2-byte signed value.

Definition at line 190 of file ProcessorBind.h.

◆ BOOLEAN

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 195 of file ProcessorBind.h.

◆ UINT8

typedef unsigned char UINT8

1-byte unsigned value.

Definition at line 199 of file ProcessorBind.h.

◆ CHAR8

typedef char CHAR8

1-byte Character

Definition at line 203 of file ProcessorBind.h.

◆ INT8

typedef signed char INT8

1-byte signed value

Definition at line 207 of file ProcessorBind.h.

◆ 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.)

Definition at line 214 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.)

Definition at line 219 of file ProcessorBind.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT  )