• Daniele Ceraolo Spurio's avatar
    drm/i915/huc: Parse the GSC-enabled HuC binary · 93a575ab
    Daniele Ceraolo Spurio authored
    The new binaries that support the 2-step authentication contain the
    legacy-style binary, which we can use for loading the HuC via DMA. To
    find out where this is located in the image, we need to parse the
    manifest of the GSC-enabled HuC binary. The manifest consist of a
    partition header followed by entries, one of which contains the offset
    we're looking for.
    Note that the DG2 GSC binary contains entries with the same names, but
    it doesn't contain a full legacy binary, so we need to skip assigning
    the dma offset in that case (which we can do by checking the ccs).
    Also, since we're now parsing the entries, we can extract the HuC
    version that way instead of using hardcoded offsets.
    
    Note that the GSC binary uses the same structures in its binary header,
    so they've been added in their own header file.
    
    v2: fix structure names to match meu defines (s/CPT/CPD/), update commit
        message, check ccs validity, drop old version location defines.
    
    v3: drop references to the MEU tool to reduce confusion, fix log (John)
    
    v4: fix log for real (John)
    Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
    Cc: John Harrison <John.C.Harrison@Intel.com>
    Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com> #v2
    Reviewed-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230531235415.1467475-3-daniele.ceraolospurio@intel.com
    93a575ab
intel_huc_print.h 829 Bytes