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>
---

(no changes since v4)

Changes in v4:
- Split out the command change into a separate patch

Changes in v3:
- Add new patch to correct mapping in FADT

 lib/acpi/acpi_table.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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;
-- 
2.43.0

Reply via email to