coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
efi_datatype.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 /* Create EFI equivalent datatype in coreboot based on UEFI specification */
4 #ifndef __EFI_DATATYPE_H__
5 #define __EFI_DATATYPE_H__
6 #include <Base.h>
7 #include <Uefi/UefiBaseType.h>
8 
9 #if CONFIG_UDK_VERSION >= CONFIG_UDK_2017_VERSION
10 #include <Guid/StatusCodeDataTypeId.h>
11 #include <Pi/PiPeiCis.h>
12 #include <Pi/PiStatusCode.h>
13 #include <Protocol/MpService.h>
14 
15 /* Data structure for EFI_PEI_SERVICE. */
16 typedef EFI_PEI_SERVICES efi_pei_services;
17 /* Structure that describes information about a logical CPU. */
18 typedef EFI_PROCESSOR_INFORMATION efi_processor_information;
19 /* Status code type definition */
20 typedef EFI_STATUS_CODE_TYPE efi_status_code_type_t;
21 /* Status value type definition */
22 typedef EFI_STATUS_CODE_VALUE efi_status_code_value_t;
23 /* Status data type definition */
24 typedef EFI_STATUS_CODE_DATA efi_status_code_data_t;
25 /* Status string data type definition */
26 typedef EFI_STATUS_CODE_STRING_DATA efi_status_code_string_data;
27 #endif
28 
29 /* Basic Data types */
30 /* 8-byte unsigned value. */
31 typedef UINT64 efi_uint64_t;
32 /* 8-byte signed value. */
33 typedef INT64 efi_int64_t;
34 /* 4-byte unsigned value. */
35 typedef UINT32 efi_uint32_t;
36 /* 4-byte signed value. */
37 typedef INT32 efi_int32_t;
38 /* 2-byte unsigned value. */
39 typedef UINT16 efi_uint16_t;
40 /* 2-byte Character. */
41 typedef CHAR16 efi_char16_t;
42 /* 2-byte signed value. */
43 typedef INT16 efi_int16_t;
44 /* Logical Boolean. */
45 typedef BOOLEAN efi_boolean_t;
46 /* 1-byte unsigned value. */
47 typedef UINT8 efi_uint8_t;
48 /* 1-byte Character */
49 typedef CHAR8 efi_char8_t;
50 /* 1-byte signed value */
51 typedef INT8 efi_int8_t;
52 /* Unsigned value of native width. */
53 typedef UINTN efi_uintn_t;
54 /* Signed value of native width. */
55 typedef INTN efi_intn_t;
56 /* Status codes common to all execution phases */
57 typedef EFI_STATUS efi_return_status_t;
58 /* Data structure for EFI_PHYSICAL_ADDRESS */
59 typedef EFI_PHYSICAL_ADDRESS efi_physical_address;
60 /* 128-bit buffer containing a unique identifier value */
61 typedef EFI_GUID efi_guid_t;
62 
63 /*
64  * The function prototype for invoking a function on an
65  * Application Processor.
66  */
67 typedef
69 (EFIAPI *efi_ap_procedure)(void *buffer);
70 
71 #endif
INT8 efi_int8_t
Definition: efi_datatype.h:51
CHAR16 efi_char16_t
Definition: efi_datatype.h:41
BOOLEAN efi_boolean_t
Definition: efi_datatype.h:45
CHAR8 efi_char8_t
Definition: efi_datatype.h:49
EFI_STATUS_CODE_STRING_DATA efi_status_code_string_data
Definition: efi_datatype.h:26
EFI_STATUS_CODE_DATA efi_status_code_data_t
Definition: efi_datatype.h:24
EFI_PHYSICAL_ADDRESS efi_physical_address
Definition: efi_datatype.h:59
INT16 efi_int16_t
Definition: efi_datatype.h:43
UINT8 efi_uint8_t
Definition: efi_datatype.h:47
INT64 efi_int64_t
Definition: efi_datatype.h:33
void(EFIAPI * efi_ap_procedure)(void *buffer)
Definition: efi_datatype.h:69
UINTN efi_uintn_t
Definition: efi_datatype.h:53
INTN efi_intn_t
Definition: efi_datatype.h:55
EFI_PEI_SERVICES efi_pei_services
Definition: efi_datatype.h:16
INT32 efi_int32_t
Definition: efi_datatype.h:37
UINT32 efi_uint32_t
Definition: efi_datatype.h:35
UINT64 efi_uint64_t
Definition: efi_datatype.h:31
EFI_STATUS efi_return_status_t
Definition: efi_datatype.h:57
UINT16 efi_uint16_t
Definition: efi_datatype.h:39
EFI_STATUS_CODE_TYPE efi_status_code_type_t
Definition: efi_datatype.h:20
EFI_STATUS_CODE_VALUE efi_status_code_value_t
Definition: efi_datatype.h:22
EFI_PROCESSOR_INFORMATION efi_processor_information
Definition: efi_datatype.h:18
EFI_GUID efi_guid_t
Definition: efi_datatype.h:61
u8 buffer[C2P_BUFFER_MAXSIZE]
Definition: psp_smm.c:18
typedef void(X86APIP X86EMU_intrFuncs)(int num)