Merge tag 'acpi-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI updates from Rafael Wysocki:
 "The most significant part of these changes is an ACPICA update
  covering two upstream ACPICA releases, 20241212 and 20250404, that
  have not been included into the kernel code base yet.

  Among other things, it adds definitions needed to address GCC 15's
  -Wunterminated-string-initialization warnings, adds support for three
  new tables (MRRM, ERDT, RIMT), extends support for two tables (RAS2,
  DMAR), and fixes some issues.

  On top of the above, there is a new parser for the MRRM table, more
  changes related to GCC 15's -Wunterminated-string-initialization
  warnings, a CPPC library update including functions related to
  autonomous CPU performance state selection, a couple of new quirks,
  some assorted fixes and some code cleanups.

  Specifics:

   - Fix two ACPICA SLAB cache leaks (Seunghun Han)

   - Add EINJv2 get error type action and define Error Injection Actions
     in hex values to avoid inconsistencies between the specification
     and the code (Zaid Alali)

   - Fix typo in comments for SRAT structures (Adam Lackorzynski)

   - Prevent possible loss of data in ACPICA because of u32 to u8
     conversions (Saket Dumbre)

   - Fix reading FFixedHW operation regions in ACPICA (Daniil Tatianin)

   - Add support for printing AML arguments when the ACPICA debug level
     is ACPI_LV_TRACE_POINT (Mario Limonciello)

   - Drop a stale comment about the file content from actbl2.h (Sudeep
     Holla)

   - Apply pack(1) to union aml_resource (Tamir Duberstein)

   - Fix overflow check in the ACPICA version of vsnprintf() (gldrk)

   - Interpret SIDP structures in DMAR added revision 3.4 of the VT-d
     specification (Alexey Neyman)

   - Add typedef and other definitions related to MRRM to ACPICA (Tony
     Luck)

   - Add definitions for RIMT to ACPICA (Sunil V L)

   - Fix spelling mistake "Incremement" -> "Increment" in the ACPICA
     utilities code (Colin Ian King)

   - Add typedef and other definitions for ERDT to ACPICA (Tony Luck)

   - Introduce ACPI_NONSTRING and use it (Kees Cook, Ahmed Salem)

   - Rename structure and field names of the RAS2 table in actbl2.h
     (Shiju Jose)

   - Fix up whitespace in acpica/utcache.c (Zhe Qiao)

   - Avoid sequence overread in a call to strncmp() in
     ap_get_table_length() and replace strncpy() with memcpy() in ACPICA
     in some places (Ahmed Salem)

   - Update copyright year in all ACPICA files (Saket Dumbre)

   - Add __nonstring annotations for unterminated strings in the static
     ACPI tables parsing code (Kees Cook)

   - Add support for parsing the MRRM ACPI table and sysfs files to
     describe memory regions listed in it (Tony Luck, Anil
     Keshavamurthy)

   - Remove an (explicitly) unused header file include from the VIOT
     ACPI table parser file (Andy Shevchenko)

   - Improve logging around acpi_initialize_tables() (Bartosz
     Szczepanek)

   - Clean up the initialization of CPU data structures in the ACPI
     processor driver (Zhang Rui)

   - Remove an obsolete comment regarding the C-states handling in the
     ACPI processor driver (Giovanni Gherdovich)

   - Simplify PCC shared memory region handling (Sudeep Holla)

   - Rework and extend functions for reading CPPC register values and
     for updating CPPC registers (Lifeng Zheng)

   - Add three functions related to autonomous CPU performance state
     selection to the CPPC library (Lifeng Zheng)

   - Turn the acpi_pci_root_remap_iospace() fwnode_handle parameter into
     a const pointer (Pei Xiao)

   - Round battery capacity percengate in the ACPI battery driver to the
     closest integer to avoid user confusion (shitao)

   - Make the ACPI battery driver report the current as a negative
     number to the power supply framework when the battery is
     discharging as documented (Peter Marheine)

   - Add TUXEDO InfinityBook Pro AMD Gen9 to the acpi_ec_no_wakeup[]
     list to prevent spurious wakeups from suspend-to-idle (Werner
     Sembach)

   - Convert the APEI EINJ driver to a faux device one (Sudeep Holla,
     Jon Hunter)

   - Remove redundant calls to einj_get_available_error_type() from the
     APEI EINJ driver (Zaid Alali)

   - Fix a typo for MECHREVO in irq1_edge_low_force_override[] (Mingcong
     Bai)

   - Add an LPS0 check() callback to the AMD pinctrl driver and fix up
     config symbol dependencies in it (Mario Limonciello, Rafael
     Wysocki)

   - Avoid initializing the ACPI platform profile driver on non-ACPI
     platforms (Alexandre Ghiti)

   - Document that references to ACPI data (non-device) nodes should use
     string-only references in hierarchical data node packages (Sakari
     Ailus)

   - Fail the ACPI bus registration if acpi_kobj registration fails
     (Armin Wolf)"

* tag 'acpi-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (65 commits)
  ACPI: MRRM: Fix default max memory region
  ACPI: bus: Bail out if acpi_kobj registration fails
  ACPI: platform_profile: Avoid initializing on non-ACPI platforms
  pinctrl: amd: Fix hibernation support with CONFIG_SUSPEND unset
  ACPI: tables: Improve logging around acpi_initialize_tables()
  ACPI: VIOT: Remove (explicitly) unused header
  ACPI: Add documentation for exposing MRRM data
  ACPI: MRRM: Add /sys files to describe memory ranges
  ACPI: MRRM: Minimal parse of ACPI MRRM table
  ACPICA: Update copyright year
  ACPICA: Logfile: Changes for version 20250404
  ACPICA: Replace strncpy() with memcpy()
  ACPICA: Apply ACPI_NONSTRING in more places
  ACPICA: Avoid sequence overread in call to strncmp()
  ACPICA: Adjust the position of code lines
  ACPICA: actbl2.h: ACPI 6.5: RAS2: Rename structure and field names of the RAS2 table
  ACPICA: Apply ACPI_NONSTRING
  ACPICA: Introduce ACPI_NONSTRING
  ACPICA: actbl2.h: ERDT: Add typedef and other definitions
  ACPICA: infrastructure: Add new DMT_BUF types and shorten a long name
  ...
This commit is contained in:
Linus Torvalds
2025-05-27 16:32:30 -07:00
208 changed files with 1264 additions and 565 deletions

View File

@@ -248,3 +248,24 @@ Description:
# cat ff_pwr_btn
7 enabled
What: /sys/firmware/acpi/memory_ranges/rangeX
Date: February 2025
Contact: Tony Luck <tony.luck@intel.com>
Description:
On systems with the ACPI MRRM table reports the parameters for
each range.
base: Starting system physical address.
length: Length of this range in bytes.
node: NUMA node that this range belongs to. Negative numbers
indicate that the node number could not be determined (e.g
for an address range that is reserved for future hot add of
memory).
local_region_id: ID associated with access by agents
local to this range of addresses.
remote_region_id: ID associated with access by agents
non-local to this range of addresses.

View File

@@ -12,11 +12,14 @@ ACPI in general allows referring to device objects in the tree only.
Hierarchical data extension nodes may not be referred to directly, hence this
document defines a scheme to implement such references.
A reference consist of the device object name followed by one or more
hierarchical data extension [dsd-guide] keys. Specifically, the hierarchical
data extension node which is referred to by the key shall lie directly under
the parent object i.e. either the device object or another hierarchical data
extension node.
A reference to a _DSD hierarchical data node is a string consisting of a
device object reference followed by a dot (".") and a relative path to a data
node object. Do not use non-string references as this will produce a copy of
the hierarchical data node, not a reference!
The hierarchical data extension node which is referred to shall be located
directly under its parent object i.e. either the device object or another
hierarchical data extension node [dsd-guide].
The keys in the hierarchical data nodes shall consist of the name of the node,
"@" character and the number of the node in hexadecimal notation (without pre-
@@ -33,11 +36,9 @@ extension key.
Example
=======
In the ASL snippet below, the "reference" _DSD property contains a
device object reference to DEV0 and under that device object, a
hierarchical data extension key "node@1" referring to the NOD1 object
and lastly, a hierarchical data extension key "anothernode" referring to
the ANOD object which is also the final target node of the reference.
In the ASL snippet below, the "reference" _DSD property contains a string
reference to a hierarchical data extension node ANOD under DEV0 under the parent
of DEV1. ANOD is also the final target node of the reference.
::
Device (DEV0)
@@ -76,10 +77,7 @@ the ANOD object which is also the final target node of the reference.
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {
"reference", Package () {
^DEV0, "node@1", "anothernode"
}
Package () { "reference", "^DEV0.ANOD" }
},
}
})

View File

@@ -66,12 +66,9 @@ of that port shall be zero. Similarly, if a port may only have a single
endpoint, the number of that endpoint shall be zero.
The endpoint reference uses property extension with "remote-endpoint" property
name followed by a reference in the same package. Such references consist of
the remote device reference, the first package entry of the port data extension
reference under the device and finally the first package entry of the endpoint
data extension reference under the port. Individual references thus appear as::
name followed by a string reference in the same package. [data-node-ref]::
Package() { device, "port@X", "endpoint@Y" }
"device.datanode"
In the above example, "X" is the number of the port and "Y" is the number of
the endpoint.
@@ -109,7 +106,7 @@ A simple example of this is show below::
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () { "reg", 0 },
Package () { "remote-endpoint", Package() { \_SB.PCI0.ISP, "port@4", "endpoint@0" } },
Package () { "remote-endpoint", "\\_SB.PCI0.ISP.EP40" },
}
})
}
@@ -141,7 +138,7 @@ A simple example of this is show below::
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () { "reg", 0 },
Package () { "remote-endpoint", Package () { \_SB.PCI0.I2C2.CAM0, "port@0", "endpoint@0" } },
Package () { "remote-endpoint", "\\_SB.PCI0.I2C2.CAM0.EP00" },
}
})
}

View File

@@ -15,11 +15,6 @@ Referring to LEDs in Device tree is documented in [video-interfaces], in
"flash-leds" property documentation. In short, LEDs are directly referred to by
using phandles.
While Device tree allows referring to any node in the tree [devicetree], in
ACPI references are limited to device nodes only [acpi]. For this reason using
the same mechanism on ACPI is not possible. A mechanism to refer to non-device
ACPI nodes is documented in [data-node-ref].
ACPI allows (as does DT) using integer arguments after the reference. A
combination of the LED driver device reference and an integer argument,
referring to the "reg" property of the relevant LED, is used to identify
@@ -74,7 +69,7 @@ omitted. ::
Package () {
Package () {
"flash-leds",
Package () { ^LED, "led@0", ^LED, "led@1" },
Package () { "^LED.LED0", "^LED.LED1" },
}
}
})

View File

@@ -38,6 +38,7 @@ config X86_64
select ARCH_HAS_ELFCORE_COMPAT
select ZONE_DMA32
select EXECMEM if DYNAMIC_FTRACE
select ACPI_MRRM if ACPI
config FORCE_DYNAMIC_FTRACE
def_bool y

View File

@@ -576,6 +576,9 @@ config ACPI_FFH
Enable this feature if you want to set up and install the FFH Address
Space handler to handle FFH OpRegion in the firmware.
config ACPI_MRRM
bool
source "drivers/acpi/pmic/Kconfig"
config ACPI_VIOT

View File

@@ -66,6 +66,7 @@ acpi-$(CONFIG_ACPI_WATCHDOG) += acpi_watchdog.o
acpi-$(CONFIG_ACPI_PRMT) += prmt.o
acpi-$(CONFIG_ACPI_PCC) += acpi_pcc.o
acpi-$(CONFIG_ACPI_FFH) += acpi_ffh.o
acpi-$(CONFIG_ACPI_MRRM) += acpi_mrrm.o
# Address translation
acpi-$(CONFIG_ACPI_ADXL) += acpi_adxl.o

183
drivers/acpi/acpi_mrrm.c Normal file
View File

@@ -0,0 +1,183 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2025, Intel Corporation.
*
* Memory Range and Region Mapping (MRRM) structure
*
* Parse and report the platform's MRRM table in /sys.
*/
#define pr_fmt(fmt) "acpi/mrrm: " fmt
#include <linux/acpi.h>
#include <linux/init.h>
#include <linux/string.h>
#include <linux/sysfs.h>
/* Default assume one memory region covering all system memory, per the spec */
static int max_mem_region = 1;
/* Access for use by resctrl file system */
int acpi_mrrm_max_mem_region(void)
{
return max_mem_region;
}
struct mrrm_mem_range_entry {
u64 base;
u64 length;
int node;
u8 local_region_id;
u8 remote_region_id;
};
static struct mrrm_mem_range_entry *mrrm_mem_range_entry;
static u32 mrrm_mem_entry_num;
static int get_node_num(struct mrrm_mem_range_entry *e)
{
unsigned int nid;
for_each_online_node(nid) {
for (int z = 0; z < MAX_NR_ZONES; z++) {
struct zone *zone = NODE_DATA(nid)->node_zones + z;
if (!populated_zone(zone))
continue;
if (zone_intersects(zone, PHYS_PFN(e->base), PHYS_PFN(e->length)))
return zone_to_nid(zone);
}
}
return -ENOENT;
}
static __init int acpi_parse_mrrm(struct acpi_table_header *table)
{
struct acpi_mrrm_mem_range_entry *mre_entry;
struct acpi_table_mrrm *mrrm;
void *mre, *mrrm_end;
int mre_count = 0;
mrrm = (struct acpi_table_mrrm *)table;
if (!mrrm)
return -ENODEV;
if (mrrm->flags & ACPI_MRRM_FLAGS_REGION_ASSIGNMENT_OS)
return -EOPNOTSUPP;
mrrm_end = (void *)mrrm + mrrm->header.length - 1;
mre = (void *)mrrm + sizeof(struct acpi_table_mrrm);
while (mre < mrrm_end) {
mre_entry = mre;
mre_count++;
mre += mre_entry->header.length;
}
if (!mre_count) {
pr_info(FW_BUG "No ranges listed in MRRM table\n");
return -EINVAL;
}
mrrm_mem_range_entry = kmalloc_array(mre_count, sizeof(*mrrm_mem_range_entry),
GFP_KERNEL | __GFP_ZERO);
if (!mrrm_mem_range_entry)
return -ENOMEM;
mre = (void *)mrrm + sizeof(struct acpi_table_mrrm);
while (mre < mrrm_end) {
struct mrrm_mem_range_entry *e;
mre_entry = mre;
e = mrrm_mem_range_entry + mrrm_mem_entry_num;
e->base = mre_entry->addr_base;
e->length = mre_entry->addr_len;
e->node = get_node_num(e);
if (mre_entry->region_id_flags & ACPI_MRRM_VALID_REGION_ID_FLAGS_LOCAL)
e->local_region_id = mre_entry->local_region_id;
else
e->local_region_id = -1;
if (mre_entry->region_id_flags & ACPI_MRRM_VALID_REGION_ID_FLAGS_REMOTE)
e->remote_region_id = mre_entry->remote_region_id;
else
e->remote_region_id = -1;
mrrm_mem_entry_num++;
mre += mre_entry->header.length;
}
max_mem_region = mrrm->max_mem_region;
return 0;
}
#define RANGE_ATTR(name, fmt) \
static ssize_t name##_show(struct kobject *kobj, \
struct kobj_attribute *attr, char *buf) \
{ \
struct mrrm_mem_range_entry *mre; \
const char *kname = kobject_name(kobj); \
int n, ret; \
\
ret = kstrtoint(kname + 5, 10, &n); \
if (ret) \
return ret; \
\
mre = mrrm_mem_range_entry + n; \
\
return sysfs_emit(buf, fmt, mre->name); \
} \
static struct kobj_attribute name##_attr = __ATTR_RO(name)
RANGE_ATTR(base, "0x%llx\n");
RANGE_ATTR(length, "0x%llx\n");
RANGE_ATTR(node, "%d\n");
RANGE_ATTR(local_region_id, "%d\n");
RANGE_ATTR(remote_region_id, "%d\n");
static struct attribute *memory_range_attrs[] = {
&base_attr.attr,
&length_attr.attr,
&node_attr.attr,
&local_region_id_attr.attr,
&remote_region_id_attr.attr,
NULL
};
ATTRIBUTE_GROUPS(memory_range);
static __init int add_boot_memory_ranges(void)
{
struct kobject *pkobj, *kobj;
int ret = -EINVAL;
char *name;
pkobj = kobject_create_and_add("memory_ranges", acpi_kobj);
for (int i = 0; i < mrrm_mem_entry_num; i++) {
name = kasprintf(GFP_KERNEL, "range%d", i);
if (!name)
break;
kobj = kobject_create_and_add(name, pkobj);
ret = sysfs_create_groups(kobj, memory_range_groups);
if (ret)
return ret;
}
return ret;
}
static __init int mrrm_init(void)
{
int ret;
ret = acpi_table_parse(ACPI_SIG_MRRM, acpi_parse_mrrm);
if (ret < 0)
return ret;
return add_boot_memory_ranges();
}
device_initcall(mrrm_init);

View File

@@ -31,7 +31,6 @@
struct pcc_data {
struct pcc_mbox_chan *pcc_chan;
void __iomem *pcc_comm_addr;
struct completion done;
struct mbox_client cl;
struct acpi_pcc_info ctx;
@@ -81,14 +80,6 @@ acpi_pcc_address_space_setup(acpi_handle region_handle, u32 function,
ret = AE_SUPPORT;
goto err_free_channel;
}
data->pcc_comm_addr = acpi_os_ioremap(pcc_chan->shmem_base_addr,
pcc_chan->shmem_size);
if (!data->pcc_comm_addr) {
pr_err("Failed to ioremap PCC comm region mem for %d\n",
ctx->subspace_id);
ret = AE_NO_MEMORY;
goto err_free_channel;
}
*region_context = data;
return AE_OK;
@@ -113,7 +104,7 @@ acpi_pcc_address_space_handler(u32 function, acpi_physical_address addr,
reinit_completion(&data->done);
/* Write to Shared Memory */
memcpy_toio(data->pcc_comm_addr, (void *)value, data->ctx.length);
memcpy_toio(data->pcc_chan->shmem, (void *)value, data->ctx.length);
ret = mbox_send_message(data->pcc_chan->mchan, NULL);
if (ret < 0)
@@ -134,7 +125,7 @@ acpi_pcc_address_space_handler(u32 function, acpi_physical_address addr,
mbox_chan_txdone(data->pcc_chan->mchan, ret);
memcpy_fromio(value, data->pcc_comm_addr, data->ctx.length);
memcpy_fromio(value, data->pcc_chan->shmem, data->ctx.length);
return AE_OK;
}

View File

@@ -3,7 +3,7 @@
*
* Module Name: acapps - common include for ACPI applications/tools
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/
@@ -17,7 +17,7 @@
/* Common info for tool signons */
#define ACPICA_NAME "Intel ACPI Component Architecture"
#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2022 Intel Corporation"
#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2025 Intel Corporation"
#if ACPI_MACHINE_WIDTH == 64
#define ACPI_WIDTH " (64-bit version)"

View File

@@ -3,7 +3,7 @@
*
* Name: accommon.h - Common include files for generation of ACPICA source
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: acapps - common include for ACPI applications/tools
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acdebug.h - ACPI/AML debugger
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/
@@ -37,7 +37,7 @@ struct acpi_db_argument_info {
struct acpi_db_execute_walk {
u32 count;
u32 max_count;
char name_seg[ACPI_NAMESEG_SIZE + 1];
char name_seg[ACPI_NAMESEG_SIZE + 1] ACPI_NONSTRING;
};
#define PARAM_LIST(pl) pl

View File

@@ -3,7 +3,7 @@
*
* Name: acdispat.h - dispatcher (parser to interpreter interface)
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acevents.h - Event subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acglobal.h - Declarations for global variables
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: achware.h -- hardware specific interfaces
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acinterp.h - Interpreter subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/
@@ -120,6 +120,9 @@ void
acpi_ex_trace_point(acpi_trace_event_type type,
u8 begin, u8 *aml, char *pathname);
void
acpi_ex_trace_args(union acpi_operand_object **params, u32 count);
/*
* exfield - ACPI AML (p-code) execution - field manipulation
*/

View File

@@ -3,7 +3,7 @@
*
* Name: aclocal.h - Internal data types used across the ACPI subsystem
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/
@@ -293,7 +293,7 @@ acpi_status (*acpi_internal_method) (struct acpi_walk_state * walk_state);
* expected_return_btypes - Allowed type(s) for the return value
*/
struct acpi_name_info {
char name[ACPI_NAMESEG_SIZE] __nonstring;
char name[ACPI_NAMESEG_SIZE] ACPI_NONSTRING;
u16 argument_list;
u8 expected_btypes;
};
@@ -370,7 +370,7 @@ typedef acpi_status (*acpi_object_converter) (struct acpi_namespace_node *
converted_object);
struct acpi_simple_repair_info {
char name[ACPI_NAMESEG_SIZE] __nonstring;
char name[ACPI_NAMESEG_SIZE] ACPI_NONSTRING;
u32 unexpected_btypes;
u32 package_index;
acpi_object_converter object_converter;

View File

@@ -3,7 +3,7 @@
*
* Name: acmacros.h - C macros for the entire subsystem.
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acnamesp.h - Namespace subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acobject.h - Definition of union acpi_operand_object (Internal object only)
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acopcode.h - AML opcode information for the AML parser and interpreter
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: acparser.h - AML Parser subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acpredef - Information table for ACPI predefined methods and objects
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acresrc.h - Resource Manager function prototypes
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acstruct.h - Internal structs
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: actables.h - ACPI table management
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acutils.h -- prototypes for the common (subsystem-wide) procedures
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -5,7 +5,7 @@
* Declarations and definitions contained herein are derived
* directly from the ACPI specification.
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: amlresrc.h - AML resource descriptors
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/
@@ -504,10 +504,6 @@ struct aml_resource_pin_group_config {
#define AML_RESOURCE_PIN_GROUP_CONFIG_REVISION 1 /* ACPI 6.2 */
/* restore default alignment */
#pragma pack()
/* Union of all resource descriptors, so we can allocate the worst case */
union aml_resource {
@@ -562,6 +558,10 @@ union aml_resource {
u8 byte_item;
};
/* restore default alignment */
#pragma pack()
/* Interfaces used by both the disassembler and compiler */
void

View File

@@ -3,7 +3,7 @@
*
* Module Name: dbhistry - debugger HISTORY command
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -4,7 +4,7 @@
* Module Name: dsargs - Support for execution of dynamic arguments for static
* objects (regions, fields, buffer fields, etc.)
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -4,7 +4,7 @@
* Module Name: dscontrol - Support for execution control opcodes -
* if/else/while/return
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dsdebug - Parser/Interpreter interface - debugging
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dsfield - Dispatcher field routines
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dsinit - Object initialization namespace walk
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dsmethod - Parser/Interpreter interface - control method parsing
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -188,6 +188,7 @@ acpi_ds_method_data_init_args(union acpi_operand_object **params,
index++;
}
acpi_ex_trace_args(params, index);
ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "%u args passed to method\n", index));
return_ACPI_STATUS(AE_OK);

View File

@@ -3,7 +3,7 @@
*
* Module Name: dsobject - Dispatcher object management routines
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dsopcode - Dispatcher support for regions and fields
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dspkginit - Completion of deferred package initialization
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -668,6 +668,8 @@ acpi_ds_create_operands(struct acpi_walk_state *walk_state,
union acpi_parse_object *arguments[ACPI_OBJ_NUM_OPERANDS];
u32 arg_count = 0;
u32 index = walk_state->num_operands;
u32 prev_num_operands = walk_state->num_operands;
u32 new_num_operands;
u32 i;
ACPI_FUNCTION_TRACE_PTR(ds_create_operands, first_arg);
@@ -696,6 +698,7 @@ acpi_ds_create_operands(struct acpi_walk_state *walk_state,
/* Create the interpreter arguments, in reverse order */
new_num_operands = index;
index--;
for (i = 0; i < arg_count; i++) {
arg = arguments[index];
@@ -720,7 +723,11 @@ acpi_ds_create_operands(struct acpi_walk_state *walk_state,
* pop everything off of the operand stack and delete those
* objects
*/
acpi_ds_obj_stack_pop_and_delete(arg_count, walk_state);
walk_state->num_operands = (u8)(i);
acpi_ds_obj_stack_pop_and_delete(new_num_operands, walk_state);
/* Restore operand count */
walk_state->num_operands = (u8)(prev_num_operands);
ACPI_EXCEPTION((AE_INFO, status, "While creating Arg %u", index));
return_ACPI_STATUS(status);

View File

@@ -4,7 +4,7 @@
* Module Name: dswexec - Dispatcher method execution callbacks;
* dispatch to interpreter.
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dswload - Dispatcher first pass namespace load callbacks
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dswload2 - Dispatcher second pass namespace load callbacks
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dswscope - Scope stack manipulation
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dswstate - Dispatcher parse tree walk management routines
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evevent - Fixed Event handling and dispatch
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evglock - Global Lock support
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evgpe - General Purpose Event handling and dispatch
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evgpeblk - GPE block creation and initialization.
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evgpeinit - System GPE initialization and update
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evgpeutil - GPE utilities
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evhandler - Support for Address Space handlers
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evmisc - Miscellaneous event manager support functions
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evregion - Operation Region support
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evrgnini- ACPI address_space (op_region) init
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evxface - External interfaces for ACPI events
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evxfevnt - External Interfaces, ACPI event disable/enable
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evxfgpe - External Interfaces for General Purpose Events (GPEs)
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -4,7 +4,7 @@
* Module Name: evxfregn - External Interfaces, ACPI Operation Regions and
* Address Spaces.
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exconcat - Concatenate-type AML operators
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exconfig - Namespace reconfiguration (Load/Unload opcodes)
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exconvrt - Object conversion routines
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/
@@ -226,8 +226,8 @@ acpi_ex_convert_to_buffer(union acpi_operand_object *obj_desc,
/* Copy the string to the buffer */
new_buf = return_desc->buffer.pointer;
strncpy((char *)new_buf, (char *)obj_desc->string.pointer,
obj_desc->string.length);
memcpy((char *)new_buf, (char *)obj_desc->string.pointer,
obj_desc->string.length);
break;
default:

View File

@@ -3,7 +3,7 @@
*
* Module Name: excreate - Named object creation
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exdebug - Support for stores to the AML Debug Object
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exdump - Interpreter debug output routines
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exfield - AML execution - field_unit read/write
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exfldio - Aml Field I/O
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exmisc - ACPI AML (p-code) execution - specific opcodes
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exmutex - ASL Mutex Acquire/Release functions
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exnames - interpreter/scanner name load/execute
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exoparg1 - AML execution - opcodes with 1 argument
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exoparg2 - AML execution - opcodes with 2 arguments
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exoparg3 - AML execution - opcodes with 3 arguments
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exoparg6 - AML execution - opcodes with 6 arguments
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exprep - ACPI AML field prep utilities
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exregion - ACPI default op_region (address space) handlers
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exresnte - AML Interpreter object resolution
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exresolv - AML Interpreter object resolution
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exresop - AML Interpreter operand/object resolution
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exserial - field_unit support for serial address spaces
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/
@@ -201,6 +201,12 @@ acpi_ex_read_serial_bus(union acpi_operand_object *obj_desc,
function = ACPI_READ;
break;
case ACPI_ADR_SPACE_FIXED_HARDWARE:
buffer_length = ACPI_FFH_INPUT_BUFFER_SIZE;
function = ACPI_READ;
break;
default:
return_ACPI_STATUS(AE_AML_INVALID_SPACE_ID);
}

View File

@@ -3,7 +3,7 @@
*
* Module Name: exstore - AML Interpreter object store support
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -4,7 +4,7 @@
* Module Name: exstoren - AML Interpreter object store support,
* Store to Node (namespace object)
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exstorob - AML object store support, store to object
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exsystem - Interface to OS services
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: extrace - Support for interpreter execution tracing
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/
@@ -147,6 +147,57 @@ acpi_ex_trace_point(acpi_trace_event_type type,
}
}
/*******************************************************************************
*
* FUNCTION: acpi_ex_trace_args
*
* PARAMETERS: params - AML method arguments
* count - numer of method arguments
*
* RETURN: None
*
* DESCRIPTION: Trace any arguments
*
******************************************************************************/
void
acpi_ex_trace_args(union acpi_operand_object **params, u32 count)
{
u32 i;
ACPI_FUNCTION_NAME(ex_trace_args);
for (i = 0; i < count; i++) {
union acpi_operand_object *obj_desc = params[i];
if (!i) {
ACPI_DEBUG_PRINT((ACPI_DB_TRACE_POINT, " "));
}
switch (obj_desc->common.type) {
case ACPI_TYPE_INTEGER:
ACPI_DEBUG_PRINT_RAW((ACPI_DB_TRACE_POINT, "%llx", obj_desc->integer.value));
break;
case ACPI_TYPE_STRING:
if (!obj_desc->string.length) {
ACPI_DEBUG_PRINT_RAW((ACPI_DB_TRACE_POINT, "NULL"));
continue;
}
if (ACPI_IS_DEBUG_ENABLED(ACPI_LV_TRACE_POINT, _COMPONENT))
acpi_ut_print_string(obj_desc->string.pointer, ACPI_UINT8_MAX);
break;
default:
ACPI_DEBUG_PRINT_RAW((ACPI_DB_TRACE_POINT, "Unknown"));
break;
}
if (i+1 == count) {
ACPI_DEBUG_PRINT_RAW((ACPI_DB_TRACE_POINT, "\n"));
} else {
ACPI_DEBUG_PRINT_RAW((ACPI_DB_TRACE_POINT, ", "));
}
}
}
/*******************************************************************************
*
* FUNCTION: acpi_ex_start_trace_method

View File

@@ -3,7 +3,7 @@
*
* Module Name: exutils - interpreter/scanner utilities
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: hwacpi - ACPI Hardware Initialization/Mode Interface
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -4,7 +4,7 @@
* Name: hwesleep.c - ACPI Hardware Sleep/Wake Support functions for the
* extended FADT-V5 sleep registers.
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: hwgpe - Low level GPE enable/disable/clear functions
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -4,7 +4,7 @@
* Name: hwsleep.c - ACPI Hardware Sleep/Wake Support functions for the
* original/legacy sleep/PM registers.
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: hwtimer.c - ACPI Power Management Timer Interface
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: hwvalid - I/O request validation
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: hwxface - Public ACPICA hardware interfaces
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: hwxfsleep.c - ACPI Hardware Sleep/Wake External Interfaces
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: nsarguments - Validation of args for ACPI predefined methods
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -4,7 +4,7 @@
* Module Name: nsconvert - Object conversions for objects returned by
* predefined methods
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: nsdump - table dumping routines for debug
*
* Copyright (C) 2000 - 2023, Intel Corp.
* Copyright (C) 2000 - 2025, Intel Corp.
*
*****************************************************************************/

Some files were not shown because too many files have changed in this diff Show More