emulation/qemu-i440fx,q35: Split chromeos.c
This drops VBOOT_NO_BOARD_SUPPORT. There is little impact of always having recovery_mode_switch() implemented in bootmode.c. A weak write_protect_state() is not necessary as there is no BOOT_DEVICE_SPI_FLASH with the emulation. Call to fill_lb_gpios() is already guarded with CONFIG(CHROMEOS) so the weak implementation would not be referenced. Change-Id: I3c00b30c5233ae3556b7622f97c3166668c8ab12 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/58946 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
a7648f2b27
commit
085fdd8559
|
@ -21,7 +21,6 @@ config VBOOT
|
|||
select VBOOT_MUST_REQUEST_DISPLAY
|
||||
select VBOOT_STARTS_IN_BOOTBLOCK
|
||||
select VBOOT_VBNV_CMOS
|
||||
select VBOOT_NO_BOARD_SUPPORT
|
||||
select GBB_FLAG_DISABLE_LID_SHUTDOWN
|
||||
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
|
||||
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
romstage-y += fw_cfg.c
|
||||
romstage-y += memmap.c
|
||||
|
||||
postcar-y += fw_cfg.c
|
||||
postcar-y += memmap.c
|
||||
postcar-y += exit_car.S
|
||||
|
||||
ramstage-y += fw_cfg.c
|
||||
ramstage-y += memmap.c
|
||||
ramstage-y += northbridge.c
|
||||
|
||||
all-y += fw_cfg.c
|
||||
all-y += bootmode.c
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#include <bootmode.h>
|
||||
#include <console/console.h>
|
||||
#include "fw_cfg.h"
|
||||
|
||||
/*
|
||||
* Enable recovery mode with fw_cfg option to qemu:
|
||||
* -fw_cfg name=opt/cros/recovery,string=1
|
||||
*/
|
||||
int get_recovery_mode_switch(void)
|
||||
{
|
||||
FWCfgFile f;
|
||||
|
||||
if (!fw_cfg_check_file(&f, "opt/cros/recovery")) {
|
||||
uint8_t rec_mode;
|
||||
if (f.size != 1) {
|
||||
printk(BIOS_ERR, "opt/cros/recovery invalid size %d\n", f.size);
|
||||
return 0;
|
||||
}
|
||||
fw_cfg_get(f.select, &rec_mode, f.size);
|
||||
if (rec_mode == '1') {
|
||||
printk(BIOS_INFO, "Recovery is enabled.\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -21,7 +21,6 @@ config VBOOT
|
|||
select VBOOT_MUST_REQUEST_DISPLAY
|
||||
select VBOOT_STARTS_IN_BOOTBLOCK
|
||||
select VBOOT_VBNV_CMOS
|
||||
select VBOOT_NO_BOARD_SUPPORT if !CHROMEOS
|
||||
select GBB_FLAG_DISABLE_LID_SHUTDOWN
|
||||
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
|
||||
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
|
||||
|
|
|
@ -1,23 +1,21 @@
|
|||
bootblock-y += bootblock.c
|
||||
bootblock-y += memmap.c
|
||||
|
||||
romstage-y += ../qemu-i440fx/fw_cfg.c
|
||||
romstage-y += ../qemu-i440fx/memmap.c
|
||||
romstage-y += memmap.c
|
||||
|
||||
postcar-y += ../qemu-i440fx/fw_cfg.c
|
||||
postcar-y += ../qemu-i440fx/memmap.c
|
||||
postcar-y += ../qemu-i440fx/exit_car.S
|
||||
postcar-y += memmap.c
|
||||
|
||||
ramstage-y += ../qemu-i440fx/fw_cfg.c
|
||||
ramstage-y += ../qemu-i440fx/memmap.c
|
||||
ramstage-y += ../qemu-i440fx/northbridge.c
|
||||
ramstage-y += memmap.c
|
||||
ramstage-y += cpu.c
|
||||
|
||||
verstage-$(CONFIG_CHROMEOS) += chromeos.c
|
||||
verstage-$(CONFIG_CHROMEOS) += ../qemu-i440fx/fw_cfg.c
|
||||
all-y += ../qemu-i440fx/fw_cfg.c
|
||||
all-y += ../qemu-i440fx/bootmode.c
|
||||
|
||||
ramstage-$(CONFIG_CHROMEOS) += chromeos.c
|
||||
|
||||
smm-y += smi.c
|
||||
|
|
|
@ -2,9 +2,7 @@
|
|||
|
||||
#include <bootmode.h>
|
||||
#include <boot/coreboot_tables.h>
|
||||
#include <console/console.h>
|
||||
#include <vendorcode/google/chromeos/chromeos.h>
|
||||
#include "../qemu-i440fx/fw_cfg.h"
|
||||
|
||||
void fill_lb_gpios(struct lb_gpios *gpios)
|
||||
{
|
||||
|
@ -17,35 +15,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
|||
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
|
||||
}
|
||||
|
||||
int get_write_protect_state(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Enable recovery mode with fw_cfg option to qemu:
|
||||
* -fw_cfg name=opt/cros/recovery,string=1
|
||||
*/
|
||||
int get_recovery_mode_switch(void)
|
||||
{
|
||||
FWCfgFile f;
|
||||
|
||||
if (!fw_cfg_check_file(&f, "opt/cros/recovery")) {
|
||||
uint8_t rec_mode;
|
||||
if (f.size != 1) {
|
||||
printk(BIOS_ERR, "opt/cros/recovery invalid size %d\n", f.size);
|
||||
return 0;
|
||||
}
|
||||
fw_cfg_get(f.select, &rec_mode, f.size);
|
||||
if (rec_mode == '1') {
|
||||
printk(BIOS_INFO, "Recovery is enabled.\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct cros_gpio cros_gpios[] = {
|
||||
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, "QEMU"),
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue