qemu-devel
[Top][All Lists]
Advanced

[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 */);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]