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 <subratabanik@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/81615 Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com> Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-by: Dinesh Gehlot <digehlot@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Elyes Haouas <ehaouas@noos.fr> Reviewed-by: Ronak Kanabar <ronak.kanabar@intel.com>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
@@ -7,8 +7,8 @@
|
||||
#include <types.h>
|
||||
|
||||
/* 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 */
|
||||
|
Reference in New Issue
Block a user