ACPI 6.0 specified MADT generic distributor version values, but
the detail definition is missing, add its support in this patch.
Signed-off-by: Hanjun Guo <hanjun.guo(a)linaro.org>
Hi Bob, Lv,
As discussed with Lv on linux-acpi maillist, I prepared this
patch for review.
Please treat this patch as a fix for next ACPICA version and
linux kernel 4.2 material, because we still can not
use the newest ACPICA for linux when this enum is missing,
any comments are welcomed.
source/include/actbl1.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/source/include/actbl1.h b/source/include/actbl1.h
index 1c508a0..0235543 100644
@@ -1050,6 +1050,18 @@ typedef struct acpi_madt_generic_distributor
+/* Values for Version in Generic Distributor (ACPI 6.0) */
+ ACPI_MADT_GIC_VER_UNKNOWN = 0,
+ ACPI_MADT_GIC_VER_V1 = 1,
+ ACPI_MADT_GIC_VER_V2 = 2,
+ ACPI_MADT_GIC_VER_V3 = 3,
+ ACPI_MADT_GIC_VER_V4 = 4,
+ ACPI_MADT_GIC_VER_RESERVED = 5 /* 5 and greater are reserved */
/* 13: Generic MSI Frame (ACPI 5.1) */
The GUIDs were incorrectly transcribed from the ACPI specification.
Attached find the following:
1) GUID patch for the file include/acuuid.h
2) The complete acuuid.h file
The linux version of this patch will be release through the normal linux channels.
Sorry for any inconvenience.
The GUID strings for the ACPI 6.0 NFIT table were incorrect in the recent version of ACPICA (20150515). Here are the corrected strings:
/* NVDIMM - NFIT table */
#define UUID_VOLATILE_MEMORY "7305944f-fdda-44e3-b16c-3f22d252e5d0"
#define UUID_PERSISTENT_MEMORY "66f0d379-b4f3-4074-ac43-0d3318b78cdb"
#define UUID_CONTROL_REGION "92f701f6-13b4-405d-910b-299367e8234c"
#define UUID_DATA_REGION "91af0530-5d86-470e-a6b0-0a2db9408249"
#define UUID_VOLATILE_VIRTUAL_DISK "77ab535a-45fc-624b-5560-f7b281d1f96e"
#define UUID_VOLATILE_VIRTUAL_CD "3d5abd30-4175-87ce-6d64-d2ade523c4bb"
#define UUID_PERSISTENT_VIRTUAL_DISK "5cea02c9-4d07-69d3-269f-4496fbe096f9"
#define UUID_PERSISTENT_VIRTUAL_CD "08018188-42cd-bb48-100f-5387d53ded3d"
Sorry for any inconvenience.
Recently, the _REV method in ACPICA was changed to return '2' instead of '5' or '6'. This is because it was discovered that some BIOS vendors are using _REV to differentiate between Linux and Windows (Windows returns '2' and has no plans to ever change it).
In the face of this, the ACPI Working Group decided to do the following:
1) Redefine _REV to permanently return '2'
2) Deprecate the _REV method in a future revision of the ACPI specification.
This is why ACPICA was changed _REV to return '2', and why this change should be supported in Linux.
15 May 2015. Summary of changes for version 20150515:
This release is available at https://acpica.org/downloads
This release implements most of ACPI 6.0 as described below.
1) ACPICA kernel-resident subsystem:
Implemented runtime argument checking and return value checking for all new ACPI 6.0 predefined names. This includes: _BTH, _CR3, _DSD, _LPI, _MTL, _PRR, _RDI, _RST, _TFP, _TSN.
Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of the code includes the debug output trace mechanism and has a much larger code and data size.
Non-Debug Version: 99.9K Code, 27.5K Data, 127.4K Total
Debug Version: 195.2K Code, 80.8K Data, 276.0K Total
Non-Debug Version: 99.1K Code, 27.3K Data, 126.4K Total
Debug Version: 192.8K Code, 79.9K Data, 272.7K Total
2) iASL Compiler/Disassembler and Tools:
iASL compiler: Added compile-time support for all new ACPI 6.0 predefined names (argument count validation and return value typechecking.)
iASL disassembler and table compiler: implemented support for all new ACPI 6.0 tables. This includes: DRTM, IORT, LPIT, NFIT, STAO, WPBT, XENV.
iASL disassembler and table compiler: Added ACPI 6.0 changes to existing tables: FADT, MADT.
iASL preprocessor: Added a new directive to enable inclusion of binary blobs into ASL code. The new directive is #includebinary. It takes a binary file as input and emits a named ascii buffer object into the ASL code.
AcpiHelp: Added support for all new ACPI 6.0 predefined names.
AcpiHelp: Added a new option, -d, to display all iASL preprocessor directives.
AcpiHelp: Added a new option, -t, to display all known/supported ACPI tables.
I have a problem with creating AcpiDump.efi . I only can create
AcpiDump.exe with Visual Studio 2013, but I can't create efi file.
I try to do with minnowMax 078 buidable developming tree
<http://firmware.intel.com/projects/minnowboard-max>, but it don't work
beacause I got error :
c:\minmax078\acpica-master\source\tools\acpidump\acenv.h(296) : fatal error
C1189 : #error : Unknown target environment
NMAKE : fatal error U1077 : ' "C:\Program Files(x86)\Microsoft Visual
Studio 9.0\Vc\bin\cl.exe" ' : return code 0x2 '
PROBLEM : What I need to do to create the AcpiDump.efi ?