actbl2.h (246849) | actbl2.h (272444) |
---|---|
1/****************************************************************************** 2 * 3 * Name: actbl2.h - ACPI Table Definitions (tables not in ACPI spec) 4 * 5 *****************************************************************************/ 6 7/* | 1/****************************************************************************** 2 * 3 * Name: actbl2.h - ACPI Table Definitions (tables not in ACPI spec) 4 * 5 *****************************************************************************/ 6 7/* |
8 * Copyright (C) 2000 - 2013, Intel Corp. | 8 * Copyright (C) 2000 - 2014, Intel Corp. |
9 * All rights reserved. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions 13 * are met: 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions, and the following disclaimer, 16 * without modification. --- 50 unchanged lines hidden (view full) --- 67#define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */ 68#define ACPI_SIG_CSRT "CSRT" /* Core System Resource Table */ 69#define ACPI_SIG_DBG2 "DBG2" /* Debug Port table type 2 */ 70#define ACPI_SIG_DBGP "DBGP" /* Debug Port table */ 71#define ACPI_SIG_DMAR "DMAR" /* DMA Remapping table */ 72#define ACPI_SIG_HPET "HPET" /* High Precision Event Timer table */ 73#define ACPI_SIG_IBFT "IBFT" /* iSCSI Boot Firmware Table */ 74#define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */ | 9 * All rights reserved. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions 13 * are met: 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions, and the following disclaimer, 16 * without modification. --- 50 unchanged lines hidden (view full) --- 67#define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */ 68#define ACPI_SIG_CSRT "CSRT" /* Core System Resource Table */ 69#define ACPI_SIG_DBG2 "DBG2" /* Debug Port table type 2 */ 70#define ACPI_SIG_DBGP "DBGP" /* Debug Port table */ 71#define ACPI_SIG_DMAR "DMAR" /* DMA Remapping table */ 72#define ACPI_SIG_HPET "HPET" /* High Precision Event Timer table */ 73#define ACPI_SIG_IBFT "IBFT" /* iSCSI Boot Firmware Table */ 74#define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */ |
75#define ACPI_SIG_LPIT "LPIT" /* Low Power Idle Table */ |
|
75#define ACPI_SIG_MCFG "MCFG" /* PCI Memory Mapped Configuration table */ 76#define ACPI_SIG_MCHI "MCHI" /* Management Controller Host Interface table */ 77#define ACPI_SIG_MTMR "MTMR" /* MID Timer table */ 78#define ACPI_SIG_SLIC "SLIC" /* Software Licensing Description Table */ 79#define ACPI_SIG_SPCR "SPCR" /* Serial Port Console Redirection table */ 80#define ACPI_SIG_SPMI "SPMI" /* Server Platform Management Interface table */ 81#define ACPI_SIG_TCPA "TCPA" /* Trusted Computing Platform Alliance table */ 82#define ACPI_SIG_UEFI "UEFI" /* Uefi Boot Optimization Table */ --- 285 unchanged lines hidden (view full) --- 368{ 369 ACPI_TABLE_HEADER Header; /* Common ACPI table header */ 370 UINT32 InfoOffset; 371 UINT32 InfoCount; 372 373} ACPI_TABLE_DBG2; 374 375 | 76#define ACPI_SIG_MCFG "MCFG" /* PCI Memory Mapped Configuration table */ 77#define ACPI_SIG_MCHI "MCHI" /* Management Controller Host Interface table */ 78#define ACPI_SIG_MTMR "MTMR" /* MID Timer table */ 79#define ACPI_SIG_SLIC "SLIC" /* Software Licensing Description Table */ 80#define ACPI_SIG_SPCR "SPCR" /* Serial Port Console Redirection table */ 81#define ACPI_SIG_SPMI "SPMI" /* Server Platform Management Interface table */ 82#define ACPI_SIG_TCPA "TCPA" /* Trusted Computing Platform Alliance table */ 83#define ACPI_SIG_UEFI "UEFI" /* Uefi Boot Optimization Table */ --- 285 unchanged lines hidden (view full) --- 369{ 370 ACPI_TABLE_HEADER Header; /* Common ACPI table header */ 371 UINT32 InfoOffset; 372 UINT32 InfoCount; 373 374} ACPI_TABLE_DBG2; 375 376 |
377typedef struct acpi_dbg2_header 378{ 379 UINT32 InfoOffset; 380 UINT32 InfoCount; 381 382} ACPI_DBG2_HEADER; 383 384 |
|
376/* Debug Device Information Subtable */ 377 378typedef struct acpi_dbg2_device 379{ 380 UINT8 Revision; 381 UINT16 Length; 382 UINT8 RegisterCount; /* Number of BaseAddress registers */ 383 UINT16 NamepathLength; --- 52 unchanged lines hidden (view full) --- 436 437 438/******************************************************************************* 439 * 440 * DMAR - DMA Remapping table 441 * Version 1 442 * 443 * Conforms to "Intel Virtualization Technology for Directed I/O", | 385/* Debug Device Information Subtable */ 386 387typedef struct acpi_dbg2_device 388{ 389 UINT8 Revision; 390 UINT16 Length; 391 UINT8 RegisterCount; /* Number of BaseAddress registers */ 392 UINT16 NamepathLength; --- 52 unchanged lines hidden (view full) --- 445 446 447/******************************************************************************* 448 * 449 * DMAR - DMA Remapping table 450 * Version 1 451 * 452 * Conforms to "Intel Virtualization Technology for Directed I/O", |
444 * Version 1.2, Sept. 2008 | 453 * Version 2.2, Sept. 2013 |
445 * 446 ******************************************************************************/ 447 448typedef struct acpi_table_dmar 449{ 450 ACPI_TABLE_HEADER Header; /* Common ACPI table header */ 451 UINT8 Width; /* Host Address Width */ 452 UINT8 Flags; --- 16 unchanged lines hidden (view full) --- 469} ACPI_DMAR_HEADER; 470 471/* Values for subtable type in ACPI_DMAR_HEADER */ 472 473enum AcpiDmarType 474{ 475 ACPI_DMAR_TYPE_HARDWARE_UNIT = 0, 476 ACPI_DMAR_TYPE_RESERVED_MEMORY = 1, | 454 * 455 ******************************************************************************/ 456 457typedef struct acpi_table_dmar 458{ 459 ACPI_TABLE_HEADER Header; /* Common ACPI table header */ 460 UINT8 Width; /* Host Address Width */ 461 UINT8 Flags; --- 16 unchanged lines hidden (view full) --- 478} ACPI_DMAR_HEADER; 479 480/* Values for subtable type in ACPI_DMAR_HEADER */ 481 482enum AcpiDmarType 483{ 484 ACPI_DMAR_TYPE_HARDWARE_UNIT = 0, 485 ACPI_DMAR_TYPE_RESERVED_MEMORY = 1, |
477 ACPI_DMAR_TYPE_ATSR = 2, 478 ACPI_DMAR_HARDWARE_AFFINITY = 3, 479 ACPI_DMAR_TYPE_RESERVED = 4 /* 4 and greater are reserved */ | 486 ACPI_DMAR_TYPE_ROOT_ATS = 2, 487 ACPI_DMAR_TYPE_HARDWARE_AFFINITY = 3, 488 ACPI_DMAR_TYPE_NAMESPACE = 4, 489 ACPI_DMAR_TYPE_RESERVED = 5 /* 5 and greater are reserved */ |
480}; 481 482 483/* DMAR Device Scope structure */ 484 485typedef struct acpi_dmar_device_scope 486{ 487 UINT8 EntryType; 488 UINT8 Length; 489 UINT16 Reserved; 490 UINT8 EnumerationId; 491 UINT8 Bus; 492 493} ACPI_DMAR_DEVICE_SCOPE; 494 | 490}; 491 492 493/* DMAR Device Scope structure */ 494 495typedef struct acpi_dmar_device_scope 496{ 497 UINT8 EntryType; 498 UINT8 Length; 499 UINT16 Reserved; 500 UINT8 EnumerationId; 501 UINT8 Bus; 502 503} ACPI_DMAR_DEVICE_SCOPE; 504 |
495/* Values for EntryType in ACPI_DMAR_DEVICE_SCOPE */ | 505/* Values for EntryType in ACPI_DMAR_DEVICE_SCOPE - device types */ |
496 497enum AcpiDmarScopeType 498{ 499 ACPI_DMAR_SCOPE_TYPE_NOT_USED = 0, 500 ACPI_DMAR_SCOPE_TYPE_ENDPOINT = 1, 501 ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2, 502 ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3, 503 ACPI_DMAR_SCOPE_TYPE_HPET = 4, | 506 507enum AcpiDmarScopeType 508{ 509 ACPI_DMAR_SCOPE_TYPE_NOT_USED = 0, 510 ACPI_DMAR_SCOPE_TYPE_ENDPOINT = 1, 511 ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2, 512 ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3, 513 ACPI_DMAR_SCOPE_TYPE_HPET = 4, |
504 ACPI_DMAR_SCOPE_TYPE_RESERVED = 5 /* 5 and greater are reserved */ | 514 ACPI_DMAR_SCOPE_TYPE_NAMESPACE = 5, 515 ACPI_DMAR_SCOPE_TYPE_RESERVED = 6 /* 6 and greater are reserved */ |
505}; 506 507typedef struct acpi_dmar_pci_path 508{ 509 UINT8 Device; 510 UINT8 Function; 511 512} ACPI_DMAR_PCI_PATH; 513 514 515/* | 516}; 517 518typedef struct acpi_dmar_pci_path 519{ 520 UINT8 Device; 521 UINT8 Function; 522 523} ACPI_DMAR_PCI_PATH; 524 525 526/* |
516 * DMAR Sub-tables, correspond to Type in ACPI_DMAR_HEADER | 527 * DMAR Subtables, correspond to Type in ACPI_DMAR_HEADER |
517 */ 518 519/* 0: Hardware Unit Definition */ 520 521typedef struct acpi_dmar_hardware_unit 522{ 523 ACPI_DMAR_HEADER Header; 524 UINT8 Flags; --- 48 unchanged lines hidden (view full) --- 573 ACPI_DMAR_HEADER Header; 574 UINT32 Reserved; 575 UINT64 BaseAddress; 576 UINT32 ProximityDomain; 577 578} ACPI_DMAR_RHSA; 579 580 | 528 */ 529 530/* 0: Hardware Unit Definition */ 531 532typedef struct acpi_dmar_hardware_unit 533{ 534 ACPI_DMAR_HEADER Header; 535 UINT8 Flags; --- 48 unchanged lines hidden (view full) --- 584 ACPI_DMAR_HEADER Header; 585 UINT32 Reserved; 586 UINT64 BaseAddress; 587 UINT32 ProximityDomain; 588 589} ACPI_DMAR_RHSA; 590 591 |
592/* 4: ACPI Namespace Device Declaration Structure */ 593 594typedef struct acpi_dmar_andd 595{ 596 ACPI_DMAR_HEADER Header; 597 UINT8 Reserved[3]; 598 UINT8 DeviceNumber; 599 char DeviceName[1]; 600 601} ACPI_DMAR_ANDD; 602 603 |
|
581/******************************************************************************* 582 * 583 * HPET - High Precision Event Timer table 584 * Version 1 585 * 586 * Conforms to "IA-PC HPET (High Precision Event Timers) Specification", 587 * Version 1.0a, October 2004 588 * --- 332 unchanged lines hidden (view full) --- 921 UINT64 StartAddress; 922 UINT64 MemoryLength; 923 924} ACPI_IVRS_MEMORY; 925 926 927/******************************************************************************* 928 * | 604/******************************************************************************* 605 * 606 * HPET - High Precision Event Timer table 607 * Version 1 608 * 609 * Conforms to "IA-PC HPET (High Precision Event Timers) Specification", 610 * Version 1.0a, October 2004 611 * --- 332 unchanged lines hidden (view full) --- 944 UINT64 StartAddress; 945 UINT64 MemoryLength; 946 947} ACPI_IVRS_MEMORY; 948 949 950/******************************************************************************* 951 * |
929 * MCFG - PCI Memory Mapped Configuration table and sub-table | 952 * LPIT - Low Power Idle Table 953 * 954 * Conforms to "ACPI Low Power Idle Table (LPIT) and _LPD Proposal (DRAFT)" 955 * 956 ******************************************************************************/ 957 958typedef struct acpi_table_lpit 959{ 960 ACPI_TABLE_HEADER Header; /* Common ACPI table header */ 961 962} ACPI_TABLE_LPIT; 963 964 965/* LPIT subtable header */ 966 967typedef struct acpi_lpit_header 968{ 969 UINT32 Type; /* Subtable type */ 970 UINT32 Length; /* Subtable length */ 971 UINT16 UniqueId; 972 UINT16 Reserved; 973 UINT32 Flags; 974 975} ACPI_LPIT_HEADER; 976 977/* Values for subtable Type above */ 978 979enum AcpiLpitType 980{ 981 ACPI_LPIT_TYPE_NATIVE_CSTATE = 0x00, 982 ACPI_LPIT_TYPE_SIMPLE_IO = 0x01 983}; 984 985/* Masks for Flags field above */ 986 987#define ACPI_LPIT_STATE_DISABLED (1) 988#define ACPI_LPIT_NO_COUNTER (1<<1) 989 990/* 991 * LPIT subtables, correspond to Type in ACPI_LPIT_HEADER 992 */ 993 994/* 0x00: Native C-state instruction based LPI structure */ 995 996typedef struct acpi_lpit_native 997{ 998 ACPI_LPIT_HEADER Header; 999 ACPI_GENERIC_ADDRESS EntryTrigger; 1000 UINT32 Residency; 1001 UINT32 Latency; 1002 ACPI_GENERIC_ADDRESS ResidencyCounter; 1003 UINT64 CounterFrequency; 1004 1005} ACPI_LPIT_NATIVE; 1006 1007 1008/* 0x01: Simple I/O based LPI structure */ 1009 1010typedef struct acpi_lpit_io 1011{ 1012 ACPI_LPIT_HEADER Header; 1013 ACPI_GENERIC_ADDRESS EntryTrigger; 1014 UINT32 TriggerAction; 1015 UINT64 TriggerValue; 1016 UINT64 TriggerMask; 1017 ACPI_GENERIC_ADDRESS MinimumIdleState; 1018 UINT32 Residency; 1019 UINT32 Latency; 1020 ACPI_GENERIC_ADDRESS ResidencyCounter; 1021 UINT64 CounterFrequency; 1022 1023} ACPI_LPIT_IO; 1024 1025 1026/******************************************************************************* 1027 * 1028 * MCFG - PCI Memory Mapped Configuration table and subtable |
930 * Version 1 931 * 932 * Conforms to "PCI Firmware Specification", Revision 3.0, June 20, 2005 933 * 934 ******************************************************************************/ 935 936typedef struct acpi_table_mcfg 937{ --- 107 unchanged lines hidden (view full) --- 1045{ 1046 ACPI_SLIC_TYPE_PUBLIC_KEY = 0, 1047 ACPI_SLIC_TYPE_WINDOWS_MARKER = 1, 1048 ACPI_SLIC_TYPE_RESERVED = 2 /* 2 and greater are reserved */ 1049}; 1050 1051 1052/* | 1029 * Version 1 1030 * 1031 * Conforms to "PCI Firmware Specification", Revision 3.0, June 20, 2005 1032 * 1033 ******************************************************************************/ 1034 1035typedef struct acpi_table_mcfg 1036{ --- 107 unchanged lines hidden (view full) --- 1144{ 1145 ACPI_SLIC_TYPE_PUBLIC_KEY = 0, 1146 ACPI_SLIC_TYPE_WINDOWS_MARKER = 1, 1147 ACPI_SLIC_TYPE_RESERVED = 2 /* 2 and greater are reserved */ 1148}; 1149 1150 1151/* |
1053 * SLIC Sub-tables, correspond to Type in ACPI_SLIC_HEADER | 1152 * SLIC Subtables, correspond to Type in ACPI_SLIC_HEADER |
1054 */ 1055 1056/* 0: Public Key Structure */ 1057 1058typedef struct acpi_slic_key 1059{ 1060 ACPI_SLIC_HEADER Header; 1061 UINT8 KeyType; --- 354 unchanged lines hidden --- | 1153 */ 1154 1155/* 0: Public Key Structure */ 1156 1157typedef struct acpi_slic_key 1158{ 1159 ACPI_SLIC_HEADER Header; 1160 UINT8 KeyType; --- 354 unchanged lines hidden --- |