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_MUST_REQUEST_DISPLAY
|
||||||
select VBOOT_STARTS_IN_BOOTBLOCK
|
select VBOOT_STARTS_IN_BOOTBLOCK
|
||||||
select VBOOT_VBNV_CMOS
|
select VBOOT_VBNV_CMOS
|
||||||
select VBOOT_NO_BOARD_SUPPORT
|
|
||||||
select GBB_FLAG_DISABLE_LID_SHUTDOWN
|
select GBB_FLAG_DISABLE_LID_SHUTDOWN
|
||||||
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
|
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
|
||||||
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
|
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
romstage-y += fw_cfg.c
|
|
||||||
romstage-y += memmap.c
|
romstage-y += memmap.c
|
||||||
|
|
||||||
postcar-y += fw_cfg.c
|
|
||||||
postcar-y += memmap.c
|
postcar-y += memmap.c
|
||||||
postcar-y += exit_car.S
|
postcar-y += exit_car.S
|
||||||
|
|
||||||
ramstage-y += fw_cfg.c
|
|
||||||
ramstage-y += memmap.c
|
ramstage-y += memmap.c
|
||||||
ramstage-y += northbridge.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_MUST_REQUEST_DISPLAY
|
||||||
select VBOOT_STARTS_IN_BOOTBLOCK
|
select VBOOT_STARTS_IN_BOOTBLOCK
|
||||||
select VBOOT_VBNV_CMOS
|
select VBOOT_VBNV_CMOS
|
||||||
select VBOOT_NO_BOARD_SUPPORT if !CHROMEOS
|
|
||||||
select GBB_FLAG_DISABLE_LID_SHUTDOWN
|
select GBB_FLAG_DISABLE_LID_SHUTDOWN
|
||||||
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
|
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
|
||||||
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
|
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
|
||||||
|
|
|
@ -1,23 +1,21 @@
|
||||||
bootblock-y += bootblock.c
|
bootblock-y += bootblock.c
|
||||||
bootblock-y += memmap.c
|
bootblock-y += memmap.c
|
||||||
|
|
||||||
romstage-y += ../qemu-i440fx/fw_cfg.c
|
|
||||||
romstage-y += ../qemu-i440fx/memmap.c
|
romstage-y += ../qemu-i440fx/memmap.c
|
||||||
romstage-y += memmap.c
|
romstage-y += memmap.c
|
||||||
|
|
||||||
postcar-y += ../qemu-i440fx/fw_cfg.c
|
|
||||||
postcar-y += ../qemu-i440fx/memmap.c
|
postcar-y += ../qemu-i440fx/memmap.c
|
||||||
postcar-y += ../qemu-i440fx/exit_car.S
|
postcar-y += ../qemu-i440fx/exit_car.S
|
||||||
postcar-y += memmap.c
|
postcar-y += memmap.c
|
||||||
|
|
||||||
ramstage-y += ../qemu-i440fx/fw_cfg.c
|
|
||||||
ramstage-y += ../qemu-i440fx/memmap.c
|
ramstage-y += ../qemu-i440fx/memmap.c
|
||||||
ramstage-y += ../qemu-i440fx/northbridge.c
|
ramstage-y += ../qemu-i440fx/northbridge.c
|
||||||
ramstage-y += memmap.c
|
ramstage-y += memmap.c
|
||||||
ramstage-y += cpu.c
|
ramstage-y += cpu.c
|
||||||
|
|
||||||
verstage-$(CONFIG_CHROMEOS) += chromeos.c
|
all-y += ../qemu-i440fx/fw_cfg.c
|
||||||
verstage-$(CONFIG_CHROMEOS) += ../qemu-i440fx/fw_cfg.c
|
all-y += ../qemu-i440fx/bootmode.c
|
||||||
|
|
||||||
ramstage-$(CONFIG_CHROMEOS) += chromeos.c
|
ramstage-$(CONFIG_CHROMEOS) += chromeos.c
|
||||||
|
|
||||||
smm-y += smi.c
|
smm-y += smi.c
|
||||||
|
|
|
@ -2,9 +2,7 @@
|
||||||
|
|
||||||
#include <bootmode.h>
|
#include <bootmode.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
#include <console/console.h>
|
|
||||||
#include <vendorcode/google/chromeos/chromeos.h>
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "../qemu-i440fx/fw_cfg.h"
|
|
||||||
|
|
||||||
void fill_lb_gpios(struct lb_gpios *gpios)
|
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));
|
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[] = {
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, "QEMU"),
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, "QEMU"),
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue