Skip to content

Specification updates and fixes #23

@krystian-hebel

Description

@krystian-hebel

This issue is made to gather all small fixes, improvements and other TODOs in one place before adding them to next specification revision. It will also be a place for conversation about proposed changes. After enough changes are listed (or a change significant enough to bump specification revision) we can push them all in one PR to keep version in source file synchronized with produced PDFs.

I (or anyone with permissions to edit the issue message) will periodically update the list below to have all the changes in one place. Feel free to put your suggestions in the comment.


  • Appendix B ( Intel TXT OS2MLE) has struct slr_table *slrt; - size of pointer should be explicitly specified
  • Document what SLR_ET_UNUSED can be used for - https://github.com/TrenchBoot/grub/pull/13/files#r1354751740
  • Change value of SLR_ET_UNSPECIFIED - https://github.com/TrenchBoot/grub/pull/13/files#r1354869835
  • Values of TXT_VARIABLE_MTRRS_LENGTH and TPM_EVENT_INFO_LENGTH are not specified (both are 32 in implementation).
  • Not specified whether {slr_policy_entry,slr_uefi_cfg_entry}::evt_info must include trailing \0 or it can be omitted if label fills the whole buffer.
  • 2.2 Acronyms doesn't expand SLRT.
  • Meaning of SLR_POLICY_* and SLR_ET_* aren't explained. With SLR_ET_SLRT marked as required.
  • SLR_ET_* aren't always self-describing, they were made with Linux in mind and some names should reflect this - multiboot2: Switch to using SLRT interface grub#14 (comment)
    • Add entry for Multiboot2 modules.
  • UEFI Config Entry has "address of value" field which need to be explained/updated. It's also not specified what kind of address is expected.
    • It is "address or value", I can't read
  • "TPM Extend Operation" section might contain off-by-one error (0..n instead of 0..n-1).
  • "TPM Extend Operation" section should explain that | denotes concatenation instead of bitwise OR.
  • Description of SLR_ET_SLRT should reference "Appendix A".
  • Entry_n = PCR_n | EntityType_n | EventInfo_n in "Measuring the Policy" should use i for index.
  • Describe the format (entry point, unused cmdline) and location of MLE header (kernel_info for Linux, whatever we'll choose for Multiboot2).
  • mtrr_vcnt array in description of mtrr_vcnt should say mtrr_pair array instead.
  • Add grub_uint64_t dlme_base; and grub_uint32_t dlme_size; to struct slr_entry_dl_info.
  • Change type of dlme_entry in struct slr_entry_dl_info to grub_uint32_t (see).
    • Won't do, this would either break alignment or introduce unnecessary padding.
  • Probably worth referencing https://trustedcomputinggroup.org/resource/d-rtm-architecture-specification/ at least as a source of the nomenclature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions