Skip to content

ME HAP Disable not available on BTG fused devices (Dasharo Trustroot) #1208

@philipanda

Description

@philipanda

Device

Novacustom MTL

RTE version

n/a

OSFV version

eb61982

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:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions