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>
This commit is contained in:
Subrata Banik 2023-08-02 20:12:21 +00:00 committed by Felix Held
parent 35047599b2
commit bfe220c4cc
1 changed files with 8 additions and 0 deletions

View File

@ -8,8 +8,10 @@
#if CONFIG_UDK_VERSION >= CONFIG_UDK_2017_VERSION #if CONFIG_UDK_VERSION >= CONFIG_UDK_2017_VERSION
#include <Guid/StatusCodeDataTypeId.h> #include <Guid/StatusCodeDataTypeId.h>
#include <IndustryStandard/Bmp.h>
#include <Pi/PiPeiCis.h> #include <Pi/PiPeiCis.h>
#include <Pi/PiStatusCode.h> #include <Pi/PiStatusCode.h>
#include <Protocol/GraphicsOutput.h>
#include <Protocol/MpService.h> #include <Protocol/MpService.h>
/* Data structure for EFI_PEI_SERVICE. */ /* 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; typedef EFI_STATUS_CODE_DATA efi_status_code_data_t;
/* Status string data type definition */ /* Status string data type definition */
typedef EFI_STATUS_CODE_STRING_DATA efi_status_code_string_data; 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 #endif
/* Basic Data types */ /* Basic Data types */