-
-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Device
Novacustom MTL
RTE version
n/a
OSFV version
Affected component(s) or functionality
Tests that need disabled ME
Brief summary
Not possible to set HAP bit on fused devices
How reproducible
100%
How to reproduce
check the setup menu ME menu or try to set using DCU
Expected behavior
OSFV needs to handle that somehow
Actual behavior
Tests will fail as HAP disable is not available
Link to screenshots or logs
Test fails because it fails to set the ME state to HAP Disabled - the option does not exist in setup menu, so it returns to the default: Enabled
usb-type-c_log.html
Additional context
Some tests require disabling ME using HAP Bit. Its not possible on devices with fused vendor keys. Only Soft disable is available.
HFSTS registers might be used to detect whether the device is fused or not and decide whether to skip tests that require HAP Bit or not
Just like in:
open-source-firmware-validation/lib/me.robot
Lines 28 to 47 in bf832bd
| Check ME State | |
| [Documentation] Keyword Checks The ME PCI Register Offset 0x40 To Find Current ME State, Returns: | |
| ... -Disabled (Soft) For 3 | |
| ... -Disabled (HAP) for 2 | |
| ... -Enabled for 0 | |
| ${out}= Execute Command In Terminal setpci -s 16.0 40.L | |
| IF "No devices selected for operation group 1." in """${out}""" | |
| ${result}= Evaluate 'Disabled' | |
| ELSE | |
| ${char}= Evaluate ${out}[3] | |
| # Current Operation Mode: bits 16:19 of register HFSTS1 (0x40) | |
| IF '${char}' == '3' | |
| ${result}= Evaluate 'Disabled (Soft)' | |
| ELSE IF '${char}' == '2' | |
| ${result}= Evaluate 'Disabled (HAP)' | |
| ELSE IF '${char}' == '0' | |
| ${result}= Evaluate 'Enabled' | |
| END | |
| END | |
| RETURN ${result} |
The fields required depending on ME Spec: https://github.com/Dasharo/coreboot/blob/2efa30bfe16ce6bf32c2e9565b80ea94609fa389/src/soc/intel/common/block/cse/cse_spec.c#L9-L27
HFSTS bitfields definition in coreboot: https://github.com/Dasharo/coreboot/blob/2efa30bfe16ce6bf32c2e9565b80ea94609fa389/src/soc/intel/common/block/include/intelblocks/me_18.h
Solutions you've tried
No response