[PATCH v2 00/11] efi_loader: fix ACPI table installation
Simon Glass
sjg at chromium.org
Thu Jun 25 12:55:40 CEST 2026
Hi Heinrich,
On Sun, 21 Jun 2026 at 09:19, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> On the sandbox efi_acpi_register() used sandbox virtual addressed instead
> of pointers required by the invoked API function. This lead to EFI
> applications crashing when trying to access the tables.
This series helps a lot with test coverage - the acpidump app is a
really good idea IMO.
BTW instead of 'used' can you please use present tense in your patches
('uses')...i.e. the current code is the status quo and your patch is
proposing to change it.
> The next for five patches factor out common code of the EFI apps
Typo: 'The next five patches'.
> The tenth patch corrects the checksum in the RSDP table.
Please mention in the cover that this was uncovered by the new
acpidump app (assuming that is how you found it), so the reader
understands why a qfw fix is bundled into an efi_loader refactor. A
line on how you verified the fix would help too.
Just to recap for the record although you already know this info...
In sandbox we used the term 'address' to mean a U-Boot address, which
must be mapped to get a 'pointer', which is something which can be
accessed. Especially in the EFI sense I find 'sandbox virtual address'
(note typo) to be confusing. It is a pointer into its emulated RAM. So
I would prefer to talk about 'address' as the address (ulong in
U-Boot) and 'pointer' (or sandbox pointer) as a pointer into the
emulated RAM. In almost all cases (and to avoid confusion) we should
use a ulong for the address and a pointer variable (e.g. struct xxx *)
for the pointer.
In most cases it is convenient to store and pass around addresses.
ACPI is an exception here, since if we put an address in the table and
then jump to an app* it will see the address and treat it as a
pointer. As I understand it, this is what this series fixes. It is
also why nomap_sysmem() and nomap_to_sysmem() exist.
* The interesting thing about the app is that it is built under the
sandbox architecture but (rightly, I think) without the sandbox
mapping.
Regards,
Simon
More information about the U-Boot
mailing list