chromeos: vboot-related functions move to common vboot code
This moves a few vboot-prefixed functions that were defined in chromeos.c to vboot_common.c, since those are only relevant to vboot and depend on the vboot handoff data. This allows more separation between CONFIG_CHROMEOS and what CONFIG_CHROMEOS selects, so that each separate option (such as CONFIG_VBOOT_VERIFY_FIRMWARE) can be enabled separately. Thus, the actual definitions of these functions will only be declared when CONFIG_VBOOT_VERIFY_FIRMWARE is set, so the check before calling vboot_skip_display_init in bootmode was also adapted. Change-Id: I52f8a408645566dac0a2100e819c8ed5d3d88ea5 Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Reviewed-on: http://review.coreboot.org/11497 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
parent
c947fee479
commit
115360fdb3
|
@ -20,38 +20,6 @@
|
|||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include "chromeos.h"
|
||||
#include <boot/coreboot_tables.h>
|
||||
#include <cbfs.h>
|
||||
#include <cbmem.h>
|
||||
#include <console/console.h>
|
||||
#include "vboot_handoff.h"
|
||||
|
||||
static int vboot_handoff_flag(uint32_t flag)
|
||||
{
|
||||
struct vboot_handoff *vbho;
|
||||
|
||||
vbho = cbmem_find(CBMEM_ID_VBOOT_HANDOFF);
|
||||
|
||||
if (vbho == NULL)
|
||||
return 0;
|
||||
|
||||
return !!(vbho->init_params.out_flags & flag);
|
||||
}
|
||||
|
||||
int vboot_skip_display_init(void)
|
||||
{
|
||||
return !vboot_handoff_flag(VB_INIT_OUT_ENABLE_DISPLAY);
|
||||
}
|
||||
|
||||
int vboot_enable_developer(void)
|
||||
{
|
||||
return vboot_handoff_flag(VB_INIT_OUT_ENABLE_DEVELOPER);
|
||||
}
|
||||
|
||||
int vboot_enable_recovery(void)
|
||||
{
|
||||
return vboot_handoff_flag(VB_INIT_OUT_ENABLE_RECOVERY);
|
||||
}
|
||||
|
||||
int __attribute__((weak)) clear_recovery_mode_switch(void)
|
||||
{
|
||||
|
|
|
@ -45,29 +45,14 @@ void elog_add_boot_reason(void);
|
|||
/* functions implemented in watchdog.c */
|
||||
void elog_add_watchdog_reset(void);
|
||||
void reboot_from_watchdog(void);
|
||||
|
||||
int vboot_enable_developer(void);
|
||||
int vboot_enable_recovery(void);
|
||||
int vboot_skip_display_init(void);
|
||||
#else
|
||||
static inline void elog_add_boot_reason(void) { return; }
|
||||
static inline void elog_add_watchdog_reset(void) { return; }
|
||||
static inline void reboot_from_watchdog(void) { return; }
|
||||
static inline int vboot_skip_display_init(void) { return 0; }
|
||||
#endif /* CONFIG_CHROMEOS */
|
||||
|
||||
struct romstage_handoff;
|
||||
|
||||
#if CONFIG_VBOOT_VERIFY_FIRMWARE
|
||||
/* Returns 0 on success < 0 on error. */
|
||||
int vboot_get_handoff_info(void **addr, uint32_t *size);
|
||||
#else /* CONFIG_VBOOT_VERIFY_FIRMWARE */
|
||||
static inline int vboot_get_handoff_info(void **addr, uint32_t *size)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
#endif /* CONFIG_VBOOT_VERIFY_FIRMWARE */
|
||||
|
||||
#include "gnvs.h"
|
||||
struct device;
|
||||
|
||||
|
@ -84,6 +69,5 @@ static inline void chromeos_reserve_ram_oops(struct device *dev, int idx) {}
|
|||
#endif /* CONFIG_CHROMEOS_RAMOOPS */
|
||||
|
||||
void cbmem_add_vpd_calibration_data(void);
|
||||
void vboot_reboot(void);
|
||||
|
||||
#endif /* __CHROMEOS_H__ */
|
||||
|
|
|
@ -55,6 +55,33 @@ int vboot_get_handoff_info(void **addr, uint32_t *size)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vboot_handoff_flag(uint32_t flag)
|
||||
{
|
||||
struct vboot_handoff *vbho;
|
||||
|
||||
vbho = cbmem_find(CBMEM_ID_VBOOT_HANDOFF);
|
||||
|
||||
if (vbho == NULL)
|
||||
return 0;
|
||||
|
||||
return !!(vbho->init_params.out_flags & flag);
|
||||
}
|
||||
|
||||
int vboot_skip_display_init(void)
|
||||
{
|
||||
return !vboot_handoff_flag(VB_INIT_OUT_ENABLE_DISPLAY);
|
||||
}
|
||||
|
||||
int vboot_enable_developer(void)
|
||||
{
|
||||
return vboot_handoff_flag(VB_INIT_OUT_ENABLE_DEVELOPER);
|
||||
}
|
||||
|
||||
int vboot_enable_recovery(void)
|
||||
{
|
||||
return vboot_handoff_flag(VB_INIT_OUT_ENABLE_RECOVERY);
|
||||
}
|
||||
|
||||
void vboot_reboot(void)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_CONSOLE_CBMEM_DUMP_TO_UART))
|
||||
|
|
|
@ -39,5 +39,13 @@ struct vboot_components {
|
|||
/* The following functions return 0 on success, < 0 on error. */
|
||||
int vboot_named_region_device(const char *name, struct region_device *rdev);
|
||||
int vboot_region_device(const struct region *reg, struct region_device *rdev);
|
||||
int vboot_get_handoff_info(void **addr, uint32_t *size);
|
||||
|
||||
/* The following functions return 1 for true and 0 for false. */
|
||||
int vboot_skip_display_init(void);
|
||||
int vboot_enable_recovery(void);
|
||||
int vboot_enable_developer(void);
|
||||
|
||||
void vboot_reboot(void);
|
||||
|
||||
#endif /* VBOOT_COMMON_H */
|
||||
|
|
Loading…
Reference in New Issue