summaryrefslogtreecommitdiffstats
path: root/src/include/efi
diff options
context:
space:
mode:
authorSubrata Banik <subratabanik@google.com>2023-08-02 20:12:21 +0000
committerFelix Held <felix-coreboot@felixheld.de>2023-08-11 13:12:03 +0000
commitbfe220c4cc9463d9f8bfee5a600d94873d23d949 (patch)
tree70a76bd8a5c1db478a855708a11bb4613fcaa5cb /src/include/efi
parent35047599b28ac841cf606cc5b8252a9280a2f3ea (diff)
downloadcoreboot-bfe220c4cc9463d9f8bfee5a600d94873d23d949.tar.gz
coreboot-bfe220c4cc9463d9f8bfee5a600d94873d23d949.tar.bz2
coreboot-bfe220c4cc9463d9f8bfee5a600d94873d23d949.zip
include/efi: Include BMP and BLT header macro definitions
This patch adds BMP image header and BLT header macros in `efi_datatype.h` to implement a converter inside coreboot FSP 2.0 driver that converts any input *.BMP image into the BLT buffer. The output BLT buffer is used by FSP-S to render any pre-boot display. Added `Bmp.h` and `GraphicsOutput.h` files for `UDK base >= 2017`, as these files were added with the UDK version 2017. Note: BLT in UEFI BMP implementation stands for `Bit-block transfer`. It is a method of copying graphis data (specifically images and fonts) from one location to another (framebuffer), where the data is stored in blocks of bits. BUG=b:284799726 TEST=Able to build and boot google/rex. Signed-off-by: Subrata Banik <subratabanik@google.com> Change-Id: I4e282d135007d288aadb5996a662524f76428874 Reviewed-on: https://review.coreboot.org/c/coreboot/+/76920 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Diffstat (limited to 'src/include/efi')
-rw-r--r--src/include/efi/efi_datatype.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/include/efi/efi_datatype.h b/src/include/efi/efi_datatype.h
index 581193a16518..4518a86357a3 100644
--- a/src/include/efi/efi_datatype.h
+++ b/src/include/efi/efi_datatype.h
@@ -8,8 +8,10 @@
#if CONFIG_UDK_VERSION >= CONFIG_UDK_2017_VERSION
#include <Guid/StatusCodeDataTypeId.h>
+#include <IndustryStandard/Bmp.h>
#include <Pi/PiPeiCis.h>
#include <Pi/PiStatusCode.h>
+#include <Protocol/GraphicsOutput.h>
#include <Protocol/MpService.h>
/* Data structure for EFI_PEI_SERVICE. */
@@ -24,6 +26,12 @@ typedef EFI_STATUS_CODE_VALUE efi_status_code_value_t;
typedef EFI_STATUS_CODE_DATA efi_status_code_data_t;
/* Status string data type definition */
typedef EFI_STATUS_CODE_STRING_DATA efi_status_code_string_data;
+/* Data structure for EFI_GRAPHICS_OUTPUT_BLT_PIXEL. */
+typedef EFI_GRAPHICS_OUTPUT_BLT_PIXEL efi_graphics_output_blt_pixel;
+/* Data structure for BMP_IMAGE_HEADER. */
+typedef BMP_IMAGE_HEADER efi_bmp_image_header;
+/* Data structure for BMP_COLOR_MAP; . */
+typedef BMP_COLOR_MAP efi_bmp_color_map;
#endif
/* Basic Data types */