From afe84274eef7e73c12e68a84db642ae96c248147 Mon Sep 17 00:00:00 2001 From: Subrata Banik Date: Mon, 1 Apr 2024 12:30:08 +0530 Subject: drivers/intel/fsp2_0: Enhance portability with uintptr_t/size_t Replace fixed-width integers for pointers and sizes with uintptr_t and size_t, promoting portability across 32-bit and 64-bit architectures. For FSP-API specific UPD assignments, rely on `efi_uintn_t` rather fixed size datatype uint32_t/uint64_t. BUG=b:242829490 TEST=Firmware splash screen visible on google/rex0 w/ both 32-bit and 64-bit compilation. Change-Id: Iab5c612e0640441a2a10e77949416de2afdb8985 Signed-off-by: Subrata Banik Reviewed-on: https://review.coreboot.org/c/coreboot/+/81615 Reviewed-by: Matt DeVillier Reviewed-by: Julius Werner Reviewed-by: Dinesh Gehlot Tested-by: build bot (Jenkins) Reviewed-by: Elyes Haouas Reviewed-by: Ronak Kanabar --- src/drivers/intel/fsp2_0/fsp_gop_blt.c | 12 ++++++------ src/drivers/intel/fsp2_0/include/fsp/fsp_gop_blt.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/drivers/intel') diff --git a/src/drivers/intel/fsp2_0/fsp_gop_blt.c b/src/drivers/intel/fsp2_0/fsp_gop_blt.c index f59bb86b76..8292b3b68d 100644 --- a/src/drivers/intel/fsp2_0/fsp_gop_blt.c +++ b/src/drivers/intel/fsp2_0/fsp_gop_blt.c @@ -133,7 +133,7 @@ static uint32_t get_color_map_num(efi_bmp_image_header *header) /* Fill BMP image into BLT buffer format */ static void *fill_blt_buffer(efi_bmp_image_header *header, - uint32_t logo_ptr, uint32_t blt_buffer_size) + uintptr_t logo_ptr, size_t blt_buffer_size) { efi_graphics_output_blt_pixel *gop_blt_buffer; efi_graphics_output_blt_pixel *gop_blt_ptr; @@ -233,18 +233,18 @@ static void *fill_blt_buffer(efi_bmp_image_header *header, } /* Convert a *.BMP graphics image to a GOP blt buffer */ -void fsp_convert_bmp_to_gop_blt(uint32_t *logo, uint32_t *logo_size, - uint32_t *blt_ptr, uint32_t *blt_size, +void fsp_convert_bmp_to_gop_blt(efi_uintn_t *logo, uint32_t *logo_size, + efi_uintn_t *blt_ptr, efi_uintn_t *blt_size, uint32_t *pixel_height, uint32_t *pixel_width) { - uint32_t logo_ptr; + uintptr_t logo_ptr; size_t logo_ptr_size, blt_buffer_size; efi_bmp_image_header *bmp_header; if (!logo || !logo_size || !blt_ptr || !blt_size || !pixel_height || !pixel_width) return; - logo_ptr = (uint32_t)(uintptr_t)bmp_load_logo(&logo_ptr_size); + logo_ptr = (uintptr_t)bmp_load_logo(&logo_ptr_size); if (!logo_ptr || logo_ptr_size < sizeof(efi_bmp_image_header)) { printk(BIOS_ERR, "%s: BMP Image size is too small.\n", __func__); @@ -267,5 +267,5 @@ void fsp_convert_bmp_to_gop_blt(uint32_t *logo, uint32_t *logo_size, *blt_size = blt_buffer_size; *pixel_height = bmp_header->PixelHeight; *pixel_width = bmp_header->PixelWidth; - *blt_ptr = (uint32_t)fill_blt_buffer(bmp_header, logo_ptr, blt_buffer_size); + *blt_ptr = (uintptr_t)fill_blt_buffer(bmp_header, logo_ptr, blt_buffer_size); } diff --git a/src/drivers/intel/fsp2_0/include/fsp/fsp_gop_blt.h b/src/drivers/intel/fsp2_0/include/fsp/fsp_gop_blt.h index 7ffb54c3b3..ff1548328e 100644 --- a/src/drivers/intel/fsp2_0/include/fsp/fsp_gop_blt.h +++ b/src/drivers/intel/fsp2_0/include/fsp/fsp_gop_blt.h @@ -7,8 +7,8 @@ #include /* Convert a *.BMP graphics image to a GOP blt buffer */ -void fsp_convert_bmp_to_gop_blt(uint32_t *logo, uint32_t *logo_size, - uint32_t *blt_ptr, uint32_t *blt_size, +void fsp_convert_bmp_to_gop_blt(efi_uintn_t *logo, uint32_t *logo_size, + efi_uintn_t *blt_ptr, efi_uintn_t *blt_size, uint32_t *pixel_height, uint32_t *pixel_width); #endif /* FSP_GOP_BLT_H */ -- cgit v1.2.3