From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51175) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZQGQt-00042g-PP for qemu-devel@nongnu.org; Fri, 14 Aug 2015 10:58:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZQGQs-0005RN-KY for qemu-devel@nongnu.org; Fri, 14 Aug 2015 10:58:11 -0400 Received: from mga02.intel.com ([134.134.136.20]:37893) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZQGQs-0005QN-FE for qemu-devel@nongnu.org; Fri, 14 Aug 2015 10:58:10 -0400 From: Xiao Guangrong Date: Fri, 14 Aug 2015 22:51:55 +0800 Message-Id: <1439563931-12352-3-git-send-email-guangrong.xiao@linux.intel.com> In-Reply-To: <1439563931-12352-1-git-send-email-guangrong.xiao@linux.intel.com> References: <1439563931-12352-1-git-send-email-guangrong.xiao@linux.intel.com> Subject: [Qemu-devel] [PATCH v2 02/18] i386/acpi-build: allow SSDT to operate on 64 bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: pbonzini@redhat.com, imammedo@redhat.com Cc: Xiao Guangrong , ehabkost@redhat.com, kvm@vger.kernel.org, mst@redhat.com, gleb@kernel.org, mtosatti@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, rth@twiddle.net Only 512M is left for MMIO below 4G and that are used by PCI, BIOS etc. Other components also reserve regions from their internal usage, e.g, [0xFED00000, 0xFED00000 + 0x400) is reserved for HPET Switch SSDT to 64 bit to use the huge free room above 4G. In the later patches, we will dynamical allocate free space within this region which is used by NVDIMM _DSM method Signed-off-by: Xiao Guangrong --- hw/i386/acpi-build.c | 4 ++-- hw/i386/acpi-dsdt.dsl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 46eddb8..8ead1c1 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -1348,7 +1348,7 @@ build_ssdt(GArray *table_data, GArray *linker, g_array_append_vals(table_data, ssdt->buf->data, ssdt->buf->len); build_header(linker, table_data, (void *)(table_data->data + table_data->len - ssdt->buf->len), - "SSDT", ssdt->buf->len, 1); + "SSDT", ssdt->buf->len, 2); free_aml_allocator(); } @@ -1586,7 +1586,7 @@ build_dsdt(GArray *table_data, GArray *linker, AcpiMiscInfo *misc) memset(dsdt, 0, sizeof *dsdt); build_header(linker, table_data, dsdt, "DSDT", - misc->dsdt_size, 1); + misc->dsdt_size, 2); } static GArray * diff --git a/hw/i386/acpi-dsdt.dsl b/hw/i386/acpi-dsdt.dsl index a2d84ec..5cd3f0e 100644 --- a/hw/i386/acpi-dsdt.dsl +++ b/hw/i386/acpi-dsdt.dsl @@ -22,7 +22,7 @@ ACPI_EXTRACT_ALL_CODE AcpiDsdtAmlCode DefinitionBlock ( "acpi-dsdt.aml", // Output Filename "DSDT", // Signature - 0x01, // DSDT Compliance Revision + 0x02, // DSDT Compliance Revision "BXPC", // OEMID "BXDSDT", // TABLE ID 0x1 // OEM Revision -- 2.4.3