Add new patches to fix NFIT UUIDs, GIC entries for MADT, and remove

requirement for using /dev/mem

Signed-off-by: Al Stone <ahs3@redhat.com>
This commit is contained in:
Al Stone 2015-05-29 17:06:02 -06:00
parent ba7935a924
commit 99adb10c42
4 changed files with 215 additions and 0 deletions

View File

@ -32,6 +32,9 @@ Patch5: re-enable-big-endian.patch
Patch6: OPT_LDFLAGS.patch Patch6: OPT_LDFLAGS.patch
Patch7: int-format.patch Patch7: int-format.patch
Patch8: f23-harden.patch Patch8: f23-harden.patch
Patch9: acuuid.patch
Patch10: dev-mem.patch
Patch11: arm-madt.patch
BuildRequires: bison patchutils flex BuildRequires: bison patchutils flex
@ -91,6 +94,9 @@ gzip -dc %{SOURCE1} | tar -x --strip-components=1 -f -
%patch6 -p1 -b .OPT_LDFLAGS %patch6 -p1 -b .OPT_LDFLAGS
%patch7 -p1 -b .int-format %patch7 -p1 -b .int-format
%patch8 -p1 -b .f23-harden %patch8 -p1 -b .f23-harden
%patch9 -p1 -b .acuuid
%patch10 -p1 -b .dev-mem
%patch11 -p1 -b .arm-madt
cp -p %{SOURCE2} README.Fedora cp -p %{SOURCE2} README.Fedora
cp -p %{SOURCE3} iasl.1 cp -p %{SOURCE3} iasl.1
@ -198,6 +204,9 @@ fi
* Thu May 28 2015 Al Stone <ahs3@redhat.com> - 20150515-1 * Thu May 28 2015 Al Stone <ahs3@redhat.com> - 20150515-1
- Update to latest upstream. Closes BZ#122166 - Update to latest upstream. Closes BZ#122166
- Refresh patches - Refresh patches
- Add patch from upstream for incorrect UUIDs for NFIT
- Add patch from Linaro to remove use of /dev/mem (use /sys instead)
- Add patch from upstream to correct ARM GIC entries in MADT
* Mon Apr 13 2015 Al Stone <ahs3@redhat.com> - 20150410-1 * Mon Apr 13 2015 Al Stone <ahs3@redhat.com> - 20150410-1
- Update to latest upstream. Closes BZ#1190383 - Update to latest upstream. Closes BZ#1190383

26
acuuid.patch Normal file
View File

@ -0,0 +1,26 @@
Index: acpica-unix/source/include/acuuid.h
===================================================================
--- acpica-unix.orig/source/include/acuuid.h
+++ acpica-unix/source/include/acuuid.h
@@ -52,13 +52,13 @@
/* NFIT/NVDIMM */
-#define UUID_VOLATILE_MEMORY "4F940573-DAFD-E344-B16C-3F22D252E5D0"
-#define UUID_PERSISTENT_MEMORY "79D3F066-F3B4-7440-AC43-0D3318B78CDB"
-#define UUID_CONTROL_REGION "F601F792-B413-5D40-910B-299367E8234C"
-#define UUID_DATA_REGION "3005AF91-865D-0E47-A6B0-0A2DB9408249"
-#define UUID_VOLATILE_VIRTUAL_DISK "5A53AB77-FC45-4B62-5560-F7B281D1F96E"
-#define UUID_VOLATILE_VIRTUAL_CD "30BD5A3D-7541-CE87-6D64-D2ADE523C4BB"
-#define UUID_PERSISTENT_VIRTUAL_DISK "C902EA5C-074D-69D3-269F-4496FBE096F9"
-#define UUID_PERSISTENT_VIRTUAL_CD "88810108-CD42-48BB-100F-5387D53DED3D"
+#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"
#endif /* __AUUID_H__ */

45
arm-madt.patch Normal file
View File

@ -0,0 +1,45 @@
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@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.
Thanks
Hanjun
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
--- a/source/include/actbl1.h
+++ b/source/include/actbl1.h
@@ -978,6 +978,18 @@ typedef struct acpi_madt_generic_distributor
} ACPI_MADT_GENERIC_DISTRIBUTOR;
+/* Values for Version in Generic Distributor (ACPI 6.0) */
+
+enum AcpiMadtGicVersionType
+{
+ 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) */
-- 1.9.1

135
dev-mem.patch Normal file
View File

@ -0,0 +1,135 @@
Subject: [RFC PATCH] Avoid all Linux /dev/mem accesses when -c is specified
From: Roy Franz <roy.franz@linaro.org>
Date: 05/15/2015 12:50 PM
To: linaro-uefi@lists.linaro.org, linaro-acpi@lists.linaro.org, graeme.gregory@linaro.org, al.stone@linaro.org
CC: Roy Franz <roy.franz@linaro.org>
Don't try to read the RSDP structure or RSDT/XSDT tables
from memory with the -c option. These are now provided
as files in /sysfs, and this allows acpidump to function
when /dev/mem is not available, which will be the case
for Aarch64 servers.
Signed-off-by: Roy Franz <roy.franz@linaro.org>
---
source/os_specific/service_layers/oslinuxtbl.c | 87 +++++++++++++-------------
1 file changed, 43 insertions(+), 44 deletions(-)
Index: acpica-unix/source/os_specific/service_layers/oslinuxtbl.c
===================================================================
--- acpica-unix.orig/source/os_specific/service_layers/oslinuxtbl.c
+++ acpica-unix/source/os_specific/service_layers/oslinuxtbl.c
@@ -686,70 +686,69 @@ OslTableInitialize (
return (AE_OK);
}
+ if (!Gbl_DumpCustomizedTables)
+ {
/* Get RSDP from memory */
- Status = OslLoadRsdp ();
- if (ACPI_FAILURE (Status))
- {
- return (Status);
- }
+ Status = OslLoadRsdp ();
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
- /* Get XSDT from memory */
+ /* Get XSDT from memory */
- if (Gbl_Rsdp.Revision && !Gbl_DoNotDumpXsdt)
- {
- if (Gbl_Xsdt)
+ if (Gbl_Rsdp.Revision && !Gbl_DoNotDumpXsdt)
{
- free (Gbl_Xsdt);
- Gbl_Xsdt = NULL;
+ if (Gbl_Xsdt)
+ {
+ free (Gbl_Xsdt);
+ Gbl_Xsdt = NULL;
+ }
+
+ Gbl_Revision = 2;
+ Status = OslGetBiosTable (ACPI_SIG_XSDT, 0,
+ ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Xsdt), &Address);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
}
- Gbl_Revision = 2;
- Status = OslGetBiosTable (ACPI_SIG_XSDT, 0,
- ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Xsdt), &Address);
- if (ACPI_FAILURE (Status))
+ /* Get RSDT from memory */
+
+ if (Gbl_Rsdp.RsdtPhysicalAddress)
{
- return (Status);
+ if (Gbl_Rsdt)
+ {
+ free (Gbl_Rsdt);
+ Gbl_Rsdt = NULL;
+ }
+
+ Status = OslGetBiosTable (ACPI_SIG_RSDT, 0,
+ ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Rsdt), &Address);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
}
- }
- /* Get RSDT from memory */
+ /* Get FADT from memory */
- if (Gbl_Rsdp.RsdtPhysicalAddress)
- {
- if (Gbl_Rsdt)
+ if (Gbl_Fadt)
{
- free (Gbl_Rsdt);
- Gbl_Rsdt = NULL;
+ free (Gbl_Fadt);
+ Gbl_Fadt = NULL;
}
- Status = OslGetBiosTable (ACPI_SIG_RSDT, 0,
- ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Rsdt), &Address);
+ Status = OslGetBiosTable (ACPI_SIG_FADT, 0,
+ ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Fadt), &Gbl_FadtAddress);
if (ACPI_FAILURE (Status))
{
return (Status);
}
- }
-
- /* Get FADT from memory */
-
- if (Gbl_Fadt)
- {
- free (Gbl_Fadt);
- Gbl_Fadt = NULL;
- }
- Status = OslGetBiosTable (ACPI_SIG_FADT, 0,
- ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Fadt), &Gbl_FadtAddress);
- if (ACPI_FAILURE (Status))
- {
- return (Status);
- }
-
- if (!Gbl_DumpCustomizedTables)
- {
/* Add mandatory tables to global table list first */
-
Status = OslAddTableToList (ACPI_RSDP_NAME, 0);
if (ACPI_FAILURE (Status))
{