Skip to content

[Feature]: Adding support for an extra pflash drive #280

Description

@philgweber

Feature Overview

I need the ability to have a firmware volume outside of the FV's generated by patina-qemu. When running the emulator I need the ability to consume an FV with custom test content and ACPI that I've generated. While we can create disk images and mount drives those are not enumerated by the DXE drivers during boot which I need for loading my own ACPI table content and custom DXE's.

Solution Overview

  • There is support to allow loading ACPI tables from an FV, but no tables are provided in the default FV in patina-qemu
  • We need to pull in ACPI table entries for I2C, HID, EC devices to make this a useful functional platform. As such we ideally want to have our own ACPI tables.
  • I can build these into a separate FD image
  • QEMU currently is limited to 2 pflash drives which are consumed by SECURE_FLASH0.fd and QEMU_EFI.fd
  • Need support added to allow me to specify pflash driver with unit=2 like the following
    -drive if=pflash,format=raw,unit=2,file=/my_own.fd

Alternatives Considered

  • Tried some tricks with creating FFS component and trying to inject into the existing QEMU_EFI.fd, but that gets pretty messy and dependent on the build a lot
  • Tried putting the ACPI tables in separate disk image rather than FV, but they are not picked up
  • I can modify the patina-qemu source and validate it does load my tables, but don't want to pollute the default tree with my specific ACPI tables.

Urgency

Low

Are you going to implement the feature request?

I will implement the feature

Do you need maintainer feedback?

Maintainer feedback requested

Anything else?

No response

Metadata

Metadata

Assignees

Type

No type

Projects

Status
Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions