Am 25. Februar 2025 00:06:28 MEZ schrieb Simon Glass <s...@chromium.org>:
>The values in the FADT are pointers so should not go through sandbox's
>normal addr<->pointer mapping. Fix this.
>
>Signed-off-by: Simon Glass <s...@chromium.org>
>---
>
>Changes in v3:
>- Add new patch to correct mapping in FADT
>
> cmd/acpi.c            | 2 +-
> lib/acpi/acpi_table.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
>diff --git a/cmd/acpi.c b/cmd/acpi.c
>index 094d9d4e858..2273176f106 100644
>--- a/cmd/acpi.c
>+++ b/cmd/acpi.c
>@@ -58,7 +58,7 @@ static void list_fadt(struct acpi_fadt *fadt)
>               dump_hdr(nomap_sysmem(fadt->x_dsdt, 0));
>       else if (fadt->dsdt)
>               dump_hdr(nomap_sysmem(fadt->dsdt, 0));
>-      if (!IS_ENABLED(CONFIG_X86) &&
>+      if (!IS_ENABLED(CONFIG_X86) && !IS_ENABLED(CONFIG_SANDBOX) &&

This looks like an unrelated change.

Best regards

Heinrich


>           !(fadt->flags & ACPI_FADT_HW_REDUCED_ACPI))
>               log_err("FADT not ACPI-hardware-reduced-compliant\n");
>       if (fadt->header.revision >= 3 && fadt->x_firmware_ctrl)
>diff --git a/lib/acpi/acpi_table.c b/lib/acpi/acpi_table.c
>index 150f75027a5..3805b61159e 100644
>--- a/lib/acpi/acpi_table.c
>+++ b/lib/acpi/acpi_table.c
>@@ -255,8 +255,8 @@ int acpi_write_fadt(struct acpi_ctx *ctx, const struct 
>acpi_writer *entry)
>       header->creator_revision = 1;
>       fadt->minor_revision = 2;
> 
>-      fadt->x_firmware_ctrl = map_to_sysmem(ctx->facs);
>-      fadt->x_dsdt = map_to_sysmem(ctx->dsdt);
>+      fadt->x_firmware_ctrl = nomap_to_sysmem(ctx->facs);
>+      fadt->x_dsdt = nomap_to_sysmem(ctx->dsdt);
> 
>       if (fadt->x_firmware_ctrl < 0x100000000ULL)
>               fadt->firmware_ctrl = fadt->x_firmware_ctrl;

Reply via email to