From e567122b3253156009aeb6eda1a3d82962877367 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Fri, 19 Nov 2021 13:24:06 -0700 Subject: [PATCH] x86: coreboot: Support getting a logo from virtio Enable this feature so that a splash screen can be provided. Signed-off-by: Simon Glass --- board/coreboot/coreboot/coreboot.c | 20 ++++++++++++++++++-- include/configs/coreboot.h | 3 +++ include/configs/x86-common.h | 5 +++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/board/coreboot/coreboot/coreboot.c b/board/coreboot/coreboot/coreboot.c index 11294d6e87..3b90ae7538 100644 --- a/board/coreboot/coreboot/coreboot.c +++ b/board/coreboot/coreboot/coreboot.c @@ -4,10 +4,11 @@ */ #include -#include -#include +#include #include #include +#include +#include int board_early_init_r(void) { @@ -65,3 +66,18 @@ fallback: return checkboard(); } #endif + +static struct splash_location coreboot_splash_locations[] = { + { + .name = "virtio_fs", + .storage = SPLASH_STORAGE_VIRTIO, + .flags = SPLASH_STORAGE_RAW, + .devpart = "0", + }, +}; + +int splash_screen_prepare(void) +{ + return splash_source_load(coreboot_splash_locations, + ARRAY_SIZE(coreboot_splash_locations)); +} diff --git a/include/configs/coreboot.h b/include/configs/coreboot.h index 1cf5c037e8..d6d679fd7d 100644 --- a/include/configs/coreboot.h +++ b/include/configs/coreboot.h @@ -10,6 +10,9 @@ #ifndef __CONFIG_H #define __CONFIG_H +#define SPLASH_SETTINGS "splashsource=virtio_fs\0" \ + "splashimage=0x1000000\0" + #include #define CONFIG_SYS_MONITOR_LEN (1 << 20) diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h index a03913d5e7..394978b9d9 100644 --- a/include/configs/x86-common.h +++ b/include/configs/x86-common.h @@ -81,9 +81,14 @@ #define DISTRO_BOOTENV #endif +#ifndef SPLASH_SETTINGS +#define SPLASH_SETTINGS +#endif + #define CONFIG_EXTRA_ENV_SETTINGS \ DISTRO_BOOTENV \ CONFIG_STD_DEVICES_SETTINGS \ + SPLASH_SETTINGS \ "pciconfighost=1\0" \ "netdev=eth0\0" \ "consoledev=ttyS0\0" \