1 /****************************************************************************** 2 * 3 * Module Name: extables - ACPI tables for Example program 4 * 5 *****************************************************************************/ 6 7 /****************************************************************************** 8 * 9 * 1. Copyright Notice 10 * 11 * Some or all of this work - Copyright (c) 1999 - 2017, Intel Corp. 12 * All rights reserved. 13 * 14 * 2. License 15 * 16 * 2.1. This is your license from Intel Corp. under its intellectual property 17 * rights. You may have additional license terms from the party that provided 18 * you this software, covering your right to use that party's intellectual 19 * property rights. 20 * 21 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 22 * copy of the source code appearing in this file ("Covered Code") an 23 * irrevocable, perpetual, worldwide license under Intel's copyrights in the 24 * base code distributed originally by Intel ("Original Intel Code") to copy, 25 * make derivatives, distribute, use and display any portion of the Covered 26 * Code in any form, with the right to sublicense such rights; and 27 * 28 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 29 * license (with the right to sublicense), under only those claims of Intel 30 * patents that are infringed by the Original Intel Code, to make, use, sell, 31 * offer to sell, and import the Covered Code and derivative works thereof 32 * solely to the minimum extent necessary to exercise the above copyright 33 * license, and in no event shall the patent license extend to any additions 34 * to or modifications of the Original Intel Code. No other license or right 35 * is granted directly or by implication, estoppel or otherwise; 36 * 37 * The above copyright and patent license is granted only if the following 38 * conditions are met: 39 * 40 * 3. Conditions 41 * 42 * 3.1. Redistribution of Source with Rights to Further Distribute Source. 43 * Redistribution of source code of any substantial portion of the Covered 44 * Code or modification with rights to further distribute source must include 45 * the above Copyright Notice, the above License, this list of Conditions, 46 * and the following Disclaimer and Export Compliance provision. In addition, 47 * Licensee must cause all Covered Code to which Licensee contributes to 48 * contain a file documenting the changes Licensee made to create that Covered 49 * Code and the date of any change. Licensee must include in that file the 50 * documentation of any changes made by any predecessor Licensee. Licensee 51 * must include a prominent statement that the modification is derived, 52 * directly or indirectly, from Original Intel Code. 53 * 54 * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 55 * Redistribution of source code of any substantial portion of the Covered 56 * Code or modification without rights to further distribute source must 57 * include the following Disclaimer and Export Compliance provision in the 58 * documentation and/or other materials provided with distribution. In 59 * addition, Licensee may not authorize further sublicense of source of any 60 * portion of the Covered Code, and must include terms to the effect that the 61 * license from Licensee to its licensee is limited to the intellectual 62 * property embodied in the software Licensee provides to its licensee, and 63 * not to intellectual property embodied in modifications its licensee may 64 * make. 65 * 66 * 3.3. Redistribution of Executable. Redistribution in executable form of any 67 * substantial portion of the Covered Code or modification must reproduce the 68 * above Copyright Notice, and the following Disclaimer and Export Compliance 69 * provision in the documentation and/or other materials provided with the 70 * distribution. 71 * 72 * 3.4. Intel retains all right, title, and interest in and to the Original 73 * Intel Code. 74 * 75 * 3.5. Neither the name Intel nor any other trademark owned or controlled by 76 * Intel shall be used in advertising or otherwise to promote the sale, use or 77 * other dealings in products derived from or relating to the Covered Code 78 * without prior written authorization from Intel. 79 * 80 * 4. Disclaimer and Export Compliance 81 * 82 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 83 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 84 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 85 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 86 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 87 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 88 * PARTICULAR PURPOSE. 89 * 90 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 91 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 92 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 93 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 94 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 95 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 96 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 97 * LIMITED REMEDY. 98 * 99 * 4.3. Licensee shall not export, either directly or indirectly, any of this 100 * software or system incorporating such software without first obtaining any 101 * required license or other approval from the U. S. Department of Commerce or 102 * any other agency or department of the United States Government. In the 103 * event Licensee exports any such software from the United States or 104 * re-exports any such software from a foreign destination, Licensee shall 105 * ensure that the distribution and export/re-export of the software is in 106 * compliance with all laws, regulations, orders, or other restrictions of the 107 * U.S. Export Administration Regulations. Licensee agrees that neither it nor 108 * any of its subsidiaries will export/re-export any technical data, process, 109 * software, or service, directly or indirectly, to any country for which the 110 * United States government or any agency thereof requires an export license, 111 * other governmental approval, or letter of assurance, without first obtaining 112 * such license, approval or letter. 113 * 114 ***************************************************************************** 115 * 116 * Alternatively, you may choose to be licensed under the terms of the 117 * following license: 118 * 119 * Redistribution and use in source and binary forms, with or without 120 * modification, are permitted provided that the following conditions 121 * are met: 122 * 1. Redistributions of source code must retain the above copyright 123 * notice, this list of conditions, and the following disclaimer, 124 * without modification. 125 * 2. Redistributions in binary form must reproduce at minimum a disclaimer 126 * substantially similar to the "NO WARRANTY" disclaimer below 127 * ("Disclaimer") and any redistribution must be conditioned upon 128 * including a substantially similar Disclaimer requirement for further 129 * binary redistribution. 130 * 3. Neither the names of the above-listed copyright holders nor the names 131 * of any contributors may be used to endorse or promote products derived 132 * from this software without specific prior written permission. 133 * 134 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 135 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 136 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 137 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 138 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 139 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 140 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 141 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 142 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 143 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 144 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 145 * 146 * Alternatively, you may choose to be licensed under the terms of the 147 * GNU General Public License ("GPL") version 2 as published by the Free 148 * Software Foundation. 149 * 150 *****************************************************************************/ 151 152 #include "examples.h" 153 #include "actables.h" 154 155 #define _COMPONENT ACPI_EXAMPLE 156 ACPI_MODULE_NAME ("extables") 157 158 159 /****************************************************************************** 160 * 161 * ACPICA Example tables and table setup 162 * 163 * This module contains the ACPI tables used for the example program. The 164 * original source code for the tables appears at the end of the module. 165 * 166 *****************************************************************************/ 167 168 169 /* These tables will be modified at runtime */ 170 171 unsigned char RsdpCode[] = 172 { 173 0x52,0x53,0x44,0x20,0x50,0x54,0x52,0x20, /* 00000000 "RSD PTR " */ 174 0x43,0x49,0x4E,0x54,0x45,0x4C,0x20,0x02, /* 00000008 "CINTEL ." */ 175 0x00,0x00,0x00,0x00,0x24,0x00,0x00,0x00, /* 00000010 "....$..." */ 176 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000018 "........" */ 177 0xDC,0x00,0x00,0x00 /* 00000020 "...." */ 178 }; 179 180 unsigned char RsdtCode[] = 181 { 182 0x52,0x53,0x44,0x54,0x28,0x00,0x00,0x00, /* 00000000 "RSDT(..." */ 183 0x01,0x10,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */ 184 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ 185 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 186 0x15,0x11,0x13,0x20,0x01,0x00,0x00,0x00 /* 00000020 "... ...." */ 187 }; 188 189 unsigned char XsdtCode[] = 190 { 191 0x58,0x53,0x44,0x54,0x2C,0x00,0x00,0x00, /* 00000000 "XSDT,..." */ 192 0x01,0x06,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */ 193 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ 194 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 195 0x15,0x11,0x13,0x20,0x01,0x00,0x00,0x00, /* 00000020 "... ...." */ 196 0x00,0x00,0x00,0x00 /* 00000028 "...." */ 197 }; 198 199 unsigned char FadtCode[] = 200 { 201 0x46,0x41,0x43,0x50,0x0C,0x01,0x00,0x00, /* 00000000 "FACP...." */ 202 0x05,0x64,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 ".dINTEL " */ 203 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ 204 0x00,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 205 0x15,0x11,0x13,0x20,0x01,0x00,0x00,0x00, /* 00000020 "... ...." */ 206 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "........" */ 207 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000030 "........" */ 208 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */ 209 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000040 "........" */ 210 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000048 "........" */ 211 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000050 "........" */ 212 0x04,0x02,0x01,0x04,0x08,0x00,0x00,0x00, /* 00000058 "........" */ 213 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000060 "........" */ 214 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000068 "........" */ 215 0x00,0x00,0x00,0x00,0x01,0x08,0x00,0x01, /* 00000070 "........" */ 216 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000078 "........" */ 217 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000080 "........" */ 218 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000088 "........" */ 219 0x00,0x00,0x00,0x00,0x01,0x20,0x00,0x02, /* 00000090 "..... .." */ 220 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000098 "........" */ 221 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000A0 "........" */ 222 0x00,0x00,0x00,0x00,0x01,0x10,0x00,0x02, /* 000000A8 "........" */ 223 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B0 "........" */ 224 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B8 "........" */ 225 0x00,0x00,0x00,0x00,0x01,0x08,0x00,0x00, /* 000000C0 "........" */ 226 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000C8 "........" */ 227 0x01,0x20,0x00,0x03,0x01,0x00,0x00,0x00, /* 000000D0 ". ......" */ 228 0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x01, /* 000000D8 ".....@.." */ 229 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000E0 "........" */ 230 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000E8 "........" */ 231 0x00,0x00,0x00,0x00,0x01,0x08,0x00,0x01, /* 000000F0 "........" */ 232 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000F8 "........" */ 233 0x01,0x08,0x00,0x01,0x00,0x00,0x00,0x00, /* 00000100 "........" */ 234 0x00,0x00,0x00,0x00 /* 00000108 "...." */ 235 }; 236 237 /* Fixed tables */ 238 239 static unsigned char FacsCode[] = 240 { 241 0x46,0x41,0x43,0x53,0x40,0x00,0x00,0x00, /* 00000000 "FACS@..." */ 242 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000008 "........" */ 243 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000010 "........" */ 244 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000018 "........" */ 245 0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000020 "........" */ 246 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "........" */ 247 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000030 "........" */ 248 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 /* 00000038 "........" */ 249 }; 250 251 static unsigned char DsdtCode[] = 252 { 253 0x44,0x53,0x44,0x54,0x8C,0x00,0x00,0x00, /* 00000000 "DSDT...." */ 254 0x02,0x76,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".vIntel." */ 255 0x54,0x65,0x6D,0x70,0x6C,0x61,0x74,0x65, /* 00000010 "Template" */ 256 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 257 0x24,0x04,0x14,0x20,0x5B,0x80,0x47,0x4E, /* 00000020 "$.. [.GN" */ 258 0x56,0x53,0x00,0x0C,0x98,0xEE,0xBB,0xDF, /* 00000028 "VS......" */ 259 0x0A,0x13,0x5B,0x81,0x0B,0x47,0x4E,0x56, /* 00000030 "..[..GNV" */ 260 0x53,0x00,0x46,0x4C,0x44,0x31,0x08,0x14, /* 00000038 "S.FLD1.." */ 261 0x4C,0x04,0x4D,0x41,0x49,0x4E,0x01,0x70, /* 00000040 "L.MAIN.p" */ 262 0x73,0x0D,0x4D,0x61,0x69,0x6E,0x2F,0x41, /* 00000048 "s.Main/A" */ 263 0x72,0x67,0x30,0x3A,0x20,0x00,0x68,0x00, /* 00000050 "rg0: .h." */ 264 0x5B,0x31,0x70,0x00,0x46,0x4C,0x44,0x31, /* 00000058 "[1p.FLD1" */ 265 0x86,0x5C,0x00,0x00,0xA4,0x0D,0x4D,0x61, /* 00000060 ".\....Ma" */ 266 0x69,0x6E,0x20,0x73,0x75,0x63,0x63,0x65, /* 00000068 "in succe" */ 267 0x73,0x73,0x66,0x75,0x6C,0x6C,0x79,0x20, /* 00000070 "ssfully " */ 268 0x63,0x6F,0x6D,0x70,0x6C,0x65,0x74,0x65, /* 00000078 "complete" */ 269 0x64,0x20,0x65,0x78,0x65,0x63,0x75,0x74, /* 00000080 "d execut" */ 270 0x69,0x6F,0x6E,0x00 /* 00000088 "ion." */ 271 }; 272 273 274 /* Useful pointers */ 275 276 ACPI_TABLE_RSDP *Rsdp = ACPI_CAST_PTR (ACPI_TABLE_RSDP, RsdpCode); 277 ACPI_TABLE_RSDT *Rsdt = ACPI_CAST_PTR (ACPI_TABLE_RSDT, RsdtCode); 278 ACPI_TABLE_XSDT *Xsdt = ACPI_CAST_PTR (ACPI_TABLE_XSDT, XsdtCode); 279 ACPI_TABLE_FADT *Fadt = ACPI_CAST_PTR (ACPI_TABLE_FADT, FadtCode); 280 281 282 /****************************************************************************** 283 * 284 * Build the various required ACPI tables: 285 * 286 * 1) Setup RSDP to point to the RSDT and XSDT 287 * 2) Setup RSDT/XSDT to point to the FADT 288 * 3) Setup FADT to point to the DSDT and FACS 289 * 4) Update checksums for all modified tables 290 * 291 *****************************************************************************/ 292 293 void 294 ExInitializeAcpiTables ( 295 void) 296 { 297 298 /* Setup RSDP */ 299 300 Rsdp->RsdtPhysicalAddress = (UINT32) ACPI_TO_INTEGER (RsdtCode); 301 Rsdp->XsdtPhysicalAddress = (UINT64) ACPI_TO_INTEGER (XsdtCode); 302 303 /* RSDT and XSDT */ 304 305 Rsdt->TableOffsetEntry[0] = (UINT32) ACPI_TO_INTEGER (FadtCode); 306 Xsdt->TableOffsetEntry[0] = (UINT64) ACPI_TO_INTEGER (FadtCode); 307 308 /* FADT */ 309 310 Fadt->Facs = 0; 311 Fadt->Dsdt = 0; 312 Fadt->XFacs = (UINT64) ACPI_TO_INTEGER (FacsCode); 313 Fadt->XDsdt = (UINT64) ACPI_TO_INTEGER (DsdtCode); 314 315 /* Set new checksums for the modified tables */ 316 317 Rsdp->Checksum = 0; 318 Rsdp->Checksum = (UINT8) -AcpiTbChecksum ( 319 (void *) RsdpCode, ACPI_RSDP_CHECKSUM_LENGTH); 320 321 Rsdt->Header.Checksum = 0; 322 Rsdt->Header.Checksum = (UINT8) -AcpiTbChecksum ( 323 (void *) Rsdt, Rsdt->Header.Length); 324 325 Xsdt->Header.Checksum = 0; 326 Xsdt->Header.Checksum = (UINT8) -AcpiTbChecksum ( 327 (void *) Xsdt, Xsdt->Header.Length); 328 329 Fadt->Header.Checksum = 0; 330 Fadt->Header.Checksum = (UINT8) -AcpiTbChecksum ( 331 (void *) Fadt, Fadt->Header.Length); 332 } 333 334 335 /****************************************************************************** 336 * 337 * OSL support - return the address of the RSDP 338 * 339 *****************************************************************************/ 340 341 ACPI_PHYSICAL_ADDRESS 342 AcpiOsGetRootPointer ( 343 void) 344 { 345 346 return (ACPI_PTR_TO_PHYSADDR (RsdpCode)); 347 } 348 349 350 #ifdef DO_NOT_COMPILE_ACPI_TABLE_CODE 351 /****************************************************************************** 352 * 353 * ACPICA Example table source code 354 * 355 * This is the original source code for the tables above 356 * 357 *****************************************************************************/ 358 359 /* RSDP */ 360 361 [0008] Signature : "RSD PTR " 362 [0001] Checksum : 43 363 [0006] Oem ID : "INTEL " 364 [0001] Revision : 02 365 [0004] RSDT Address : 00000000 366 [0004] Length : 00000024 367 [0008] XSDT Address : 0000000000000000 368 [0001] Extended Checksum : DC 369 [0003] Reserved : 000000 370 371 372 /* RSDT */ 373 374 [0004] Signature : "RSDT" [Root System Description Table] 375 [0004] Table Length : 00000044 376 [0001] Revision : 01 377 [0001] Checksum : B1 378 [0006] Oem ID : "INTEL " 379 [0008] Oem Table ID : "TEMPLATE" 380 [0004] Oem Revision : 00000001 381 [0004] Asl Compiler ID : "INTL" 382 [0004] Asl Compiler Revision : 20100528 383 384 [0004] ACPI Table Address 0 : 00000001 385 386 387 /* XSDT */ 388 389 [0004] Signature : "XSDT" [Extended System Description Table] 390 [0004] Table Length : 00000064 391 [0001] Revision : 01 392 [0001] Checksum : 8B 393 [0006] Oem ID : "INTEL " 394 [0008] Oem Table ID : "TEMPLATE" 395 [0004] Oem Revision : 00000001 396 [0004] Asl Compiler ID : "INTL" 397 [0004] Asl Compiler Revision : 20100528 398 399 [0008] ACPI Table Address 0 : 0000000000000001 400 401 402 /* FADT */ 403 404 [0004] Signature : "FACP" [Fixed ACPI Description Table (FADT)] 405 [0004] Table Length : 0000010C 406 [0001] Revision : 05 407 [0001] Checksum : 18 408 [0006] Oem ID : "INTEL " 409 [0008] Oem Table ID : "TEMPLATE" 410 [0004] Oem Revision : 00000000 411 [0004] Asl Compiler ID : "INTL" 412 [0004] Asl Compiler Revision : 20111123 413 414 [0004] FACS Address : 00000001 415 [0004] DSDT Address : 00000001 416 [0001] Model : 00 417 [0001] PM Profile : 00 [Unspecified] 418 [0002] SCI Interrupt : 0000 419 [0004] SMI Command Port : 00000000 420 [0001] ACPI Enable Value : 00 421 [0001] ACPI Disable Value : 00 422 [0001] S4BIOS Command : 00 423 [0001] P-State Control : 00 424 [0004] PM1A Event Block Address : 00000001 425 [0004] PM1B Event Block Address : 00000000 426 [0004] PM1A Control Block Address : 00000001 427 [0004] PM1B Control Block Address : 00000000 428 [0004] PM2 Control Block Address : 00000001 429 [0004] PM Timer Block Address : 00000001 430 [0004] GPE0 Block Address : 00000001 431 [0004] GPE1 Block Address : 00000000 432 [0001] PM1 Event Block Length : 04 433 [0001] PM1 Control Block Length : 02 434 [0001] PM2 Control Block Length : 01 435 [0001] PM Timer Block Length : 04 436 [0001] GPE0 Block Length : 08 437 [0001] GPE1 Block Length : 00 438 [0001] GPE1 Base Offset : 00 439 [0001] _CST Support : 00 440 [0002] C2 Latency : 0000 441 [0002] C3 Latency : 0000 442 [0002] CPU Cache Size : 0000 443 [0002] Cache Flush Stride : 0000 444 [0001] Duty Cycle Offset : 00 445 [0001] Duty Cycle Width : 00 446 [0001] RTC Day Alarm Index : 00 447 [0001] RTC Month Alarm Index : 00 448 [0001] RTC Century Index : 00 449 [0002] Boot Flags (decoded below) : 0000 450 Legacy Devices Supported (V2) : 0 451 8042 Present on ports 60/64 (V2) : 0 452 VGA Not Present (V4) : 0 453 MSI Not Supported (V4) : 0 454 PCIe ASPM Not Supported (V4) : 0 455 CMOS RTC Not Present (V5) : 0 456 [0001] Reserved : 00 457 [0004] Flags (decoded below) : 00000000 458 WBINVD instruction is operational (V1) : 0 459 WBINVD flushes all caches (V1) : 0 460 All CPUs support C1 (V1) : 0 461 C2 works on MP system (V1) : 0 462 Control Method Power Button (V1) : 0 463 Control Method Sleep Button (V1) : 0 464 RTC wake not in fixed reg space (V1) : 0 465 RTC can wake system from S4 (V1) : 0 466 32-bit PM Timer (V1) : 0 467 Docking Supported (V1) : 0 468 Reset Register Supported (V2) : 0 469 Sealed Case (V3) : 0 470 Headless - No Video (V3) : 0 471 Use native instr after SLP_TYPx (V3) : 0 472 PCIEXP_WAK Bits Supported (V4) : 0 473 Use Platform Timer (V4) : 0 474 RTC_STS valid on S4 wake (V4) : 0 475 Remote Power-on capable (V4) : 0 476 Use APIC Cluster Model (V4) : 0 477 Use APIC Physical Destination Mode (V4) : 0 478 Hardware Reduced (V5) : 0 479 Low Power S0 Idle (V5) : 0 480 481 [0012] Reset Register : [Generic Address Structure] 482 [0001] Space ID : 01 [SystemIO] 483 [0001] Bit Width : 08 484 [0001] Bit Offset : 00 485 [0001] Encoded Access Width : 01 [Byte Access:8] 486 [0008] Address : 0000000000000001 487 488 [0001] Value to cause reset : 00 489 [0003] Reserved : 000000 490 [0008] FACS Address : 0000000000000001 491 [0008] DSDT Address : 0000000000000001 492 [0012] PM1A Event Block : [Generic Address Structure] 493 [0001] Space ID : 01 [SystemIO] 494 [0001] Bit Width : 20 495 [0001] Bit Offset : 00 496 [0001] Encoded Access Width : 02 [Word Access:16] 497 [0008] Address : 0000000000000001 498 499 [0012] PM1B Event Block : [Generic Address Structure] 500 [0001] Space ID : 01 [SystemIO] 501 [0001] Bit Width : 00 502 [0001] Bit Offset : 00 503 [0001] Encoded Access Width : 00 [Undefined/Legacy] 504 [0008] Address : 0000000000000000 505 506 [0012] PM1A Control Block : [Generic Address Structure] 507 [0001] Space ID : 01 [SystemIO] 508 [0001] Bit Width : 10 509 [0001] Bit Offset : 00 510 [0001] Encoded Access Width : 02 [Word Access:16] 511 [0008] Address : 0000000000000001 512 513 [0012] PM1B Control Block : [Generic Address Structure] 514 [0001] Space ID : 01 [SystemIO] 515 [0001] Bit Width : 00 516 [0001] Bit Offset : 00 517 [0001] Encoded Access Width : 00 [Undefined/Legacy] 518 [0008] Address : 0000000000000000 519 520 [0012] PM2 Control Block : [Generic Address Structure] 521 [0001] Space ID : 01 [SystemIO] 522 [0001] Bit Width : 08 523 [0001] Bit Offset : 00 524 [0001] Encoded Access Width : 00 [Undefined/Legacy] 525 [0008] Address : 0000000000000001 526 527 [0012] PM Timer Block : [Generic Address Structure] 528 [0001] Space ID : 01 [SystemIO] 529 [0001] Bit Width : 20 530 [0001] Bit Offset : 00 531 [0001] Encoded Access Width : 03 [DWord Access:32] 532 [0008] Address : 0000000000000001 533 534 [0012] GPE0 Block : [Generic Address Structure] 535 [0001] Space ID : 01 [SystemIO] 536 [0001] Bit Width : 40 537 [0001] Bit Offset : 00 538 [0001] Encoded Access Width : 01 [Byte Access:8] 539 [0008] Address : 0000000000000001 540 541 [0012] GPE1 Block : [Generic Address Structure] 542 [0001] Space ID : 01 [SystemIO] 543 [0001] Bit Width : 00 544 [0001] Bit Offset : 00 545 [0001] Encoded Access Width : 00 [Undefined/Legacy] 546 [0008] Address : 0000000000000000 547 548 549 [0012] Sleep Control Register : [Generic Address Structure] 550 [0001] Space ID : 01 [SystemIO] 551 [0001] Bit Width : 08 552 [0001] Bit Offset : 00 553 [0001] Encoded Access Width : 01 [Byte Access:8] 554 [0008] Address : 0000000000000000 555 556 [0012] Sleep Status Register : [Generic Address Structure] 557 [0001] Space ID : 01 [SystemIO] 558 [0001] Bit Width : 08 559 [0001] Bit Offset : 00 560 [0001] Encoded Access Width : 01 [Byte Access:8] 561 [0008] Address : 0000000000000000 562 563 564 /* FACS */ 565 566 [0004] Signature : "FACS" 567 [0004] Length : 00000040 568 [0004] Hardware Signature : 00000000 569 [0004] 32 Firmware Waking Vector : 00000000 570 [0004] Global Lock : 00000000 571 [0004] Flags (decoded below) : 00000000 572 S4BIOS Support Present : 0 573 64-bit Wake Supported (V2) : 0 574 [0008] 64 Firmware Waking Vector : 0000000000000000 575 [0001] Version : 02 576 [0003] Reserved : 000000 577 [0004] OspmFlags (decoded below) : 00000000 578 64-bit Wake Env Required (V2) : 0 579 580 581 /* DSDT - ASL code */ 582 583 DefinitionBlock ("dsdt.aml", "DSDT", 2, "Intel", "Template", 0x00000001) 584 { 585 OperationRegion (GNVS, SystemMemory, 0xDFBBEE98, 0x00000013) 586 Field (GNVS, AnyAcc, NoLock, Preserve) 587 { 588 FLD1, 8, 589 } 590 591 Method (MAIN, 1, NotSerialized) 592 { 593 Store (Concatenate ("Main/Arg0: ", Arg0), Debug) 594 Store (Zero, FLD1) 595 Notify (\, Zero) 596 Return ("Main successfully completed execution") 597 } 598 } 599 #endif 600