
On Mon, Jan 06, 2025 at 07:32:18AM -0700, Simon Glass wrote:
QEMU can have its own internal ACPI and SMBIOS tables. At present U-Boot copies out the SMBIOS tables but points directly to the ACPI ones.
The ACPI tables are not aligned on a 4KB boundary, which means that UPL cannot use them directly, since it uses a reserved-memory node for the tables and that it assumed (by EDK2) to be 4KB-aligned.
On x86, QEMU completely takes over the generation of these tables, thus making it difficult to use any common code.
Adjust the logic to fit within the existing table-generation code. Use a bloblist always and ensure that the ACPI tables is placed in an aligned region. Set a size of 8K for QEMU. This does not actually put all the tables in one place, for QEMU, since it currently adds a pointer to the tables in QFW.
On ARM, enable bloblist so that SMBIOS tables can be added to the bloblist.
Signed-off-by: Simon Glass sjg@chromium.org
Commits that are "big external project is doing things wrong, we need to work around it" are at best worrisome to me. If re-thinking what you're doing here isn't right, re-wording what you're doing to not be negative about other projects is what's needed then.