1 /****************************************************************************** 2 * 3 * Module Name: aetables.h - Precompiled AML ACPI tables for acpiexec 4 * 5 *****************************************************************************/ 6 7 /* 8 * Copyright (C) 2000 - 2013, 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 __AETABLES_H__ 45 #define __AETABLES_H__ 46 47 48 /* 49 * Miscellaneous pre-compiled AML ACPI tables to be installed 50 */ 51 52 /* Default DSDT. This will be replaced with the input DSDT */ 53 54 static unsigned char DsdtCode[] = 55 { 56 0x44,0x53,0x44,0x54,0x24,0x00,0x00,0x00, /* 00000000 "DSDT$..." */ 57 0x02,0x6F,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".oIntel." */ 58 0x4E,0x75,0x6C,0x6C,0x44,0x53,0x44,0x54, /* 00000010 "NullDSDT" */ 59 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 60 0x04,0x12,0x08,0x20, 61 }; 62 63 static unsigned char LocalDsdtCode[] = 64 { 65 0x44,0x53,0x44,0x54,0x24,0x00,0x00,0x00, /* 00000000 "DSDT$..." */ 66 0x02,0x2C,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".,Intel." */ 67 0x4C,0x6F,0x63,0x61,0x6C,0x00,0x00,0x00, /* 00000010 "Local..." */ 68 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 69 0x30,0x07,0x09,0x20, 70 }; 71 72 /* Several example SSDTs */ 73 74 /* SSDT1 is used by ASLTS; if changed here, must also be changed in dtregions.asl */ 75 76 static unsigned char Ssdt1Code[] = /* Has method _T98 */ 77 { 78 0x53,0x53,0x44,0x54,0x3E,0x00,0x00,0x00, /* 00000000 "SSDT>..." */ 79 0x02,0x08,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ 80 0x73,0x73,0x64,0x74,0x31,0x00,0x00,0x00, /* 00000010 "ssdt1..." */ 81 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 82 0x20,0x06,0x12,0x20,0x14,0x19,0x5F,0x54, /* 00000020 " .. .._T" */ 83 0x39,0x38,0x01,0x70,0x0D,0x53,0x53,0x44, /* 00000028 "98.p.SSD" */ 84 0x54,0x31,0x20,0x2D,0x20,0x5F,0x54,0x39, /* 00000030 "T1 - _T9" */ 85 0x38,0x00,0x5B,0x31,0xA4,0x00 /* 00000038 "8.[1.." */ 86 }; 87 88 unsigned char Ssdt2Code[] = /* Has method _T99 */ 89 { 90 0x53,0x53,0x44,0x54,0x3E,0x00,0x00,0x00, /* 00000000 "SSDT>..." */ 91 0x02,0xFE,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ 92 0x73,0x73,0x64,0x74,0x32,0x00,0x00,0x00, /* 00000010 "ssdt2..." */ 93 0x02,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 94 0x20,0x06,0x12,0x20,0x14,0x19,0x5F,0x54, /* 00000020 " .. .._T" */ 95 0x39,0x39,0x06,0x70,0x0D,0x53,0x53,0x44, /* 00000028 "99.p.SSD" */ 96 0x54,0x32,0x20,0x2D,0x20,0x5F,0x54,0x39, /* 00000030 "T2 - _T9" */ 97 0x39,0x00,0x5B,0x31,0xA4,0x00 /* 00000038 "9.[1.." */ 98 }; 99 100 unsigned char Ssdt3Code[] = /* OEM9: Has method _T97 */ 101 { 102 0x4F,0x45,0x4D,0x39,0x30,0x00,0x00,0x00, /* 00000000 "OEM10..." */ 103 0x01,0xDD,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ 104 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */ 105 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 106 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */ 107 0x39,0x37,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "97.p..`." */ 108 }; 109 110 unsigned char Ssdt4Code[] = /* Has method _T96 */ 111 { 112 0x53,0x53,0x44,0x54,0x2D,0x00,0x00,0x00, /* 00000000 "SSDT-..." */ 113 0x02,0x2B,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".+Intel." */ 114 0x73,0x73,0x64,0x74,0x34,0x00,0x00,0x00, /* 00000010 "ssdt4..." */ 115 0x04,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 116 0x20,0x06,0x12,0x20,0x14,0x08,0x5F,0x54, /* 00000020 " .. .._T" */ 117 0x39,0x36,0x05,0xA4,0x00 /* 00000028 "96..." */ 118 }; 119 120 /* "Hardware-Reduced" ACPI 5.0 FADT (No FACS, no ACPI hardware) */ 121 122 unsigned char HwReducedFadtCode[] = 123 { 124 0x46,0x41,0x43,0x50,0x0C,0x01,0x00,0x00, /* 00000000 "FACP...." */ 125 0x05,0x8C,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */ 126 0x41,0x43,0x50,0x49,0x35,0x30,0x20,0x20, /* 00000010 "ACPI50 " */ 127 0x00,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 128 0x13,0x04,0x11,0x20,0x00,0x00,0x00,0x00, /* 00000020 "... ...." */ 129 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "........" */ 130 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000030 "........" */ 131 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */ 132 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000040 "........" */ 133 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000048 "........" */ 134 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000050 "........" */ 135 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000058 "........" */ 136 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000060 "........" */ 137 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000068 "........" */ 138 0x00,0x00,0x78,0x00,0x01,0x08,0x00,0x01, /* 00000070 "..x....." */ 139 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000078 "........" */ 140 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000080 "........" */ 141 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000088 "........" */ 142 0x00,0x00,0x00,0x00,0x01,0x20,0x00,0x02, /* 00000090 "..... .." */ 143 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000098 "........" */ 144 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000A0 "........" */ 145 0x00,0x00,0x00,0x00,0x01,0x10,0x00,0x02, /* 000000A8 "........" */ 146 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B0 "........" */ 147 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B8 "........" */ 148 0x00,0x00,0x00,0x00,0x01,0x08,0x00,0x00, /* 000000C0 "........" */ 149 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000C8 "........" */ 150 0x01,0x20,0x00,0x03,0x00,0x00,0x00,0x00, /* 000000D0 ". ......" */ 151 0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x01, /* 000000D8 "........" */ 152 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000E0 "........" */ 153 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000E8 "........" */ 154 0x00,0x00,0x00,0x00,0x01,0x08,0x00,0x01, /* 000000F0 "........" */ 155 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000F8 "........" */ 156 0x01,0x08,0x00,0x01,0x01,0x00,0x00,0x00, /* 00000100 "........" */ 157 0x00,0x00,0x00,0x00 /* 00000108 "........" */ 158 }; 159 160 /* Example OEM table */ 161 162 static unsigned char Oem1Code[] = 163 { 164 0x4F,0x45,0x4D,0x31,0x38,0x00,0x00,0x00, /* 00000000 "OEM18..." */ 165 0x01,0x4B,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".KIntel." */ 166 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */ 167 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 168 0x18,0x09,0x03,0x20,0x08,0x5F,0x58,0x54, /* 00000020 "... ._XT" */ 169 0x32,0x0A,0x04,0x14,0x0C,0x5F,0x58,0x54, /* 00000028 "2...._XT" */ 170 0x31,0x00,0x70,0x01,0x5F,0x58,0x54,0x32, /* 00000030 "1.p._XT2" */ 171 }; 172 173 /* ASL source for this table is at the end of this file */ 174 175 static unsigned char OemxCode[] = 176 { 177 0x4F,0x45,0x4D,0x58,0xB0,0x00,0x00,0x00, /* 00000000 "OEMX...." */ 178 0x02,0x54,0x4D,0x79,0x4F,0x45,0x4D,0x00, /* 00000008 ".TMyOEM." */ 179 0x54,0x65,0x73,0x74,0x00,0x00,0x00,0x00, /* 00000010 "Test...." */ 180 0x32,0x04,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "2...INTL" */ 181 0x31,0x03,0x10,0x20,0x14,0x1D,0x5F,0x49, /* 00000020 "1.. .._I" */ 182 0x4E,0x49,0x00,0x70,0x0D,0x54,0x61,0x62, /* 00000028 "NI.p.Tab" */ 183 0x6C,0x65,0x20,0x4F,0x45,0x4D,0x58,0x20, /* 00000030 "le OEMX " */ 184 0x72,0x75,0x6E,0x6E,0x69,0x6E,0x67,0x00, /* 00000038 "running." */ 185 0x5B,0x31,0x10,0x22,0x5C,0x5F,0x47,0x50, /* 00000040 "[1."\_GP" */ 186 0x45,0x14,0x06,0x5F,0x45,0x30,0x37,0x00, /* 00000048 "E.._E07." */ 187 0x14,0x06,0x5F,0x45,0x32,0x32,0x00,0x14, /* 00000050 ".._E22.." */ 188 0x06,0x5F,0x4C,0x33,0x31,0x00,0x14,0x06, /* 00000058 "._L31..." */ 189 0x5F,0x4C,0x36,0x36,0x00,0x5B,0x82,0x10, /* 00000060 "_L66.[.." */ 190 0x4F,0x45,0x4D,0x31,0x08,0x5F,0x50,0x52, /* 00000068 "OEM1._PR" */ 191 0x57,0x12,0x05,0x02,0x0A,0x07,0x00,0x5B, /* 00000070 "W......[" */ 192 0x82,0x10,0x4F,0x45,0x4D,0x32,0x08,0x5F, /* 00000078 "..OEM2._" */ 193 0x50,0x52,0x57,0x12,0x05,0x02,0x0A,0x66, /* 00000080 "PRW....f" */ 194 0x00,0x10,0x26,0x5C,0x47,0x50,0x45,0x32, /* 00000088 "..&\GPE2" */ 195 0x14,0x06,0x5F,0x4C,0x30,0x31,0x00,0x14, /* 00000090 ".._L01.." */ 196 0x06,0x5F,0x45,0x30,0x37,0x00,0x08,0x5F, /* 00000098 "._E07.._" */ 197 0x50,0x52,0x57,0x12,0x0C,0x02,0x12,0x08, /* 000000A0 "PRW....." */ 198 0x02,0x5C,0x47,0x50,0x45,0x32,0x01,0x00 /* 000000A8 ".\GPE2.." */ 199 }; 200 201 /* Example ECDT */ 202 203 unsigned char EcdtCode[] = 204 { 205 0x45,0x43,0x44,0x54,0x4E,0x00,0x00,0x00, /* 00000000 "ECDTN..." */ 206 0x01,0x94,0x20,0x49,0x6E,0x74,0x65,0x6C, /* 00000008 ".. Intel" */ 207 0x54,0x65,0x6D,0x70,0x6C,0x61,0x74,0x65, /* 00000010 "Template" */ 208 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 209 0x16,0x03,0x11,0x20,0x01,0x08,0x00,0x00, /* 00000020 "... ...." */ 210 0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "f......." */ 211 0x01,0x08,0x00,0x00,0x62,0x00,0x00,0x00, /* 00000030 "....b..." */ 212 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */ 213 0x09,0x5C,0x5F,0x53,0x42,0x2E,0x50,0x43, /* 00000040 ".\_SB.PC" */ 214 0x49,0x30,0x2E,0x45,0x43,0x00 /* 00000048 "I0.EC." */ 215 }; 216 217 /* Test for multiple UEFI tables */ 218 219 unsigned char Uefi1Code[] = 220 { 221 0x55,0x45,0x46,0x49,0x36,0x00,0x00,0x00, /* 00000000 "UEFI6..." */ 222 0x01,0x6E,0x20,0x49,0x6E,0x74,0x65,0x6C, /* 00000008 ".n Intel" */ 223 0x20,0x20,0x20,0x55,0x45,0x46,0x49,0x31, /* 00000010 " UEFI1" */ 224 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 225 0x23,0x08,0x13,0x20,0x06,0x07,0x08,0x09, /* 00000020 "#.. ...." */ 226 0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B, /* 00000028 "........" */ 227 0x0C,0x0D,0x0E,0x0F,0x36,0x00 /* 00000030 "....6." */ 228 }; 229 230 unsigned char Uefi2Code[] = 231 { 232 0x55,0x45,0x46,0x49,0xAA,0x00,0x00,0x00, /* 00000000 "UEFI...." */ 233 0x01,0xE0,0x20,0x49,0x6E,0x74,0x65,0x6C, /* 00000008 ".. Intel" */ 234 0x20,0x20,0x20,0x55,0x45,0x46,0x49,0x32, /* 00000010 " UEFI2" */ 235 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 236 0x23,0x08,0x13,0x20,0x67,0x45,0x23,0x01, /* 00000020 "#.. gE#." */ 237 0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B, /* 00000028 "........" */ 238 0x0C,0x0D,0x0E,0x0F,0x36,0x00,0x04,0x19, /* 00000030 "....6..." */ 239 0x00,0x56,0x34,0xF2,0x04,0x03,0x02,0x01, /* 00000038 ".V4....." */ 240 0x77,0x66,0x55,0x44,0x33,0x22,0x11,0x1E, /* 00000040 "wfUD3".." */ 241 0x1C,0x1F,0x14,0x10,0x0C,0x08,0x04,0xAB, /* 00000048 "........" */ 242 0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20, /* 00000050 "This is " */ 243 0x61,0x20,0x73,0x74,0x72,0x69,0x6E,0x67, /* 00000058 "a string" */ 244 0x00,0x5C,0x50,0x43,0x49,0x30,0x5C,0x41, /* 00000060 ".\PCI0\A" */ 245 0x42,0x43,0x44,0x00,0x36,0x00,0x55,0x00, /* 00000068 "BCD.6.U." */ 246 0x6E,0x00,0x69,0x00,0x63,0x00,0x6F,0x00, /* 00000070 "n.i.c.o." */ 247 0x64,0x00,0x65,0x00,0x20,0x00,0x53,0x00, /* 00000078 "d.e. .S." */ 248 0x74,0x00,0x72,0x00,0x69,0x00,0x6E,0x00, /* 00000080 "t.r.i.n." */ 249 0x67,0x00,0x00,0x00,0x58,0x5B,0x00,0x00, /* 00000088 "g...X[.." */ 250 0x00,0x00,0x00,0x00,0x41,0x42,0x43,0x44, /* 00000090 "....ABCD" */ 251 0x45,0x00,0x00,0x01,0x02,0x03,0x04,0x05, /* 00000098 "E......." */ 252 0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D, /* 000000A0 "........" */ 253 0x0E,0x0F /* 000000A8 ".." */ 254 }; 255 256 257 /* 258 * Example installable control method 259 * 260 * DefinitionBlock ("", "DSDT", 2, "Intel", "MTHDTEST", 0x20090512) 261 * { 262 * Method (\_SI_._T97, 1, Serialized) 263 * { 264 * Store ("Example installed method", Debug) 265 * Store (Arg0, Debug) 266 * Return () 267 * } 268 * } 269 * 270 * Compiled byte code below. 271 */ 272 static unsigned char MethodCode[] = 273 { 274 0x44,0x53,0x44,0x54,0x53,0x00,0x00,0x00, /* 00000000 "DSDTS..." */ 275 0x02,0xF9,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ 276 0x4D,0x54,0x48,0x44,0x54,0x45,0x53,0x54, /* 00000010 "MTHDTEST" */ 277 0x12,0x05,0x09,0x20,0x49,0x4E,0x54,0x4C, /* 00000018 "... INTL" */ 278 0x22,0x04,0x09,0x20,0x14,0x2E,0x2E,0x5F, /* 00000020 "".. ..._" */ 279 0x54,0x49,0x5F,0x5F,0x54,0x39,0x37,0x09, /* 00000028 "SI__T97." */ 280 0x70,0x0D,0x45,0x78,0x61,0x6D,0x70,0x6C, /* 00000030 "p.Exampl" */ 281 0x65,0x20,0x69,0x6E,0x73,0x74,0x61,0x6C, /* 00000038 "e instal" */ 282 0x6C,0x65,0x64,0x20,0x6D,0x65,0x74,0x68, /* 00000040 "led meth" */ 283 0x6F,0x64,0x00,0x5B,0x31,0x70,0x68,0x5B, /* 00000048 "od.[1ph[" */ 284 0x31,0xA4,0x00, 285 }; 286 287 288 #if 0 289 /****************************************************************************** 290 * 291 * DESCRIPTION: ASL tables that are used in RSDT/XSDT, also used to test 292 * Load/LoadTable operators. 293 * 294 *****************************************************************************/ 295 296 DefinitionBlock ("", "OEMX", 2, "MyOEM", "Test", 0x00000432) 297 { 298 External (GPE2, DeviceObj) 299 300 Method (_INI) 301 { 302 Store ("Table OEMX running", Debug) 303 } 304 305 Scope (\_GPE) 306 { 307 Method (_E07) {} 308 Method (_E22) {} 309 Method (_L31) {} 310 Method (_L66) {} 311 } 312 313 Device (OEM1) 314 { 315 Name (_PRW, Package(){7,0}) 316 } 317 Device (OEM2) 318 { 319 Name (_PRW, Package(){0x66,0}) 320 } 321 322 Scope (\GPE2) 323 { 324 Method (_L01) {} 325 Method (_E07) {} 326 327 Name (_PRW, Package() {Package() {\GPE2, 1}, 0}) 328 } 329 } 330 331 /* Parent gr.asl file */ 332 333 DefinitionBlock ("", "DSDT", 2, "Intel", "Many", 0x00000001) 334 { 335 Name (BUF1, Buffer() 336 { 337 0x4F,0x45,0x4D,0x58,0xB0,0x00,0x00,0x00, /* 00000000 "OEMX...." */ 338 0x02,0x54,0x4D,0x79,0x4F,0x45,0x4D,0x00, /* 00000008 ".TMyOEM." */ 339 0x54,0x65,0x73,0x74,0x00,0x00,0x00,0x00, /* 00000010 "Test...." */ 340 0x32,0x04,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "2...INTL" */ 341 0x31,0x03,0x10,0x20,0x14,0x1D,0x5F,0x49, /* 00000020 "1.. .._I" */ 342 0x4E,0x49,0x00,0x70,0x0D,0x54,0x61,0x62, /* 00000028 "NI.p.Tab" */ 343 0x6C,0x65,0x20,0x4F,0x45,0x4D,0x58,0x20, /* 00000030 "le OEMX " */ 344 0x72,0x75,0x6E,0x6E,0x69,0x6E,0x67,0x00, /* 00000038 "running." */ 345 0x5B,0x31,0x10,0x22,0x5C,0x5F,0x47,0x50, /* 00000040 "[1."\_GP" */ 346 0x45,0x14,0x06,0x5F,0x45,0x30,0x37,0x00, /* 00000048 "E.._E07." */ 347 0x14,0x06,0x5F,0x45,0x32,0x32,0x00,0x14, /* 00000050 ".._E22.." */ 348 0x06,0x5F,0x4C,0x33,0x31,0x00,0x14,0x06, /* 00000058 "._L31..." */ 349 0x5F,0x4C,0x36,0x36,0x00,0x5B,0x82,0x10, /* 00000060 "_L66.[.." */ 350 0x4F,0x45,0x4D,0x31,0x08,0x5F,0x50,0x52, /* 00000068 "OEM1._PR" */ 351 0x57,0x12,0x05,0x02,0x0A,0x07,0x00,0x5B, /* 00000070 "W......[" */ 352 0x82,0x10,0x4F,0x45,0x4D,0x32,0x08,0x5F, /* 00000078 "..OEM2._" */ 353 0x50,0x52,0x57,0x12,0x05,0x02,0x0A,0x66, /* 00000080 "PRW....f" */ 354 0x00,0x10,0x26,0x5C,0x47,0x50,0x45,0x32, /* 00000088 "..&\GPE2" */ 355 0x14,0x06,0x5F,0x4C,0x30,0x31,0x00,0x14, /* 00000090 ".._L01.." */ 356 0x06,0x5F,0x45,0x30,0x37,0x00,0x08,0x5F, /* 00000098 "._E07.._" */ 357 0x50,0x52,0x57,0x12,0x0C,0x02,0x12,0x08, /* 000000A0 "PRW....." */ 358 0x02,0x5C,0x47,0x50,0x45,0x32,0x01,0x00 /* 000000A8 ".\GPE2.." */ 359 }) 360 361 Name (HNDL, 0) 362 Method (LD) 363 { 364 Load (BUF1, HNDL) 365 Store ("Load operator, handle:", Debug) 366 Store (HNDL, Debug) 367 } 368 369 Method (MAIN, 0, NotSerialized) 370 { 371 Store ("Loading OEMX table", Debug) 372 Store (LoadTable ("OEMX", "MyOEM", "Test"), Debug) 373 } 374 375 Scope (\_GPE) 376 { 377 Method (_L08) {} 378 Method (_E08) {} 379 Method (_L0B) {} 380 } 381 382 Device (DEV0) 383 { 384 Name (_PRW, Package() {0x11, 0}) 385 } 386 387 Device (\GPE2) 388 { 389 Method (_L00) {} 390 } 391 } 392 393 /* SSDT1 */ 394 395 DefinitionBlock ("ssdt1.aml", "SSDT", 2, "Intel", "ssdt1", 0x00000001) 396 { 397 Method (_T98, 1, NotSerialized) 398 { 399 Store ("SSDT1 - _T98", Debug) 400 Return (Zero) 401 } 402 } 403 404 /* SSDT2 */ 405 406 DefinitionBlock ("ssdt2.aml", "SSDT", 2, "Intel", "ssdt2", 0x00000002) 407 { 408 Method (_T99, 6, NotSerialized) 409 { 410 Store ("SSDT2 - _T99", Debug) 411 Return (Zero) 412 } 413 } 414 415 /* SSDT4 */ 416 417 DefinitionBlock ("ssdt4.aml", "SSDT", 2, "Intel", "ssdt4", 0x00000004) 418 { 419 Method (_T96, 5, NotSerialized) 420 { 421 Return (Zero) 422 } 423 } 424 425 /* Example ECDT */ 426 427 [000h 0000 4] Signature : "ECDT" /* Embedded Controller Boot Resources Table */ 428 [004h 0004 4] Table Length : 0000004E 429 [008h 0008 1] Revision : 01 430 [009h 0009 1] Checksum : 14 431 [00Ah 0010 6] Oem ID : " Intel" 432 [010h 0016 8] Oem Table ID : "Template" 433 [018h 0024 4] Oem Revision : 00000001 434 [01Ch 0028 4] Asl Compiler ID : "INTL" 435 [020h 0032 4] Asl Compiler Revision : 20110316 436 437 438 [024h 0036 12] Command/Status Register : <Generic Address Structure> 439 [024h 0036 1] Space ID : 01 (SystemIO) 440 [025h 0037 1] Bit Width : 08 441 [026h 0038 1] Bit Offset : 00 442 [027h 0039 1] Encoded Access Width : 00 (Undefined/Legacy) 443 [028h 0040 8] Address : 0000000000000066 444 445 [030h 0048 12] Data Register : <Generic Address Structure> 446 [030h 0048 1] Space ID : 01 (SystemIO) 447 [031h 0049 1] Bit Width : 08 448 [032h 0050 1] Bit Offset : 00 449 [033h 0051 1] Encoded Access Width : 00 (Undefined/Legacy) 450 [034h 0052 8] Address : 0000000000000062 451 452 [03Ch 0060 4] UID : 00000000 453 [040h 0064 1] GPE Number : 09 454 [041h 0065 13] Namepath : "\_SB.PCI0.EC" 455 456 457 /* Test multiple UEFI support */ 458 459 [0004] Signature : "UEFI" [UEFI Boot Optimization Table] 460 [0004] Table Length : 00000036 461 [0001] Revision : 01 462 [0001] Checksum : 9B 463 [0006] Oem ID : " Intel" 464 [0008] Oem Table ID : " UEFI1" 465 [0004] Oem Revision : 00000001 466 [0004] Asl Compiler ID : "INTL" 467 [0004] Asl Compiler Revision : 20100528 468 469 [0016] UUID Identifier : 09080706-0504-0706-0809-0A0B0C0D0E0F 470 [0002] Data Offset : 0000 471 472 473 [004] Signature : "UEFI" /* UEFI Boot Optimization Table */ 474 [004] Table Length : 00000036 475 [001] Revision : 01 476 [001] Checksum : 9B 477 [006] Oem ID : " Intel" 478 [008] Oem Table ID : " UEFI2" 479 [004] Oem Revision : 00000001 480 [004] Asl Compiler ID : "INTL" 481 [004] Asl Compiler Revision : 20100528 482 483 [016] UUID Identifier : 01234567-0504-0706-0809-0A0B0C0D0E0F 484 [002] Data Offset : 0000 485 486 Label : StartRecord 487 UINT8 : 4 488 UINT16 : $EndRecord - $StartRecord /* Should be 0x19 */ 489 UINT24 : 123456 | F00000 490 UINT32 : 01020304 491 UINT56 : 11223344556677 492 UINT64 : 0102030405060708 * 4 - 200 / 100 | F0000 493 Label : EndRecord 494 495 UINT8 : AB 496 String : "This is a string" 497 DevicePath : "\PCI0\ABCD" 498 UINT16 : $StartRecord 499 Unicode : "Unicode String" 500 UINT64 : $EndRecord * 128 501 502 Buffer : 41 42 43 44 45 503 String : "" 504 GUID : 03020100-0504-0706-0809-0A0B0C0D0E0F 505 #endif 506 507 #endif /* __AETABLES_H__ */