aboutsummaryrefslogtreecommitdiff
path: root/source/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'source/compiler')
-rw-r--r--source/compiler/aslallocate.c2
-rw-r--r--source/compiler/aslanalyze.c2
-rw-r--r--source/compiler/aslascii.c2
-rw-r--r--source/compiler/aslbtypes.c2
-rw-r--r--source/compiler/aslcache.c5
-rw-r--r--source/compiler/aslcodegen.c2
-rw-r--r--source/compiler/aslcompile.c2
-rw-r--r--source/compiler/aslcompiler.h2
-rw-r--r--source/compiler/aslcompiler.l2
-rw-r--r--source/compiler/aslcstyle.y2
-rw-r--r--source/compiler/asldebug.c2
-rw-r--r--source/compiler/asldefine.h2
-rw-r--r--source/compiler/aslerror.c2
-rw-r--r--source/compiler/aslexternal.c2
-rw-r--r--source/compiler/aslfileio.c2
-rw-r--r--source/compiler/aslfiles.c2
-rw-r--r--source/compiler/aslfold.c2
-rw-r--r--source/compiler/aslglobal.h2
-rw-r--r--source/compiler/aslhelp.c2
-rw-r--r--source/compiler/aslhelpers.y2
-rw-r--r--source/compiler/aslhex.c2
-rw-r--r--source/compiler/aslkeywords.y2
-rw-r--r--source/compiler/asllength.c2
-rw-r--r--source/compiler/asllisting.c2
-rw-r--r--source/compiler/asllistsup.c2
-rw-r--r--source/compiler/aslload.c2
-rw-r--r--source/compiler/asllookup.c2
-rw-r--r--source/compiler/aslmain.c2
-rw-r--r--source/compiler/aslmap.c2
-rw-r--r--source/compiler/aslmapenter.c2
-rw-r--r--source/compiler/aslmapoutput.c2
-rw-r--r--source/compiler/aslmaputils.c2
-rw-r--r--source/compiler/aslmessages.c2
-rw-r--r--source/compiler/aslmessages.h2
-rw-r--r--source/compiler/aslmethod.c8
-rw-r--r--source/compiler/aslnamesp.c2
-rw-r--r--source/compiler/asloffset.c2
-rw-r--r--source/compiler/aslopcodes.c2
-rw-r--r--source/compiler/asloperands.c2
-rw-r--r--source/compiler/aslopt.c2
-rw-r--r--source/compiler/asloptions.c2
-rw-r--r--source/compiler/aslparseop.c2
-rw-r--r--source/compiler/aslparser.y2
-rw-r--r--source/compiler/aslpld.c2
-rw-r--r--source/compiler/aslpredef.c2
-rw-r--r--source/compiler/aslprepkg.c2
-rw-r--r--source/compiler/aslprimaries.y2
-rw-r--r--source/compiler/aslprintf.c6
-rw-r--r--source/compiler/aslprune.c2
-rw-r--r--source/compiler/aslresource.c2
-rw-r--r--source/compiler/aslresources.y2
-rw-r--r--source/compiler/aslrestype1.c2
-rw-r--r--source/compiler/aslrestype1i.c2
-rw-r--r--source/compiler/aslrestype2.c2
-rw-r--r--source/compiler/aslrestype2d.c2
-rw-r--r--source/compiler/aslrestype2e.c2
-rw-r--r--source/compiler/aslrestype2q.c2
-rw-r--r--source/compiler/aslrestype2s.c2
-rw-r--r--source/compiler/aslrestype2w.c2
-rw-r--r--source/compiler/aslrules.y2
-rw-r--r--source/compiler/aslstartup.c2
-rw-r--r--source/compiler/aslstubs.c2
-rw-r--r--source/compiler/aslsupport.l2
-rw-r--r--source/compiler/aslsupport.y2
-rw-r--r--source/compiler/asltokens.y2
-rw-r--r--source/compiler/asltransform.c2
-rw-r--r--source/compiler/asltree.c2
-rw-r--r--source/compiler/asltypes.h2
-rw-r--r--source/compiler/asltypes.y2
-rw-r--r--source/compiler/aslutils.c2
-rw-r--r--source/compiler/asluuid.c2
-rw-r--r--source/compiler/aslwalks.c2
-rw-r--r--source/compiler/aslxref.c2
-rw-r--r--source/compiler/aslxrefout.c2
-rw-r--r--source/compiler/cvcompiler.c2
-rw-r--r--source/compiler/cvdisasm.c2
-rw-r--r--source/compiler/cvparser.c2
-rw-r--r--source/compiler/dtcompile.c2
-rw-r--r--source/compiler/dtcompiler.h17
-rw-r--r--source/compiler/dtcompilerparser.l2
-rw-r--r--source/compiler/dtcompilerparser.y2
-rw-r--r--source/compiler/dtexpress.c2
-rw-r--r--source/compiler/dtfield.c2
-rw-r--r--source/compiler/dtio.c8
-rw-r--r--source/compiler/dtparser.l2
-rw-r--r--source/compiler/dtparser.y2
-rw-r--r--source/compiler/dtsubtable.c2
-rw-r--r--source/compiler/dttable.c2
-rw-r--r--source/compiler/dttable1.c517
-rw-r--r--source/compiler/dttable2.c53
-rw-r--r--source/compiler/dttemplate.c2
-rw-r--r--source/compiler/dttemplate.h267
-rw-r--r--source/compiler/dtutils.c21
-rw-r--r--source/compiler/preprocess.h2
-rw-r--r--source/compiler/prexpress.c2
-rw-r--r--source/compiler/prmacros.c2
-rw-r--r--source/compiler/prparser.l2
-rw-r--r--source/compiler/prparser.y2
-rw-r--r--source/compiler/prscan.c2
-rw-r--r--source/compiler/prutils.c4
100 files changed, 973 insertions, 113 deletions
diff --git a/source/compiler/aslallocate.c b/source/compiler/aslallocate.c
index 63b5680c6d8e..980af908e649 100644
--- a/source/compiler/aslallocate.c
+++ b/source/compiler/aslallocate.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslanalyze.c b/source/compiler/aslanalyze.c
index d1058fa847ba..78b6279ffd65 100644
--- a/source/compiler/aslanalyze.c
+++ b/source/compiler/aslanalyze.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslascii.c b/source/compiler/aslascii.c
index 51b1379fa8e7..7775c3877dd6 100644
--- a/source/compiler/aslascii.c
+++ b/source/compiler/aslascii.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslbtypes.c b/source/compiler/aslbtypes.c
index ee93f68e560a..d1674daaef1b 100644
--- a/source/compiler/aslbtypes.c
+++ b/source/compiler/aslbtypes.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslcache.c b/source/compiler/aslcache.c
index d3fddfea5721..094c6422c1b8 100644
--- a/source/compiler/aslcache.c
+++ b/source/compiler/aslcache.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -210,7 +210,8 @@ UtLocalCacheCalloc (
}
}
- if ((AslGbl_StringCacheNext + Length) >= AslGbl_StringCacheLast)
+ if ((!AslGbl_StringCacheNext) ||
+ ((AslGbl_StringCacheNext + Length) >= AslGbl_StringCacheLast))
{
/* Allocate a new buffer */
diff --git a/source/compiler/aslcodegen.c b/source/compiler/aslcodegen.c
index e8ee2554a1fe..caaf983aea5d 100644
--- a/source/compiler/aslcodegen.c
+++ b/source/compiler/aslcodegen.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslcompile.c b/source/compiler/aslcompile.c
index 3b7b2ad15beb..2d05bc88588f 100644
--- a/source/compiler/aslcompile.c
+++ b/source/compiler/aslcompile.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslcompiler.h b/source/compiler/aslcompiler.h
index 45c12fb2c6eb..7fc16401202b 100644
--- a/source/compiler/aslcompiler.h
+++ b/source/compiler/aslcompiler.h
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslcompiler.l b/source/compiler/aslcompiler.l
index 25e2d9abe378..e3fbf504e9ee 100644
--- a/source/compiler/aslcompiler.l
+++ b/source/compiler/aslcompiler.l
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslcstyle.y b/source/compiler/aslcstyle.y
index c13d35a6fd48..59a1abea1bee 100644
--- a/source/compiler/aslcstyle.y
+++ b/source/compiler/aslcstyle.y
@@ -9,7 +9,7 @@ NoEcho('
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asldebug.c b/source/compiler/asldebug.c
index 21601b33c185..dc37941de414 100644
--- a/source/compiler/asldebug.c
+++ b/source/compiler/asldebug.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asldefine.h b/source/compiler/asldefine.h
index ab08c5f4c1a5..89b6b8a69956 100644
--- a/source/compiler/asldefine.h
+++ b/source/compiler/asldefine.h
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslerror.c b/source/compiler/aslerror.c
index 088df5d36eec..69ec08c48489 100644
--- a/source/compiler/aslerror.c
+++ b/source/compiler/aslerror.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslexternal.c b/source/compiler/aslexternal.c
index 8355924696f7..617865410908 100644
--- a/source/compiler/aslexternal.c
+++ b/source/compiler/aslexternal.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslfileio.c b/source/compiler/aslfileio.c
index 2e62a588181c..a793952e4d9e 100644
--- a/source/compiler/aslfileio.c
+++ b/source/compiler/aslfileio.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslfiles.c b/source/compiler/aslfiles.c
index 30cf8e3f067e..e861fb042f8b 100644
--- a/source/compiler/aslfiles.c
+++ b/source/compiler/aslfiles.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslfold.c b/source/compiler/aslfold.c
index 01001ad5edef..ac6778937d9a 100644
--- a/source/compiler/aslfold.c
+++ b/source/compiler/aslfold.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslglobal.h b/source/compiler/aslglobal.h
index 78527fd96940..c79758919f6f 100644
--- a/source/compiler/aslglobal.h
+++ b/source/compiler/aslglobal.h
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslhelp.c b/source/compiler/aslhelp.c
index 5ef400d1528c..8761d3269cb9 100644
--- a/source/compiler/aslhelp.c
+++ b/source/compiler/aslhelp.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslhelpers.y b/source/compiler/aslhelpers.y
index 931f29870728..cb13d1ebcfe7 100644
--- a/source/compiler/aslhelpers.y
+++ b/source/compiler/aslhelpers.y
@@ -9,7 +9,7 @@ NoEcho('
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslhex.c b/source/compiler/aslhex.c
index c0c8ddf8f338..6ab28ed5f720 100644
--- a/source/compiler/aslhex.c
+++ b/source/compiler/aslhex.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslkeywords.y b/source/compiler/aslkeywords.y
index ab924c30630a..7cb670e61bfb 100644
--- a/source/compiler/aslkeywords.y
+++ b/source/compiler/aslkeywords.y
@@ -9,7 +9,7 @@ NoEcho('
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asllength.c b/source/compiler/asllength.c
index 0a3c975d4b52..305e869c410c 100644
--- a/source/compiler/asllength.c
+++ b/source/compiler/asllength.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asllisting.c b/source/compiler/asllisting.c
index b4b1863d8346..27800e053fad 100644
--- a/source/compiler/asllisting.c
+++ b/source/compiler/asllisting.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asllistsup.c b/source/compiler/asllistsup.c
index 5c036e18037a..5a6e372f3693 100644
--- a/source/compiler/asllistsup.c
+++ b/source/compiler/asllistsup.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslload.c b/source/compiler/aslload.c
index 310e797199d6..4b969ccbbc2a 100644
--- a/source/compiler/aslload.c
+++ b/source/compiler/aslload.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asllookup.c b/source/compiler/asllookup.c
index 69256d24e5ae..702a0a1e86e2 100644
--- a/source/compiler/asllookup.c
+++ b/source/compiler/asllookup.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslmain.c b/source/compiler/aslmain.c
index b7bcaf0233ab..722c2ba3e85c 100644
--- a/source/compiler/aslmain.c
+++ b/source/compiler/aslmain.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslmap.c b/source/compiler/aslmap.c
index d3b9ecac6217..cc57f0fb96fa 100644
--- a/source/compiler/aslmap.c
+++ b/source/compiler/aslmap.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslmapenter.c b/source/compiler/aslmapenter.c
index ef5e7c125458..c6d0a5973d53 100644
--- a/source/compiler/aslmapenter.c
+++ b/source/compiler/aslmapenter.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslmapoutput.c b/source/compiler/aslmapoutput.c
index 674c89a01ba5..a0337ebca912 100644
--- a/source/compiler/aslmapoutput.c
+++ b/source/compiler/aslmapoutput.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslmaputils.c b/source/compiler/aslmaputils.c
index 1873d2ad048f..bb0003affdd7 100644
--- a/source/compiler/aslmaputils.c
+++ b/source/compiler/aslmaputils.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslmessages.c b/source/compiler/aslmessages.c
index e9c1ecb4f462..eaabf6cc7922 100644
--- a/source/compiler/aslmessages.c
+++ b/source/compiler/aslmessages.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslmessages.h b/source/compiler/aslmessages.h
index b7e670dc1a55..dc0bbe10bd0d 100644
--- a/source/compiler/aslmessages.h
+++ b/source/compiler/aslmessages.h
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslmethod.c b/source/compiler/aslmethod.c
index 79b7137e7209..0e9df4c9607d 100644
--- a/source/compiler/aslmethod.c
+++ b/source/compiler/aslmethod.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -546,9 +546,9 @@ MtMethodAnalysisWalkBegin (
else if (HidExists && AdrExists)
{
/*
- * According to the ACPI spec, "A device object must contain
- * either an _HID object or an _ADR object, but should not contain
- * both".
+ * "A device object must contain either an _HID object or
+ * an _ADR object, but must not contain both".
+ * (ACPI spec 6.3, Errata A Section 6.1, page 327)
*/
AslError (ASL_WARNING, ASL_MSG_MULTIPLE_TYPES, Op,
"Device object requires either a _HID or _ADR, but not both");
diff --git a/source/compiler/aslnamesp.c b/source/compiler/aslnamesp.c
index 1f68dface693..88cfa5238720 100644
--- a/source/compiler/aslnamesp.c
+++ b/source/compiler/aslnamesp.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asloffset.c b/source/compiler/asloffset.c
index 276472ae96ec..24c778f334e6 100644
--- a/source/compiler/asloffset.c
+++ b/source/compiler/asloffset.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslopcodes.c b/source/compiler/aslopcodes.c
index abfd9414914a..250bdd7fc99c 100644
--- a/source/compiler/aslopcodes.c
+++ b/source/compiler/aslopcodes.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asloperands.c b/source/compiler/asloperands.c
index d6fffbf980f5..327aef15dcff 100644
--- a/source/compiler/asloperands.c
+++ b/source/compiler/asloperands.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslopt.c b/source/compiler/aslopt.c
index fd1fd21d1b74..2172fe9090a3 100644
--- a/source/compiler/aslopt.c
+++ b/source/compiler/aslopt.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asloptions.c b/source/compiler/asloptions.c
index 4b8d7f1c6e89..b529538e2efc 100644
--- a/source/compiler/asloptions.c
+++ b/source/compiler/asloptions.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslparseop.c b/source/compiler/aslparseop.c
index e415e101f906..e89702aa6b4e 100644
--- a/source/compiler/aslparseop.c
+++ b/source/compiler/aslparseop.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslparser.y b/source/compiler/aslparser.y
index 0161c6cad9b3..3ff5eb1a9d3e 100644
--- a/source/compiler/aslparser.y
+++ b/source/compiler/aslparser.y
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslpld.c b/source/compiler/aslpld.c
index a123544a07d0..086db9df2f3c 100644
--- a/source/compiler/aslpld.c
+++ b/source/compiler/aslpld.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslpredef.c b/source/compiler/aslpredef.c
index 888ecc28650e..474fddeca51d 100644
--- a/source/compiler/aslpredef.c
+++ b/source/compiler/aslpredef.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslprepkg.c b/source/compiler/aslprepkg.c
index ea4dcb635afb..49078d24491e 100644
--- a/source/compiler/aslprepkg.c
+++ b/source/compiler/aslprepkg.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslprimaries.y b/source/compiler/aslprimaries.y
index b3f9b3dd160a..608009d30da3 100644
--- a/source/compiler/aslprimaries.y
+++ b/source/compiler/aslprimaries.y
@@ -11,7 +11,7 @@ NoEcho('
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslprintf.c b/source/compiler/aslprintf.c
index d11b17ca67d1..3727c41f28b0 100644
--- a/source/compiler/aslprintf.c
+++ b/source/compiler/aslprintf.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -294,7 +294,7 @@ OpcParsePrintf (
if (StringToProcess)
{
NewString = UtLocalCacheCalloc (StringLength + 1);
- strncpy (NewString, StartPosition, StringLength);
+ memcpy (NewString, StartPosition, StringLength);
NewOp = TrAllocateOp (PARSEOP_STRING_LITERAL);
NewOp->Asl.Value.String = NewString;
@@ -383,7 +383,7 @@ OpcParsePrintf (
if (StringToProcess)
{
NewString = UtLocalCacheCalloc (StringLength + 1);
- strncpy (NewString, StartPosition, StringLength);
+ memcpy (NewString, StartPosition, StringLength);
NewOp = TrAllocateOp (PARSEOP_STRING_LITERAL);
NewOp->Asl.Value.String = NewString;
diff --git a/source/compiler/aslprune.c b/source/compiler/aslprune.c
index 6d4233f0db0e..839ed9415ba5 100644
--- a/source/compiler/aslprune.c
+++ b/source/compiler/aslprune.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslresource.c b/source/compiler/aslresource.c
index 4fed02ae7a0e..8d0b711d52dc 100644
--- a/source/compiler/aslresource.c
+++ b/source/compiler/aslresource.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslresources.y b/source/compiler/aslresources.y
index 16a70b900297..fd8a33d3c0d6 100644
--- a/source/compiler/aslresources.y
+++ b/source/compiler/aslresources.y
@@ -11,7 +11,7 @@ NoEcho('
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslrestype1.c b/source/compiler/aslrestype1.c
index 9ed61f5c83ea..c5eb17948fae 100644
--- a/source/compiler/aslrestype1.c
+++ b/source/compiler/aslrestype1.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslrestype1i.c b/source/compiler/aslrestype1i.c
index 640edfebbce2..ca8b76af40d4 100644
--- a/source/compiler/aslrestype1i.c
+++ b/source/compiler/aslrestype1i.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslrestype2.c b/source/compiler/aslrestype2.c
index 8886ff1a7bbd..2886c0328cd8 100644
--- a/source/compiler/aslrestype2.c
+++ b/source/compiler/aslrestype2.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslrestype2d.c b/source/compiler/aslrestype2d.c
index b7eb085e2fef..f16f53f3b14d 100644
--- a/source/compiler/aslrestype2d.c
+++ b/source/compiler/aslrestype2d.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslrestype2e.c b/source/compiler/aslrestype2e.c
index 7726576c9bf5..0ad2ac49c5ac 100644
--- a/source/compiler/aslrestype2e.c
+++ b/source/compiler/aslrestype2e.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslrestype2q.c b/source/compiler/aslrestype2q.c
index 1b0334f137ad..33a66c1e8b0a 100644
--- a/source/compiler/aslrestype2q.c
+++ b/source/compiler/aslrestype2q.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslrestype2s.c b/source/compiler/aslrestype2s.c
index c4c2ad063fc1..d9e55541d995 100644
--- a/source/compiler/aslrestype2s.c
+++ b/source/compiler/aslrestype2s.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslrestype2w.c b/source/compiler/aslrestype2w.c
index 1173b676e752..0d95d6628dc5 100644
--- a/source/compiler/aslrestype2w.c
+++ b/source/compiler/aslrestype2w.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslrules.y b/source/compiler/aslrules.y
index 65a293b5201b..c96d4cc75db6 100644
--- a/source/compiler/aslrules.y
+++ b/source/compiler/aslrules.y
@@ -11,7 +11,7 @@ NoEcho('
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslstartup.c b/source/compiler/aslstartup.c
index 2c544915271c..104f9793be26 100644
--- a/source/compiler/aslstartup.c
+++ b/source/compiler/aslstartup.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslstubs.c b/source/compiler/aslstubs.c
index 2c442b6de2c6..d361986078be 100644
--- a/source/compiler/aslstubs.c
+++ b/source/compiler/aslstubs.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslsupport.l b/source/compiler/aslsupport.l
index 6fee71949ec3..74ac78d8c4ef 100644
--- a/source/compiler/aslsupport.l
+++ b/source/compiler/aslsupport.l
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslsupport.y b/source/compiler/aslsupport.y
index 1d033e304315..3bd09a55e704 100644
--- a/source/compiler/aslsupport.y
+++ b/source/compiler/aslsupport.y
@@ -9,7 +9,7 @@ NoEcho('
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asltokens.y b/source/compiler/asltokens.y
index b7a4c2d96144..50d6031e5ed0 100644
--- a/source/compiler/asltokens.y
+++ b/source/compiler/asltokens.y
@@ -9,7 +9,7 @@ NoEcho('
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asltransform.c b/source/compiler/asltransform.c
index f3dc291fe9a7..0a29287176a2 100644
--- a/source/compiler/asltransform.c
+++ b/source/compiler/asltransform.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asltree.c b/source/compiler/asltree.c
index 0246b4c5bb5b..83a95be0793b 100644
--- a/source/compiler/asltree.c
+++ b/source/compiler/asltree.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asltypes.h b/source/compiler/asltypes.h
index c3ac17cbf6dd..50234d71f0a7 100644
--- a/source/compiler/asltypes.h
+++ b/source/compiler/asltypes.h
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asltypes.y b/source/compiler/asltypes.y
index 5e104d828334..2c2669559585 100644
--- a/source/compiler/asltypes.y
+++ b/source/compiler/asltypes.y
@@ -9,7 +9,7 @@ NoEcho('
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslutils.c b/source/compiler/aslutils.c
index d7274a72161c..6c7e472ab2e7 100644
--- a/source/compiler/aslutils.c
+++ b/source/compiler/aslutils.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/asluuid.c b/source/compiler/asluuid.c
index 8fcb9fa5583a..155dec7dd5ce 100644
--- a/source/compiler/asluuid.c
+++ b/source/compiler/asluuid.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslwalks.c b/source/compiler/aslwalks.c
index 6edf32848280..16ba00652f9b 100644
--- a/source/compiler/aslwalks.c
+++ b/source/compiler/aslwalks.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslxref.c b/source/compiler/aslxref.c
index e69560759f43..82d3e8c06c57 100644
--- a/source/compiler/aslxref.c
+++ b/source/compiler/aslxref.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/aslxrefout.c b/source/compiler/aslxrefout.c
index 5467e3632229..6e2cfe47acb7 100644
--- a/source/compiler/aslxrefout.c
+++ b/source/compiler/aslxrefout.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/cvcompiler.c b/source/compiler/cvcompiler.c
index 620d92380f96..b9057919984b 100644
--- a/source/compiler/cvcompiler.c
+++ b/source/compiler/cvcompiler.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/cvdisasm.c b/source/compiler/cvdisasm.c
index 033f6a6b56b1..be1ff6664726 100644
--- a/source/compiler/cvdisasm.c
+++ b/source/compiler/cvdisasm.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/cvparser.c b/source/compiler/cvparser.c
index ead2797dd438..3a08fe4aae2e 100644
--- a/source/compiler/cvparser.c
+++ b/source/compiler/cvparser.c
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dtcompile.c b/source/compiler/dtcompile.c
index a2fbe114ad2f..e23d98d4c631 100644
--- a/source/compiler/dtcompile.c
+++ b/source/compiler/dtcompile.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dtcompiler.h b/source/compiler/dtcompiler.h
index fcb21d67e989..c3b87769573f 100644
--- a/source/compiler/dtcompiler.h
+++ b/source/compiler/dtcompiler.h
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -614,6 +614,10 @@ DtCompileEinj (
void **PFieldList);
ACPI_STATUS
+DtCompileErdt (
+ void **PFieldList);
+
+ACPI_STATUS
DtCompileErst (
void **PFieldList);
@@ -666,6 +670,10 @@ DtCompileMpst (
void **PFieldList);
ACPI_STATUS
+DtCompileMrrm (
+ void **PFieldList);
+
+ACPI_STATUS
DtCompileMsct (
void **PFieldList);
@@ -710,6 +718,10 @@ DtCompileRhct (
void **PFieldList);
ACPI_STATUS
+DtCompileRimt (
+ void **PFieldList);
+
+ACPI_STATUS
DtCompileRsdt (
void **PFieldList);
@@ -801,6 +813,7 @@ extern const unsigned char TemplateDmar[];
extern const unsigned char TemplateDrtm[];
extern const unsigned char TemplateEcdt[];
extern const unsigned char TemplateEinj[];
+extern const unsigned char TemplateErdt[];
extern const unsigned char TemplateErst[];
extern const unsigned char TemplateFadt[];
extern const unsigned char TemplateFpdt[];
@@ -816,6 +829,7 @@ extern const unsigned char TemplateMcfg[];
extern const unsigned char TemplateMchi[];
extern const unsigned char TemplateMpam[];
extern const unsigned char TemplateMpst[];
+extern const unsigned char TemplateMrrm[];
extern const unsigned char TemplateMsct[];
extern const unsigned char TemplateMsdm[];
extern const unsigned char TemplateNfit[];
@@ -829,6 +843,7 @@ extern const unsigned char TemplateRasf[];
extern const unsigned char TemplateRas2[];
extern const unsigned char TemplateRgrt[];
extern const unsigned char TemplateRhct[];
+extern const unsigned char TemplateRimt[];
extern const unsigned char TemplateRsdt[];
extern const unsigned char TemplateS3pt[];
extern const unsigned char TemplateSbst[];
diff --git a/source/compiler/dtcompilerparser.l b/source/compiler/dtcompilerparser.l
index e81d64da2210..ac99efb5ffcc 100644
--- a/source/compiler/dtcompilerparser.l
+++ b/source/compiler/dtcompilerparser.l
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dtcompilerparser.y b/source/compiler/dtcompilerparser.y
index 86f22d997c13..7fa06fe52b15 100644
--- a/source/compiler/dtcompilerparser.y
+++ b/source/compiler/dtcompilerparser.y
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dtexpress.c b/source/compiler/dtexpress.c
index 0895be74e09f..c981a49f753c 100644
--- a/source/compiler/dtexpress.c
+++ b/source/compiler/dtexpress.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dtfield.c b/source/compiler/dtfield.c
index 7d1df16bae39..3942de55f4f3 100644
--- a/source/compiler/dtfield.c
+++ b/source/compiler/dtfield.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dtio.c b/source/compiler/dtio.c
index 7883095af443..2ee882a1ec2b 100644
--- a/source/compiler/dtio.c
+++ b/source/compiler/dtio.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -285,7 +285,7 @@ DtTrim (
ReturnString = UtLocalCacheCalloc (Length + 1);
if (strlen (Start))
{
- strncpy (ReturnString, Start, Length);
+ memcpy (ReturnString, Start, Length);
}
ReturnString[Length] = 0;
@@ -377,7 +377,7 @@ DtParseLine (
Length = ACPI_PTR_DIFF (End, Start);
TmpName = UtLocalCalloc (Length + 1);
- strncpy (TmpName, Start, Length);
+ memcpy (TmpName, Start, Length);
Name = DtTrim (TmpName);
ACPI_FREE (TmpName);
@@ -425,7 +425,7 @@ DtParseLine (
Length = ACPI_PTR_DIFF (End, Start);
TmpValue = UtLocalCalloc (Length + 1);
- strncpy (TmpValue, Start, Length);
+ memcpy (TmpValue, Start, Length);
Value = DtTrim (TmpValue);
ACPI_FREE (TmpValue);
diff --git a/source/compiler/dtparser.l b/source/compiler/dtparser.l
index 6fa938a308a4..d0dc97723e0d 100644
--- a/source/compiler/dtparser.l
+++ b/source/compiler/dtparser.l
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dtparser.y b/source/compiler/dtparser.y
index 6cc272c534c9..2f01f06e4f04 100644
--- a/source/compiler/dtparser.y
+++ b/source/compiler/dtparser.y
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dtsubtable.c b/source/compiler/dtsubtable.c
index cc3784a54686..1735a6329577 100644
--- a/source/compiler/dtsubtable.c
+++ b/source/compiler/dtsubtable.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dttable.c b/source/compiler/dttable.c
index 3ff92af29509..d28d5d8ce8ef 100644
--- a/source/compiler/dttable.c
+++ b/source/compiler/dttable.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dttable1.c b/source/compiler/dttable1.c
index 0f68f61e831d..6ceaf135d229 100644
--- a/source/compiler/dttable1.c
+++ b/source/compiler/dttable1.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -1507,6 +1507,11 @@ DtCompileDmar (
InfoTable = AcpiDmTableInfoDmar5;
break;
+ case ACPI_DMAR_TYPE_SIDP:
+
+ InfoTable = AcpiDmTableInfoDmar6;
+ break;
+
default:
DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "DMAR");
@@ -1748,6 +1753,265 @@ DtCompileEinj (
/******************************************************************************
*
+ * FUNCTION: DtCompileErdt
+ *
+ * PARAMETERS: List - Current field list pointer
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Compile ERST. Complex table with subtables and subsubtables.
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+DtCompileErdt (
+ void **List)
+{
+ ACPI_STATUS Status;
+ DT_SUBTABLE *Subtable, *RmddSubtable = NULL, *Subsubtable;
+ DT_SUBTABLE *ParentTable;
+ DT_FIELD **PFieldList = (DT_FIELD **) List;
+ DT_FIELD *SubtableStart;
+ ACPI_SUBTBL_HDR_16 *ErdtHeader;
+ ACPI_DMTABLE_INFO *InfoTable;
+ ACPI_ERDT_MMRC *Mmrc;
+ ACPI_ERDT_IBRD *Ibrd;
+ UINT32 NumEntries;
+ BOOLEAN SeenRmdd = FALSE;
+ BOOLEAN SeenSubtable = FALSE;
+
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoErdt,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ ParentTable = DtPeekSubtable ();
+ DtInsertSubtable (ParentTable, Subtable);
+
+ while (*PFieldList)
+ {
+ SubtableStart = *PFieldList;
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoErdtHdr,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ ErdtHeader = ACPI_CAST_PTR (ACPI_SUBTBL_HDR_16, Subtable->Buffer);
+
+ /* RMDD tables at top level. All others are subtables of preceeding RMDD */
+ if (ErdtHeader->Type == ACPI_ERDT_TYPE_RMDD)
+ {
+ if (SeenRmdd && SeenSubtable)
+ DtPopSubtable ();
+ SeenRmdd = TRUE;
+ SeenSubtable = FALSE;
+ RmddSubtable = Subtable;
+ }
+ else
+ {
+ if (!SeenSubtable)
+ {
+ DtPushSubtable (RmddSubtable);
+ SeenSubtable = TRUE;
+ }
+ }
+
+ ParentTable = DtPeekSubtable ();
+ DtInsertSubtable (ParentTable, Subtable);
+ DtPushSubtable (Subtable);
+
+ switch (ErdtHeader->Type)
+ {
+ case ACPI_ERDT_TYPE_RMDD:
+ InfoTable = AcpiDmTableInfoErdtRmdd;
+ break;
+
+ case ACPI_ERDT_TYPE_CACD:
+ InfoTable = AcpiDmTableInfoErdtCacd;
+ break;
+
+ case ACPI_ERDT_TYPE_DACD:
+ InfoTable = AcpiDmTableInfoErdtDacd;
+ break;
+
+ case ACPI_ERDT_TYPE_CMRC:
+ InfoTable = AcpiDmTableInfoErdtCmrc;
+ break;
+
+ case ACPI_ERDT_TYPE_MMRC:
+ InfoTable = AcpiDmTableInfoErdtMmrc;
+ break;
+
+ case ACPI_ERDT_TYPE_MARC:
+ InfoTable = AcpiDmTableInfoErdtMarc;
+ break;
+
+ case ACPI_ERDT_TYPE_CARC:
+ InfoTable = AcpiDmTableInfoErdtCarc;
+ break;
+
+ case ACPI_ERDT_TYPE_CMRD:
+ InfoTable = AcpiDmTableInfoErdtCmrd;
+ break;
+
+ case ACPI_ERDT_TYPE_IBRD:
+ InfoTable = AcpiDmTableInfoErdtIbrd;
+ break;
+
+ case ACPI_ERDT_TYPE_IBAD:
+ InfoTable = AcpiDmTableInfoErdtIbad;
+ break;
+
+ case ACPI_ERDT_TYPE_CARD:
+ InfoTable = AcpiDmTableInfoErdtCard;
+ break;
+
+ default:
+ DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "ERDT");
+ return (AE_ERROR);
+ }
+
+ Status = DtCompileTable (PFieldList, InfoTable, &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ ParentTable = DtPeekSubtable ();
+ DtInsertSubtable (ParentTable, Subtable);
+
+ /* Some subtable types end with flex arrays */
+
+ switch (ErdtHeader->Type)
+ {
+ case ACPI_ERDT_TYPE_CACD:
+ while (*PFieldList)
+ {
+ Status = DtCompileTable (PFieldList,
+ AcpiDmTableInfoErdtCacdX2apic, &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+ if (!Subtable)
+ {
+ break;
+ }
+
+ ParentTable = DtPeekSubtable ();
+ DtInsertSubtable (ParentTable, Subtable);
+ }
+ break;
+
+ case ACPI_ERDT_TYPE_DACD:
+ while (*PFieldList)
+ {
+ Status = DtCompileTable (PFieldList,
+ AcpiDmTableInfoErdtDacdScope, &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+ if (!Subtable)
+ {
+ break;
+ }
+
+ DtPushSubtable (Subtable);
+ while (*PFieldList)
+ {
+ Status = DtCompileTable (PFieldList,
+ AcpiDmTableInfoErdtDacdPath, &Subsubtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+ if (!Subsubtable)
+ {
+ break;
+ }
+
+ ParentTable = DtPeekSubtable ();
+ DtInsertSubtable (ParentTable, Subsubtable);
+ }
+ DtPopSubtable ();
+
+ ParentTable = DtPeekSubtable ();
+ DtInsertSubtable (ParentTable, Subtable);
+ }
+ break;
+
+ case ACPI_ERDT_TYPE_MMRC:
+ Mmrc = ACPI_SUB_PTR (ACPI_ERDT_MMRC, Subtable->Buffer,
+ sizeof(ACPI_SUBTBL_HDR_16));
+ NumEntries = 0;
+ while (*PFieldList)
+ {
+ Status = DtCompileTable (PFieldList,
+ AcpiDmTableInfoErdtMmrcCorrFactor, &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+ if (!Subtable)
+ {
+ break;
+ }
+
+ ParentTable = DtPeekSubtable ();
+ DtInsertSubtable (ParentTable, Subtable);
+ NumEntries++;
+ }
+ Mmrc->CorrFactorListLen = NumEntries;
+ break;
+
+ case ACPI_ERDT_TYPE_IBRD:
+ Ibrd = ACPI_SUB_PTR (ACPI_ERDT_IBRD, Subtable->Buffer,
+ sizeof(ACPI_SUBTBL_HDR_16));
+ NumEntries = 0;
+ while (*PFieldList)
+ {
+ Status = DtCompileTable (PFieldList,
+ AcpiDmTableInfoErdtIbrdCorrFactor, &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+ if (!Subtable)
+ {
+ break;
+ }
+
+ ParentTable = DtPeekSubtable ();
+ DtInsertSubtable (ParentTable, Subtable);
+ NumEntries++;
+ }
+ Ibrd->CorrFactorListLen = NumEntries;
+ break;
+
+ default:
+ /* Already checked for valid subtable type above */
+
+ break;
+ }
+ DtPopSubtable ();
+ }
+
+ if (SeenSubtable)
+ {
+ DtPopSubtable ();
+ }
+
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
* FUNCTION: DtCompileErst
*
* PARAMETERS: List - Current field list pointer
@@ -3079,3 +3343,254 @@ DtCompileIvrs (
return (AE_OK);
}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: DtCompileRimt
+ *
+ * PARAMETERS: List - Current field list pointer
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Compile RIMT.
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+DtCompileRimt (
+ void **List)
+{
+ ACPI_RIMT_PLATFORM_DEVICE *PlatDevNode;
+ ACPI_RIMT_PCIE_RC *PcieRcNode;
+ ACPI_TABLE_RIMT *Rimt;
+ ACPI_RIMT_IOMMU *IommuNode;
+ ACPI_RIMT_NODE *RimtNode;
+ ACPI_STATUS Status;
+ DT_SUBTABLE *Subtable;
+ DT_SUBTABLE *ParentTable;
+ DT_FIELD **PFieldList = (DT_FIELD **) List;
+ DT_FIELD *SubtableStart;
+ UINT32 NodeNumber;
+ UINT32 NodeLength;
+ UINT16 IdMappingNumber;
+ UINT32 i;
+
+
+ ParentTable = DtPeekSubtable ();
+
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoRimt, &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+
+ /*
+ * Using ACPI_SUB_PTR, We needn't define a separate structure. Care
+ * should be taken to avoid accessing ACPI_TABLE_HEADER fields.
+ */
+ Rimt = ACPI_SUB_PTR (ACPI_TABLE_RIMT, Subtable->Buffer,
+ sizeof (ACPI_TABLE_HEADER));
+
+ NodeNumber = 0;
+ while (*PFieldList)
+ {
+ SubtableStart = *PFieldList;
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoRimtNodeHdr, &Subtable);
+
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+ RimtNode = ACPI_CAST_PTR (ACPI_RIMT_NODE, Subtable->Buffer);
+ NodeLength = ACPI_OFFSET (ACPI_RIMT_NODE, NodeData);
+
+ DtPushSubtable (Subtable);
+ ParentTable = DtPeekSubtable ();
+
+ switch (RimtNode->Type)
+ {
+ case ACPI_RIMT_NODE_TYPE_IOMMU:
+
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoRimtIommu,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ IommuNode = ACPI_CAST_PTR (ACPI_RIMT_IOMMU, Subtable->Buffer);
+ DtInsertSubtable (ParentTable, Subtable);
+ NodeLength += Subtable->Length;
+
+ for (i = 0; i < IommuNode->NumInterruptWires; i++)
+ {
+ while (*PFieldList)
+ {
+ Status = DtCompileTable (PFieldList,
+ AcpiDmTableInfoRimtIommuWire,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+ if (!Subtable)
+ {
+ break;
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+ NodeLength += Subtable->Length;
+ }
+ }
+
+ break;
+
+ case ACPI_RIMT_NODE_TYPE_PCIE_ROOT_COMPLEX:
+
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoRimtPcieRc,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+ PcieRcNode = ACPI_CAST_PTR (ACPI_RIMT_PCIE_RC, Subtable->Buffer);
+ NodeLength += Subtable->Length;
+
+ /* Compile Array of ID mappings */
+
+ PcieRcNode->IdMappingOffset = (UINT16) NodeLength;
+ IdMappingNumber = 0;
+ while (*PFieldList)
+ {
+ Status = DtCompileTable (PFieldList,
+ AcpiDmTableInfoRimtIdMapping,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ if (!Subtable)
+ {
+ break;
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+ NodeLength += sizeof (ACPI_RIMT_ID_MAPPING);
+ IdMappingNumber++;
+ }
+
+ PcieRcNode->NumIdMappings = IdMappingNumber;
+ if (!IdMappingNumber)
+ {
+ PcieRcNode->IdMappingOffset = 0;
+ }
+
+ break;
+
+ case ACPI_RIMT_NODE_TYPE_PLAT_DEVICE:
+
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoRimtPlatDev,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+ PlatDevNode = ACPI_CAST_PTR (ACPI_RIMT_PLATFORM_DEVICE, Subtable->Buffer);
+ NodeLength += Subtable->Length;
+
+ /*
+ * Padding - Variable-length data
+ * Optionally allows the offset of the ID mappings to be used
+ * for filling this field.
+ */
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoRimtPlatDevPad,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ if (Subtable)
+ {
+ DtInsertSubtable (ParentTable, Subtable);
+ NodeLength += Subtable->Length;
+ }
+ else
+ {
+ if (NodeLength > PlatDevNode->IdMappingOffset)
+ {
+ return (AE_BAD_DATA);
+ }
+
+ if (NodeLength < PlatDevNode->IdMappingOffset)
+ {
+ Status = DtCompilePadding (
+ PlatDevNode->IdMappingOffset - (UINT16) NodeLength,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+ NodeLength = PlatDevNode->IdMappingOffset;
+ }
+ }
+
+ /* Compile Array of ID mappings */
+
+ PlatDevNode->IdMappingOffset = (UINT16) NodeLength;
+ IdMappingNumber = 0;
+ while (*PFieldList)
+ {
+ Status = DtCompileTable (PFieldList,
+ AcpiDmTableInfoRimtIdMapping,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ if (!Subtable)
+ {
+ break;
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+ NodeLength += sizeof (ACPI_RIMT_ID_MAPPING);
+ IdMappingNumber++;
+ }
+
+ PlatDevNode->NumIdMappings = IdMappingNumber;
+ if (!IdMappingNumber)
+ {
+ PlatDevNode->IdMappingOffset = 0;
+ }
+
+ break;
+
+
+ default:
+
+ DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "RIMT");
+ return (AE_ERROR);
+ }
+
+ DtPopSubtable ();
+ ParentTable = DtPeekSubtable ();
+ NodeNumber++;
+ }
+
+ Rimt->NumNodes = NodeNumber;
+ return (AE_OK);
+}
diff --git a/source/compiler/dttable2.c b/source/compiler/dttable2.c
index 394187293237..0db2ff7fb684 100644
--- a/source/compiler/dttable2.c
+++ b/source/compiler/dttable2.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -790,6 +790,57 @@ DtCompileMpst (
/******************************************************************************
*
+ * FUNCTION: DtCompileMrrm
+ *
+ * PARAMETERS: List - Current field list pointer
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Compile MRRM.
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+DtCompileMrrm (
+ void **List)
+{
+ ACPI_STATUS Status;
+ DT_SUBTABLE *Subtable;
+ DT_SUBTABLE *ParentTable;
+ DT_FIELD **PFieldList = (DT_FIELD **) List;
+
+ /* Main table */
+
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoMrrm,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ ParentTable = DtPeekSubtable ();
+ DtInsertSubtable (ParentTable, Subtable);
+
+ /* Subtables (all are same type) */
+
+ while (*PFieldList)
+ {
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoMrrm0,
+ &Subtable);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+ }
+
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
* FUNCTION: DtCompileMsct
*
* PARAMETERS: List - Current field list pointer
diff --git a/source/compiler/dttemplate.c b/source/compiler/dttemplate.c
index 30764395f393..48e115d828b9 100644
--- a/source/compiler/dttemplate.c
+++ b/source/compiler/dttemplate.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/dttemplate.h b/source/compiler/dttemplate.h
index 9e1a8cca3229..0fdd90f73a23 100644
--- a/source/compiler/dttemplate.h
+++ b/source/compiler/dttemplate.h
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -583,8 +583,8 @@ const unsigned char TemplateDbgp[] =
const unsigned char TemplateDmar[] =
{
- 0x44,0x4D,0x41,0x52,0x9C,0x00,0x00,0x00, /* 00000000 "DMAR...." */
- 0x01,0xB8,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */
+ 0x44,0x4D,0x41,0x52,0xAC,0x00,0x00,0x00, /* 00000000 "DMAR...." */
+ 0x01,0x87,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */
0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
0x17,0x12,0x21,0x20,0x2F,0x01,0x00,0x00, /* 00000020 "..! /..." */
@@ -602,7 +602,9 @@ const unsigned char TemplateDmar[] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000080 "........" */
0x00,0x00,0x00,0x00,0x05,0x00,0x10,0x00, /* 00000088 "........" */
0x00,0x00,0x00,0x00,0x01,0x08,0x00,0x00, /* 00000090 "........" */
- 0x00,0x00,0x00,0x02 /* 00000098 "...." */
+ 0x00,0x00,0x00,0x02,0x06,0x00,0x10,0x00, /* 00000098 "........" */
+ 0x00,0x00,0x00,0x00,0x01,0x08,0x00,0x00, /* 000000A0 "........" */
+ 0x00,0x00,0x00,0x02 /* 000000A8 "...." */
};
const unsigned char TemplateDrtm[] =
@@ -683,6 +685,211 @@ const unsigned char TemplateEinj[] =
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF /* 00000128 "........" */
};
+const unsigned char TemplateErdt[] =
+{
+ 0x45,0x52,0x44,0x54,0x44,0x06,0x00,0x00, /* 00000000 "ERDTD..." */
+ 0x01,0x78,0x49,0x4e,0x54,0x45,0x4c,0x00, /* 00000008 ".xINTEL." */
+ 0x49,0x4e,0x54,0x45,0x4c,0x20,0x49,0x44, /* 00000010 "INTEL ID" */
+ 0x02,0x00,0x00,0x00,0x49,0x4e,0x54,0x4c, /* 00000018 "....INTL" */
+ 0x28,0x06,0x23,0x20,0x0f,0x00,0x00,0x00, /* 00000020 "(.# ...." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000030 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */
+ 0x00,0x00,0xd2,0x00,0x01,0x00,0x00,0x00, /* 00000040 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000048 "........" */
+ 0x00,0x00,0x00,0x00,0x0f,0x01,0x00,0x00, /* 00000050 "........" */
+ 0x00,0x00,0xfc,0xf7,0xff,0x1f,0x00,0x00, /* 00000058 "........" */
+ 0x01,0x00,0x01,0x00,0x18,0x00,0x00,0x00, /* 00000060 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00, /* 00000068 "........" */
+ 0x00,0x00,0x08,0x00,0x00,0x00,0x0a,0x00, /* 00000070 "........" */
+ 0x00,0x00,0x03,0x00,0x30,0x00,0x00,0x00, /* 00000078 "....0..." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00, /* 00000080 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000088 "........" */
+ 0x00,0x00,0x00,0x10,0xfb,0xf7,0xff,0x1f, /* 00000090 "........" */
+ 0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00, /* 00000098 "........" */
+ 0x00,0x02,0x00,0x10,0x01,0x00,0x00,0x00, /* 000000a0 "........" */
+ 0x00,0x00,0x04,0x00,0x38,0x00,0x00,0x00, /* 000000a8 "....8..." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00, /* 000000b0 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000b8 "........" */
+ 0x00,0x00,0x00,0x80,0xfc,0xf7,0xff,0x1f, /* 000000c0 "........" */
+ 0x00,0x00,0x10,0x00,0x00,0x00,0x18,0x00, /* 000000c8 "........" */
+ 0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000d0 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000d8 "........" */
+ 0x00,0x00,0x05,0x00,0x30,0x00,0x00,0x00, /* 000000e0 "....0..." */
+ 0x07,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 000000e8 "........" */
+ 0x00,0x00,0x00,0x10,0xfc,0xf7,0xff,0x1f, /* 000000f0 "........" */
+ 0x00,0x00,0x00,0x30,0xfc,0xf7,0xff,0x1f, /* 000000f8 "...0...." */
+ 0x00,0x00,0x00,0x20,0xfc,0xf7,0xff,0x1f, /* 00000100 "... ...." */
+ 0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00, /* 00000108 "........" */
+ 0x00,0x00,0x00,0x00,0xd2,0x00,0x01,0x00, /* 00000110 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000118 "........" */
+ 0x00,0x00,0x00,0x00,0x01,0x00,0x0f,0x01, /* 00000120 "........" */
+ 0x00,0x00,0x00,0x00,0xec,0xf7,0xff,0x1f, /* 00000128 "........" */
+ 0x00,0x00,0x01,0x00,0x01,0x00,0x18,0x00, /* 00000130 "........" */
+ 0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00, /* 00000138 "........" */
+ 0x02,0x01,0x00,0x00,0x08,0x01,0x00,0x00, /* 00000140 "........" */
+ 0x0a,0x01,0x00,0x00,0x03,0x00,0x30,0x00, /* 00000148 "......0." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000150 "........" */
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000158 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x10,0xeb,0xf7, /* 00000160 "........" */
+ 0xff,0x1f,0x00,0x00,0x04,0x00,0x00,0x00, /* 00000168 "........" */
+ 0x08,0x00,0x00,0x02,0x00,0x10,0x01,0x00, /* 00000170 "........" */
+ 0x00,0x00,0x00,0x00,0x04,0x00,0x38,0x00, /* 00000178 "......8." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000180 "........" */
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000188 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x80,0xec,0xf7, /* 00000190 "........" */
+ 0xff,0x1f,0x00,0x00,0x10,0x00,0x00,0x00, /* 00000198 "........" */
+ 0x18,0x00,0x10,0x01,0x00,0x00,0x00,0x00, /* 000001a0 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001a8 "........" */
+ 0x00,0x00,0x00,0x00,0x05,0x00,0x30,0x00, /* 000001b0 "......0." */
+ 0x00,0x00,0x07,0x00,0x01,0x00,0x00,0x00, /* 000001b8 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x10,0xec,0xf7, /* 000001c0 "........" */
+ 0xff,0x1f,0x00,0x00,0x00,0x30,0xec,0xf7, /* 000001c8 ".....0.." */
+ 0xff,0x1f,0x00,0x00,0x00,0x20,0xec,0xf7, /* 000001d0 "..... .." */
+ 0xff,0x1f,0x00,0x00,0x01,0x00,0x00,0x00, /* 000001d8 "........" */
+ 0x08,0x00,0x00,0x00,0x00,0x00,0xd2,0x00, /* 000001e0 "........" */
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001e8 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00, /* 000001f0 "........" */
+ 0x0f,0x01,0x00,0x00,0x00,0x00,0xdc,0xf7, /* 000001f8 "........" */
+ 0xff,0x1f,0x00,0x00,0x01,0x00,0x01,0x00, /* 00000200 "........" */
+ 0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x02, /* 00000208 "........" */
+ 0x00,0x00,0x02,0x02,0x00,0x00,0x08,0x02, /* 00000210 "........" */
+ 0x00,0x00,0x0a,0x02,0x00,0x00,0x03,0x00, /* 00000218 "........" */
+ 0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000220 "0......." */
+ 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 00000228 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10, /* 00000230 "........" */
+ 0xdb,0xf7,0xff,0x1f,0x00,0x00,0x04,0x00, /* 00000238 "........" */
+ 0x00,0x00,0x08,0x00,0x00,0x02,0x00,0x10, /* 00000240 "........" */
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x04,0x00, /* 00000248 "........" */
+ 0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000250 "8......." */
+ 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 00000258 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80, /* 00000260 "........" */
+ 0xdc,0xf7,0xff,0x1f,0x00,0x00,0x10,0x00, /* 00000268 "........" */
+ 0x00,0x00,0x18,0x00,0x10,0x01,0x00,0x00, /* 00000270 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000278 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00, /* 00000280 "........" */
+ 0x30,0x00,0x00,0x00,0x07,0x00,0x01,0x00, /* 00000288 "0......." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10, /* 00000290 "........" */
+ 0xdc,0xf7,0xff,0x1f,0x00,0x00,0x00,0x30, /* 00000298 ".......0" */
+ 0xdc,0xf7,0xff,0x1f,0x00,0x00,0x00,0x20, /* 000002a0 "....... " */
+ 0xdc,0xf7,0xff,0x1f,0x00,0x00,0x01,0x00, /* 000002a8 "........" */
+ 0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00, /* 000002b0 "........" */
+ 0xd2,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 000002b8 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000002c0 "........" */
+ 0x03,0x00,0x0f,0x01,0x00,0x00,0x00,0x00, /* 000002c8 "........" */
+ 0xcc,0xf7,0xff,0x1f,0x00,0x00,0x01,0x00, /* 000002d0 "........" */
+ 0x01,0x00,0x18,0x00,0x00,0x00,0x03,0x00, /* 000002d8 "........" */
+ 0x00,0x03,0x00,0x00,0x02,0x03,0x00,0x00, /* 000002e0 "........" */
+ 0x08,0x03,0x00,0x00,0x0a,0x03,0x00,0x00, /* 000002e8 "........" */
+ 0x03,0x00,0x30,0x00,0x00,0x00,0x00,0x00, /* 000002f0 "..0....." */
+ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 000002f8 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000300 "........" */
+ 0x00,0x10,0xcb,0xf7,0xff,0x1f,0x00,0x00, /* 00000308 "........" */
+ 0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x02, /* 00000310 "........" */
+ 0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00, /* 00000318 "........" */
+ 0x04,0x00,0x38,0x00,0x00,0x00,0x00,0x00, /* 00000320 "..8....." */
+ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000328 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000330 "........" */
+ 0x00,0x80,0xcc,0xf7,0xff,0x1f,0x00,0x00, /* 00000338 "........" */
+ 0x10,0x00,0x00,0x00,0x18,0x00,0x10,0x01, /* 00000340 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000348 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000350 "........" */
+ 0x05,0x00,0x30,0x00,0x00,0x00,0x07,0x00, /* 00000358 "..0....." */
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000360 "........" */
+ 0x00,0x10,0xcc,0xf7,0xff,0x1f,0x00,0x00, /* 00000368 "........" */
+ 0x00,0x30,0xcc,0xf7,0xff,0x1f,0x00,0x00, /* 00000370 ".0......" */
+ 0x00,0x20,0xcc,0xf7,0xff,0x1f,0x00,0x00, /* 00000378 ". ......" */
+ 0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00, /* 00000380 "........" */
+ 0x00,0x00,0x92,0x01,0x02,0x00,0x10,0x00, /* 00000388 "........" */
+ 0x0b,0x08,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000390 "........" */
+ 0x00,0x00,0x10,0x00,0x7f,0x00,0x00,0x00, /* 00000398 "........" */
+ 0x00,0xb0,0xb8,0xf6,0xff,0x1f,0x00,0x00, /* 000003a0 "........" */
+ 0x01,0x00,0x02,0x00,0xd8,0x00,0x00,0x00, /* 000003a8 "........" */
+ 0x10,0x00,0x01,0x08,0x00,0x00,0x00,0x00, /* 000003b0 "........" */
+ 0x00,0x00,0x01,0x08,0x00,0x00,0x00,0x00, /* 000003b8 "........" */
+ 0x00,0x04,0x01,0x08,0x00,0x00,0x00,0x00, /* 000003c0 "........" */
+ 0x02,0x00,0x01,0x08,0x00,0x00,0x00,0x00, /* 000003c8 "........" */
+ 0x02,0x01,0x01,0x08,0x00,0x00,0x00,0x00, /* 000003d0 "........" */
+ 0x03,0x00,0x02,0x08,0x00,0x00,0x00,0x00, /* 000003d8 "........" */
+ 0x04,0x00,0x01,0x0a,0x00,0x00,0x00,0x00, /* 000003e0 "........" */
+ 0x04,0x00,0x00,0x00,0x02,0x08,0x00,0x00, /* 000003e8 "........" */
+ 0x00,0x00,0x05,0x00,0x01,0x0a,0x00,0x00, /* 000003f0 "........" */
+ 0x00,0x00,0x05,0x00,0x00,0x00,0x02,0x08, /* 000003f8 "........" */
+ 0x00,0x00,0x00,0x00,0x06,0x00,0x01,0x0a, /* 00000400 "........" */
+ 0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00, /* 00000408 "........" */
+ 0x02,0x08,0x00,0x00,0x00,0x00,0x07,0x00, /* 00000410 "........" */
+ 0x01,0x0a,0x00,0x00,0x00,0x00,0x07,0x00, /* 00000418 "........" */
+ 0x00,0x00,0x01,0x08,0x00,0x00,0x00,0x00, /* 00000420 "........" */
+ 0x1f,0x00,0x01,0x08,0x00,0x00,0x00,0x00, /* 00000428 "........" */
+ 0x1f,0x04,0x01,0x08,0x00,0x00,0x00,0x00, /* 00000430 "........" */
+ 0x1f,0x05,0x01,0x08,0x00,0x00,0x00,0x0d, /* 00000438 "........" */
+ 0x00,0x00,0x01,0x08,0x00,0x00,0x00,0x0e, /* 00000440 "........" */
+ 0x00,0x00,0x01,0x08,0x00,0x00,0x00,0x0f, /* 00000448 "........" */
+ 0x00,0x00,0x01,0x08,0x00,0x00,0x00,0x10, /* 00000450 "........" */
+ 0x00,0x00,0x01,0x08,0x00,0x00,0x00,0x10, /* 00000458 "........" */
+ 0x00,0x04,0x01,0x08,0x00,0x00,0x00,0x60, /* 00000460 ".......`" */
+ 0x00,0x00,0x01,0x08,0x00,0x00,0x00,0x60, /* 00000468 ".......`" */
+ 0x00,0x04,0x01,0x08,0x00,0x00,0x00,0xb0, /* 00000470 "........" */
+ 0x00,0x00,0x01,0x08,0x00,0x00,0x00,0xb0, /* 00000478 "........" */
+ 0x00,0x04,0x07,0x00,0x30,0x00,0x00,0x00, /* 00000480 "....0..." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00, /* 00000488 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000490 "........" */
+ 0x00,0x00,0x00,0xb0,0xb8,0xf6,0xff,0x1f, /* 00000498 "........" */
+ 0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x05, /* 000004a0 "........" */
+ 0x08,0x00,0xf8,0xff,0x07,0x00,0x00,0x00, /* 000004a8 "........" */
+ 0x00,0x00,0x08,0x00,0x40,0x00,0x00,0x00, /* 000004b0 "....@..." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00, /* 000004b8 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000004c0 "........" */
+ 0x00,0x00,0x00,0xb0,0xb8,0xf6,0xff,0x1f, /* 000004c8 "........" */
+ 0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x03, /* 000004d0 "........" */
+ 0x00,0x04,0x08,0x00,0x08,0x00,0x00,0x00, /* 000004d8 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x28,0xf8,0xff, /* 000004e0 ".....(.." */
+ 0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000004e8 "........" */
+ 0x00,0x00,0x0a,0x00,0x28,0x00,0x00,0x00, /* 000004f0 "....(..." */
+ 0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00, /* 000004f8 "........" */
+ 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 00000500 "........" */
+ 0x00,0x00,0x00,0xb0,0xb8,0xf6,0xff,0x1f, /* 00000508 "........" */
+ 0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x02, /* 00000510 "........" */
+ 0x10,0x00,0x00,0x00,0x2a,0x01,0x02,0x00, /* 00000518 "....*..." */
+ 0x10,0x00,0x0b,0x08,0x00,0x00,0x00,0x00, /* 00000520 "........" */
+ 0x00,0x00,0x00,0x00,0x11,0x00,0x7f,0x00, /* 00000528 "........" */
+ 0x00,0x00,0x00,0xb0,0x38,0xf6,0xff,0x1f, /* 00000530 "....8..." */
+ 0x00,0x00,0x01,0x00,0x02,0x00,0x70,0x00, /* 00000538 "......p." */
+ 0x00,0x00,0x11,0x00,0x01,0x08,0x01,0x00, /* 00000540 "........" */
+ 0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x00, /* 00000548 "........" */
+ 0x00,0x00,0x00,0x04,0x01,0x08,0x01,0x00, /* 00000550 "........" */
+ 0x00,0x00,0x02,0x00,0x01,0x08,0x01,0x00, /* 00000558 "........" */
+ 0x00,0x00,0x02,0x01,0x01,0x08,0x01,0x00, /* 00000560 "........" */
+ 0x00,0x0d,0x00,0x00,0x01,0x08,0x01,0x00, /* 00000568 "........" */
+ 0x00,0x0e,0x00,0x00,0x01,0x08,0x01,0x00, /* 00000570 "........" */
+ 0x00,0x0f,0x00,0x00,0x01,0x08,0x01,0x00, /* 00000578 "........" */
+ 0x00,0x10,0x00,0x00,0x01,0x08,0x01,0x00, /* 00000580 "........" */
+ 0x00,0x10,0x00,0x04,0x01,0x08,0x01,0x00, /* 00000588 "........" */
+ 0x00,0x60,0x00,0x00,0x01,0x08,0x01,0x00, /* 00000590 ".`......" */
+ 0x00,0x60,0x00,0x04,0x01,0x08,0x01,0x00, /* 00000598 ".`......" */
+ 0x00,0xb0,0x00,0x00,0x01,0x08,0x01,0x00, /* 000005a0 "........" */
+ 0x00,0xb0,0x00,0x04,0x07,0x00,0x30,0x00, /* 000005a8 "......0." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000005b0 "........" */
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000005b8 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0xb0,0x38,0xf6, /* 000005c0 "......8." */
+ 0xff,0x1f,0x00,0x00,0x10,0x00,0x00,0x00, /* 000005c8 "........" */
+ 0x00,0x05,0x08,0x00,0xf8,0xff,0x07,0x00, /* 000005d0 "........" */
+ 0x00,0x00,0x00,0x00,0x08,0x00,0x40,0x00, /* 000005d8 "......@." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000005e0 "........" */
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000005e8 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0xb0,0x38,0xf6, /* 000005f0 "......8." */
+ 0xff,0x1f,0x00,0x00,0x10,0x00,0x00,0x00, /* 000005f8 "........" */
+ 0x00,0x03,0x00,0x04,0x08,0x00,0x08,0x00, /* 00000600 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28, /* 00000608 ".......(" */
+ 0xf8,0xff,0x07,0x00,0x00,0x00,0x00,0x00, /* 00000610 "........" */
+ 0x00,0x00,0x00,0x00,0x0a,0x00,0x28,0x00, /* 00000618 "......(." */
+ 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00, /* 00000620 "........" */
+ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000628 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0xb0,0x38,0xf6, /* 00000630 "......8." */
+ 0xff,0x1f,0x00,0x00,0x10,0x00,0x00,0x00, /* 00000638 "........" */
+ 0x00,0x02,0x10,0x00, /* 00000640 "...." */
+};
+
const unsigned char TemplateErst[] =
{
0x45,0x52,0x53,0x54,0x30,0x02,0x00,0x00, /* 00000000 "ERST0..." */
@@ -1336,6 +1543,38 @@ const unsigned char TemplateMpst[] =
0x00,0x00,0x00,0x00,0x00,0x00 /* 000000B0 "......" */
};
+const unsigned char TemplateMrrm[] =
+{
+ 0x4D,0x52,0x52,0x4D,0xE0,0x00,0x00,0x00, /* 00000000 "MRRM...." */
+ 0x01,0x6F,0x49,0x4E,0x54,0x45,0x4C,0x00, /* 00000008 ".oINTEL." */
+ 0x49,0x4E,0x54,0x45,0x4C,0x20,0x49,0x44, /* 00000010 "INTEL ID" */
+ 0x02,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x28,0x06,0x23,0x20,0x02,0x00,0x00,0x00, /* 00000020 "(.# ...." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000030 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */
+ 0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00, /* 00000040 ".. ....." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000048 "........" */
+ 0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00, /* 00000050 "........" */
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000058 "........" */
+ 0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00, /* 00000060 ".. ....." */
+ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000068 "........" */
+ 0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00, /* 00000070 "........" */
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000078 "........" */
+ 0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00, /* 00000080 ".. ....." */
+ 0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, /* 00000088 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00, /* 00000090 "........" */
+ 0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 00000098 "........" */
+ 0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00, /* 000000A0 ".. ....." */
+ 0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00, /* 000000A8 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00, /* 000000B0 "........" */
+ 0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 000000B8 "........" */
+ 0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00, /* 000000C0 ".. ....." */
+ 0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00, /* 000000C8 "........" */
+ 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00, /* 000000D0 "........" */
+ 0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00 /* 000000D8 "........" */
+};
+
const unsigned char TemplateMsct[] =
{
0x4D,0x53,0x43,0x54,0x90,0x00,0x00,0x00, /* 00000000 "MSCT...." */
@@ -1733,6 +1972,26 @@ const unsigned char TemplateRhct[] =
0x08,0x00,0x01,0x00,0x00,0x02 /* 00000090 "........" */
};
+const unsigned char TemplateRimt[] =
+{
+ 0x52,0x49,0x4d,0x54,0x80,0x00,0x00,0x00, /* 00000000 "RIMT...." */
+ 0x01,0xe1,0x42,0x4f,0x43,0x48,0x53,0x20, /* 00000008 ".pBOCHS " */
+ 0x42,0x58,0x50,0x43,0x20,0x20,0x20,0x20, /* 00000010 "BXPC " */
+ 0x01,0x00,0x00,0x00,0x42,0x58,0x50,0x43, /* 00000018 "....INTL" */
+ 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00, /* 00000020 "..$ ...." */
+ 0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "0......." */
+ 0x00,0x01,0x28,0x00,0x00,0x00,0x00,0x00, /* 00000030 "..(....." */
+ 0x52,0x53,0x43,0x56,0x30,0x30,0x30,0x34, /* 00000038 "RSCV0004" */
+ 0x00,0x00,0x01,0x03,0x00,0x00,0x00,0x00, /* 00000040 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000048 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x00, /* 00000050 "......(." */
+ 0x01,0x01,0x28,0x00,0x00,0x00,0x01,0x00, /* 00000058 "..(....." */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000060 "........" */
+ 0x14,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 00000068 "........" */
+ 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000070 "........" */
+ 0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00 /* 00000078 "0......." */
+};
+
const unsigned char TemplateRsdp[] =
{
0x52,0x53,0x44,0x20,0x50,0x54,0x52,0x20, /* 00000000 "RSD PTR " */
diff --git a/source/compiler/dtutils.c b/source/compiler/dtutils.c
index a3dcb507b25b..7605c37b91ed 100644
--- a/source/compiler/dtutils.c
+++ b/source/compiler/dtutils.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -436,9 +436,12 @@ DtGetFieldType (
case ACPI_DMT_RAW_BUFFER:
case ACPI_DMT_BUF7:
case ACPI_DMT_BUF10:
+ case ACPI_DMT_BUF11:
case ACPI_DMT_BUF12:
case ACPI_DMT_BUF16:
case ACPI_DMT_BUF18:
+ case ACPI_DMT_BUF24:
+ case ACPI_DMT_BUF26:
case ACPI_DMT_BUF32:
case ACPI_DMT_BUF112:
case ACPI_DMT_BUF128:
@@ -614,6 +617,7 @@ DtGetFieldLength (
case ACPI_DMT_ASPT:
case ACPI_DMT_UINT16:
case ACPI_DMT_DMAR:
+ case ACPI_DMT_ERDT:
case ACPI_DMT_HEST:
case ACPI_DMT_HMAT:
case ACPI_DMT_NFIT:
@@ -732,6 +736,11 @@ DtGetFieldLength (
ByteLength = 10;
break;
+ case ACPI_DMT_BUF11:
+
+ ByteLength = 11;
+ break;
+
case ACPI_DMT_BUF12:
ByteLength = 12;
@@ -748,6 +757,16 @@ DtGetFieldLength (
ByteLength = 18;
break;
+ case ACPI_DMT_BUF24:
+
+ ByteLength = 24;
+ break;
+
+ case ACPI_DMT_BUF26:
+
+ ByteLength = 26;
+ break;
+
case ACPI_DMT_BUF32:
ByteLength = 32;
diff --git a/source/compiler/preprocess.h b/source/compiler/preprocess.h
index f34d24f2fa33..26a11f573402 100644
--- a/source/compiler/preprocess.h
+++ b/source/compiler/preprocess.h
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/prexpress.c b/source/compiler/prexpress.c
index 6ac51c512346..6cdb5efd0289 100644
--- a/source/compiler/prexpress.c
+++ b/source/compiler/prexpress.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/prmacros.c b/source/compiler/prmacros.c
index 4610ccc2290c..8b4ed754d640 100644
--- a/source/compiler/prmacros.c
+++ b/source/compiler/prmacros.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/prparser.l b/source/compiler/prparser.l
index f82d71539573..22b87328bda7 100644
--- a/source/compiler/prparser.l
+++ b/source/compiler/prparser.l
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/prparser.y b/source/compiler/prparser.y
index 0f7e4a0d620e..0e4fb8e139dc 100644
--- a/source/compiler/prparser.y
+++ b/source/compiler/prparser.y
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/prscan.c b/source/compiler/prscan.c
index d38f2a05ba8b..49cb211c199b 100644
--- a/source/compiler/prscan.c
+++ b/source/compiler/prscan.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/compiler/prutils.c b/source/compiler/prutils.c
index 516f02f37d6e..f516c30fe70f 100644
--- a/source/compiler/prutils.c
+++ b/source/compiler/prutils.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -474,7 +474,7 @@ ResetHere2:
* at the correct offset value which is resetted every iteration
*/
JumpHere2:
- strncpy (AslGbl_MacroTokenReplaceBuffer, AslGbl_MacroTokenBuffer, Args->Offset[i]);
+ memcpy (AslGbl_MacroTokenReplaceBuffer, AslGbl_MacroTokenBuffer, Args->Offset[i]);
strcat (AslGbl_MacroTokenReplaceBuffer, Token);
strcat (AslGbl_MacroTokenReplaceBuffer, (AslGbl_MacroTokenBuffer +
(Args->Offset[i] + strlen (Args->Name))));