Page MenuHomeFreeBSD

libfdt: Make an internal FDT library available
ClosedPublic

Authored by markj on Jul 12 2023, 1:52 PM.
Tags
None
Referenced Files
F102041114: D40994.diff
Wed, Nov 6, 9:10 PM
Unknown Object (File)
Sun, Oct 20, 5:30 PM
Unknown Object (File)
Mon, Oct 14, 9:32 PM
Unknown Object (File)
Mon, Oct 14, 9:32 PM
Unknown Object (File)
Sat, Oct 12, 4:22 AM
Unknown Object (File)
Thu, Oct 10, 9:01 PM
Unknown Object (File)
Thu, Oct 10, 4:46 AM
Unknown Object (File)
Wed, Oct 9, 3:44 PM

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj requested review of this revision.Jul 12 2023, 1:52 PM
This revision is now accepted and ready to land.Jul 12 2023, 6:46 PM

I'd prefer we pass ACPI tables to the guest. FDT support was only ever a hack to get something working.

I'd prefer we pass ACPI tables to the guest. FDT support was only ever a hack to get something working.

From my reading of QEMU, it always creates an FDT, then optionally creates ACPI tables and exposes them to the guest via fwcfg. I also had a look at EDK2's ArmVirtPkg, which I presume is what we'd want to use as the platform firmware when booting from ACPI (I don't really understand how Ovmf and ArmVirt overlap). From what I can see, ArmVirtPkg assumes that a FDT is present: the first thing that the module entry point is save a pointer to the FDT to copy later. The FDT is exposed to the rest of the firmware using a UEFI protocol, and fwcfg nodes are used to decide whether to pass ACPI tables to the guest.

So, assuming that we want to target edk2 on arm64, I think we probably need to keep the FDT builder even if bhyve is configured to supply ACPI tables to the guest.

This revision was automatically updated to reflect the committed changes.