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