[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] RFC: altering the NVDIMM acpi table
From: |
Schmauss, Erik |
Subject: |
[Qemu-devel] RFC: altering the NVDIMM acpi table |
Date: |
Mon, 23 Apr 2018 20:35:45 +0000 |
Hello,
I work on ACPICA and we have recently made changes to the behavior of
the Linux AML interpreter to match other OS implementations. After
sending the patches to upstream Linux, we have identified that
hw/acpi/nvdimm.c specifies an ACPI table with a forward reference
(MEMA is a forward reference that is no longer supported as of Linux
4.17-rc1).
We would like to change this file to move the declaration of Name
(MEMA,...) to appear as the very first declaration in the SSDT. Below is a
patch outlining the change that I would like to make.
However, I am having a hard time getting make check to run
to completion in a reasonable amount of time. It always seems to fail
on some sort of checksum test... It would be great if you could let me
know what you think of the change and what I can do to speed up the
execution time of make check...
Thanks,
Erik Schmauss
diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c
index 59d6e4254c..7c9efd9ac7 100644
--- a/hw/acpi/nvdimm.c
+++ b/hw/acpi/nvdimm.c
@@ -1234,6 +1234,9 @@ static void nvdimm_build_ssdt(GArray *table_offsets,
GArray *table_data,
ssdt = init_aml_allocator();
acpi_data_push(ssdt->buf, sizeof(AcpiTableHeader));
+ mem_addr_offset = build_append_named_dword(table_data,
+ NVDIMM_ACPI_MEM_ADDR);
+
sb_scope = aml_scope("\\_SB");
dev = aml_device("NVDR");
@@ -1266,9 +1269,6 @@ static void nvdimm_build_ssdt(GArray *table_offsets,
GArray *table_data,
/* copy AML table into ACPI tables blob and patch header there */
g_array_append_vals(table_data, ssdt->buf->data, ssdt->buf->len);
- mem_addr_offset = build_append_named_dword(table_data,
- NVDIMM_ACPI_MEM_ADDR);
-
bios_linker_loader_alloc(linker,
NVDIMM_DSM_MEM_FILE, dsm_dma_arrea,
sizeof(NvdimmDsmIn), false /* high memory */);
- [Qemu-devel] RFC: altering the NVDIMM acpi table,
Schmauss, Erik <=