Angel Pons | 32859fc | 2020-04-02 23:48:27 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 2 | |
| 3 | /* Create EFI equivalent datatype in coreboot based on UEFI specification */ |
| 4 | #ifndef __EFI_DATATYPE_H__ |
| 5 | #define __EFI_DATATYPE_H__ |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 6 | #include <Base.h> |
Anil Kumar | 8a4a89f | 2022-01-04 15:03:03 -0800 | [diff] [blame] | 7 | #include <Uefi/UefiBaseType.h> |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 8 | |
Subrata Banik | 242e266 | 2022-03-14 16:33:34 +0530 | [diff] [blame] | 9 | #if CONFIG_UDK_VERSION >= CONFIG_UDK_2017_VERSION |
Subrata Banik | e8ec7d2 | 2022-03-23 03:48:32 +0530 | [diff] [blame] | 10 | #include <Guid/StatusCodeDataTypeId.h> |
Subrata Banik | bfe220c | 2023-08-02 20:12:21 +0000 | [diff] [blame^] | 11 | #include <IndustryStandard/Bmp.h> |
Subrata Banik | 242e266 | 2022-03-14 16:33:34 +0530 | [diff] [blame] | 12 | #include <Pi/PiPeiCis.h> |
Subrata Banik | e8ec7d2 | 2022-03-23 03:48:32 +0530 | [diff] [blame] | 13 | #include <Pi/PiStatusCode.h> |
Subrata Banik | bfe220c | 2023-08-02 20:12:21 +0000 | [diff] [blame^] | 14 | #include <Protocol/GraphicsOutput.h> |
Subrata Banik | 2f4fe94 | 2022-03-23 03:42:22 +0530 | [diff] [blame] | 15 | #include <Protocol/MpService.h> |
Subrata Banik | 242e266 | 2022-03-14 16:33:34 +0530 | [diff] [blame] | 16 | |
| 17 | /* Data structure for EFI_PEI_SERVICE. */ |
| 18 | typedef EFI_PEI_SERVICES efi_pei_services; |
| 19 | /* Structure that describes information about a logical CPU. */ |
| 20 | typedef EFI_PROCESSOR_INFORMATION efi_processor_information; |
Subrata Banik | e8ec7d2 | 2022-03-23 03:48:32 +0530 | [diff] [blame] | 21 | /* Status code type definition */ |
| 22 | typedef EFI_STATUS_CODE_TYPE efi_status_code_type_t; |
| 23 | /* Status value type definition */ |
| 24 | typedef EFI_STATUS_CODE_VALUE efi_status_code_value_t; |
| 25 | /* Status data type definition */ |
| 26 | typedef EFI_STATUS_CODE_DATA efi_status_code_data_t; |
| 27 | /* Status string data type definition */ |
| 28 | typedef EFI_STATUS_CODE_STRING_DATA efi_status_code_string_data; |
Subrata Banik | bfe220c | 2023-08-02 20:12:21 +0000 | [diff] [blame^] | 29 | /* Data structure for EFI_GRAPHICS_OUTPUT_BLT_PIXEL. */ |
| 30 | typedef EFI_GRAPHICS_OUTPUT_BLT_PIXEL efi_graphics_output_blt_pixel; |
| 31 | /* Data structure for BMP_IMAGE_HEADER. */ |
| 32 | typedef BMP_IMAGE_HEADER efi_bmp_image_header; |
| 33 | /* Data structure for BMP_COLOR_MAP; . */ |
| 34 | typedef BMP_COLOR_MAP efi_bmp_color_map; |
Subrata Banik | 242e266 | 2022-03-14 16:33:34 +0530 | [diff] [blame] | 35 | #endif |
| 36 | |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 37 | /* Basic Data types */ |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 38 | /* 8-byte unsigned value. */ |
| 39 | typedef UINT64 efi_uint64_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 40 | /* 8-byte signed value. */ |
| 41 | typedef INT64 efi_int64_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 42 | /* 4-byte unsigned value. */ |
| 43 | typedef UINT32 efi_uint32_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 44 | /* 4-byte signed value. */ |
| 45 | typedef INT32 efi_int32_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 46 | /* 2-byte unsigned value. */ |
| 47 | typedef UINT16 efi_uint16_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 48 | /* 2-byte Character. */ |
| 49 | typedef CHAR16 efi_char16_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 50 | /* 2-byte signed value. */ |
| 51 | typedef INT16 efi_int16_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 52 | /* Logical Boolean. */ |
| 53 | typedef BOOLEAN efi_boolean_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 54 | /* 1-byte unsigned value. */ |
| 55 | typedef UINT8 efi_uint8_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 56 | /* 1-byte Character */ |
| 57 | typedef CHAR8 efi_char8_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 58 | /* 1-byte signed value */ |
| 59 | typedef INT8 efi_int8_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 60 | /* Unsigned value of native width. */ |
| 61 | typedef UINTN efi_uintn_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 62 | /* Signed value of native width. */ |
| 63 | typedef INTN efi_intn_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 64 | /* Status codes common to all execution phases */ |
| 65 | typedef EFI_STATUS efi_return_status_t; |
Anil Kumar | 8a4a89f | 2022-01-04 15:03:03 -0800 | [diff] [blame] | 66 | /* Data structure for EFI_PHYSICAL_ADDRESS */ |
| 67 | typedef EFI_PHYSICAL_ADDRESS efi_physical_address; |
Subrata Banik | e8ec7d2 | 2022-03-23 03:48:32 +0530 | [diff] [blame] | 68 | /* 128-bit buffer containing a unique identifier value */ |
| 69 | typedef EFI_GUID efi_guid_t; |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 70 | |
Subrata Banik | 9d712bc | 2019-02-27 18:37:27 +0530 | [diff] [blame] | 71 | /* |
| 72 | * The function prototype for invoking a function on an |
| 73 | * Application Processor. |
| 74 | */ |
| 75 | typedef |
| 76 | void |
| 77 | (EFIAPI *efi_ap_procedure)(void *buffer); |
| 78 | |
| 79 | #endif |