rockchip: make avb boot flow uninterruptable
- only allow "boot_android" as bootcmd; - enter rockusb or fastboot when boot failed; - don't allow ctrl+c to enter hush; Change-Id: I7a67f4b738ed78370f19fe2c8c920a5abc104b4b Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
This commit is contained in:
parent
a349065b9f
commit
caed6b4f82
|
|
@ -412,6 +412,13 @@ int getc(void)
|
|||
|
||||
int tstc(void)
|
||||
{
|
||||
/* Don't allow drivers call tstc() to do some "exit" event(maybe enter hush) */
|
||||
#if defined(CONFIG_ARCH_ROCKCHIP) && \
|
||||
defined(CONFIG_AVB_VBMETA_PUBLIC_KEY_VALIDATE) && \
|
||||
defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY <= 0)
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_DISABLE_CONSOLE
|
||||
if (gd->flags & GD_FLG_DISABLE_CONSOLE)
|
||||
return 0;
|
||||
|
|
@ -594,6 +601,12 @@ static int ctrlc_disabled = 0; /* see disable_ctrl() */
|
|||
static int ctrlc_was_pressed = 0;
|
||||
int ctrlc(void)
|
||||
{
|
||||
/* Don't allow drivers call ctrlc() to do some "exit" event(maybe enter hush) */
|
||||
#if defined(CONFIG_ARCH_ROCKCHIP) && \
|
||||
defined(CONFIG_AVB_VBMETA_PUBLIC_KEY_VALIDATE)
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SANDBOX
|
||||
if (!ctrlc_disabled && gd->have_console) {
|
||||
if (tstc()) {
|
||||
|
|
|
|||
|
|
@ -123,11 +123,18 @@
|
|||
"setenv devtype spinor; setenv devnum 1;" \
|
||||
"fi; \0"
|
||||
|
||||
#ifdef CONFIG_AVB_VBMETA_PUBLIC_KEY_VALIDATE
|
||||
#define RKIMG_BOOTCOMMAND \
|
||||
"boot_android ${devtype} ${devnum};" \
|
||||
"echo AVB boot failed and enter rockusb or fastboot!;" \
|
||||
"rockusb 0 ${devtype} ${devnum};" \
|
||||
"fastboot usb 0;"
|
||||
#else
|
||||
#define RKIMG_BOOTCOMMAND \
|
||||
"boot_android ${devtype} ${devnum};" \
|
||||
"bootrkp;" \
|
||||
"run distro_bootcmd;"
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define CONFIG_DISPLAY_BOARDINFO_LATE
|
||||
|
|
|
|||
|
|
@ -160,7 +160,9 @@ validate_vbmeta_public_key(AvbOps *ops,
|
|||
size_t public_key_metadata_length,
|
||||
bool *out_is_trusted)
|
||||
{
|
||||
#ifdef AVB_VBMETA_PUBLIC_KEY_VALIDATE
|
||||
/* remain AVB_VBMETA_PUBLIC_KEY_VALIDATE to compatible legacy code */
|
||||
#if defined(CONFIG_AVB_VBMETA_PUBLIC_KEY_VALIDATE) || \
|
||||
defined(AVB_VBMETA_PUBLIC_KEY_VALIDATE)
|
||||
if (out_is_trusted) {
|
||||
avb_atx_validate_vbmeta_public_key(ops,
|
||||
public_key_data,
|
||||
|
|
|
|||
Loading…
Reference in New Issue