Skip to content

Fix eSPI messaging #596

@williampMSFT

Description

@williampMSFT

Currently, eSPI messages are sent using the new mctp-rs types, but there are some issues with how those types are defined:

  • They're all defined in a single enum in the comms system, so messages can't be extended by third parties without forking the entire repo
  • They all are all given discriminant numbers in the same address space, so services can't add new message types without reasoning about all possible messages from all services

If we wanted to accept these limitations, we'd have to do a bunch of work on the UEFI/host side to uptake them, but these limitations are significant enough that we probably don't want to do that. Instead, we need to break out the message types into separate crates for each service, migrate all the services that leverage eSPI to use that instead, and then uptake that change on the host side, which should be much smaller than the change to uptake the current state of things - see #558 for that piece.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions