Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4.8-rc5 788 lines 20 kB view raw
1/****************************************************************************** 2 * 3 * Name: actbl3.h - ACPI Table Definitions 4 * 5 *****************************************************************************/ 6 7/* 8 * Copyright (C) 2000 - 2016, 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. 17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18 * substantially similar to the "NO WARRANTY" disclaimer below 19 * ("Disclaimer") and any redistribution must be conditioned upon 20 * including a substantially similar Disclaimer requirement for further 21 * binary redistribution. 22 * 3. Neither the names of the above-listed copyright holders nor the names 23 * of any contributors may be used to endorse or promote products derived 24 * from this software without specific prior written permission. 25 * 26 * Alternatively, this software may be distributed under the terms of the 27 * GNU General Public License ("GPL") version 2 as published by the Free 28 * Software Foundation. 29 * 30 * NO WARRANTY 31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41 * POSSIBILITY OF SUCH DAMAGES. 42 */ 43 44#ifndef __ACTBL3_H__ 45#define __ACTBL3_H__ 46 47/******************************************************************************* 48 * 49 * Additional ACPI Tables (3) 50 * 51 * These tables are not consumed directly by the ACPICA subsystem, but are 52 * included here to support device drivers and the AML disassembler. 53 * 54 * In general, the tables in this file are fully defined within the ACPI 55 * specification. 56 * 57 ******************************************************************************/ 58 59/* 60 * Values for description table header signatures for tables defined in this 61 * file. Useful because they make it more difficult to inadvertently type in 62 * the wrong signature. 63 */ 64#define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */ 65#define ACPI_SIG_DRTM "DRTM" /* Dynamic Root of Trust for Measurement table */ 66#define ACPI_SIG_FPDT "FPDT" /* Firmware Performance Data Table */ 67#define ACPI_SIG_GTDT "GTDT" /* Generic Timer Description Table */ 68#define ACPI_SIG_MPST "MPST" /* Memory Power State Table */ 69#define ACPI_SIG_PCCT "PCCT" /* Platform Communications Channel Table */ 70#define ACPI_SIG_PMTT "PMTT" /* Platform Memory Topology Table */ 71#define ACPI_SIG_RASF "RASF" /* RAS Feature table */ 72#define ACPI_SIG_STAO "STAO" /* Status Override table */ 73#define ACPI_SIG_WPBT "WPBT" /* Windows Platform Binary Table */ 74#define ACPI_SIG_XENV "XENV" /* Xen Environment table */ 75 76#define ACPI_SIG_S3PT "S3PT" /* S3 Performance (sub)Table */ 77#define ACPI_SIG_PCCS "PCC" /* PCC Shared Memory Region */ 78 79/* Reserved table signatures */ 80 81#define ACPI_SIG_MATR "MATR" /* Memory Address Translation Table */ 82#define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */ 83 84/* 85 * All tables must be byte-packed to match the ACPI specification, since 86 * the tables are provided by the system BIOS. 87 */ 88#pragma pack(1) 89 90/* 91 * Note: C bitfields are not used for this reason: 92 * 93 * "Bitfields are great and easy to read, but unfortunately the C language 94 * does not specify the layout of bitfields in memory, which means they are 95 * essentially useless for dealing with packed data in on-disk formats or 96 * binary wire protocols." (Or ACPI tables and buffers.) "If you ask me, 97 * this decision was a design error in C. Ritchie could have picked an order 98 * and stuck with it." Norman Ramsey. 99 * See http://stackoverflow.com/a/1053662/41661 100 */ 101 102/******************************************************************************* 103 * 104 * BGRT - Boot Graphics Resource Table (ACPI 5.0) 105 * Version 1 106 * 107 ******************************************************************************/ 108 109struct acpi_table_bgrt { 110 struct acpi_table_header header; /* Common ACPI table header */ 111 u16 version; 112 u8 status; 113 u8 image_type; 114 u64 image_address; 115 u32 image_offset_x; 116 u32 image_offset_y; 117}; 118 119/******************************************************************************* 120 * 121 * DRTM - Dynamic Root of Trust for Measurement table 122 * Conforms to "TCG D-RTM Architecture" June 17 2013, Version 1.0.0 123 * Table version 1 124 * 125 ******************************************************************************/ 126 127struct acpi_table_drtm { 128 struct acpi_table_header header; /* Common ACPI table header */ 129 u64 entry_base_address; 130 u64 entry_length; 131 u32 entry_address32; 132 u64 entry_address64; 133 u64 exit_address; 134 u64 log_area_address; 135 u32 log_area_length; 136 u64 arch_dependent_address; 137 u32 flags; 138}; 139 140/* Flag Definitions for above */ 141 142#define ACPI_DRTM_ACCESS_ALLOWED (1) 143#define ACPI_DRTM_ENABLE_GAP_CODE (1<<1) 144#define ACPI_DRTM_INCOMPLETE_MEASUREMENTS (1<<2) 145#define ACPI_DRTM_AUTHORITY_ORDER (1<<3) 146 147/* 1) Validated Tables List (64-bit addresses) */ 148 149struct acpi_drtm_vtable_list { 150 u32 validated_table_count; 151 u64 validated_tables[1]; 152}; 153 154/* 2) Resources List (of Resource Descriptors) */ 155 156/* Resource Descriptor */ 157 158struct acpi_drtm_resource { 159 u8 size[7]; 160 u8 type; 161 u64 address; 162}; 163 164struct acpi_drtm_resource_list { 165 u32 resource_count; 166 struct acpi_drtm_resource resources[1]; 167}; 168 169/* 3) Platform-specific Identifiers List */ 170 171struct acpi_drtm_dps_id { 172 u32 dps_id_length; 173 u8 dps_id[16]; 174}; 175 176/******************************************************************************* 177 * 178 * FPDT - Firmware Performance Data Table (ACPI 5.0) 179 * Version 1 180 * 181 ******************************************************************************/ 182 183struct acpi_table_fpdt { 184 struct acpi_table_header header; /* Common ACPI table header */ 185}; 186 187/* FPDT subtable header (Performance Record Structure) */ 188 189struct acpi_fpdt_header { 190 u16 type; 191 u8 length; 192 u8 revision; 193}; 194 195/* Values for Type field above */ 196 197enum acpi_fpdt_type { 198 ACPI_FPDT_TYPE_BOOT = 0, 199 ACPI_FPDT_TYPE_S3PERF = 1 200}; 201 202/* 203 * FPDT subtables 204 */ 205 206/* 0: Firmware Basic Boot Performance Record */ 207 208struct acpi_fpdt_boot_pointer { 209 struct acpi_fpdt_header header; 210 u8 reserved[4]; 211 u64 address; 212}; 213 214/* 1: S3 Performance Table Pointer Record */ 215 216struct acpi_fpdt_s3pt_pointer { 217 struct acpi_fpdt_header header; 218 u8 reserved[4]; 219 u64 address; 220}; 221 222/* 223 * S3PT - S3 Performance Table. This table is pointed to by the 224 * S3 Pointer Record above. 225 */ 226struct acpi_table_s3pt { 227 u8 signature[4]; /* "S3PT" */ 228 u32 length; 229}; 230 231/* 232 * S3PT Subtables (Not part of the actual FPDT) 233 */ 234 235/* Values for Type field in S3PT header */ 236 237enum acpi_s3pt_type { 238 ACPI_S3PT_TYPE_RESUME = 0, 239 ACPI_S3PT_TYPE_SUSPEND = 1, 240 ACPI_FPDT_BOOT_PERFORMANCE = 2 241}; 242 243struct acpi_s3pt_resume { 244 struct acpi_fpdt_header header; 245 u32 resume_count; 246 u64 full_resume; 247 u64 average_resume; 248}; 249 250struct acpi_s3pt_suspend { 251 struct acpi_fpdt_header header; 252 u64 suspend_start; 253 u64 suspend_end; 254}; 255 256/* 257 * FPDT Boot Performance Record (Not part of the actual FPDT) 258 */ 259struct acpi_fpdt_boot { 260 struct acpi_fpdt_header header; 261 u8 reserved[4]; 262 u64 reset_end; 263 u64 load_start; 264 u64 startup_start; 265 u64 exit_services_entry; 266 u64 exit_services_exit; 267}; 268 269/******************************************************************************* 270 * 271 * GTDT - Generic Timer Description Table (ACPI 5.1) 272 * Version 2 273 * 274 ******************************************************************************/ 275 276struct acpi_table_gtdt { 277 struct acpi_table_header header; /* Common ACPI table header */ 278 u64 counter_block_addresss; 279 u32 reserved; 280 u32 secure_el1_interrupt; 281 u32 secure_el1_flags; 282 u32 non_secure_el1_interrupt; 283 u32 non_secure_el1_flags; 284 u32 virtual_timer_interrupt; 285 u32 virtual_timer_flags; 286 u32 non_secure_el2_interrupt; 287 u32 non_secure_el2_flags; 288 u64 counter_read_block_address; 289 u32 platform_timer_count; 290 u32 platform_timer_offset; 291}; 292 293/* Flag Definitions: Timer Block Physical Timers and Virtual timers */ 294 295#define ACPI_GTDT_INTERRUPT_MODE (1) 296#define ACPI_GTDT_INTERRUPT_POLARITY (1<<1) 297#define ACPI_GTDT_ALWAYS_ON (1<<2) 298 299/* Common GTDT subtable header */ 300 301struct acpi_gtdt_header { 302 u8 type; 303 u16 length; 304}; 305 306/* Values for GTDT subtable type above */ 307 308enum acpi_gtdt_type { 309 ACPI_GTDT_TYPE_TIMER_BLOCK = 0, 310 ACPI_GTDT_TYPE_WATCHDOG = 1, 311 ACPI_GTDT_TYPE_RESERVED = 2 /* 2 and greater are reserved */ 312}; 313 314/* GTDT Subtables, correspond to Type in struct acpi_gtdt_header */ 315 316/* 0: Generic Timer Block */ 317 318struct acpi_gtdt_timer_block { 319 struct acpi_gtdt_header header; 320 u8 reserved; 321 u64 block_address; 322 u32 timer_count; 323 u32 timer_offset; 324}; 325 326/* Timer Sub-Structure, one per timer */ 327 328struct acpi_gtdt_timer_entry { 329 u8 frame_number; 330 u8 reserved[3]; 331 u64 base_address; 332 u64 el0_base_address; 333 u32 timer_interrupt; 334 u32 timer_flags; 335 u32 virtual_timer_interrupt; 336 u32 virtual_timer_flags; 337 u32 common_flags; 338}; 339 340/* Flag Definitions: timer_flags and virtual_timer_flags above */ 341 342#define ACPI_GTDT_GT_IRQ_MODE (1) 343#define ACPI_GTDT_GT_IRQ_POLARITY (1<<1) 344 345/* Flag Definitions: common_flags above */ 346 347#define ACPI_GTDT_GT_IS_SECURE_TIMER (1) 348#define ACPI_GTDT_GT_ALWAYS_ON (1<<1) 349 350/* 1: SBSA Generic Watchdog Structure */ 351 352struct acpi_gtdt_watchdog { 353 struct acpi_gtdt_header header; 354 u8 reserved; 355 u64 refresh_frame_address; 356 u64 control_frame_address; 357 u32 timer_interrupt; 358 u32 timer_flags; 359}; 360 361/* Flag Definitions: timer_flags above */ 362 363#define ACPI_GTDT_WATCHDOG_IRQ_MODE (1) 364#define ACPI_GTDT_WATCHDOG_IRQ_POLARITY (1<<1) 365#define ACPI_GTDT_WATCHDOG_SECURE (1<<2) 366 367/******************************************************************************* 368 * 369 * MPST - Memory Power State Table (ACPI 5.0) 370 * Version 1 371 * 372 ******************************************************************************/ 373 374#define ACPI_MPST_CHANNEL_INFO \ 375 u8 channel_id; \ 376 u8 reserved1[3]; \ 377 u16 power_node_count; \ 378 u16 reserved2; 379 380/* Main table */ 381 382struct acpi_table_mpst { 383 struct acpi_table_header header; /* Common ACPI table header */ 384 ACPI_MPST_CHANNEL_INFO /* Platform Communication Channel */ 385}; 386 387/* Memory Platform Communication Channel Info */ 388 389struct acpi_mpst_channel { 390 ACPI_MPST_CHANNEL_INFO /* Platform Communication Channel */ 391}; 392 393/* Memory Power Node Structure */ 394 395struct acpi_mpst_power_node { 396 u8 flags; 397 u8 reserved1; 398 u16 node_id; 399 u32 length; 400 u64 range_address; 401 u64 range_length; 402 u32 num_power_states; 403 u32 num_physical_components; 404}; 405 406/* Values for Flags field above */ 407 408#define ACPI_MPST_ENABLED 1 409#define ACPI_MPST_POWER_MANAGED 2 410#define ACPI_MPST_HOT_PLUG_CAPABLE 4 411 412/* Memory Power State Structure (follows POWER_NODE above) */ 413 414struct acpi_mpst_power_state { 415 u8 power_state; 416 u8 info_index; 417}; 418 419/* Physical Component ID Structure (follows POWER_STATE above) */ 420 421struct acpi_mpst_component { 422 u16 component_id; 423}; 424 425/* Memory Power State Characteristics Structure (follows all POWER_NODEs) */ 426 427struct acpi_mpst_data_hdr { 428 u16 characteristics_count; 429 u16 reserved; 430}; 431 432struct acpi_mpst_power_data { 433 u8 structure_id; 434 u8 flags; 435 u16 reserved1; 436 u32 average_power; 437 u32 power_saving; 438 u64 exit_latency; 439 u64 reserved2; 440}; 441 442/* Values for Flags field above */ 443 444#define ACPI_MPST_PRESERVE 1 445#define ACPI_MPST_AUTOENTRY 2 446#define ACPI_MPST_AUTOEXIT 4 447 448/* Shared Memory Region (not part of an ACPI table) */ 449 450struct acpi_mpst_shared { 451 u32 signature; 452 u16 pcc_command; 453 u16 pcc_status; 454 u32 command_register; 455 u32 status_register; 456 u32 power_state_id; 457 u32 power_node_id; 458 u64 energy_consumed; 459 u64 average_power; 460}; 461 462/******************************************************************************* 463 * 464 * PCCT - Platform Communications Channel Table (ACPI 5.0) 465 * Version 1 466 * 467 ******************************************************************************/ 468 469struct acpi_table_pcct { 470 struct acpi_table_header header; /* Common ACPI table header */ 471 u32 flags; 472 u64 reserved; 473}; 474 475/* Values for Flags field above */ 476 477#define ACPI_PCCT_DOORBELL 1 478 479/* Values for subtable type in struct acpi_subtable_header */ 480 481enum acpi_pcct_type { 482 ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0, 483 ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1, 484 ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2, /* ACPI 6.1 */ 485 ACPI_PCCT_TYPE_RESERVED = 3 /* 3 and greater are reserved */ 486}; 487 488/* 489 * PCCT Subtables, correspond to Type in struct acpi_subtable_header 490 */ 491 492/* 0: Generic Communications Subspace */ 493 494struct acpi_pcct_subspace { 495 struct acpi_subtable_header header; 496 u8 reserved[6]; 497 u64 base_address; 498 u64 length; 499 struct acpi_generic_address doorbell_register; 500 u64 preserve_mask; 501 u64 write_mask; 502 u32 latency; 503 u32 max_access_rate; 504 u16 min_turnaround_time; 505}; 506 507/* 1: HW-reduced Communications Subspace (ACPI 5.1) */ 508 509struct acpi_pcct_hw_reduced { 510 struct acpi_subtable_header header; 511 u32 doorbell_interrupt; 512 u8 flags; 513 u8 reserved; 514 u64 base_address; 515 u64 length; 516 struct acpi_generic_address doorbell_register; 517 u64 preserve_mask; 518 u64 write_mask; 519 u32 latency; 520 u32 max_access_rate; 521 u16 min_turnaround_time; 522}; 523 524/* 2: HW-reduced Communications Subspace Type 2 (ACPI 6.1) */ 525 526struct acpi_pcct_hw_reduced_type2 { 527 struct acpi_subtable_header header; 528 u32 doorbell_interrupt; 529 u8 flags; 530 u8 reserved; 531 u64 base_address; 532 u64 length; 533 struct acpi_generic_address doorbell_register; 534 u64 preserve_mask; 535 u64 write_mask; 536 u32 latency; 537 u32 max_access_rate; 538 u16 min_turnaround_time; 539 struct acpi_generic_address doorbell_ack_register; 540 u64 ack_preserve_mask; 541 u64 ack_write_mask; 542}; 543 544/* Values for doorbell flags above */ 545 546#define ACPI_PCCT_INTERRUPT_POLARITY (1) 547#define ACPI_PCCT_INTERRUPT_MODE (1<<1) 548 549/* 550 * PCC memory structures (not part of the ACPI table) 551 */ 552 553/* Shared Memory Region */ 554 555struct acpi_pcct_shared_memory { 556 u32 signature; 557 u16 command; 558 u16 status; 559}; 560 561/******************************************************************************* 562 * 563 * PMTT - Platform Memory Topology Table (ACPI 5.0) 564 * Version 1 565 * 566 ******************************************************************************/ 567 568struct acpi_table_pmtt { 569 struct acpi_table_header header; /* Common ACPI table header */ 570 u32 reserved; 571}; 572 573/* Common header for PMTT subtables that follow main table */ 574 575struct acpi_pmtt_header { 576 u8 type; 577 u8 reserved1; 578 u16 length; 579 u16 flags; 580 u16 reserved2; 581}; 582 583/* Values for Type field above */ 584 585#define ACPI_PMTT_TYPE_SOCKET 0 586#define ACPI_PMTT_TYPE_CONTROLLER 1 587#define ACPI_PMTT_TYPE_DIMM 2 588#define ACPI_PMTT_TYPE_RESERVED 3 /* 0x03-0xFF are reserved */ 589 590/* Values for Flags field above */ 591 592#define ACPI_PMTT_TOP_LEVEL 0x0001 593#define ACPI_PMTT_PHYSICAL 0x0002 594#define ACPI_PMTT_MEMORY_TYPE 0x000C 595 596/* 597 * PMTT subtables, correspond to Type in struct acpi_pmtt_header 598 */ 599 600/* 0: Socket Structure */ 601 602struct acpi_pmtt_socket { 603 struct acpi_pmtt_header header; 604 u16 socket_id; 605 u16 reserved; 606}; 607 608/* 1: Memory Controller subtable */ 609 610struct acpi_pmtt_controller { 611 struct acpi_pmtt_header header; 612 u32 read_latency; 613 u32 write_latency; 614 u32 read_bandwidth; 615 u32 write_bandwidth; 616 u16 access_width; 617 u16 alignment; 618 u16 reserved; 619 u16 domain_count; 620}; 621 622/* 1a: Proximity Domain substructure */ 623 624struct acpi_pmtt_domain { 625 u32 proximity_domain; 626}; 627 628/* 2: Physical Component Identifier (DIMM) */ 629 630struct acpi_pmtt_physical_component { 631 struct acpi_pmtt_header header; 632 u16 component_id; 633 u16 reserved; 634 u32 memory_size; 635 u32 bios_handle; 636}; 637 638/******************************************************************************* 639 * 640 * RASF - RAS Feature Table (ACPI 5.0) 641 * Version 1 642 * 643 ******************************************************************************/ 644 645struct acpi_table_rasf { 646 struct acpi_table_header header; /* Common ACPI table header */ 647 u8 channel_id[12]; 648}; 649 650/* RASF Platform Communication Channel Shared Memory Region */ 651 652struct acpi_rasf_shared_memory { 653 u32 signature; 654 u16 command; 655 u16 status; 656 u16 version; 657 u8 capabilities[16]; 658 u8 set_capabilities[16]; 659 u16 num_parameter_blocks; 660 u32 set_capabilities_status; 661}; 662 663/* RASF Parameter Block Structure Header */ 664 665struct acpi_rasf_parameter_block { 666 u16 type; 667 u16 version; 668 u16 length; 669}; 670 671/* RASF Parameter Block Structure for PATROL_SCRUB */ 672 673struct acpi_rasf_patrol_scrub_parameter { 674 struct acpi_rasf_parameter_block header; 675 u16 patrol_scrub_command; 676 u64 requested_address_range[2]; 677 u64 actual_address_range[2]; 678 u16 flags; 679 u8 requested_speed; 680}; 681 682/* Masks for Flags and Speed fields above */ 683 684#define ACPI_RASF_SCRUBBER_RUNNING 1 685#define ACPI_RASF_SPEED (7<<1) 686#define ACPI_RASF_SPEED_SLOW (0<<1) 687#define ACPI_RASF_SPEED_MEDIUM (4<<1) 688#define ACPI_RASF_SPEED_FAST (7<<1) 689 690/* Channel Commands */ 691 692enum acpi_rasf_commands { 693 ACPI_RASF_EXECUTE_RASF_COMMAND = 1 694}; 695 696/* Platform RAS Capabilities */ 697 698enum acpi_rasf_capabiliities { 699 ACPI_HW_PATROL_SCRUB_SUPPORTED = 0, 700 ACPI_SW_PATROL_SCRUB_EXPOSED = 1 701}; 702 703/* Patrol Scrub Commands */ 704 705enum acpi_rasf_patrol_scrub_commands { 706 ACPI_RASF_GET_PATROL_PARAMETERS = 1, 707 ACPI_RASF_START_PATROL_SCRUBBER = 2, 708 ACPI_RASF_STOP_PATROL_SCRUBBER = 3 709}; 710 711/* Channel Command flags */ 712 713#define ACPI_RASF_GENERATE_SCI (1<<15) 714 715/* Status values */ 716 717enum acpi_rasf_status { 718 ACPI_RASF_SUCCESS = 0, 719 ACPI_RASF_NOT_VALID = 1, 720 ACPI_RASF_NOT_SUPPORTED = 2, 721 ACPI_RASF_BUSY = 3, 722 ACPI_RASF_FAILED = 4, 723 ACPI_RASF_ABORTED = 5, 724 ACPI_RASF_INVALID_DATA = 6 725}; 726 727/* Status flags */ 728 729#define ACPI_RASF_COMMAND_COMPLETE (1) 730#define ACPI_RASF_SCI_DOORBELL (1<<1) 731#define ACPI_RASF_ERROR (1<<2) 732#define ACPI_RASF_STATUS (0x1F<<3) 733 734/******************************************************************************* 735 * 736 * STAO - Status Override Table (_STA override) - ACPI 6.0 737 * Version 1 738 * 739 * Conforms to "ACPI Specification for Status Override Table" 740 * 6 January 2015 741 * 742 ******************************************************************************/ 743 744struct acpi_table_stao { 745 struct acpi_table_header header; /* Common ACPI table header */ 746 u8 ignore_uart; 747}; 748 749/******************************************************************************* 750 * 751 * WPBT - Windows Platform Environment Table (ACPI 6.0) 752 * Version 1 753 * 754 * Conforms to "Windows Platform Binary Table (WPBT)" 29 November 2011 755 * 756 ******************************************************************************/ 757 758struct acpi_table_wpbt { 759 struct acpi_table_header header; /* Common ACPI table header */ 760 u32 handoff_size; 761 u64 handoff_address; 762 u8 layout; 763 u8 type; 764 u16 arguments_length; 765}; 766 767/******************************************************************************* 768 * 769 * XENV - Xen Environment Table (ACPI 6.0) 770 * Version 1 771 * 772 * Conforms to "ACPI Specification for Xen Environment Table" 4 January 2015 773 * 774 ******************************************************************************/ 775 776struct acpi_table_xenv { 777 struct acpi_table_header header; /* Common ACPI table header */ 778 u64 grant_table_address; 779 u64 grant_table_size; 780 u32 event_interrupt; 781 u8 event_flags; 782}; 783 784/* Reset to default packing */ 785 786#pragma pack() 787 788#endif /* __ACTBL3_H__ */