Commit b46a8eda authored by Rafael J. Wysocki's avatar Rafael J. Wysocki

Merge branch 'acpica'

* acpica:
  ACPICA: Update version to 20210730
  ACPICA: Add method name "_DIS" For use with aslmethod.c
  ACPICA: iASL: Fix for WPBT table with no command-line arguments
  ACPICA: Headers: Add new DBG2 Serial Port Subtypes
  ACPICA: Macros should not use a trailing semicolon
  ACPICA: Fix an if statement (add parens)
  ACPICA: iASL: Add support for the AEST table (data compiler)
parents 294c34e7 696e0c93
...@@ -561,11 +561,10 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state) ...@@ -561,11 +561,10 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
op->common. op->common.
node->object, node->object,
NULL); NULL);
if ACPI_FAILURE if (ACPI_FAILURE(status)) {
(status) {
ACPI_EXCEPTION((AE_INFO, status, ACPI_EXCEPTION((AE_INFO, status,
"While writing to buffer field")); "While writing to buffer field"));
} }
} }
ACPI_FREE(namepath); ACPI_FREE(namepath);
status = AE_OK; status = AE_OK;
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#define METHOD_NAME__CLS "_CLS" #define METHOD_NAME__CLS "_CLS"
#define METHOD_NAME__CRS "_CRS" #define METHOD_NAME__CRS "_CRS"
#define METHOD_NAME__DDN "_DDN" #define METHOD_NAME__DDN "_DDN"
#define METHOD_NAME__DIS "_DIS"
#define METHOD_NAME__DMA "_DMA" #define METHOD_NAME__DMA "_DMA"
#define METHOD_NAME__HID "_HID" #define METHOD_NAME__HID "_HID"
#define METHOD_NAME__INI "_INI" #define METHOD_NAME__INI "_INI"
......
...@@ -415,7 +415,7 @@ ...@@ -415,7 +415,7 @@
/* Conditional execution */ /* Conditional execution */
#define ACPI_DEBUG_EXEC(a) a #define ACPI_DEBUG_EXEC(a) a
#define ACPI_DEBUG_ONLY_MEMBERS(a) a; #define ACPI_DEBUG_ONLY_MEMBERS(a) a
#define _VERBOSE_STRUCTURES #define _VERBOSE_STRUCTURES
/* Various object display routines for debug */ /* Various object display routines for debug */
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */ /* Current ACPICA subsystem version in YYYYMMDD format */
#define ACPI_CA_VERSION 0x20210604 #define ACPI_CA_VERSION 0x20210730
#include <acpi/acconfig.h> #include <acpi/acconfig.h>
#include <acpi/actypes.h> #include <acpi/actypes.h>
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
* file. Useful because they make it more difficult to inadvertently type in * file. Useful because they make it more difficult to inadvertently type in
* the wrong signature. * the wrong signature.
*/ */
#define ACPI_SIG_AEST "AEST" /* Arm Error Source Table */
#define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */ #define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */
#define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */ #define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */
#define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */ #define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */
...@@ -482,7 +483,7 @@ struct acpi_csrt_descriptor { ...@@ -482,7 +483,7 @@ struct acpi_csrt_descriptor {
* DBG2 - Debug Port Table 2 * DBG2 - Debug Port Table 2
* Version 0 (Both main table and subtables) * Version 0 (Both main table and subtables)
* *
* Conforms to "Microsoft Debug Port Table 2 (DBG2)", December 10, 2015 * Conforms to "Microsoft Debug Port Table 2 (DBG2)", September 21, 2020
* *
******************************************************************************/ ******************************************************************************/
...@@ -532,11 +533,24 @@ struct acpi_dbg2_device { ...@@ -532,11 +533,24 @@ struct acpi_dbg2_device {
#define ACPI_DBG2_16550_COMPATIBLE 0x0000 #define ACPI_DBG2_16550_COMPATIBLE 0x0000
#define ACPI_DBG2_16550_SUBSET 0x0001 #define ACPI_DBG2_16550_SUBSET 0x0001
#define ACPI_DBG2_MAX311XE_SPI 0x0002
#define ACPI_DBG2_ARM_PL011 0x0003 #define ACPI_DBG2_ARM_PL011 0x0003
#define ACPI_DBG2_MSM8X60 0x0004
#define ACPI_DBG2_16550_NVIDIA 0x0005
#define ACPI_DBG2_TI_OMAP 0x0006
#define ACPI_DBG2_APM88XXXX 0x0008
#define ACPI_DBG2_MSM8974 0x0009
#define ACPI_DBG2_SAM5250 0x000A
#define ACPI_DBG2_INTEL_USIF 0x000B
#define ACPI_DBG2_IMX6 0x000C
#define ACPI_DBG2_ARM_SBSA_32BIT 0x000D #define ACPI_DBG2_ARM_SBSA_32BIT 0x000D
#define ACPI_DBG2_ARM_SBSA_GENERIC 0x000E #define ACPI_DBG2_ARM_SBSA_GENERIC 0x000E
#define ACPI_DBG2_ARM_DCC 0x000F #define ACPI_DBG2_ARM_DCC 0x000F
#define ACPI_DBG2_BCM2835 0x0010 #define ACPI_DBG2_BCM2835 0x0010
#define ACPI_DBG2_SDM845_1_8432MHZ 0x0011
#define ACPI_DBG2_16550_WITH_GAS 0x0012
#define ACPI_DBG2_SDM845_7_372MHZ 0x0013
#define ACPI_DBG2_INTEL_LPSS 0x0014
#define ACPI_DBG2_1394_STANDARD 0x0000 #define ACPI_DBG2_1394_STANDARD 0x0000
......
...@@ -67,6 +67,176 @@ ...@@ -67,6 +67,176 @@
* See http://stackoverflow.com/a/1053662/41661 * See http://stackoverflow.com/a/1053662/41661
*/ */
/*******************************************************************************
*
* AEST - Arm Error Source Table
*
* Conforms to: ACPI for the Armv8 RAS Extensions 1.1 Platform Design Document
* September 2020.
*
******************************************************************************/
struct acpi_table_aest {
struct acpi_table_header header;
void *node_array[];
};
/* Common Subtable header - one per Node Structure (Subtable) */
struct acpi_aest_hdr {
u8 type;
u16 length;
u8 reserved;
u32 node_specific_offset;
u32 node_interface_offset;
u32 node_interrupt_offset;
u32 node_interrupt_count;
u64 timestamp_rate;
u64 reserved1;
u64 error_injection_rate;
};
/* Values for Type above */
#define ACPI_AEST_PROCESSOR_ERROR_NODE 0
#define ACPI_AEST_MEMORY_ERROR_NODE 1
#define ACPI_AEST_SMMU_ERROR_NODE 2
#define ACPI_AEST_VENDOR_ERROR_NODE 3
#define ACPI_AEST_GIC_ERROR_NODE 4
#define ACPI_AEST_NODE_TYPE_RESERVED 5 /* 5 and above are reserved */
/*
* AEST subtables (Error nodes)
*/
/* 0: Processor Error */
typedef struct acpi_aest_processor {
u32 processor_id;
u8 resource_type;
u8 reserved;
u8 flags;
u8 revision;
u64 processor_affinity;
} acpi_aest_processor;
/* Values for resource_type above, related structs below */
#define ACPI_AEST_CACHE_RESOURCE 0
#define ACPI_AEST_TLB_RESOURCE 1
#define ACPI_AEST_GENERIC_RESOURCE 2
#define ACPI_AEST_RESOURCE_RESERVED 3 /* 3 and above are reserved */
/* 0R: Processor Cache Resource Substructure */
typedef struct acpi_aest_processor_cache {
u32 cache_reference;
u32 reserved;
} acpi_aest_processor_cache;
/* Values for cache_type above */
#define ACPI_AEST_CACHE_DATA 0
#define ACPI_AEST_CACHE_INSTRUCTION 1
#define ACPI_AEST_CACHE_UNIFIED 2
#define ACPI_AEST_CACHE_RESERVED 3 /* 3 and above are reserved */
/* 1R: Processor TLB Resource Substructure */
typedef struct acpi_aest_processor_tlb {
u32 tlb_level;
u32 reserved;
} acpi_aest_processor_tlb;
/* 2R: Processor Generic Resource Substructure */
typedef struct acpi_aest_processor_generic {
u8 *resource;
} acpi_aest_processor_generic;
/* 1: Memory Error */
typedef struct acpi_aest_memory {
u32 srat_proximity_domain;
} acpi_aest_memory;
/* 2: Smmu Error */
typedef struct acpi_aest_smmu {
u32 iort_node_reference;
u32 subcomponent_reference;
} acpi_aest_smmu;
/* 3: Vendor Defined */
typedef struct acpi_aest_vendor {
u32 acpi_hid;
u32 acpi_uid;
u8 vendor_specific_data[16];
} acpi_aest_vendor;
/* 4: Gic Error */
typedef struct acpi_aest_gic {
u32 interface_type;
u32 instance_id;
} acpi_aest_gic;
/* Values for interface_type above */
#define ACPI_AEST_GIC_CPU 0
#define ACPI_AEST_GIC_DISTRIBUTOR 1
#define ACPI_AEST_GIC_REDISTRIBUTOR 2
#define ACPI_AEST_GIC_ITS 3
#define ACPI_AEST_GIC_RESERVED 4 /* 4 and above are reserved */
/* Node Interface Structure */
typedef struct acpi_aest_node_interface {
u8 type;
u8 reserved[3];
u32 flags;
u64 address;
u32 error_record_index;
u32 error_record_count;
u64 error_record_implemented;
u64 error_status_reporting;
u64 addressing_mode;
} acpi_aest_node_interface;
/* Values for Type field above */
#define ACPI_AEST_NODE_SYSTEM_REGISTER 0
#define ACPI_AEST_NODE_MEMORY_MAPPED 1
#define ACPI_AEST_XFACE_RESERVED 2 /* 2 and above are reserved */
/* Node Interrupt Structure */
typedef struct acpi_aest_node_interrupt {
u8 type;
u8 reserved[2];
u8 flags;
u32 gsiv;
u8 iort_id;
u8 reserved1[3];
} acpi_aest_node_interrupt;
/* Values for Type field above */
#define ACPI_AEST_NODE_FAULT_HANDLING 0
#define ACPI_AEST_NODE_ERROR_RECOVERY 1
#define ACPI_AEST_XRUPT_RESERVED 2 /* 2 and above are reserved */
/******************************************************************************* /*******************************************************************************
* *
* BDAT - BIOS Data ACPI Table * BDAT - BIOS Data ACPI Table
......
...@@ -723,6 +723,10 @@ struct acpi_table_wpbt { ...@@ -723,6 +723,10 @@ struct acpi_table_wpbt {
u16 arguments_length; u16 arguments_length;
}; };
struct acpi_wpbt_unicode {
u16 *unicode_string;
};
/******************************************************************************* /*******************************************************************************
* *
* WSMT - Windows SMM Security Mitigations Table * WSMT - Windows SMM Security Mitigations Table
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment