From 7a3c416ebd21a1851f3f755d752473d532e2714f Mon Sep 17 00:00:00 2001 From: Angel Pons Date: Mon, 31 Jan 2022 17:45:04 +0100 Subject: [PATCH] mb/prodrive/hermes: Add VT-x control via EEPROM Introduce a new field in the board settings EEPROM region to control whether VT-x is to be enabled. Change-Id: If65c58dd6e5069dba1675ad875c7ac89e704350e Signed-off-by: Angel Pons Reviewed-on: https://review.coreboot.org/c/coreboot/+/61507 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph Reviewed-by: Marvin Drees --- src/mainboard/prodrive/hermes/eeprom.h | 5 +++-- src/mainboard/prodrive/hermes/mainboard.c | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mainboard/prodrive/hermes/eeprom.h b/src/mainboard/prodrive/hermes/eeprom.h index 4b609dfeab..f428a432fc 100644 --- a/src/mainboard/prodrive/hermes/eeprom.h +++ b/src/mainboard/prodrive/hermes/eeprom.h @@ -52,12 +52,13 @@ struct __packed eeprom_board_settings { uint8_t front_panel_audio; uint8_t pxe_boot_capability; uint8_t pink_rear_vref; + uint8_t vtx_disabled; }; - uint8_t raw_settings[10]; + uint8_t raw_settings[11]; }; }; -_Static_assert(sizeof(struct eeprom_board_settings) == (10 + sizeof(uint32_t)), +_Static_assert(sizeof(struct eeprom_board_settings) == (11 + sizeof(uint32_t)), "struct eeprom_board_settings has invalid size!"); struct __packed eeprom_bmc_settings { diff --git a/src/mainboard/prodrive/hermes/mainboard.c b/src/mainboard/prodrive/hermes/mainboard.c index 6ca9613b09..2f0de61843 100644 --- a/src/mainboard/prodrive/hermes/mainboard.c +++ b/src/mainboard/prodrive/hermes/mainboard.c @@ -240,6 +240,8 @@ static void mainboard_early(void *unused) /* Set Deep Sx */ config->deep_s5_enable_ac = board_cfg->deep_sx_enabled; config->deep_s5_enable_dc = board_cfg->deep_sx_enabled; + + config->disable_vmx = board_cfg->vtx_disabled; } if (check_signature(offsetof(struct eeprom_layout, supd), FSPS_UPD_SIGNATURE)) {