Merge branch 'acpica'
* acpica: (41 commits) ACPICA: Update version to 20160422 ACPICA: Move all ASCII utilities to a common file ACPICA: ACPI 2.0, Hardware: Add access_width/bit_offset support for acpi_hw_write() ACPICA: ACPI 2.0, Hardware: Add access_width/bit_offset support in acpi_hw_read() ACPICA: Executer: Introduce a set of macros to handle bit width mask generation ACPICA: Hardware: Add optimized access bit width support ACPICA: Utilities: Add ACPI_IS_ALIGNED() macro ACPICA: Renamed some #defined flag constants for clarity ACPICA: ACPI 6.0, tools/iasl: Add support for new resource descriptors ACPICA: ACPI 6.0: Update _BIX support for new package element ACPICA: ACPI 6.1: Support for new PCCT subtable ACPICA: Refactor evaluate_object to reduce nesting ACPICA: Divergence: remove unwanted spaces for typedef ACPICA: Update version to 20160318 ACPICA: Namespace: Reorder \_SB._INI to make sure it is evaluated before _REG evaluations ACPICA: Events: Fix an issue that _REG association can happen before namespace is initialized ACPICA: Tables: Fix wrong MLC condition for dynamic table loading ACPICA: Interpreter: Fix wrong conditions for acpi_ev_install_region_handlers() invocation ACPICA: Hardware: Enhance acpi_hw_validate_register() with access_width/bit_offset awareness Utilities: Fix missing parentheses in ACPI_GET_BITS()/ACPI_SET_BITS() ...
This commit is contained in:
@@ -96,7 +96,7 @@ acpi_physical_address acpi_os_get_root_pointer(void);
|
||||
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_predefined_override
|
||||
acpi_status
|
||||
acpi_os_predefined_override(const struct acpi_predefined_names *init_val,
|
||||
char **new_val);
|
||||
acpi_string *new_val);
|
||||
#endif
|
||||
|
||||
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_table_override
|
||||
@@ -108,7 +108,7 @@ acpi_os_table_override(struct acpi_table_header *existing_table,
|
||||
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_physical_table_override
|
||||
acpi_status
|
||||
acpi_os_physical_table_override(struct acpi_table_header *existing_table,
|
||||
acpi_physical_address * new_address,
|
||||
acpi_physical_address *new_address,
|
||||
u32 *new_table_length);
|
||||
#endif
|
||||
|
||||
@@ -203,7 +203,7 @@ void acpi_os_unmap_memory(void *logical_address, acpi_size size);
|
||||
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_physical_address
|
||||
acpi_status
|
||||
acpi_os_get_physical_address(void *logical_address,
|
||||
acpi_physical_address * physical_address);
|
||||
acpi_physical_address *physical_address);
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -379,14 +379,14 @@ acpi_status
|
||||
acpi_os_get_table_by_name(char *signature,
|
||||
u32 instance,
|
||||
struct acpi_table_header **table,
|
||||
acpi_physical_address * address);
|
||||
acpi_physical_address *address);
|
||||
#endif
|
||||
|
||||
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_index
|
||||
acpi_status
|
||||
acpi_os_get_table_by_index(u32 index,
|
||||
struct acpi_table_header **table,
|
||||
u32 *instance, acpi_physical_address * address);
|
||||
u32 *instance, acpi_physical_address *address);
|
||||
#endif
|
||||
|
||||
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_address
|
||||
|
@@ -46,7 +46,7 @@
|
||||
|
||||
/* Current ACPICA subsystem version in YYYYMMDD format */
|
||||
|
||||
#define ACPI_CA_VERSION 0x20160108
|
||||
#define ACPI_CA_VERSION 0x20160422
|
||||
|
||||
#include <acpi/acconfig.h>
|
||||
#include <acpi/actypes.h>
|
||||
@@ -484,8 +484,8 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init acpi_load_tables(void))
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init acpi_reallocate_root_table(void))
|
||||
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init
|
||||
acpi_find_root_pointer(acpi_physical_address *
|
||||
rsdp_address))
|
||||
acpi_find_root_pointer(acpi_physical_address
|
||||
*rsdp_address))
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_table_header(acpi_string signature,
|
||||
u32 instance,
|
||||
@@ -530,7 +530,7 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_handle(acpi_handle parent,
|
||||
acpi_string pathname,
|
||||
acpi_handle * ret_handle))
|
||||
acpi_handle *ret_handle))
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_attach_data(acpi_handle object,
|
||||
acpi_object_handler handler,
|
||||
@@ -575,15 +575,15 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_next_object(acpi_object_type type,
|
||||
acpi_handle parent,
|
||||
acpi_handle child,
|
||||
acpi_handle * out_handle))
|
||||
acpi_handle *out_handle))
|
||||
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_type(acpi_handle object,
|
||||
acpi_object_type * out_type))
|
||||
acpi_object_type *out_type))
|
||||
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_parent(acpi_handle object,
|
||||
acpi_handle * out_handle))
|
||||
acpi_handle *out_handle))
|
||||
|
||||
/*
|
||||
* Handler interfaces
|
||||
@@ -755,7 +755,7 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable_all_wakeup_gpes(void))
|
||||
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
acpi_get_gpe_device(u32 gpe_index,
|
||||
acpi_handle * gpe_device))
|
||||
acpi_handle *gpe_device))
|
||||
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
acpi_install_gpe_block(acpi_handle gpe_device,
|
||||
@@ -771,8 +771,8 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
* Resource interfaces
|
||||
*/
|
||||
typedef
|
||||
acpi_status(*acpi_walk_resource_callback) (struct acpi_resource * resource,
|
||||
void *context);
|
||||
acpi_status (*acpi_walk_resource_callback) (struct acpi_resource * resource,
|
||||
void *context);
|
||||
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_vendor_resource(acpi_handle device,
|
||||
@@ -938,7 +938,8 @@ ACPI_DBG_DEPENDENT_RETURN_VOID(void
|
||||
ACPI_APP_DEPENDENT_RETURN_VOID(ACPI_PRINTF_LIKE(1)
|
||||
void ACPI_INTERNAL_VAR_XFACE
|
||||
acpi_log_error(const char *format, ...))
|
||||
acpi_status acpi_initialize_debugger(void);
|
||||
|
||||
acpi_status acpi_initialize_debugger(void);
|
||||
|
||||
void acpi_terminate_debugger(void);
|
||||
|
||||
|
@@ -417,6 +417,7 @@ struct acpi_resource_gpio {
|
||||
u8 type; \
|
||||
u8 producer_consumer; /* For values, see Producer/Consumer above */\
|
||||
u8 slave_mode; \
|
||||
u8 connection_sharing; \
|
||||
u8 type_revision_id; \
|
||||
u16 type_data_length; \
|
||||
u16 vendor_length; \
|
||||
|
@@ -223,7 +223,7 @@ struct acpi_table_facs {
|
||||
/*******************************************************************************
|
||||
*
|
||||
* FADT - Fixed ACPI Description Table (Signature "FACP")
|
||||
* Version 4
|
||||
* Version 6
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@@ -413,4 +413,6 @@ struct acpi_table_desc {
|
||||
#define ACPI_FADT_V5_SIZE (u32) (ACPI_FADT_OFFSET (hypervisor_id))
|
||||
#define ACPI_FADT_V6_SIZE (u32) (sizeof (struct acpi_table_fadt))
|
||||
|
||||
#define ACPI_FADT_CONFORMANCE "ACPI 6.1 (FADT version 6)"
|
||||
|
||||
#endif /* __ACTBL_H__ */
|
||||
|
@@ -236,7 +236,8 @@ enum acpi_einj_actions {
|
||||
ACPI_EINJ_CHECK_BUSY_STATUS = 6,
|
||||
ACPI_EINJ_GET_COMMAND_STATUS = 7,
|
||||
ACPI_EINJ_SET_ERROR_TYPE_WITH_ADDRESS = 8,
|
||||
ACPI_EINJ_ACTION_RESERVED = 9, /* 9 and greater are reserved */
|
||||
ACPI_EINJ_GET_EXECUTE_TIMINGS = 9,
|
||||
ACPI_EINJ_ACTION_RESERVED = 10, /* 10 and greater are reserved */
|
||||
ACPI_EINJ_TRIGGER_ERROR = 0xFF /* Except for this value */
|
||||
};
|
||||
|
||||
@@ -348,7 +349,8 @@ enum acpi_erst_actions {
|
||||
ACPI_ERST_GET_ERROR_RANGE = 13,
|
||||
ACPI_ERST_GET_ERROR_LENGTH = 14,
|
||||
ACPI_ERST_GET_ERROR_ATTRIBUTES = 15,
|
||||
ACPI_ERST_ACTION_RESERVED = 16 /* 16 and greater are reserved */
|
||||
ACPI_ERST_EXECUTE_TIMINGS = 16,
|
||||
ACPI_ERST_ACTION_RESERVED = 17 /* 17 and greater are reserved */
|
||||
};
|
||||
|
||||
/* Values for Instruction field above */
|
||||
@@ -427,7 +429,8 @@ enum acpi_hest_types {
|
||||
ACPI_HEST_TYPE_AER_ENDPOINT = 7,
|
||||
ACPI_HEST_TYPE_AER_BRIDGE = 8,
|
||||
ACPI_HEST_TYPE_GENERIC_ERROR = 9,
|
||||
ACPI_HEST_TYPE_RESERVED = 10 /* 10 and greater are reserved */
|
||||
ACPI_HEST_TYPE_GENERIC_ERROR_V2 = 10,
|
||||
ACPI_HEST_TYPE_RESERVED = 11 /* 11 and greater are reserved */
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -506,7 +509,11 @@ enum acpi_hest_notify_types {
|
||||
ACPI_HEST_NOTIFY_NMI = 4,
|
||||
ACPI_HEST_NOTIFY_CMCI = 5, /* ACPI 5.0 */
|
||||
ACPI_HEST_NOTIFY_MCE = 6, /* ACPI 5.0 */
|
||||
ACPI_HEST_NOTIFY_RESERVED = 7 /* 7 and greater are reserved */
|
||||
ACPI_HEST_NOTIFY_GPIO = 7, /* ACPI 6.0 */
|
||||
ACPI_HEST_NOTIFY_SEA = 8, /* ACPI 6.1 */
|
||||
ACPI_HEST_NOTIFY_SEI = 9, /* ACPI 6.1 */
|
||||
ACPI_HEST_NOTIFY_GSIV = 10, /* ACPI 6.1 */
|
||||
ACPI_HEST_NOTIFY_RESERVED = 11 /* 11 and greater are reserved */
|
||||
};
|
||||
|
||||
/* Values for config_write_enable bitfield above */
|
||||
@@ -603,6 +610,24 @@ struct acpi_hest_generic {
|
||||
u32 error_block_length;
|
||||
};
|
||||
|
||||
/* 10: Generic Hardware Error Source, version 2 */
|
||||
|
||||
struct acpi_hest_generic_v2 {
|
||||
struct acpi_hest_header header;
|
||||
u16 related_source_id;
|
||||
u8 reserved;
|
||||
u8 enabled;
|
||||
u32 records_to_preallocate;
|
||||
u32 max_sections_per_record;
|
||||
u32 max_raw_data_length;
|
||||
struct acpi_generic_address error_status_address;
|
||||
struct acpi_hest_notify notify;
|
||||
u32 error_block_length;
|
||||
struct acpi_generic_address read_ack_register;
|
||||
u64 read_ack_preserve;
|
||||
u64 read_ack_write;
|
||||
};
|
||||
|
||||
/* Generic Error Status block */
|
||||
|
||||
struct acpi_hest_generic_status {
|
||||
@@ -634,6 +659,33 @@ struct acpi_hest_generic_data {
|
||||
u8 fru_text[20];
|
||||
};
|
||||
|
||||
/* Extension for revision 0x0300 */
|
||||
|
||||
struct acpi_hest_generic_data_v300 {
|
||||
u8 section_type[16];
|
||||
u32 error_severity;
|
||||
u16 revision;
|
||||
u8 validation_bits;
|
||||
u8 flags;
|
||||
u32 error_data_length;
|
||||
u8 fru_id[16];
|
||||
u8 fru_text[20];
|
||||
u64 time_stamp;
|
||||
};
|
||||
|
||||
/* Values for error_severity above */
|
||||
|
||||
#define ACPI_HEST_GEN_ERROR_RECOVERABLE 0
|
||||
#define ACPI_HEST_GEN_ERROR_FATAL 1
|
||||
#define ACPI_HEST_GEN_ERROR_CORRECTED 2
|
||||
#define ACPI_HEST_GEN_ERROR_NONE 3
|
||||
|
||||
/* Flags for validation_bits above */
|
||||
|
||||
#define ACPI_HEST_GEN_VALID_FRU_ID (1)
|
||||
#define ACPI_HEST_GEN_VALID_FRU_STRING (1<<1)
|
||||
#define ACPI_HEST_GEN_VALID_TIMESTAMP (1<<2)
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* MADT - Multiple APIC Description Table
|
||||
@@ -934,7 +986,7 @@ struct acpi_msct_proximity {
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* NFIT - NVDIMM Interface Table (ACPI 6.0)
|
||||
* NFIT - NVDIMM Interface Table (ACPI 6.0+)
|
||||
* Version 1
|
||||
*
|
||||
******************************************************************************/
|
||||
@@ -1015,6 +1067,7 @@ struct acpi_nfit_memory_map {
|
||||
#define ACPI_NFIT_MEM_NOT_ARMED (1<<3) /* 03: Memory Device is not armed */
|
||||
#define ACPI_NFIT_MEM_HEALTH_OBSERVED (1<<4) /* 04: Memory Device observed SMART/health events */
|
||||
#define ACPI_NFIT_MEM_HEALTH_ENABLED (1<<5) /* 05: SMART/health events enabled */
|
||||
#define ACPI_NFIT_MEM_MAP_FAILED (1<<6) /* 06: Mapping to SPA failed */
|
||||
|
||||
/* 2: Interleave Structure */
|
||||
|
||||
@@ -1046,7 +1099,10 @@ struct acpi_nfit_control_region {
|
||||
u16 subsystem_vendor_id;
|
||||
u16 subsystem_device_id;
|
||||
u16 subsystem_revision_id;
|
||||
u8 reserved[6]; /* Reserved, must be zero */
|
||||
u8 valid_fields;
|
||||
u8 manufacturing_location;
|
||||
u16 manufacturing_date;
|
||||
u8 reserved[2]; /* Reserved, must be zero */
|
||||
u32 serial_number;
|
||||
u16 code;
|
||||
u16 windows;
|
||||
@@ -1061,7 +1117,11 @@ struct acpi_nfit_control_region {
|
||||
|
||||
/* Flags */
|
||||
|
||||
#define ACPI_NFIT_CONTROL_BUFFERED (1) /* Block Data Windows implementation is buffered */
|
||||
#define ACPI_NFIT_CONTROL_BUFFERED (1) /* Block Data Windows implementation is buffered */
|
||||
|
||||
/* valid_fields bits */
|
||||
|
||||
#define ACPI_NFIT_CONTROL_MFG_INFO_VALID (1) /* Manufacturing fields are valid */
|
||||
|
||||
/* 5: NVDIMM Block Data Window Region Structure */
|
||||
|
||||
|
@@ -321,7 +321,7 @@ struct acpi_csrt_descriptor {
|
||||
* DBG2 - Debug Port Table 2
|
||||
* Version 0 (Both main table and subtables)
|
||||
*
|
||||
* Conforms to "Microsoft Debug Port Table 2 (DBG2)", May 22 2012.
|
||||
* Conforms to "Microsoft Debug Port Table 2 (DBG2)", December 10, 2015
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@@ -371,6 +371,11 @@ struct acpi_dbg2_device {
|
||||
|
||||
#define ACPI_DBG2_16550_COMPATIBLE 0x0000
|
||||
#define ACPI_DBG2_16550_SUBSET 0x0001
|
||||
#define ACPI_DBG2_ARM_PL011 0x0003
|
||||
#define ACPI_DBG2_ARM_SBSA_32BIT 0x000D
|
||||
#define ACPI_DBG2_ARM_SBSA_GENERIC 0x000E
|
||||
#define ACPI_DBG2_ARM_DCC 0x000F
|
||||
#define ACPI_DBG2_BCM2835 0x0010
|
||||
|
||||
#define ACPI_DBG2_1394_STANDARD 0x0000
|
||||
|
||||
@@ -399,7 +404,7 @@ struct acpi_table_dbgp {
|
||||
* Version 1
|
||||
*
|
||||
* Conforms to "Intel Virtualization Technology for Directed I/O",
|
||||
* Version 2.2, Sept. 2013
|
||||
* Version 2.3, October 2014
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@@ -413,6 +418,8 @@ struct acpi_table_dmar {
|
||||
/* Masks for Flags field above */
|
||||
|
||||
#define ACPI_DMAR_INTR_REMAP (1)
|
||||
#define ACPI_DMAR_X2APIC_OPT_OUT (1<<1)
|
||||
#define ACPI_DMAR_X2APIC_MODE (1<<2)
|
||||
|
||||
/* DMAR subtable header */
|
||||
|
||||
@@ -655,7 +662,7 @@ struct acpi_ibft_target {
|
||||
* IORT - IO Remapping Table
|
||||
*
|
||||
* Conforms to "IO Remapping Table System Software on ARM Platforms",
|
||||
* Document number: ARM DEN 0049A, 2015
|
||||
* Document number: ARM DEN 0049B, October 2015
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@@ -685,7 +692,8 @@ enum acpi_iort_node_type {
|
||||
ACPI_IORT_NODE_ITS_GROUP = 0x00,
|
||||
ACPI_IORT_NODE_NAMED_COMPONENT = 0x01,
|
||||
ACPI_IORT_NODE_PCI_ROOT_COMPLEX = 0x02,
|
||||
ACPI_IORT_NODE_SMMU = 0x03
|
||||
ACPI_IORT_NODE_SMMU = 0x03,
|
||||
ACPI_IORT_NODE_SMMU_V3 = 0x04
|
||||
};
|
||||
|
||||
struct acpi_iort_id_mapping {
|
||||
@@ -775,6 +783,23 @@ struct acpi_iort_smmu {
|
||||
#define ACPI_IORT_SMMU_DVM_SUPPORTED (1)
|
||||
#define ACPI_IORT_SMMU_COHERENT_WALK (1<<1)
|
||||
|
||||
struct acpi_iort_smmu_v3 {
|
||||
u64 base_address; /* SMMUv3 base address */
|
||||
u32 flags;
|
||||
u32 reserved;
|
||||
u64 vatos_address;
|
||||
u32 model; /* O: generic SMMUv3 */
|
||||
u32 event_gsiv;
|
||||
u32 pri_gsiv;
|
||||
u32 gerr_gsiv;
|
||||
u32 sync_gsiv;
|
||||
};
|
||||
|
||||
/* Masks for Flags field above */
|
||||
|
||||
#define ACPI_IORT_SMMU_V3_COHACC_OVERRIDE (1)
|
||||
#define ACPI_IORT_SMMU_V3_HTTU_OVERRIDE (1<<1)
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* IVRS - I/O Virtualization Reporting Structure
|
||||
@@ -1102,10 +1127,10 @@ struct acpi_table_slic {
|
||||
/*******************************************************************************
|
||||
*
|
||||
* SPCR - Serial Port Console Redirection table
|
||||
* Version 1
|
||||
* Version 2
|
||||
*
|
||||
* Conforms to "Serial Port Console Redirection Table",
|
||||
* Version 1.00, January 11, 2002
|
||||
* Version 1.03, August 10, 2015
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@@ -1137,6 +1162,8 @@ struct acpi_table_spcr {
|
||||
|
||||
#define ACPI_SPCR_DO_NOT_DISABLE (1)
|
||||
|
||||
/* Values for Interface Type: See the definition of the DBG2 table */
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* SPMI - Server Platform Management Interface table
|
||||
|
@@ -184,7 +184,7 @@ struct acpi_table_fpdt {
|
||||
struct acpi_table_header header; /* Common ACPI table header */
|
||||
};
|
||||
|
||||
/* FPDT subtable header */
|
||||
/* FPDT subtable header (Performance Record Structure) */
|
||||
|
||||
struct acpi_fpdt_header {
|
||||
u16 type;
|
||||
@@ -205,6 +205,57 @@ enum acpi_fpdt_type {
|
||||
|
||||
/* 0: Firmware Basic Boot Performance Record */
|
||||
|
||||
struct acpi_fpdt_boot_pointer {
|
||||
struct acpi_fpdt_header header;
|
||||
u8 reserved[4];
|
||||
u64 address;
|
||||
};
|
||||
|
||||
/* 1: S3 Performance Table Pointer Record */
|
||||
|
||||
struct acpi_fpdt_s3pt_pointer {
|
||||
struct acpi_fpdt_header header;
|
||||
u8 reserved[4];
|
||||
u64 address;
|
||||
};
|
||||
|
||||
/*
|
||||
* S3PT - S3 Performance Table. This table is pointed to by the
|
||||
* S3 Pointer Record above.
|
||||
*/
|
||||
struct acpi_table_s3pt {
|
||||
u8 signature[4]; /* "S3PT" */
|
||||
u32 length;
|
||||
};
|
||||
|
||||
/*
|
||||
* S3PT Subtables (Not part of the actual FPDT)
|
||||
*/
|
||||
|
||||
/* Values for Type field in S3PT header */
|
||||
|
||||
enum acpi_s3pt_type {
|
||||
ACPI_S3PT_TYPE_RESUME = 0,
|
||||
ACPI_S3PT_TYPE_SUSPEND = 1,
|
||||
ACPI_FPDT_BOOT_PERFORMANCE = 2
|
||||
};
|
||||
|
||||
struct acpi_s3pt_resume {
|
||||
struct acpi_fpdt_header header;
|
||||
u32 resume_count;
|
||||
u64 full_resume;
|
||||
u64 average_resume;
|
||||
};
|
||||
|
||||
struct acpi_s3pt_suspend {
|
||||
struct acpi_fpdt_header header;
|
||||
u64 suspend_start;
|
||||
u64 suspend_end;
|
||||
};
|
||||
|
||||
/*
|
||||
* FPDT Boot Performance Record (Not part of the actual FPDT)
|
||||
*/
|
||||
struct acpi_fpdt_boot {
|
||||
struct acpi_fpdt_header header;
|
||||
u8 reserved[4];
|
||||
@@ -215,52 +266,6 @@ struct acpi_fpdt_boot {
|
||||
u64 exit_services_exit;
|
||||
};
|
||||
|
||||
/* 1: S3 Performance Table Pointer Record */
|
||||
|
||||
struct acpi_fpdt_s3pt_ptr {
|
||||
struct acpi_fpdt_header header;
|
||||
u8 reserved[4];
|
||||
u64 address;
|
||||
};
|
||||
|
||||
/*
|
||||
* S3PT - S3 Performance Table. This table is pointed to by the
|
||||
* FPDT S3 Pointer Record above.
|
||||
*/
|
||||
struct acpi_table_s3pt {
|
||||
u8 signature[4]; /* "S3PT" */
|
||||
u32 length;
|
||||
};
|
||||
|
||||
/*
|
||||
* S3PT Subtables
|
||||
*/
|
||||
struct acpi_s3pt_header {
|
||||
u16 type;
|
||||
u8 length;
|
||||
u8 revision;
|
||||
};
|
||||
|
||||
/* Values for Type field above */
|
||||
|
||||
enum acpi_s3pt_type {
|
||||
ACPI_S3PT_TYPE_RESUME = 0,
|
||||
ACPI_S3PT_TYPE_SUSPEND = 1
|
||||
};
|
||||
|
||||
struct acpi_s3pt_resume {
|
||||
struct acpi_s3pt_header header;
|
||||
u32 resume_count;
|
||||
u64 full_resume;
|
||||
u64 average_resume;
|
||||
};
|
||||
|
||||
struct acpi_s3pt_suspend {
|
||||
struct acpi_s3pt_header header;
|
||||
u64 suspend_start;
|
||||
u64 suspend_end;
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* GTDT - Generic Timer Description Table (ACPI 5.1)
|
||||
@@ -476,7 +481,8 @@ struct acpi_table_pcct {
|
||||
enum acpi_pcct_type {
|
||||
ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0,
|
||||
ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1,
|
||||
ACPI_PCCT_TYPE_RESERVED = 2 /* 2 and greater are reserved */
|
||||
ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2, /* ACPI 6.1 */
|
||||
ACPI_PCCT_TYPE_RESERVED = 3 /* 3 and greater are reserved */
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -515,6 +521,26 @@ struct acpi_pcct_hw_reduced {
|
||||
u16 min_turnaround_time;
|
||||
};
|
||||
|
||||
/* 2: HW-reduced Communications Subspace Type 2 (ACPI 6.1) */
|
||||
|
||||
struct acpi_pcct_hw_reduced_type2 {
|
||||
struct acpi_subtable_header header;
|
||||
u32 doorbell_interrupt;
|
||||
u8 flags;
|
||||
u8 reserved;
|
||||
u64 base_address;
|
||||
u64 length;
|
||||
struct acpi_generic_address doorbell_register;
|
||||
u64 preserve_mask;
|
||||
u64 write_mask;
|
||||
u32 latency;
|
||||
u32 max_access_rate;
|
||||
u16 min_turnaround_time;
|
||||
struct acpi_generic_address doorbell_ack_register;
|
||||
u64 ack_preserve_mask;
|
||||
u64 ack_write_mask;
|
||||
};
|
||||
|
||||
/* Values for doorbell flags above */
|
||||
|
||||
#define ACPI_PCCT_INTERRUPT_POLARITY (1)
|
||||
|
@@ -630,7 +630,8 @@ typedef u64 acpi_integer;
|
||||
#define ACPI_NOTIFY_SHUTDOWN_REQUEST (u8) 0x0C
|
||||
#define ACPI_NOTIFY_AFFINITY_UPDATE (u8) 0x0D
|
||||
|
||||
#define ACPI_NOTIFY_MAX 0x0D
|
||||
#define ACPI_GENERIC_NOTIFY_MAX 0x0D
|
||||
#define ACPI_SPECIFIC_NOTIFY_MAX 0x84
|
||||
|
||||
/*
|
||||
* Types associated with ACPI names and objects. The first group of
|
||||
@@ -892,7 +893,7 @@ typedef u8 acpi_adr_space_type;
|
||||
|
||||
/* Sleep function dispatch */
|
||||
|
||||
typedef acpi_status(*acpi_sleep_function) (u8 sleep_state);
|
||||
typedef acpi_status (*acpi_sleep_function) (u8 sleep_state);
|
||||
|
||||
struct acpi_sleep_functions {
|
||||
acpi_sleep_function legacy_function;
|
||||
@@ -994,7 +995,7 @@ struct acpi_buffer {
|
||||
* Predefined Namespace items
|
||||
*/
|
||||
struct acpi_predefined_names {
|
||||
char *name;
|
||||
const char *name;
|
||||
u8 type;
|
||||
char *val;
|
||||
};
|
||||
@@ -1071,20 +1072,21 @@ void (*acpi_notify_handler) (acpi_handle device, u32 value, void *context);
|
||||
typedef
|
||||
void (*acpi_object_handler) (acpi_handle object, void *data);
|
||||
|
||||
typedef acpi_status(*acpi_init_handler) (acpi_handle object, u32 function);
|
||||
typedef
|
||||
acpi_status (*acpi_init_handler) (acpi_handle object, u32 function);
|
||||
|
||||
#define ACPI_INIT_DEVICE_INI 1
|
||||
|
||||
typedef
|
||||
acpi_status(*acpi_exception_handler) (acpi_status aml_status,
|
||||
acpi_name name,
|
||||
u16 opcode,
|
||||
u32 aml_offset, void *context);
|
||||
acpi_status (*acpi_exception_handler) (acpi_status aml_status,
|
||||
acpi_name name,
|
||||
u16 opcode,
|
||||
u32 aml_offset, void *context);
|
||||
|
||||
/* Table Event handler (Load, load_table, etc.) and types */
|
||||
|
||||
typedef
|
||||
acpi_status(*acpi_table_handler) (u32 event, void *table, void *context);
|
||||
acpi_status (*acpi_table_handler) (u32 event, void *table, void *context);
|
||||
|
||||
#define ACPI_TABLE_LOAD 0x0
|
||||
#define ACPI_TABLE_UNLOAD 0x1
|
||||
@@ -1093,12 +1095,12 @@ acpi_status(*acpi_table_handler) (u32 event, void *table, void *context);
|
||||
/* Address Spaces (For Operation Regions) */
|
||||
|
||||
typedef
|
||||
acpi_status(*acpi_adr_space_handler) (u32 function,
|
||||
acpi_physical_address address,
|
||||
u32 bit_width,
|
||||
u64 *value,
|
||||
void *handler_context,
|
||||
void *region_context);
|
||||
acpi_status (*acpi_adr_space_handler) (u32 function,
|
||||
acpi_physical_address address,
|
||||
u32 bit_width,
|
||||
u64 *value,
|
||||
void *handler_context,
|
||||
void *region_context);
|
||||
|
||||
#define ACPI_DEFAULT_HANDLER NULL
|
||||
|
||||
@@ -1111,18 +1113,18 @@ struct acpi_connection_info {
|
||||
};
|
||||
|
||||
typedef
|
||||
acpi_status(*acpi_adr_space_setup) (acpi_handle region_handle,
|
||||
u32 function,
|
||||
void *handler_context,
|
||||
void **region_context);
|
||||
acpi_status (*acpi_adr_space_setup) (acpi_handle region_handle,
|
||||
u32 function,
|
||||
void *handler_context,
|
||||
void **region_context);
|
||||
|
||||
#define ACPI_REGION_ACTIVATE 0
|
||||
#define ACPI_REGION_DEACTIVATE 1
|
||||
|
||||
typedef
|
||||
acpi_status(*acpi_walk_callback) (acpi_handle object,
|
||||
u32 nesting_level,
|
||||
void *context, void **return_value);
|
||||
acpi_status (*acpi_walk_callback) (acpi_handle object,
|
||||
u32 nesting_level,
|
||||
void *context, void **return_value);
|
||||
|
||||
typedef
|
||||
u32 (*acpi_interface_handler) (acpi_string interface_name, u32 supported);
|
||||
@@ -1227,7 +1229,7 @@ struct acpi_mem_space_context {
|
||||
* struct acpi_memory_list is used only if the ACPICA local cache is enabled
|
||||
*/
|
||||
struct acpi_memory_list {
|
||||
char *list_name;
|
||||
const char *list_name;
|
||||
void *list_head;
|
||||
u16 object_size;
|
||||
u16 max_depth;
|
||||
|
@@ -66,17 +66,28 @@
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/* Common application configuration. All single threaded except for acpi_exec. */
|
||||
|
||||
#if (defined ACPI_ASL_COMPILER) || \
|
||||
(defined ACPI_BIN_APP) || \
|
||||
(defined ACPI_DUMP_APP) || \
|
||||
(defined ACPI_HELP_APP) || \
|
||||
(defined ACPI_NAMES_APP) || \
|
||||
(defined ACPI_SRC_APP) || \
|
||||
(defined ACPI_XTRACT_APP) || \
|
||||
(defined ACPI_EXAMPLE_APP)
|
||||
#define ACPI_APPLICATION
|
||||
#define ACPI_SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
/* iASL configuration */
|
||||
|
||||
#ifdef ACPI_ASL_COMPILER
|
||||
#define ACPI_APPLICATION
|
||||
#define ACPI_DEBUG_OUTPUT
|
||||
#define ACPI_CONSTANT_EVAL_ONLY
|
||||
#define ACPI_LARGE_NAMESPACE_NODE
|
||||
#define ACPI_DATA_TABLE_DISASSEMBLY
|
||||
#define ACPI_SINGLE_THREADED
|
||||
#define ACPI_32BIT_PHYSICAL_ADDRESS
|
||||
|
||||
#define ACPI_DISASSEMBLER 1
|
||||
#endif
|
||||
|
||||
@@ -89,21 +100,6 @@
|
||||
#define ACPI_DBG_TRACK_ALLOCATIONS
|
||||
#endif
|
||||
|
||||
/*
|
||||
* acpi_bin/acpi_dump/acpi_help/acpi_names/acpi_src/acpi_xtract/Example
|
||||
* configuration. All single threaded.
|
||||
*/
|
||||
#if (defined ACPI_BIN_APP) || \
|
||||
(defined ACPI_DUMP_APP) || \
|
||||
(defined ACPI_HELP_APP) || \
|
||||
(defined ACPI_NAMES_APP) || \
|
||||
(defined ACPI_SRC_APP) || \
|
||||
(defined ACPI_XTRACT_APP) || \
|
||||
(defined ACPI_EXAMPLE_APP)
|
||||
#define ACPI_APPLICATION
|
||||
#define ACPI_SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
/* acpi_help configuration. Error messages disabled. */
|
||||
|
||||
#ifdef ACPI_HELP_APP
|
||||
@@ -138,11 +134,16 @@
|
||||
#define ACPI_REDUCED_HARDWARE 1
|
||||
#endif
|
||||
|
||||
/* Linkable ACPICA library */
|
||||
/* Linkable ACPICA library. Two versions, one with full debug. */
|
||||
|
||||
#ifdef ACPI_LIBRARY
|
||||
#define ACPI_USE_LOCAL_CACHE
|
||||
#define ACPI_FULL_DEBUG
|
||||
#define ACPI_DEBUGGER 1
|
||||
#define ACPI_DISASSEMBLER 1
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define ACPI_DEBUG_OUTPUT
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Common for all ACPICA applications */
|
||||
@@ -218,6 +219,9 @@
|
||||
#elif defined(__HAIKU__)
|
||||
#include "achaiku.h"
|
||||
|
||||
#elif defined(__QNX__)
|
||||
#include "acqnx.h"
|
||||
|
||||
#else
|
||||
|
||||
/* Unknown environment */
|
||||
|
@@ -1,54 +0,0 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Name: acmsvcex.h - Extra VC specific defines, etc.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2000 - 2016, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions, and the following disclaimer,
|
||||
* without modification.
|
||||
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
|
||||
* substantially similar to the "NO WARRANTY" disclaimer below
|
||||
* ("Disclaimer") and any redistribution must be conditioned upon
|
||||
* including a substantially similar Disclaimer requirement for further
|
||||
* binary redistribution.
|
||||
* 3. Neither the names of the above-listed copyright holders nor the names
|
||||
* of any contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* Alternatively, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") version 2 as published by the Free
|
||||
* Software Foundation.
|
||||
*
|
||||
* NO WARRANTY
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGES.
|
||||
*/
|
||||
|
||||
#ifndef __ACMSVCEX_H__
|
||||
#define __ACMSVCEX_H__
|
||||
|
||||
/* Debug support. */
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define _CRTDBG_MAP_ALLOC /* Enables specific file/lineno for leaks */
|
||||
#include <crtdbg.h>
|
||||
#endif
|
||||
|
||||
#endif /* __ACMSVCEX_H__ */
|
@@ -1,49 +0,0 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Name: acwinex.h - Extra OS specific defines, etc.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2000 - 2016, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions, and the following disclaimer,
|
||||
* without modification.
|
||||
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
|
||||
* substantially similar to the "NO WARRANTY" disclaimer below
|
||||
* ("Disclaimer") and any redistribution must be conditioned upon
|
||||
* including a substantially similar Disclaimer requirement for further
|
||||
* binary redistribution.
|
||||
* 3. Neither the names of the above-listed copyright holders nor the names
|
||||
* of any contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* Alternatively, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") version 2 as published by the Free
|
||||
* Software Foundation.
|
||||
*
|
||||
* NO WARRANTY
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGES.
|
||||
*/
|
||||
|
||||
#ifndef __ACWINEX_H__
|
||||
#define __ACWINEX_H__
|
||||
|
||||
/* Windows uses VC */
|
||||
|
||||
#endif /* __ACWINEX_H__ */
|
Reference in New Issue
Block a user