diff options
| author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-01-17 21:01:07 -0500 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-01-17 21:01:07 -0500 |
| commit | 2a2bafcb3b60f0b5b1cc7b10f21356a8516f192a (patch) | |
| tree | 589800f95c6c2f5c106fb01414075ac2d5a767eb /include | |
| parent | 90fd94e4aba4ddfb6764c051a6bf9a3f4f26fb50 (diff) | |
| parent | 3bd93bd76ba6b5588a1b2b9f4f451952c7d8994d (diff) | |
Merge branch 'acpica'
* acpica: (40 commits)
ACPICA: Update version to 20171215
ACPICA: trivial style fix, no functional change
ACPICA: Fix a couple memory leaks during package object resolution
ACPICA: Recognize the Windows 10 version 1607 and 1703 OSI strings
ACPICA: DT compiler: prevent error if optional field at the end of table is not present
ACPICA: Rename a global variable, no functional change
ACPICA: Create and deploy safe version of strncpy
ACPICA: Cleanup the global variables and update comments
ACPICA: Debugger: fix slight indentation issue
ACPICA: Fix a regression in the acpi_evaluate_object_type() interface
ACPICA: Update for a few debug output statements
ACPICA: Debug output, no functional change
ACPICA: Update information in MAINTAINERS
ACPICA: Rename variable to match upstream
ACPICA: Update version to 20171110
ACPICA: ACPI 6.2: Additional PPTT flags
ACPICA: Update linkage for get mutex name interface
ACPICA: Update mutex error messages, no functional change
ACPICA: Debugger: add "background" command for method execution
ACPICA: Small typo fix, no functional change
...
Diffstat (limited to 'include')
| -rw-r--r-- | include/acpi/acconfig.h | 4 | ||||
| -rw-r--r-- | include/acpi/acexcep.h | 12 | ||||
| -rw-r--r-- | include/acpi/acpixf.h | 6 | ||||
| -rw-r--r-- | include/acpi/actbl1.h | 159 | ||||
| -rw-r--r-- | include/acpi/actbl2.h | 15 | ||||
| -rw-r--r-- | include/acpi/actypes.h | 4 |
6 files changed, 180 insertions, 20 deletions
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h index 6db3b4668b1a..ffe364fa4040 100644 --- a/include/acpi/acconfig.h +++ b/include/acpi/acconfig.h | |||
| @@ -145,9 +145,9 @@ | |||
| 145 | 145 | ||
| 146 | #define ACPI_ADDRESS_RANGE_MAX 2 | 146 | #define ACPI_ADDRESS_RANGE_MAX 2 |
| 147 | 147 | ||
| 148 | /* Maximum number of While() loops before abort */ | 148 | /* Maximum time (default 30s) of While() loops before abort */ |
| 149 | 149 | ||
| 150 | #define ACPI_MAX_LOOP_COUNT 0x000FFFFF | 150 | #define ACPI_MAX_LOOP_TIMEOUT 30 |
| 151 | 151 | ||
| 152 | /****************************************************************************** | 152 | /****************************************************************************** |
| 153 | * | 153 | * |
diff --git a/include/acpi/acexcep.h b/include/acpi/acexcep.h index 17d61b1f2511..3c46f0ef5f7a 100644 --- a/include/acpi/acexcep.h +++ b/include/acpi/acexcep.h | |||
| @@ -130,8 +130,9 @@ struct acpi_exception_info { | |||
| 130 | #define AE_HEX_OVERFLOW EXCEP_ENV (0x0020) | 130 | #define AE_HEX_OVERFLOW EXCEP_ENV (0x0020) |
| 131 | #define AE_DECIMAL_OVERFLOW EXCEP_ENV (0x0021) | 131 | #define AE_DECIMAL_OVERFLOW EXCEP_ENV (0x0021) |
| 132 | #define AE_OCTAL_OVERFLOW EXCEP_ENV (0x0022) | 132 | #define AE_OCTAL_OVERFLOW EXCEP_ENV (0x0022) |
| 133 | #define AE_END_OF_TABLE EXCEP_ENV (0x0023) | ||
| 133 | 134 | ||
| 134 | #define AE_CODE_ENV_MAX 0x0022 | 135 | #define AE_CODE_ENV_MAX 0x0023 |
| 135 | 136 | ||
| 136 | /* | 137 | /* |
| 137 | * Programmer exceptions | 138 | * Programmer exceptions |
| @@ -195,7 +196,7 @@ struct acpi_exception_info { | |||
| 195 | #define AE_AML_CIRCULAR_REFERENCE EXCEP_AML (0x001E) | 196 | #define AE_AML_CIRCULAR_REFERENCE EXCEP_AML (0x001E) |
| 196 | #define AE_AML_BAD_RESOURCE_LENGTH EXCEP_AML (0x001F) | 197 | #define AE_AML_BAD_RESOURCE_LENGTH EXCEP_AML (0x001F) |
| 197 | #define AE_AML_ILLEGAL_ADDRESS EXCEP_AML (0x0020) | 198 | #define AE_AML_ILLEGAL_ADDRESS EXCEP_AML (0x0020) |
| 198 | #define AE_AML_INFINITE_LOOP EXCEP_AML (0x0021) | 199 | #define AE_AML_LOOP_TIMEOUT EXCEP_AML (0x0021) |
| 199 | #define AE_AML_UNINITIALIZED_NODE EXCEP_AML (0x0022) | 200 | #define AE_AML_UNINITIALIZED_NODE EXCEP_AML (0x0022) |
| 200 | #define AE_AML_TARGET_TYPE EXCEP_AML (0x0023) | 201 | #define AE_AML_TARGET_TYPE EXCEP_AML (0x0023) |
| 201 | 202 | ||
| @@ -275,7 +276,8 @@ static const struct acpi_exception_info acpi_gbl_exception_names_env[] = { | |||
| 275 | EXCEP_TXT("AE_DECIMAL_OVERFLOW", | 276 | EXCEP_TXT("AE_DECIMAL_OVERFLOW", |
| 276 | "Overflow during ASCII decimal-to-binary conversion"), | 277 | "Overflow during ASCII decimal-to-binary conversion"), |
| 277 | EXCEP_TXT("AE_OCTAL_OVERFLOW", | 278 | EXCEP_TXT("AE_OCTAL_OVERFLOW", |
| 278 | "Overflow during ASCII octal-to-binary conversion") | 279 | "Overflow during ASCII octal-to-binary conversion"), |
| 280 | EXCEP_TXT("AE_END_OF_TABLE", "Reached the end of table") | ||
| 279 | }; | 281 | }; |
| 280 | 282 | ||
| 281 | static const struct acpi_exception_info acpi_gbl_exception_names_pgm[] = { | 283 | static const struct acpi_exception_info acpi_gbl_exception_names_pgm[] = { |
| @@ -368,8 +370,8 @@ static const struct acpi_exception_info acpi_gbl_exception_names_aml[] = { | |||
| 368 | "The length of a Resource Descriptor in the AML is incorrect"), | 370 | "The length of a Resource Descriptor in the AML is incorrect"), |
| 369 | EXCEP_TXT("AE_AML_ILLEGAL_ADDRESS", | 371 | EXCEP_TXT("AE_AML_ILLEGAL_ADDRESS", |
| 370 | "A memory, I/O, or PCI configuration address is invalid"), | 372 | "A memory, I/O, or PCI configuration address is invalid"), |
| 371 | EXCEP_TXT("AE_AML_INFINITE_LOOP", | 373 | EXCEP_TXT("AE_AML_LOOP_TIMEOUT", |
| 372 | "An apparent infinite AML While loop, method was aborted"), | 374 | "An AML While loop exceeded the maximum execution time"), |
| 373 | EXCEP_TXT("AE_AML_UNINITIALIZED_NODE", | 375 | EXCEP_TXT("AE_AML_UNINITIALIZED_NODE", |
| 374 | "A namespace node is uninitialized or unresolved"), | 376 | "A namespace node is uninitialized or unresolved"), |
| 375 | EXCEP_TXT("AE_AML_TARGET_TYPE", | 377 | EXCEP_TXT("AE_AML_TARGET_TYPE", |
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h index e1dd1a8d42b6..c589c3e12d90 100644 --- a/include/acpi/acpixf.h +++ b/include/acpi/acpixf.h | |||
| @@ -46,7 +46,7 @@ | |||
| 46 | 46 | ||
| 47 | /* Current ACPICA subsystem version in YYYYMMDD format */ | 47 | /* Current ACPICA subsystem version in YYYYMMDD format */ |
| 48 | 48 | ||
| 49 | #define ACPI_CA_VERSION 0x20170831 | 49 | #define ACPI_CA_VERSION 0x20171215 |
| 50 | 50 | ||
| 51 | #include <acpi/acconfig.h> | 51 | #include <acpi/acconfig.h> |
| 52 | #include <acpi/actypes.h> | 52 | #include <acpi/actypes.h> |
| @@ -260,11 +260,11 @@ ACPI_INIT_GLOBAL(u8, acpi_gbl_osi_data, 0); | |||
| 260 | ACPI_INIT_GLOBAL(u8, acpi_gbl_reduced_hardware, FALSE); | 260 | ACPI_INIT_GLOBAL(u8, acpi_gbl_reduced_hardware, FALSE); |
| 261 | 261 | ||
| 262 | /* | 262 | /* |
| 263 | * Maximum number of While() loop iterations before forced method abort. | 263 | * Maximum timeout for While() loop iterations before forced method abort. |
| 264 | * This mechanism is intended to prevent infinite loops during interpreter | 264 | * This mechanism is intended to prevent infinite loops during interpreter |
| 265 | * execution within a host kernel. | 265 | * execution within a host kernel. |
| 266 | */ | 266 | */ |
| 267 | ACPI_INIT_GLOBAL(u32, acpi_gbl_max_loop_iterations, ACPI_MAX_LOOP_COUNT); | 267 | ACPI_INIT_GLOBAL(u32, acpi_gbl_max_loop_iterations, ACPI_MAX_LOOP_TIMEOUT); |
| 268 | 268 | ||
| 269 | /* | 269 | /* |
| 270 | * This mechanism is used to trace a specified AML method. The method is | 270 | * This mechanism is used to trace a specified AML method. The method is |
diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h index 7a89e6de94da..4c304bf4d591 100644 --- a/include/acpi/actbl1.h +++ b/include/acpi/actbl1.h | |||
| @@ -69,9 +69,10 @@ | |||
| 69 | #define ACPI_SIG_HEST "HEST" /* Hardware Error Source Table */ | 69 | #define ACPI_SIG_HEST "HEST" /* Hardware Error Source Table */ |
| 70 | #define ACPI_SIG_MADT "APIC" /* Multiple APIC Description Table */ | 70 | #define ACPI_SIG_MADT "APIC" /* Multiple APIC Description Table */ |
| 71 | #define ACPI_SIG_MSCT "MSCT" /* Maximum System Characteristics Table */ | 71 | #define ACPI_SIG_MSCT "MSCT" /* Maximum System Characteristics Table */ |
| 72 | #define ACPI_SIG_PDTT "PDTT" /* Processor Debug Trigger Table */ | 72 | #define ACPI_SIG_PDTT "PDTT" /* Platform Debug Trigger Table */ |
| 73 | #define ACPI_SIG_PPTT "PPTT" /* Processor Properties Topology Table */ | 73 | #define ACPI_SIG_PPTT "PPTT" /* Processor Properties Topology Table */ |
| 74 | #define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */ | 74 | #define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */ |
| 75 | #define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */ | ||
| 75 | #define ACPI_SIG_SLIT "SLIT" /* System Locality Distance Information Table */ | 76 | #define ACPI_SIG_SLIT "SLIT" /* System Locality Distance Information Table */ |
| 76 | #define ACPI_SIG_SRAT "SRAT" /* System Resource Affinity Table */ | 77 | #define ACPI_SIG_SRAT "SRAT" /* System Resource Affinity Table */ |
| 77 | #define ACPI_SIG_NFIT "NFIT" /* NVDIMM Firmware Interface Table */ | 78 | #define ACPI_SIG_NFIT "NFIT" /* NVDIMM Firmware Interface Table */ |
| @@ -1149,7 +1150,8 @@ enum acpi_nfit_type { | |||
| 1149 | ACPI_NFIT_TYPE_CONTROL_REGION = 4, | 1150 | ACPI_NFIT_TYPE_CONTROL_REGION = 4, |
| 1150 | ACPI_NFIT_TYPE_DATA_REGION = 5, | 1151 | ACPI_NFIT_TYPE_DATA_REGION = 5, |
| 1151 | ACPI_NFIT_TYPE_FLUSH_ADDRESS = 6, | 1152 | ACPI_NFIT_TYPE_FLUSH_ADDRESS = 6, |
| 1152 | ACPI_NFIT_TYPE_RESERVED = 7 /* 7 and greater are reserved */ | 1153 | ACPI_NFIT_TYPE_CAPABILITIES = 7, |
| 1154 | ACPI_NFIT_TYPE_RESERVED = 8 /* 8 and greater are reserved */ | ||
| 1153 | }; | 1155 | }; |
| 1154 | 1156 | ||
| 1155 | /* | 1157 | /* |
| @@ -1162,7 +1164,7 @@ struct acpi_nfit_system_address { | |||
| 1162 | struct acpi_nfit_header header; | 1164 | struct acpi_nfit_header header; |
| 1163 | u16 range_index; | 1165 | u16 range_index; |
| 1164 | u16 flags; | 1166 | u16 flags; |
| 1165 | u32 reserved; /* Reseved, must be zero */ | 1167 | u32 reserved; /* Reserved, must be zero */ |
| 1166 | u32 proximity_domain; | 1168 | u32 proximity_domain; |
| 1167 | u8 range_guid[16]; | 1169 | u8 range_guid[16]; |
| 1168 | u64 address; | 1170 | u64 address; |
| @@ -1281,9 +1283,72 @@ struct acpi_nfit_flush_address { | |||
| 1281 | u64 hint_address[1]; /* Variable length */ | 1283 | u64 hint_address[1]; /* Variable length */ |
| 1282 | }; | 1284 | }; |
| 1283 | 1285 | ||
| 1286 | /* 7: Platform Capabilities Structure */ | ||
| 1287 | |||
| 1288 | struct acpi_nfit_capabilities { | ||
| 1289 | struct acpi_nfit_header header; | ||
| 1290 | u8 highest_capability; | ||
| 1291 | u8 reserved[3]; /* Reserved, must be zero */ | ||
| 1292 | u32 capabilities; | ||
| 1293 | u32 reserved2; | ||
| 1294 | }; | ||
| 1295 | |||
| 1296 | /* Capabilities Flags */ | ||
| 1297 | |||
| 1298 | #define ACPI_NFIT_CAPABILITY_CACHE_FLUSH (1) /* 00: Cache Flush to NVDIMM capable */ | ||
| 1299 | #define ACPI_NFIT_CAPABILITY_MEM_FLUSH (1<<1) /* 01: Memory Flush to NVDIMM capable */ | ||
| 1300 | #define ACPI_NFIT_CAPABILITY_MEM_MIRRORING (1<<2) /* 02: Memory Mirroring capable */ | ||
| 1301 | |||
| 1302 | /* | ||
| 1303 | * NFIT/DVDIMM device handle support - used as the _ADR for each NVDIMM | ||
| 1304 | */ | ||
| 1305 | struct nfit_device_handle { | ||
| 1306 | u32 handle; | ||
| 1307 | }; | ||
| 1308 | |||
| 1309 | /* Device handle construction and extraction macros */ | ||
| 1310 | |||
| 1311 | #define ACPI_NFIT_DIMM_NUMBER_MASK 0x0000000F | ||
| 1312 | #define ACPI_NFIT_CHANNEL_NUMBER_MASK 0x000000F0 | ||
| 1313 | #define ACPI_NFIT_MEMORY_ID_MASK 0x00000F00 | ||
| 1314 | #define ACPI_NFIT_SOCKET_ID_MASK 0x0000F000 | ||
| 1315 | #define ACPI_NFIT_NODE_ID_MASK 0x0FFF0000 | ||
| 1316 | |||
| 1317 | #define ACPI_NFIT_DIMM_NUMBER_OFFSET 0 | ||
| 1318 | #define ACPI_NFIT_CHANNEL_NUMBER_OFFSET 4 | ||
| 1319 | #define ACPI_NFIT_MEMORY_ID_OFFSET 8 | ||
| 1320 | #define ACPI_NFIT_SOCKET_ID_OFFSET 12 | ||
| 1321 | #define ACPI_NFIT_NODE_ID_OFFSET 16 | ||
| 1322 | |||
| 1323 | /* Macro to construct a NFIT/NVDIMM device handle */ | ||
| 1324 | |||
| 1325 | #define ACPI_NFIT_BUILD_DEVICE_HANDLE(dimm, channel, memory, socket, node) \ | ||
| 1326 | ((dimm) | \ | ||
| 1327 | ((channel) << ACPI_NFIT_CHANNEL_NUMBER_OFFSET) | \ | ||
| 1328 | ((memory) << ACPI_NFIT_MEMORY_ID_OFFSET) | \ | ||
| 1329 | ((socket) << ACPI_NFIT_SOCKET_ID_OFFSET) | \ | ||
| 1330 | ((node) << ACPI_NFIT_NODE_ID_OFFSET)) | ||
| 1331 | |||
| 1332 | /* Macros to extract individual fields from a NFIT/NVDIMM device handle */ | ||
| 1333 | |||
| 1334 | #define ACPI_NFIT_GET_DIMM_NUMBER(handle) \ | ||
| 1335 | ((handle) & ACPI_NFIT_DIMM_NUMBER_MASK) | ||
| 1336 | |||
| 1337 | #define ACPI_NFIT_GET_CHANNEL_NUMBER(handle) \ | ||
| 1338 | (((handle) & ACPI_NFIT_CHANNEL_NUMBER_MASK) >> ACPI_NFIT_CHANNEL_NUMBER_OFFSET) | ||
| 1339 | |||
| 1340 | #define ACPI_NFIT_GET_MEMORY_ID(handle) \ | ||
| 1341 | (((handle) & ACPI_NFIT_MEMORY_ID_MASK) >> ACPI_NFIT_MEMORY_ID_OFFSET) | ||
| 1342 | |||
| 1343 | #define ACPI_NFIT_GET_SOCKET_ID(handle) \ | ||
| 1344 | (((handle) & ACPI_NFIT_SOCKET_ID_MASK) >> ACPI_NFIT_SOCKET_ID_OFFSET) | ||
| 1345 | |||
| 1346 | #define ACPI_NFIT_GET_NODE_ID(handle) \ | ||
| 1347 | (((handle) & ACPI_NFIT_NODE_ID_MASK) >> ACPI_NFIT_NODE_ID_OFFSET) | ||
| 1348 | |||
| 1284 | /******************************************************************************* | 1349 | /******************************************************************************* |
| 1285 | * | 1350 | * |
| 1286 | * PDTT - Processor Debug Trigger Table (ACPI 6.2) | 1351 | * PDTT - Platform Debug Trigger Table (ACPI 6.2) |
| 1287 | * Version 0 | 1352 | * Version 0 |
| 1288 | * | 1353 | * |
| 1289 | ******************************************************************************/ | 1354 | ******************************************************************************/ |
| @@ -1301,14 +1366,14 @@ struct acpi_table_pdtt { | |||
| 1301 | * starting at array_offset. | 1366 | * starting at array_offset. |
| 1302 | */ | 1367 | */ |
| 1303 | struct acpi_pdtt_channel { | 1368 | struct acpi_pdtt_channel { |
| 1304 | u16 sub_channel_id; | 1369 | u8 subchannel_id; |
| 1370 | u8 flags; | ||
| 1305 | }; | 1371 | }; |
| 1306 | 1372 | ||
| 1307 | /* Mask and Flags for above */ | 1373 | /* Flags for above */ |
| 1308 | 1374 | ||
| 1309 | #define ACPI_PDTT_SUBCHANNEL_ID_MASK 0x00FF | 1375 | #define ACPI_PDTT_RUNTIME_TRIGGER (1) |
| 1310 | #define ACPI_PDTT_RUNTIME_TRIGGER (1<<8) | 1376 | #define ACPI_PDTT_WAIT_COMPLETION (1<<1) |
| 1311 | #define ACPI_PPTT_WAIT_COMPLETION (1<<9) | ||
| 1312 | 1377 | ||
| 1313 | /******************************************************************************* | 1378 | /******************************************************************************* |
| 1314 | * | 1379 | * |
| @@ -1376,6 +1441,20 @@ struct acpi_pptt_cache { | |||
| 1376 | #define ACPI_PPTT_MASK_CACHE_TYPE (0x0C) /* Cache type */ | 1441 | #define ACPI_PPTT_MASK_CACHE_TYPE (0x0C) /* Cache type */ |
| 1377 | #define ACPI_PPTT_MASK_WRITE_POLICY (0x10) /* Write policy */ | 1442 | #define ACPI_PPTT_MASK_WRITE_POLICY (0x10) /* Write policy */ |
| 1378 | 1443 | ||
| 1444 | /* Attributes describing cache */ | ||
| 1445 | #define ACPI_PPTT_CACHE_READ_ALLOCATE (0x0) /* Cache line is allocated on read */ | ||
| 1446 | #define ACPI_PPTT_CACHE_WRITE_ALLOCATE (0x01) /* Cache line is allocated on write */ | ||
| 1447 | #define ACPI_PPTT_CACHE_RW_ALLOCATE (0x02) /* Cache line is allocated on read and write */ | ||
| 1448 | #define ACPI_PPTT_CACHE_RW_ALLOCATE_ALT (0x03) /* Alternate representation of above */ | ||
| 1449 | |||
| 1450 | #define ACPI_PPTT_CACHE_TYPE_DATA (0x0) /* Data cache */ | ||
| 1451 | #define ACPI_PPTT_CACHE_TYPE_INSTR (1<<2) /* Instruction cache */ | ||
| 1452 | #define ACPI_PPTT_CACHE_TYPE_UNIFIED (2<<2) /* Unified I & D cache */ | ||
| 1453 | #define ACPI_PPTT_CACHE_TYPE_UNIFIED_ALT (3<<2) /* Alternate representation of above */ | ||
| 1454 | |||
| 1455 | #define ACPI_PPTT_CACHE_POLICY_WB (0x0) /* Cache is write back */ | ||
| 1456 | #define ACPI_PPTT_CACHE_POLICY_WT (1<<4) /* Cache is write through */ | ||
| 1457 | |||
| 1379 | /* 2: ID Structure */ | 1458 | /* 2: ID Structure */ |
| 1380 | 1459 | ||
| 1381 | struct acpi_pptt_id { | 1460 | struct acpi_pptt_id { |
| @@ -1405,6 +1484,68 @@ struct acpi_table_sbst { | |||
| 1405 | 1484 | ||
| 1406 | /******************************************************************************* | 1485 | /******************************************************************************* |
| 1407 | * | 1486 | * |
| 1487 | * SDEV - Secure Devices Table (ACPI 6.2) | ||
| 1488 | * Version 1 | ||
| 1489 | * | ||
| 1490 | ******************************************************************************/ | ||
| 1491 | |||
| 1492 | struct acpi_table_sdev { | ||
| 1493 | struct acpi_table_header header; /* Common ACPI table header */ | ||
| 1494 | }; | ||
| 1495 | |||
| 1496 | struct acpi_sdev_header { | ||
| 1497 | u8 type; | ||
| 1498 | u8 flags; | ||
| 1499 | u16 length; | ||
| 1500 | }; | ||
| 1501 | |||
| 1502 | /* Values for subtable type above */ | ||
| 1503 | |||
| 1504 | enum acpi_sdev_type { | ||
| 1505 | ACPI_SDEV_TYPE_NAMESPACE_DEVICE = 0, | ||
| 1506 | ACPI_SDEV_TYPE_PCIE_ENDPOINT_DEVICE = 1, | ||
| 1507 | ACPI_SDEV_TYPE_RESERVED = 2 /* 2 and greater are reserved */ | ||
| 1508 | }; | ||
| 1509 | |||
| 1510 | /* Values for flags above */ | ||
| 1511 | |||
| 1512 | #define ACPI_SDEV_HANDOFF_TO_UNSECURE_OS (1) | ||
| 1513 | |||
| 1514 | /* | ||
| 1515 | * SDEV subtables | ||
| 1516 | */ | ||
| 1517 | |||
| 1518 | /* 0: Namespace Device Based Secure Device Structure */ | ||
| 1519 | |||
| 1520 | struct acpi_sdev_namespace { | ||
| 1521 | struct acpi_sdev_header header; | ||
| 1522 | u16 device_id_offset; | ||
| 1523 | u16 device_id_length; | ||
| 1524 | u16 vendor_data_offset; | ||
| 1525 | u16 vendor_data_length; | ||
| 1526 | }; | ||
| 1527 | |||
| 1528 | /* 1: PCIe Endpoint Device Based Device Structure */ | ||
| 1529 | |||
| 1530 | struct acpi_sdev_pcie { | ||
| 1531 | struct acpi_sdev_header header; | ||
| 1532 | u16 segment; | ||
| 1533 | u16 start_bus; | ||
| 1534 | u16 path_offset; | ||
| 1535 | u16 path_length; | ||
| 1536 | u16 vendor_data_offset; | ||
| 1537 | u16 vendor_data_length; | ||
| 1538 | }; | ||
| 1539 | |||
| 1540 | /* 1a: PCIe Endpoint path entry */ | ||
| 1541 | |||
| 1542 | struct acpi_sdev_pcie_path { | ||
| 1543 | u8 device; | ||
| 1544 | u8 function; | ||
| 1545 | }; | ||
| 1546 | |||
| 1547 | /******************************************************************************* | ||
| 1548 | * | ||
| 1408 | * SLIT - System Locality Distance Information Table | 1549 | * SLIT - System Locality Distance Information Table |
| 1409 | * Version 1 | 1550 | * Version 1 |
| 1410 | * | 1551 | * |
diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h index 686b6f8c09dc..0d60d5df14f8 100644 --- a/include/acpi/actbl2.h +++ b/include/acpi/actbl2.h | |||
| @@ -810,6 +810,7 @@ struct acpi_iort_smmu_v3 { | |||
| 810 | u8 pxm; | 810 | u8 pxm; |
| 811 | u8 reserved1; | 811 | u8 reserved1; |
| 812 | u16 reserved2; | 812 | u16 reserved2; |
| 813 | u32 id_mapping_index; | ||
| 813 | }; | 814 | }; |
| 814 | 815 | ||
| 815 | /* Values for Model field above */ | 816 | /* Values for Model field above */ |
| @@ -1246,6 +1247,8 @@ enum acpi_spmi_interface_types { | |||
| 1246 | * TCPA - Trusted Computing Platform Alliance table | 1247 | * TCPA - Trusted Computing Platform Alliance table |
| 1247 | * Version 2 | 1248 | * Version 2 |
| 1248 | * | 1249 | * |
| 1250 | * TCG Hardware Interface Table for TPM 1.2 Clients and Servers | ||
| 1251 | * | ||
| 1249 | * Conforms to "TCG ACPI Specification, Family 1.2 and 2.0", | 1252 | * Conforms to "TCG ACPI Specification, Family 1.2 and 2.0", |
| 1250 | * Version 1.2, Revision 8 | 1253 | * Version 1.2, Revision 8 |
| 1251 | * February 27, 2017 | 1254 | * February 27, 2017 |
| @@ -1310,6 +1313,8 @@ struct acpi_table_tcpa_server { | |||
| 1310 | * TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table | 1313 | * TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table |
| 1311 | * Version 4 | 1314 | * Version 4 |
| 1312 | * | 1315 | * |
| 1316 | * TCG Hardware Interface Table for TPM 2.0 Clients and Servers | ||
| 1317 | * | ||
| 1313 | * Conforms to "TCG ACPI Specification, Family 1.2 and 2.0", | 1318 | * Conforms to "TCG ACPI Specification, Family 1.2 and 2.0", |
| 1314 | * Version 1.2, Revision 8 | 1319 | * Version 1.2, Revision 8 |
| 1315 | * February 27, 2017 | 1320 | * February 27, 2017 |
| @@ -1329,15 +1334,23 @@ struct acpi_table_tpm2 { | |||
| 1329 | /* Values for start_method above */ | 1334 | /* Values for start_method above */ |
| 1330 | 1335 | ||
| 1331 | #define ACPI_TPM2_NOT_ALLOWED 0 | 1336 | #define ACPI_TPM2_NOT_ALLOWED 0 |
| 1337 | #define ACPI_TPM2_RESERVED1 1 | ||
| 1332 | #define ACPI_TPM2_START_METHOD 2 | 1338 | #define ACPI_TPM2_START_METHOD 2 |
| 1339 | #define ACPI_TPM2_RESERVED3 3 | ||
| 1340 | #define ACPI_TPM2_RESERVED4 4 | ||
| 1341 | #define ACPI_TPM2_RESERVED5 5 | ||
| 1333 | #define ACPI_TPM2_MEMORY_MAPPED 6 | 1342 | #define ACPI_TPM2_MEMORY_MAPPED 6 |
| 1334 | #define ACPI_TPM2_COMMAND_BUFFER 7 | 1343 | #define ACPI_TPM2_COMMAND_BUFFER 7 |
| 1335 | #define ACPI_TPM2_COMMAND_BUFFER_WITH_START_METHOD 8 | 1344 | #define ACPI_TPM2_COMMAND_BUFFER_WITH_START_METHOD 8 |
| 1345 | #define ACPI_TPM2_RESERVED9 9 | ||
| 1346 | #define ACPI_TPM2_RESERVED10 10 | ||
| 1336 | #define ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC 11 /* V1.2 Rev 8 */ | 1347 | #define ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC 11 /* V1.2 Rev 8 */ |
| 1348 | #define ACPI_TPM2_RESERVED 12 | ||
| 1337 | 1349 | ||
| 1338 | /* Trailer appears after any start_method subtables */ | 1350 | /* Optional trailer appears after any start_method subtables */ |
| 1339 | 1351 | ||
| 1340 | struct acpi_tpm2_trailer { | 1352 | struct acpi_tpm2_trailer { |
| 1353 | u8 method_parameters[12]; | ||
| 1341 | u32 minimum_log_length; /* Minimum length for the event log area */ | 1354 | u32 minimum_log_length; /* Minimum length for the event log area */ |
| 1342 | u64 log_address; /* Address of the event log area */ | 1355 | u64 log_address; /* Address of the event log area */ |
| 1343 | }; | 1356 | }; |
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h index 4f077edb9b81..31f1be74dd16 100644 --- a/include/acpi/actypes.h +++ b/include/acpi/actypes.h | |||
| @@ -468,6 +468,8 @@ typedef void *acpi_handle; /* Actually a ptr to a NS Node */ | |||
| 468 | #define ACPI_NSEC_PER_MSEC 1000000L | 468 | #define ACPI_NSEC_PER_MSEC 1000000L |
| 469 | #define ACPI_NSEC_PER_SEC 1000000000L | 469 | #define ACPI_NSEC_PER_SEC 1000000000L |
| 470 | 470 | ||
| 471 | #define ACPI_TIME_AFTER(a, b) ((s64)((b) - (a)) < 0) | ||
| 472 | |||
| 471 | /* Owner IDs are used to track namespace nodes for selective deletion */ | 473 | /* Owner IDs are used to track namespace nodes for selective deletion */ |
| 472 | 474 | ||
| 473 | typedef u8 acpi_owner_id; | 475 | typedef u8 acpi_owner_id; |
| @@ -1299,6 +1301,8 @@ typedef enum { | |||
| 1299 | #define ACPI_OSI_WIN_7 0x0B | 1301 | #define ACPI_OSI_WIN_7 0x0B |
| 1300 | #define ACPI_OSI_WIN_8 0x0C | 1302 | #define ACPI_OSI_WIN_8 0x0C |
| 1301 | #define ACPI_OSI_WIN_10 0x0D | 1303 | #define ACPI_OSI_WIN_10 0x0D |
| 1304 | #define ACPI_OSI_WIN_10_RS1 0x0E | ||
| 1305 | #define ACPI_OSI_WIN_10_RS2 0x0F | ||
| 1302 | 1306 | ||
| 1303 | /* Definitions of getopt */ | 1307 | /* Definitions of getopt */ |
| 1304 | 1308 | ||
