ACPI: usage of sandbox virtual addresses

Simon Glass sjg at chromium.org
Fri Dec 29 09:26:19 CET 2023


Hi Heinrich,

On Tue, Dec 26, 2023 at 10:03 AM Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 12/26/23 10:50, Simon Glass wrote:
> > Hi Heinrich,
> >
> > On Tue, Dec 26, 2023 at 8:56 AM Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
> >>
> >> Hello Simon,
> >>
> >> currently we use sandbox virtual addresses in all ACPI tables. This
> >> means that an application started by the U-Boot sandbox consuming these
> >> tables will crash due to accessing invalid addresses.
> >>
> >> Shouldn't the ACPI tables be migrated to use valid pointers?
> >
> > The confusion arises due to the difference between addresses and
> > pointers. If we store addresses in the ACPI tables, then things should
> > work.
> >
> > My approach has been to avoid using casts, but instead use
> > map_sysmem() and mem_to_sysmem().
> >
> > Which particular piece of code is wrong in this case?
>
> Tables DSDT, XSDT, RSDP, FADT in the sandbox contain sandbox virtual
> addresses instead of pointers to real host memory.
>
> All code referring to these tables should be changed.

I'm still not quite clear on this...can you point to functions or
lines of code? When I look at acpi_add_table() it does use memmap, but
perhaps some parts are wrong?

Regards,
Simon


More information about the U-Boot mailing list