sb/intel/{bd82x6x,ibexpeak}: hide MEI if ME inoperable
- Add Kconfig option to hide the Management Engine Interface device so the OS doesn't try to access it, if the Management Engine is in an inoperable mode, e.g. if me_cleaner is used. - Also hide the MEI if the ME is in Soft Temp Disable mode. Change-Id: Ie4a35bf5fc196e0a02b7591cdb8633d38f0c7f3e Signed-off-by: James Ye <jye836@gmail.com> Signed-off-by: Evgeny Zinoviev <me@ch1p.io> Reviewed-on: https://review.coreboot.org/c/coreboot/+/39074 Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
@@ -56,4 +56,12 @@ config HPET_MIN_TICKS
|
|||||||
hex
|
hex
|
||||||
default 0x80
|
default 0x80
|
||||||
|
|
||||||
|
config HIDE_MEI_ON_ERROR
|
||||||
|
bool "Hide MEI device on error"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
If you enable this option, the Management Engine Interface
|
||||||
|
device will be hidden when ME is in an inoperable mode, e.g.
|
||||||
|
if me_cleaner was used.
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@@ -254,6 +254,10 @@ static void intel_me_init(struct device *dev)
|
|||||||
|
|
||||||
switch (path) {
|
switch (path) {
|
||||||
case ME_S3WAKE_BIOS_PATH:
|
case ME_S3WAKE_BIOS_PATH:
|
||||||
|
case ME_DISABLE_BIOS_PATH:
|
||||||
|
#if CONFIG(HIDE_MEI_ON_ERROR)
|
||||||
|
case ME_ERROR_BIOS_PATH:
|
||||||
|
#endif
|
||||||
intel_me_hide(dev);
|
intel_me_hide(dev);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -279,9 +283,10 @@ static void intel_me_init(struct device *dev)
|
|||||||
*/
|
*/
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#if !CONFIG(HIDE_MEI_ON_ERROR)
|
||||||
case ME_ERROR_BIOS_PATH:
|
case ME_ERROR_BIOS_PATH:
|
||||||
|
#endif
|
||||||
case ME_RECOVERY_BIOS_PATH:
|
case ME_RECOVERY_BIOS_PATH:
|
||||||
case ME_DISABLE_BIOS_PATH:
|
|
||||||
case ME_FIRMWARE_UPDATE_BIOS_PATH:
|
case ME_FIRMWARE_UPDATE_BIOS_PATH:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -242,6 +242,10 @@ static void intel_me_init(struct device *dev)
|
|||||||
|
|
||||||
switch (path) {
|
switch (path) {
|
||||||
case ME_S3WAKE_BIOS_PATH:
|
case ME_S3WAKE_BIOS_PATH:
|
||||||
|
case ME_DISABLE_BIOS_PATH:
|
||||||
|
#if CONFIG(HIDE_MEI_ON_ERROR)
|
||||||
|
case ME_ERROR_BIOS_PATH:
|
||||||
|
#endif
|
||||||
intel_me_hide(dev);
|
intel_me_hide(dev);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -268,9 +272,10 @@ static void intel_me_init(struct device *dev)
|
|||||||
*/
|
*/
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#if !CONFIG(HIDE_MEI_ON_ERROR)
|
||||||
case ME_ERROR_BIOS_PATH:
|
case ME_ERROR_BIOS_PATH:
|
||||||
|
#endif
|
||||||
case ME_RECOVERY_BIOS_PATH:
|
case ME_RECOVERY_BIOS_PATH:
|
||||||
case ME_DISABLE_BIOS_PATH:
|
|
||||||
case ME_FIRMWARE_UPDATE_BIOS_PATH:
|
case ME_FIRMWARE_UPDATE_BIOS_PATH:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -53,4 +53,12 @@ config HPET_MIN_TICKS
|
|||||||
hex
|
hex
|
||||||
default 0x80
|
default 0x80
|
||||||
|
|
||||||
|
config HIDE_MEI_ON_ERROR
|
||||||
|
bool "Hide MEI device on error"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
If you enable this option, the Management Engine Interface
|
||||||
|
device will be hidden when ME is in an inoperable mode, e.g.
|
||||||
|
if me_cleaner was used.
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@@ -476,6 +476,10 @@ static void intel_me_init(struct device *dev)
|
|||||||
|
|
||||||
switch (path) {
|
switch (path) {
|
||||||
case ME_S3WAKE_BIOS_PATH:
|
case ME_S3WAKE_BIOS_PATH:
|
||||||
|
case ME_DISABLE_BIOS_PATH:
|
||||||
|
#if CONFIG(HIDE_MEI_ON_ERROR)
|
||||||
|
case ME_ERROR_BIOS_PATH:
|
||||||
|
#endif
|
||||||
intel_me_hide(dev);
|
intel_me_hide(dev);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -494,9 +498,10 @@ static void intel_me_init(struct device *dev)
|
|||||||
*/
|
*/
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#if !CONFIG(HIDE_MEI_ON_ERROR)
|
||||||
case ME_ERROR_BIOS_PATH:
|
case ME_ERROR_BIOS_PATH:
|
||||||
|
#endif
|
||||||
case ME_RECOVERY_BIOS_PATH:
|
case ME_RECOVERY_BIOS_PATH:
|
||||||
case ME_DISABLE_BIOS_PATH:
|
|
||||||
case ME_FIRMWARE_UPDATE_BIOS_PATH:
|
case ME_FIRMWARE_UPDATE_BIOS_PATH:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user