From: Kamala Narasimhan Date: Thu, 12 Mar 2009 18:08:52 +0000 (-0400) Subject: Lenovo oem value add - vACPI WMI changes. X-Git-Url: http://xenbits.xen.org/gitweb?a=commitdiff_plain;h=1fcc8094235bede0cd847d639712114cb8f4dd69;p=xenclient%2Fxen.git Lenovo oem value add - vACPI WMI changes. NOTE: At the moment, none of the vACPI WMI objects are getting invoked as the keyboard controller is not wired to generate acpi interrupt. Once we add support to pass non-wmi hotkey events to guest, this vACPI layer WMI objects will be invoked. --- diff --git a/tools/firmware/hvmloader/acpi/Makefile b/tools/firmware/hvmloader/acpi/Makefile index 6f437b5..175ffbf 100644 --- a/tools/firmware/hvmloader/acpi/Makefile +++ b/tools/firmware/hvmloader/acpi/Makefile @@ -19,7 +19,7 @@ XEN_ROOT = ../../../.. include $(XEN_ROOT)/tools/firmware/Rules.mk C_SRC = build.c dsdt.c static_tables.c -H_SRC = $(wildcard *.h) ssdt_pm.h ssdt_hp_6930p_elitebook.h ssdt_dell_latitude_eseries.h ssdt_tpm.h +H_SRC = $(wildcard *.h) ssdt_pm.h ssdt_hp_6930p_elitebook.h ssdt_dell_latitude_eseries.h ssdt_lenovo_t_and_x_series.h ssdt_tpm.h OBJS = $(patsubst %.c,%.o,$(C_SRC)) build.o: $(H_SRC) build.c @@ -53,6 +53,13 @@ ssdt_dell_latitude_eseries.h: ssdt_dell_latitude_eseries.asl mv $*.hex $@ rm -f *.aml +ssdt_lenovo_t_and_x_series.h: ssdt_lenovo_t_and_x_series.asl + $(MAKE) iasl + iasl -tc $< + sed -i'' -re 's/AmlCode/AmlCode_LENOVO_T_AND_X_SERIES/g' $*.hex + mv $*.hex $@ + rm -f *.aml + ssdt_tpm.h: ssdt_tpm.asl $(MAKE) iasl iasl -tc $< @@ -87,6 +94,6 @@ acpi.a: $(OBJS) $(AR) rc $@ $(OBJS) clean: - rm -rf *.a *.o dsdt.c ssdt_pm.h ssdt_hp_6930p_elitebook.h ssdt_dell_latitude_eseries.h ssdt_tpm.h $(IASL_VER) $(IASL_VER).tar.gz + rm -rf *.a *.o dsdt.c ssdt_pm.h ssdt_hp_6930p_elitebook.h ssdt_dell_latitude_eseries.h ssdt_lenovo_t_and_x_series.h ssdt_tpm.h $(IASL_VER) $(IASL_VER).tar.gz install: all diff --git a/tools/firmware/hvmloader/acpi/build.c b/tools/firmware/hvmloader/acpi/build.c index 2d35b00..ab7f5f3 100644 --- a/tools/firmware/hvmloader/acpi/build.c +++ b/tools/firmware/hvmloader/acpi/build.c @@ -21,6 +21,7 @@ #include "ssdt_pm.h" #include "ssdt_hp_6930p_elitebook.h" #include "ssdt_dell_latitude_eseries.h" +#include "ssdt_lenovo_t_and_x_series.h" #include "../config.h" #include "../util.h" #include "../smbios_types.h" @@ -39,9 +40,13 @@ extern int DsdtLen; #define OEM_NAME_DELL "Dell" #define OEM_NAME_HP "Hewlett-Packard" +#define OEM_NAME_LENOVO "LENOVO" + #define OEM_MODEL_DELL_LATITUDE_1 "Latitude E4200" #define OEM_MODEL_DELL_LATITUDE_2 "Latitude E6500" #define OEM_MODEL_HP_EliteBook "HP EliteBook 6930p" +#define OEM_MODEL_LENOVO_T400 "6475BY3" +#define OEM_MODEL_LENOVO_X200 "74542NU" static void set_checksum( void *table, uint32_t checksum_offset, uint32_t length) @@ -162,6 +167,16 @@ static int construct_oem_ssdt(uint8_t *buf) memcpy(buf, AmlCode_HP_6930P_ELITEBOOK, sizeof(AmlCode_HP_6930P_ELITEBOOK)); return align16(sizeof(AmlCode_HP_6930P_ELITEBOOK)); } + + if ( strncmp(manufacturer, OEM_NAME_LENOVO, strlen(OEM_NAME_LENOVO)) == 0 ) + { + if ( (strncmp(model, OEM_MODEL_LENOVO_T400, strlen(OEM_MODEL_LENOVO_T400)) != 0) && + (strncmp(model, OEM_MODEL_LENOVO_X200, strlen(OEM_MODEL_LENOVO_X200)) != 0) ) + return 0; + + memcpy(buf, AmlCode_LENOVO_T_AND_X_SERIES, sizeof(AmlCode_LENOVO_T_AND_X_SERIES)); + return align16(sizeof(AmlCode_LENOVO_T_AND_X_SERIES)); + } return 0; } diff --git a/tools/firmware/hvmloader/acpi/ssdt_lenovo_t_and_x_series.asl b/tools/firmware/hvmloader/acpi/ssdt_lenovo_t_and_x_series.asl new file mode 100644 index 0000000..40375cf --- /dev/null +++ b/tools/firmware/hvmloader/acpi/ssdt_lenovo_t_and_x_series.asl @@ -0,0 +1,616 @@ +/* + * ssdt_lenovo_t_and_x_series.asl + * + * Copyright (c) 2009 Kamala Narasimhan + * Copyright (c) 2009 Citrix Systems, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* SSDT for exposing Lenovo T and X series specific value add functionalities like + * hotkeys, special buttons. + */ + +/* IMPLEMENTATION DETAILS: OEM value add features are generally exposed through + * WMI psuedo device objects. For our guests to benefit from such value add, we + * expose a psuedo device object in our vACPI layer also. This psuedo object is + * similar to the underlying base firmware object in the sense we expose the + * same _WDG method which describes the WMI methods, data objects and events + * provided by the WMI psuedo object. Guest wmi wrapper driver which automatically + * gets loaded upon identifying this WMI pseudo device object, calls _WDG to get + * known entry points and calls those entry points for further information exchange. + * Reference - http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx + */ + +/* COMMUNICATION DETAILS - + * Command port - 0x96 + * Writes to this port describe what type of information is about + * to be exchanged. E.g., guid, input argument transfer etc. + * Data Port - 0x98 and 0x9A for byte and dword data transfer respectively. + * Communicates data to and from the backend. E.g. Input buffer values + * get written to this port and output buffer values are read from this + * port. + */ + +DefinitionBlock ("SSDT_LENOVO_T_AND_X_SERIES.aml", "SSDT", 2, "Xen", "HVM", 0) +{ + Scope (\_SB) + { + + OperationRegion (LEN1, SystemIO, 0x96, 0x01) + Field (LEN1, ByteAcc, NoLock, Preserve) + { + P96, 8 + } + + OperationRegion (LEN2, SystemIO, 0x98, 0x01) + Field (LEN2, ByteAcc, NoLock, Preserve) + { + P98, 8 + } + + OperationRegion (LEN3, SystemIO, 0x9A, 0x04) + Field (LEN3, DWordAcc, NoLock, Preserve) + { + P9A, 32 + } + + Device (WMI1) + { + /* Exposing a pseudo device with HID PNP0C14 will + * result in Windows guest loading their WMI wrapper + * driver - wmiacpi.sys + */ + Name (_HID, EisaId ("PNP0C14")) + Name (_UID, 0x01) + + /* Following list of data blocks exposed by _WDG is same as the + * one provided by the underlying firmware. Refer to - + * http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx + * for further information about _WDG and what it exposes. + */ + Name (_WDG, Buffer (0xA0) + { + /* Data Block 1 */ + /* GUID */ + 0x0E, 0x23, 0xF5, 0x51, 0x77, 0x96, 0xCD, 0x46, + 0xA1, 0xCF, 0xC0, 0xB2, 0x3E, 0xE3, 0x4D, 0xB7, + 0x41, 0x30, /* Object ID - WQA0 */ + 0x5A, /* Instance count */ + 0x05, /* Flag - String block & Expensive */ + + /* Data Block 2 */ + /* GUID */ + 0x64, 0x9A, 0x47, 0x98, 0xF5, 0x33, 0x33, 0x4E, + 0xA7, 0x07, 0x8E, 0x25, 0x1E, 0xBB, 0xC3, 0xA1, + 0x41, 0x31, /*Object ID - WMA1 */ + 0x01, /* Instance count */ + 0x06, /* Flag - Method & string block */ + + /* Data Block 3 */ + /* GUID */ + 0xEF, 0x54, 0x4B, 0x6A, 0xED, 0xA5, 0x33, 0x4D, + 0x94, 0x55, 0xB0, 0xD9, 0xB4, 0x8D, 0xF4, 0xB3, + 0x41, 0x32, /* Object ID - WMA2 */ + 0x01, /* Instance count */ + 0x06, /* Flag - Method & string block */ + + /* Data Block 4 */ + /* GUID */ + 0xB6, 0xEB, 0xF1, 0x74, 0x7A, 0x92, 0x7D, 0x4C, + 0x95, 0xDF, 0x69, 0x8E, 0x21, 0xE8, 0x0E, 0xB5, + 0x41, 0x33, /* Object ID - WMA3 */ + 0x01, /* Instance count */ + 0x06, /* Flag - Method & string block */ + + /* Data Block 5 */ + /* GUID */ + 0xFF, 0x04, 0xEF, 0x7E, 0x28, 0x43, 0x7C, 0x44, + 0xB5, 0xBB, 0xD4, 0x49, 0x92, 0x5D, 0x53, 0x8D, + 0x41, 0x34, /* Object ID - WMA4 */ + 0x01, /* Instance count */ + 0x06, /* Flag - Method & string block*/ + + /* Data Block 6 */ + /* GUID */ + 0x9E, 0x15, 0xDB, 0x8A, 0x32, 0x1E, 0x5C, 0x45, + 0xBC, 0x93, 0x30, 0x8A, 0x7E, 0xD9, 0x82, 0x46, + 0x41, 0x35, /* Object ID - WQA5 */ + 0x01, /* Instance count */ + 0x01, /* Flag - Expensive */ + + /* Data Block 7 */ + /* GUID */ + 0xFD, 0xD9, 0x51, 0x26, 0x1C, 0x91, 0x69, 0x4B, + 0xB9, 0x4E, 0xD0, 0xDE, 0xD5, 0x96, 0x3B, 0xD7, + 0x41, 0x36, /* Object ID - WMA6 */ + 0x01, /* Instance count */ + 0x06, /* Flag - Method & string block */ + + /* Data Block 6 */ + /* GUID */ + 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, + 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, + 0x42, 0x41, /* Object ID - WQBA */ + 0x01, /* Instance count */ + 0x00, /* Flag - Expensive */ + + }) + + /* Initialize cmd port and communicate invocation type + * i.e., method execution or query or set object + */ + Method (INIT, 1, Serialized) + { + Store (100, P96) + Store (Arg0, P98) + } + + /* Pass the guid pertaining to the operation */ + Method (GUID, 1, Serialized) + { + Store (101, P96) + Store (0x0, Local0) + Store (Arg0, Local1) + + While ( LLess(Local0,16) ) + { + Add(Local1, Local0, Local2) + Store (DerefOf(Index (_WDG, Local2)), P98 ) + Increment( Local0 ) + } + } + + /* Pass instance # for the associated object pertaining + * to the invocation. + */ + Method (INST, 1, Serialized) + { + Store(102, P96) + Store(Arg0, P9A) + } + + /* Pass method id relevant to the method about to be + * executed. + */ + Method (MTID, 1, Serialized) + { + Store(103, P96) + Store(Arg0, P9A) + } + + /* Pass input buffer pertaining to the current operation */ + Method (IBUF, 1, Serialized) + { + Store (105, P96) + Store (SizeOf(Arg0), Local0) + Store (Local0, P9A) + ToBuffer (Arg0, Local1) + Store (0, Local2) + Store (104, P96) + While ( LLess(Local2,Local0) ) + { + Store (DerefOf(Index (Local1, Local2)), P98) + Increment (Local2) + } + } + + /* Now that the input arguments are passed, execute the command */ + Method (EXEC, 0, Serialized) + { + Store (106, P96) + } + + /* Get the output buffer pertaining to the just executed command */ + Method (OBUF, 0, Serialized) + { + Store (108, P96) + Store (P9A, Local0) + Store (Buffer(Local0) {}, Local2) + Store (0, Local1) + Store (107, P96) + While ( LLess(Local1, Local0) ) + { + Store (P98, Index(Local2, Local1)) + Increment (Local1) + } + Return (Local2) + } + + /* Get event data */ + Method (_WED, 1, Serialized) + { + INIT (4) + Store (109, P96) + Store (Arg0, P98) + EXEC () + Return (OBUF()) + } + + /* Following are well know entry points as supplied by + * _WDG. + * @TODO: Though current testing suggest that defining + * a method for seralized execution is enough to prevent + * synchronization issues, consider using explicit mutexes + * for further protection. + */ + Method (WQA0, 1, Serialized) + { + INIT (2) + GUID (0) + INST (Arg0) + EXEC () + Return (OBUF()) + } + + Method (WMA1, 3, Serialized) + { + INIT (1) + GUID (20) + INST (Arg0) + MTID (Arg1) + IBUF (Arg2) + EXEC () + Return (OBUF()) + } + + Method (WMA2, 3, Serialized) + { + INIT (1) + GUID (40) + INST (Arg0) + MTID (Arg1) + IBUF (Arg2) + EXEC () + Return (OBUF()) + } + + Method (WMA3, 3, Serialized) + { + INIT (1) + GUID (60) + INST (Arg0) + MTID (Arg1) + IBUF (Arg2) + EXEC () + Return (OBUF()) + } + + Method (WMA4, 3, Serialized) + { + INIT (1) + GUID (80) + INST (Arg0) + MTID (Arg1) + IBUF (Arg2) + EXEC () + Return (OBUF()) + } + + Method (WQA5, 1, Serialized) + { + INIT (2) + GUID (100) + INST (Arg0) + EXEC () + Return (OBUF()) + } + + Method (WMA6, 3, Serialized) + { + INIT (1) + GUID (120) + INST (Arg0) + MTID (Arg1) + IBUF (Arg2) + EXEC () + Return (OBUF()) + } + + Method (WQBC, 1, Serialized) + { + INIT (2) + GUID (60) + INST (Arg0) + EXEC () + Return (OBUF()) + } + + /* Like all other well know entry points, we could delegate + * the below to the base firmware also. But, why ask for a + * static list (that too this big) and go through layer after + * layer to get it? Also, port i/o is not a good idea for this + * much data transfer. Luckily, this is the only place that appear + * to transfer so much data. + */ + + Method (WMBD, 3, Serialized) + { + INIT (1) + GUID (100) + INST (Arg0) + MTID (Arg1) + IBUF (Arg2) + EXEC () + Return (OBUF()) + } + + Name (WQBA, Buffer (0x07C1) + { + /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, + /* 0008 */ 0xB1, 0x07, 0x00, 0x00, 0x5A, 0x30, 0x00, 0x00, + /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, + /* 0018 */ 0x98, 0x51, 0x97, 0x00, 0x01, 0x06, 0x18, 0x42, + /* 0020 */ 0x10, 0x11, 0x10, 0x0A, 0x0D, 0x21, 0x02, 0x0B, + /* 0028 */ 0x83, 0x50, 0x4C, 0x18, 0x14, 0xA0, 0x45, 0x41, + /* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, + /* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, + /* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, + /* 0048 */ 0x31, 0x0E, 0x88, 0x14, 0x40, 0x48, 0xE6, 0x28, + /* 0050 */ 0x28, 0x81, 0x85, 0xC0, 0x11, 0x82, 0x7E, 0x05, + /* 0058 */ 0x20, 0x74, 0x88, 0x26, 0x83, 0x02, 0x9C, 0x22, + /* 0060 */ 0x08, 0xD2, 0x96, 0x05, 0xE8, 0x16, 0xE0, 0x5B, + /* 0068 */ 0x80, 0x76, 0x08, 0xA1, 0x55, 0x28, 0xC0, 0xA4, + /* 0070 */ 0x00, 0x9F, 0x60, 0xB2, 0x28, 0x40, 0x36, 0x98, + /* 0078 */ 0x6C, 0xC3, 0x91, 0x61, 0x30, 0x91, 0x63, 0x40, + /* 0080 */ 0x89, 0x19, 0x03, 0x4A, 0xE7, 0x14, 0x64, 0x13, + /* 0088 */ 0x58, 0xD0, 0x85, 0xA2, 0x68, 0x1A, 0x51, 0x12, + /* 0090 */ 0x1C, 0xD4, 0x31, 0x44, 0x08, 0x5E, 0xAE, 0x00, + /* 0098 */ 0xC9, 0x13, 0x90, 0xE6, 0x79, 0xC9, 0xFA, 0x20, + /* 00A0 */ 0x34, 0x04, 0x36, 0x02, 0x1E, 0x45, 0x02, 0x08, + /* 00A8 */ 0x8B, 0xB1, 0x4C, 0x89, 0x87, 0x41, 0x79, 0x00, + /* 00B0 */ 0x91, 0x9C, 0xA1, 0xA2, 0x80, 0xED, 0x75, 0x22, + /* 00B8 */ 0x1A, 0xD6, 0x71, 0x32, 0x49, 0x70, 0xA8, 0x51, + /* 00C0 */ 0x5A, 0xA2, 0x00, 0xF3, 0x23, 0xD3, 0x44, 0x8E, + /* 00C8 */ 0xAD, 0xE9, 0x11, 0x0B, 0x92, 0x49, 0x1B, 0x0A, + /* 00D0 */ 0x6A, 0xE8, 0x9E, 0xD6, 0x49, 0x79, 0xA2, 0x11, + /* 00D8 */ 0x0F, 0xCA, 0x30, 0x09, 0x3C, 0x0A, 0x86, 0xC6, + /* 00E0 */ 0x09, 0xCA, 0x82, 0x90, 0x83, 0x81, 0xA2, 0x00, + /* 00E8 */ 0x4F, 0xC2, 0x73, 0x2C, 0x5E, 0x80, 0xF0, 0x19, + /* 00F0 */ 0x93, 0xA3, 0x40, 0x8C, 0x04, 0x3E, 0x12, 0x78, + /* 00F8 */ 0x34, 0xC7, 0x8C, 0x05, 0x0A, 0x17, 0xF0, 0x7C, + /* 0100 */ 0x8E, 0x21, 0x72, 0xDC, 0x43, 0x8D, 0x71, 0x14, + /* 0108 */ 0x91, 0x13, 0xBC, 0x03, 0x44, 0x31, 0x5A, 0x41, + /* 0110 */ 0xF3, 0x16, 0x62, 0xB0, 0x68, 0x06, 0xEB, 0x19, + /* 0118 */ 0x9C, 0x0C, 0x3A, 0xC1, 0xFF, 0xFF, 0x08, 0xB8, + /* 0120 */ 0x0C, 0x08, 0x79, 0x14, 0x60, 0x75, 0x50, 0x9A, + /* 0128 */ 0x86, 0x09, 0xBA, 0x17, 0x60, 0x4D, 0x80, 0x31, + /* 0130 */ 0x01, 0x1A, 0x31, 0xA4, 0x4C, 0x80, 0xB3, 0xFB, + /* 0138 */ 0x82, 0x66, 0xD4, 0x96, 0x00, 0x73, 0x02, 0xB4, + /* 0140 */ 0x09, 0xF0, 0x86, 0x20, 0x94, 0xF3, 0x8C, 0x72, + /* 0148 */ 0x2C, 0xA7, 0x18, 0xE5, 0x61, 0x20, 0xE6, 0xCB, + /* 0150 */ 0x40, 0xD0, 0x28, 0x31, 0x62, 0x9E, 0x4B, 0x5C, + /* 0158 */ 0xC3, 0x46, 0x88, 0x11, 0xF2, 0x14, 0x02, 0xC5, + /* 0160 */ 0x6D, 0x7F, 0x10, 0x64, 0xD0, 0xB8, 0xD1, 0xFB, + /* 0168 */ 0xB4, 0x70, 0x56, 0x27, 0x70, 0xF4, 0x4F, 0x0A, + /* 0170 */ 0x26, 0xF0, 0x94, 0x0F, 0xEC, 0xD9, 0xE0, 0x04, + /* 0178 */ 0x8E, 0x35, 0x6A, 0x8C, 0x53, 0x49, 0xE0, 0xD8, + /* 0180 */ 0x0F, 0x08, 0x69, 0x00, 0x51, 0x24, 0x78, 0xD4, + /* 0188 */ 0x69, 0xC1, 0xE7, 0x02, 0x0F, 0xED, 0xA0, 0x3D, + /* 0190 */ 0xC7, 0x13, 0x08, 0x72, 0x08, 0x47, 0xF0, 0xC4, + /* 0198 */ 0xF0, 0x40, 0xE0, 0x31, 0xB0, 0x9B, 0x82, 0x8F, + /* 01A0 */ 0x00, 0x3E, 0x21, 0xE0, 0x5D, 0x03, 0xEA, 0x6A, + /* 01A8 */ 0xF0, 0x60, 0xC0, 0x06, 0x1D, 0x0E, 0x33, 0x5E, + /* 01B0 */ 0x0F, 0x3F, 0xDC, 0x09, 0x9C, 0xE4, 0x03, 0x06, + /* 01B8 */ 0x3F, 0x6C, 0x78, 0x70, 0xB8, 0x79, 0x9E, 0xCC, + /* 01C0 */ 0x91, 0x95, 0x2A, 0xC0, 0xEC, 0xE1, 0x40, 0x07, + /* 01C8 */ 0x09, 0x9F, 0x36, 0xD8, 0x19, 0x00, 0x23, 0x7F, + /* 01D0 */ 0x10, 0xA8, 0x91, 0x19, 0xDA, 0xE3, 0x7E, 0xE9, + /* 01D8 */ 0x30, 0xE4, 0x73, 0xC2, 0x61, 0x31, 0xB1, 0xA7, + /* 01E0 */ 0x0E, 0x3A, 0x1E, 0xF0, 0x5F, 0x46, 0x9E, 0x33, + /* 01E8 */ 0x3C, 0x7D, 0xCF, 0xD7, 0x04, 0xC3, 0x0E, 0x1C, + /* 01F0 */ 0x3D, 0x10, 0x43, 0x3F, 0x6C, 0x1C, 0xC6, 0x69, + /* 01F8 */ 0xF8, 0xFE, 0xE1, 0xF3, 0x02, 0x8C, 0x53, 0x80, + /* 0200 */ 0x47, 0xEE, 0xFF, 0xFF, 0x21, 0xC5, 0xA7, 0x09, + /* 0208 */ 0x7E, 0xB4, 0xF0, 0x69, 0x82, 0x5D, 0x0F, 0x4E, + /* 0210 */ 0xE3, 0x39, 0xC0, 0xC3, 0x39, 0x2B, 0x1F, 0x26, + /* 0218 */ 0xC0, 0x76, 0x3F, 0x61, 0x23, 0x7A, 0xB7, 0xF0, + /* 0220 */ 0x68, 0xB0, 0xA7, 0x00, 0xF0, 0x9D, 0x5F, 0xC0, + /* 0228 */ 0x79, 0xD7, 0x60, 0x83, 0x85, 0x71, 0x7E, 0x01, + /* 0230 */ 0x1E, 0x27, 0x04, 0x0F, 0x81, 0x1F, 0x24, 0x3C, + /* 0238 */ 0x04, 0x3E, 0x80, 0xE7, 0x8F, 0x33, 0xB4, 0xD2, + /* 0240 */ 0x79, 0x21, 0x07, 0x06, 0xEF, 0x9C, 0x03, 0x63, + /* 0248 */ 0x14, 0x3C, 0xCF, 0x63, 0xC3, 0x04, 0x0A, 0xF2, + /* 0250 */ 0x1A, 0x50, 0xA8, 0x67, 0x01, 0x85, 0xF1, 0xA9, + /* 0258 */ 0x06, 0x78, 0xFD, 0xFF, 0x4F, 0x35, 0xC0, 0xE5, + /* 0260 */ 0x70, 0x80, 0x3B, 0x39, 0xC0, 0xBD, 0x17, 0xB0, + /* 0268 */ 0x8B, 0xC3, 0x73, 0x0D, 0x5C, 0xD1, 0xE7, 0x1A, + /* 0270 */ 0xA8, 0xF7, 0x96, 0xE2, 0xC6, 0xA8, 0x6B, 0x4C, + /* 0278 */ 0x90, 0x47, 0x81, 0x47, 0x9A, 0x28, 0xCF, 0x33, + /* 0280 */ 0xEF, 0x32, 0x11, 0x9E, 0x6D, 0x7C, 0xAD, 0xF1, + /* 0288 */ 0x14, 0xE2, 0xF8, 0x5A, 0x63, 0xC4, 0x97, 0x89, + /* 0290 */ 0x77, 0x1B, 0xE3, 0x1E, 0xDC, 0x63, 0xCD, 0x43, + /* 0298 */ 0x8E, 0x41, 0x8E, 0x26, 0xC2, 0x8B, 0x41, 0xC0, + /* 02A0 */ 0xC7, 0x1B, 0x1F, 0x6B, 0xC0, 0x2B, 0xE6, 0x85, + /* 02A8 */ 0x22, 0x0B, 0xC7, 0x1A, 0x40, 0xE3, 0xFF, 0xFF, + /* 02B0 */ 0x58, 0x03, 0xDC, 0xB0, 0x1E, 0x50, 0xC0, 0x77, + /* 02B8 */ 0x64, 0x60, 0x37, 0x14, 0x78, 0x27, 0x14, 0xC0, + /* 02C0 */ 0x4F, 0xE2, 0x17, 0x80, 0x8E, 0x1C, 0x4E, 0x0B, + /* 02C8 */ 0x22, 0x1B, 0x6F, 0x00, 0x9F, 0x02, 0xA8, 0x1A, + /* 02D0 */ 0x20, 0x4D, 0x13, 0x36, 0xC1, 0xF4, 0xE4, 0x82, + /* 02D8 */ 0xF7, 0x91, 0xC0, 0xB9, 0x49, 0x94, 0x7C, 0x58, + /* 02E0 */ 0x14, 0xCE, 0x59, 0x0F, 0x22, 0x14, 0xC4, 0x80, + /* 02E8 */ 0x0E, 0x72, 0x9C, 0x40, 0x9F, 0x51, 0x7C, 0x10, + /* 02F0 */ 0x39, 0xD1, 0x27, 0x42, 0x0F, 0xCA, 0xC3, 0x78, + /* 02F8 */ 0x47, 0x61, 0x27, 0x10, 0x1F, 0x26, 0x3C, 0x76, + /* 0300 */ 0x1F, 0x13, 0xF8, 0x3F, 0xC6, 0xB3, 0x31, 0xBA, + /* 0308 */ 0xD5, 0x60, 0xE8, 0xFF, 0x7F, 0x4E, 0xE1, 0x60, + /* 0310 */ 0x3E, 0x88, 0x70, 0x82, 0x8F, 0x46, 0xDD, 0x24, + /* 0318 */ 0x40, 0xA5, 0xEF, 0xA8, 0x00, 0x0A, 0x20, 0xDF, + /* 0320 */ 0x0B, 0x7C, 0x0E, 0x78, 0x36, 0x60, 0x63, 0x78, + /* 0328 */ 0x14, 0x30, 0x9A, 0xD1, 0x79, 0xF8, 0xC9, 0xA2, + /* 0330 */ 0xE2, 0x4E, 0x96, 0x82, 0x78, 0xB2, 0x8E, 0x32, + /* 0338 */ 0x59, 0xF4, 0x4C, 0x7C, 0xAF, 0xF0, 0x8C, 0xDE, + /* 0340 */ 0xB4, 0x3C, 0x47, 0x4F, 0xD8, 0xF7, 0x10, 0x58, + /* 0348 */ 0x87, 0x81, 0x90, 0x0F, 0x06, 0x9E, 0x86, 0xE1, + /* 0350 */ 0x3C, 0x59, 0x0E, 0xE7, 0xC9, 0xF2, 0xB1, 0xF8, + /* 0358 */ 0x1A, 0x02, 0x3E, 0x81, 0xB3, 0x05, 0x39, 0x3C, + /* 0360 */ 0x26, 0xD6, 0xA8, 0xE8, 0x55, 0xC8, 0xC3, 0xE3, + /* 0368 */ 0x97, 0x03, 0xCF, 0xE7, 0x19, 0xE1, 0x28, 0x9F, + /* 0370 */ 0x24, 0x70, 0x18, 0xCF, 0x24, 0x1E, 0xA2, 0x6F, + /* 0378 */ 0x45, 0xB0, 0x26, 0x72, 0xD2, 0xBE, 0x2D, 0x9C, + /* 0380 */ 0x6C, 0xD0, 0xD7, 0x33, 0xCC, 0xAD, 0x08, 0xF6, + /* 0388 */ 0xFF, 0xFF, 0x56, 0x04, 0xE7, 0x82, 0x06, 0x33, + /* 0390 */ 0xD3, 0xBD, 0x0A, 0x15, 0xEB, 0x5E, 0x05, 0x88, + /* 0398 */ 0x1D, 0xD6, 0x6B, 0x8F, 0x0F, 0x56, 0x70, 0xEF, + /* 03A0 */ 0x55, 0x70, 0x2F, 0x55, 0xCF, 0x0A, 0xC7, 0x18, + /* 03A8 */ 0xFE, 0x61, 0x2A, 0xC6, 0x29, 0xBD, 0x76, 0x1A, + /* 03B0 */ 0x28, 0x4C, 0x94, 0x78, 0xEF, 0x55, 0x1E, 0xE3, + /* 03B8 */ 0x7B, 0x15, 0xBB, 0x42, 0x85, 0x89, 0xF5, 0x72, + /* 03C0 */ 0x65, 0xD4, 0xD7, 0x89, 0x70, 0x81, 0x82, 0x44, + /* 03C8 */ 0x7A, 0xB5, 0x8A, 0x12, 0x39, 0xBE, 0x21, 0xDF, + /* 03D0 */ 0xAB, 0xC0, 0x2B, 0xE7, 0x5E, 0x05, 0xB2, 0xFF, + /* 03D8 */ 0xFF, 0xBD, 0x0A, 0x30, 0x8F, 0xF6, 0x5E, 0x05, + /* 03E0 */ 0xC6, 0x6B, 0x03, 0xBB, 0x21, 0xC1, 0x02, 0x7A, + /* 03E8 */ 0xB1, 0x02, 0x0C, 0x65, 0xBE, 0x58, 0xD1, 0xBC, + /* 03F0 */ 0x17, 0x2B, 0xC4, 0xFF, 0xFF, 0x5C, 0xC2, 0xF4, + /* 03F8 */ 0x5C, 0xAC, 0xC8, 0x3C, 0xE1, 0xDF, 0xAC, 0x00, + /* 0400 */ 0x4E, 0xFF, 0xFF, 0x6F, 0x56, 0x80, 0xB1, 0x7B, + /* 0408 */ 0x11, 0xE6, 0x68, 0x05, 0x2F, 0xE5, 0xCD, 0x8A, + /* 0410 */ 0xC6, 0x59, 0x86, 0x02, 0x2E, 0x88, 0xC2, 0xF8, + /* 0418 */ 0x66, 0x05, 0x38, 0xBA, 0xAE, 0xE0, 0x86, 0x0C, + /* 0420 */ 0x17, 0x2C, 0x4A, 0x30, 0x1F, 0x42, 0x3C, 0x9D, + /* 0428 */ 0x23, 0x7E, 0x48, 0x78, 0x09, 0x78, 0xCC, 0xF1, + /* 0430 */ 0x80, 0x1F, 0x08, 0x7C, 0xB9, 0x02, 0xD3, 0xFF, + /* 0438 */ 0x9F, 0xC0, 0x27, 0xDF, 0xB3, 0x7C, 0x9B, 0x7A, + /* 0440 */ 0xEF, 0xE5, 0x07, 0xAC, 0xF7, 0x2A, 0x1F, 0x7E, + /* 0448 */ 0x63, 0xBD, 0x33, 0xBC, 0x5C, 0x79, 0x24, 0x51, + /* 0450 */ 0x4E, 0x22, 0x94, 0xEF, 0x56, 0xEF, 0x55, 0x46, + /* 0458 */ 0x89, 0xF8, 0x42, 0xEC, 0x53, 0xB0, 0xA1, 0x8D, + /* 0460 */ 0xF2, 0x54, 0x11, 0xDD, 0x78, 0x2F, 0x57, 0xE0, + /* 0468 */ 0x95, 0x74, 0xB9, 0x02, 0x68, 0x32, 0xFC, 0x97, + /* 0470 */ 0x2B, 0xF0, 0xDD, 0x1C, 0xB0, 0xD7, 0x24, 0x38, + /* 0478 */ 0xFF, 0xFF, 0x6B, 0x12, 0xBF, 0x5E, 0x01, 0x7E, + /* 0480 */ 0xB2, 0x5F, 0xAF, 0x68, 0xEE, 0xEB, 0x15, 0x4A, + /* 0488 */ 0x14, 0x84, 0x14, 0x01, 0x69, 0xA6, 0xE0, 0xB9, + /* 0490 */ 0x5F, 0x01, 0x9C, 0xF8, 0xFF, 0xDF, 0xAF, 0x00, + /* 0498 */ 0xCB, 0xE1, 0xEE, 0x57, 0x40, 0xEF, 0x76, 0x04, + /* 04A0 */ 0x5E, 0x94, 0xB7, 0x23, 0xEC, 0x15, 0x0B, 0x9F, + /* 04A8 */ 0xF1, 0x8A, 0x45, 0xC3, 0xAC, 0x44, 0xF1, 0xD6, + /* 04B0 */ 0x44, 0x61, 0x7C, 0xC5, 0x02, 0x26, 0xFF, 0xFF, + /* 04B8 */ 0x2B, 0x16, 0x30, 0x3B, 0x88, 0xE2, 0x46, 0x0D, + /* 04C0 */ 0xF7, 0xE2, 0xE4, 0x5B, 0x8F, 0xE7, 0x1B, 0xD1, + /* 04C8 */ 0x77, 0x18, 0xCC, 0x09, 0x0B, 0xC6, 0x0D, 0x0B, + /* 04D0 */ 0xFE, 0x90, 0x1E, 0x86, 0x7D, 0x92, 0x78, 0xC7, + /* 04D8 */ 0xF2, 0xD1, 0xCA, 0x20, 0x6F, 0xC0, 0x4F, 0x56, + /* 04E0 */ 0x0F, 0x56, 0x51, 0x8C, 0x10, 0xF0, 0x78, 0xDE, + /* 04E8 */ 0x85, 0x7D, 0xB4, 0x7A, 0xD3, 0x32, 0x4A, 0xEC, + /* 04F0 */ 0x58, 0xBE, 0x50, 0x3D, 0x6B, 0xF9, 0x9A, 0x65, + /* 04F8 */ 0x88, 0xB8, 0x0F, 0xC4, 0xBE, 0x61, 0x01, 0xB6, + /* 0500 */ 0xFF, 0xFF, 0x37, 0x2C, 0xC0, 0xD1, 0xC5, 0x81, + /* 0508 */ 0x1F, 0x1C, 0xB0, 0x37, 0x2C, 0xC0, 0xE7, 0x4C, + /* 0510 */ 0xC1, 0x73, 0xC3, 0x02, 0x36, 0xFF, 0xFF, 0x1B, + /* 0518 */ 0x16, 0xC0, 0xFF, 0xFF, 0xFF, 0x0D, 0x0B, 0x38, + /* 0520 */ 0xDC, 0xAE, 0xB0, 0xB7, 0x2C, 0xEC, 0xED, 0x85, + /* 0528 */ 0xAC, 0x82, 0x86, 0x5A, 0x89, 0x82, 0x7F, 0xAF, + /* 0530 */ 0x0C, 0x43, 0x6F, 0x58, 0x80, 0xA3, 0x71, 0x7B, + /* 0538 */ 0xD4, 0xE0, 0x38, 0x1B, 0x3C, 0x49, 0x60, 0xCE, + /* 0540 */ 0xD5, 0xB8, 0xD9, 0x1C, 0x5C, 0xE0, 0x08, 0xBD, + /* 0548 */ 0x83, 0x6A, 0xEE, 0xEC, 0x92, 0x02, 0xE3, 0x96, + /* 0550 */ 0x05, 0xF7, 0x52, 0xF5, 0xD0, 0x10, 0xE5, 0x20, + /* 0558 */ 0x5E, 0x85, 0x1F, 0xAC, 0x1E, 0xA5, 0x8E, 0xEC, + /* 0560 */ 0xF1, 0xEA, 0x69, 0xD8, 0xC7, 0x2C, 0xDF, 0xB2, + /* 0568 */ 0x0C, 0x15, 0xE1, 0x2D, 0x8B, 0x9D, 0x21, 0xE2, + /* 0570 */ 0xC5, 0x8A, 0x12, 0xE2, 0xBD, 0x22, 0xB4, 0xEF, + /* 0578 */ 0x5C, 0x06, 0x7F, 0x34, 0x36, 0x6A, 0xD0, 0x97, + /* 0580 */ 0xE3, 0xB7, 0x2C, 0x78, 0xFF, 0xFF, 0x5B, 0x16, + /* 0588 */ 0x7C, 0x91, 0x7F, 0x15, 0x9D, 0x08, 0x7C, 0xCB, + /* 0590 */ 0x02, 0xF8, 0x11, 0x0C, 0x42, 0x4E, 0x06, 0x8E, + /* 0598 */ 0x3E, 0x2F, 0xE0, 0x07, 0xF0, 0x30, 0xE2, 0x21, + /* 05A0 */ 0xB1, 0x00, 0x03, 0xA7, 0xF7, 0x25, 0x9F, 0x29, + /* 05A8 */ 0xF8, 0x01, 0xC3, 0x67, 0x0A, 0x76, 0x3D, 0x88, + /* 05B0 */ 0xFE, 0x18, 0xE0, 0x73, 0x09, 0x66, 0x70, 0xE0, + /* 05B8 */ 0xBF, 0x56, 0x1C, 0xBA, 0x47, 0xF1, 0xFA, 0x60, + /* 05C0 */ 0x02, 0x0F, 0x8E, 0xFF, 0xFF, 0x07, 0x07, 0xF7, + /* 05C8 */ 0xCE, 0x70, 0x44, 0xBE, 0xC3, 0x78, 0x70, 0x60, + /* 05D0 */ 0x3B, 0x08, 0x00, 0x87, 0xC1, 0xE1, 0x43, 0x0D, + /* 05D8 */ 0x0E, 0x3D, 0x1E, 0x03, 0x87, 0xF4, 0x79, 0x8C, + /* 05E0 */ 0x5D, 0x18, 0x1E, 0x72, 0x3C, 0x34, 0xB0, 0x01, + /* 05E8 */ 0x7A, 0x68, 0xC0, 0x72, 0x12, 0x4F, 0x21, 0x87, + /* 05F0 */ 0x06, 0x66, 0x09, 0x43, 0x03, 0x4A, 0xF1, 0x86, + /* 05F8 */ 0x46, 0xFF, 0xFF, 0x43, 0xE3, 0x43, 0xF2, 0x61, + /* 0600 */ 0x21, 0xE6, 0x53, 0x4E, 0x84, 0xF7, 0x05, 0x9F, + /* 0608 */ 0xA0, 0x18, 0xFA, 0x6B, 0x8A, 0x6F, 0x17, 0xBE, + /* 0610 */ 0x09, 0xE2, 0xC6, 0x07, 0xAE, 0x4B, 0xA7, 0xC7, + /* 0618 */ 0x07, 0x7C, 0x8E, 0x5C, 0x1E, 0x1F, 0xEE, 0xE8, + /* 0620 */ 0xE4, 0xF1, 0xC1, 0x70, 0x79, 0x95, 0x21, 0x47, + /* 0628 */ 0x13, 0x1F, 0xAD, 0xD8, 0xF0, 0xC0, 0x76, 0xD3, + /* 0630 */ 0xF3, 0xF0, 0x80, 0xCF, 0x75, 0x13, 0x8C, 0x57, + /* 0638 */ 0x48, 0x7E, 0x2D, 0x81, 0x71, 0x82, 0xC2, 0x5F, + /* 0640 */ 0x37, 0xC1, 0xFB, 0xFF, 0xBF, 0x6E, 0x02, 0xCF, + /* 0648 */ 0x51, 0x70, 0xAD, 0x97, 0x6C, 0x1A, 0xE4, 0x95, + /* 0650 */ 0xA3, 0x58, 0x2F, 0x02, 0x0A, 0xE3, 0x33, 0x1B, + /* 0658 */ 0xE0, 0x68, 0xAC, 0xCF, 0x6C, 0x60, 0xB9, 0x17, + /* 0660 */ 0xB0, 0x1B, 0x1B, 0xDC, 0xD3, 0x1A, 0xEC, 0xBB, + /* 0668 */ 0xC3, 0xC3, 0xD9, 0x63, 0xDA, 0xA3, 0xDA, 0x03, + /* 0670 */ 0x9A, 0x8F, 0xD8, 0x31, 0xDE, 0xD2, 0x82, 0xC4, + /* 0678 */ 0x89, 0xF0, 0x3A, 0xF0, 0xB4, 0xE6, 0x4B, 0x46, + /* 0680 */ 0xBC, 0x40, 0x4F, 0x6B, 0xC6, 0x88, 0xF3, 0xD2, + /* 0688 */ 0x66, 0xC4, 0x57, 0x8A, 0x10, 0x0F, 0x6B, 0x3E, + /* 0690 */ 0xB9, 0x19, 0xEF, 0x61, 0x22, 0x5C, 0x98, 0x17, + /* 0698 */ 0xB6, 0xA7, 0x35, 0x70, 0xFC, 0xFF, 0x4F, 0x6B, + /* 06A0 */ 0x70, 0xE4, 0x5C, 0xB1, 0x01, 0x9A, 0x5C, 0xF4, + /* 06A8 */ 0x71, 0x87, 0x14, 0xB0, 0x5C, 0x1B, 0xD8, 0x2D, + /* 06B0 */ 0x05, 0xDE, 0x05, 0x1B, 0x38, 0xFF, 0xFF, 0x8F, + /* 06B8 */ 0x28, 0xE0, 0xCB, 0x72, 0xC1, 0xA6, 0x39, 0x2E, + /* 06C0 */ 0xD8, 0x28, 0x0E, 0xAB, 0x01, 0xD2, 0x3C, 0xE1, + /* 06C8 */ 0x5F, 0xAF, 0xC1, 0x3F, 0x09, 0x5F, 0xAF, 0x01, + /* 06D0 */ 0xDB, 0xB7, 0x58, 0xDC, 0xF5, 0x1A, 0x58, 0xFD, + /* 06D8 */ 0xFF, 0xAF, 0xD7, 0xC0, 0x52, 0xF0, 0x48, 0xE9, + /* 06E0 */ 0x9D, 0x1A, 0x5C, 0x37, 0x6D, 0x3C, 0xE8, 0x9B, + /* 06E8 */ 0x36, 0x4C, 0x85, 0x36, 0x7D, 0x6A, 0x34, 0x6A, + /* 06F0 */ 0xD5, 0xA0, 0x4C, 0x8D, 0x32, 0x0D, 0x6A, 0xF5, + /* 06F8 */ 0xA9, 0xD4, 0x98, 0xB1, 0xA1, 0x5A, 0xDA, 0x5D, + /* 0700 */ 0x82, 0x8A, 0x59, 0x8C, 0x46, 0xE3, 0x28, 0x20, + /* 0708 */ 0x54, 0xF6, 0x1F, 0x50, 0x20, 0x0E, 0xF9, 0xD1, + /* 0710 */ 0x11, 0xA0, 0x83, 0x7D, 0xA7, 0x74, 0x0B, 0x27, + /* 0718 */ 0x6B, 0x13, 0x88, 0xE3, 0x9B, 0x80, 0x68, 0x04, + /* 0720 */ 0x44, 0x5A, 0x54, 0x00, 0xB1, 0xDC, 0x20, 0x02, + /* 0728 */ 0xB2, 0x8A, 0x35, 0x09, 0xC8, 0x9A, 0xBF, 0x2F, + /* 0730 */ 0x02, 0xB7, 0x4E, 0x1D, 0x40, 0x2C, 0x25, 0x08, + /* 0738 */ 0x4D, 0xB4, 0x70, 0x81, 0x3A, 0x1E, 0x88, 0x06, + /* 0740 */ 0x43, 0x68, 0x04, 0xE4, 0x60, 0x14, 0x02, 0xB2, + /* 0748 */ 0x8C, 0xCF, 0x9D, 0xC0, 0x2D, 0xC0, 0x0A, 0x10, + /* 0750 */ 0x93, 0x0F, 0x42, 0x05, 0x7B, 0x01, 0x65, 0xEA, + /* 0758 */ 0x41, 0x04, 0x64, 0xA5, 0x6B, 0x15, 0x90, 0x75, + /* 0760 */ 0x83, 0x08, 0xC8, 0x59, 0xCD, 0x80, 0xB3, 0x8C, + /* 0768 */ 0x6E, 0x80, 0x98, 0xC2, 0x87, 0x82, 0x40, 0xAC, + /* 0770 */ 0x49, 0x0F, 0x28, 0x13, 0x08, 0xA2, 0x0B, 0x07, + /* 0778 */ 0xF1, 0x03, 0xC4, 0xA4, 0x81, 0x08, 0xC8, 0x71, + /* 0780 */ 0x7E, 0x25, 0x02, 0x77, 0x1C, 0x45, 0x80, 0xD4, + /* 0788 */ 0xD1, 0x70, 0x29, 0x08, 0x15, 0xFF, 0x09, 0x13, + /* 0790 */ 0xC8, 0xFF, 0xFF, 0xFD, 0x44, 0x96, 0xC0, 0x28, + /* 0798 */ 0x08, 0x8D, 0xA0, 0x09, 0x84, 0xC9, 0xF3, 0x04, + /* 07A0 */ 0xC2, 0x42, 0xFD, 0xFD, 0x34, 0x04, 0x07, 0x51, + /* 07A8 */ 0x35, 0x44, 0xEA, 0x0A, 0x84, 0x05, 0x7E, 0x18, + /* 07B0 */ 0x68, 0x30, 0x4E, 0x0F, 0x22, 0x20, 0x27, 0x7D, + /* 07B8 */ 0x52, 0x05, 0x22, 0xB9, 0x41, 0x04, 0xE4, 0xFF, + /* 07C0 */ 0x3F + }) + } + } + + /* Wire GPE events to notify OEM + * added value events. + */ + Scope (\_GPE) + { + Method (_L18, 0, Serialized) + { + Notify (\_SB.WMI1, 0xD0) + } + } +} + diff --git a/tools/firmware/hvmloader/acpi/ssdt_lenovo_t_and_x_series.h b/tools/firmware/hvmloader/acpi/ssdt_lenovo_t_and_x_series.h new file mode 100644 index 0000000..f74acc3 --- /dev/null +++ b/tools/firmware/hvmloader/acpi/ssdt_lenovo_t_and_x_series.h @@ -0,0 +1,383 @@ +/* + * + * Intel ACPI Component Architecture + * ASL Optimizing Compiler version 20061109 [May 18 2007] + * Copyright (C) 2000 - 2006 Intel Corporation + * Supports ACPI Specification Revision 3.0a + * + * Compilation of "ssdt_lenovo_t_and_x_series.asl" - Thu Mar 12 14:01:35 2009 + * + * C source code output + * + */ +unsigned char AmlCode_LENOVO_T_AND_X_SERIES[] = +{ + 0x53,0x53,0x44,0x54,0x7E,0x0B,0x00,0x00, /* 00000000 "SSDT~..." */ + 0x02,0xDB,0x58,0x65,0x6E,0x00,0x00,0x00, /* 00000008 "..Xen..." */ + 0x48,0x56,0x4D,0x00,0x00,0x00,0x00,0x00, /* 00000010 "HVM....." */ + 0x00,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x09,0x11,0x06,0x20,0x10,0x4E,0xB3,0x5C, /* 00000020 "... .N.\" */ + 0x5F,0x53,0x42,0x5F,0x5B,0x80,0x4C,0x45, /* 00000028 "_SB_[.LE" */ + 0x4E,0x31,0x01,0x0A,0x96,0x01,0x5B,0x81, /* 00000030 "N1....[." */ + 0x0B,0x4C,0x45,0x4E,0x31,0x01,0x50,0x39, /* 00000038 ".LEN1.P9" */ + 0x36,0x5F,0x08,0x5B,0x80,0x4C,0x45,0x4E, /* 00000040 "6_.[.LEN" */ + 0x32,0x01,0x0A,0x98,0x01,0x5B,0x81,0x0B, /* 00000048 "2....[.." */ + 0x4C,0x45,0x4E,0x32,0x01,0x50,0x39,0x38, /* 00000050 "LEN2.P98" */ + 0x5F,0x08,0x5B,0x80,0x4C,0x45,0x4E,0x33, /* 00000058 "_.[.LEN3" */ + 0x01,0x0A,0x9A,0x0A,0x04,0x5B,0x81,0x0B, /* 00000060 ".....[.." */ + 0x4C,0x45,0x4E,0x33,0x03,0x50,0x39,0x41, /* 00000068 "LEN3.P9A" */ + 0x5F,0x20,0x5B,0x82,0x4F,0xAE,0x57,0x4D, /* 00000070 "_ [.O.WM" */ + 0x49,0x31,0x08,0x5F,0x48,0x49,0x44,0x0C, /* 00000078 "I1._HID." */ + 0x41,0xD0,0x0C,0x14,0x08,0x5F,0x55,0x49, /* 00000080 "A...._UI" */ + 0x44,0x01,0x08,0x5F,0x57,0x44,0x47,0x11, /* 00000088 "D.._WDG." */ + 0x44,0x0A,0x0A,0xA0,0x0E,0x23,0xF5,0x51, /* 00000090 "D....#.Q" */ + 0x77,0x96,0xCD,0x46,0xA1,0xCF,0xC0,0xB2, /* 00000098 "w..F...." */ + 0x3E,0xE3,0x4D,0xB7,0x41,0x30,0x5A,0x05, /* 000000A0 ">.M.A0Z." */ + 0x64,0x9A,0x47,0x98,0xF5,0x33,0x33,0x4E, /* 000000A8 "d.G..33N" */ + 0xA7,0x07,0x8E,0x25,0x1E,0xBB,0xC3,0xA1, /* 000000B0 "...%...." */ + 0x41,0x31,0x01,0x06,0xEF,0x54,0x4B,0x6A, /* 000000B8 "A1...TKj" */ + 0xED,0xA5,0x33,0x4D,0x94,0x55,0xB0,0xD9, /* 000000C0 "..3M.U.." */ + 0xB4,0x8D,0xF4,0xB3,0x41,0x32,0x01,0x06, /* 000000C8 "....A2.." */ + 0xB6,0xEB,0xF1,0x74,0x7A,0x92,0x7D,0x4C, /* 000000D0 "...tz.}L" */ + 0x95,0xDF,0x69,0x8E,0x21,0xE8,0x0E,0xB5, /* 000000D8 "..i.!..." */ + 0x41,0x33,0x01,0x06,0xFF,0x04,0xEF,0x7E, /* 000000E0 "A3.....~" */ + 0x28,0x43,0x7C,0x44,0xB5,0xBB,0xD4,0x49, /* 000000E8 "(C|D...I" */ + 0x92,0x5D,0x53,0x8D,0x41,0x34,0x01,0x06, /* 000000F0 ".]S.A4.." */ + 0x9E,0x15,0xDB,0x8A,0x32,0x1E,0x5C,0x45, /* 000000F8 "....2.\E" */ + 0xBC,0x93,0x30,0x8A,0x7E,0xD9,0x82,0x46, /* 00000100 "..0.~..F" */ + 0x41,0x35,0x01,0x01,0xFD,0xD9,0x51,0x26, /* 00000108 "A5....Q&" */ + 0x1C,0x91,0x69,0x4B,0xB9,0x4E,0xD0,0xDE, /* 00000110 "..iK.N.." */ + 0xD5,0x96,0x3B,0xD7,0x41,0x36,0x01,0x06, /* 00000118 "..;.A6.." */ + 0x21,0x12,0x90,0x05,0x66,0xD5,0xD1,0x11, /* 00000120 "!...f..." */ + 0xB2,0xF0,0x00,0xA0,0xC9,0x06,0x29,0x10, /* 00000128 "......)." */ + 0x42,0x41,0x01,0x00,0x14,0x13,0x49,0x4E, /* 00000130 "BA....IN" */ + 0x49,0x54,0x09,0x70,0x0A,0x64,0x50,0x39, /* 00000138 "IT.p.dP9" */ + 0x36,0x5F,0x70,0x68,0x50,0x39,0x38,0x5F, /* 00000140 "6_phP98_" */ + 0x14,0x2C,0x47,0x55,0x49,0x44,0x09,0x70, /* 00000148 ".,GUID.p" */ + 0x0A,0x65,0x50,0x39,0x36,0x5F,0x70,0x00, /* 00000150 ".eP96_p." */ + 0x60,0x70,0x68,0x61,0xA2,0x18,0x95,0x60, /* 00000158 "`pha...`" */ + 0x0A,0x10,0x72,0x61,0x60,0x62,0x70,0x83, /* 00000160 "..ra`bp." */ + 0x88,0x5F,0x57,0x44,0x47,0x62,0x00,0x50, /* 00000168 "._WDGb.P" */ + 0x39,0x38,0x5F,0x75,0x60,0x14,0x13,0x49, /* 00000170 "98_u`..I" */ + 0x4E,0x53,0x54,0x09,0x70,0x0A,0x66,0x50, /* 00000178 "NST.p.fP" */ + 0x39,0x36,0x5F,0x70,0x68,0x50,0x39,0x41, /* 00000180 "96_phP9A" */ + 0x5F,0x14,0x13,0x4D,0x54,0x49,0x44,0x09, /* 00000188 "_..MTID." */ + 0x70,0x0A,0x67,0x50,0x39,0x36,0x5F,0x70, /* 00000190 "p.gP96_p" */ + 0x68,0x50,0x39,0x41,0x5F,0x14,0x35,0x49, /* 00000198 "hP9A_.5I" */ + 0x42,0x55,0x46,0x09,0x70,0x0A,0x69,0x50, /* 000001A0 "BUF.p.iP" */ + 0x39,0x36,0x5F,0x70,0x87,0x68,0x60,0x70, /* 000001A8 "96_p.h`p" */ + 0x60,0x50,0x39,0x41,0x5F,0x96,0x68,0x61, /* 000001B0 "`P9A_.ha" */ + 0x70,0x00,0x62,0x70,0x0A,0x68,0x50,0x39, /* 000001B8 "p.bp.hP9" */ + 0x36,0x5F,0xA2,0x10,0x95,0x62,0x60,0x70, /* 000001C0 "6_...b`p" */ + 0x83,0x88,0x61,0x62,0x00,0x50,0x39,0x38, /* 000001C8 "..ab.P98" */ + 0x5F,0x75,0x62,0x14,0x0D,0x45,0x58,0x45, /* 000001D0 "_ub..EXE" */ + 0x43,0x08,0x70,0x0A,0x6A,0x50,0x39,0x36, /* 000001D8 "C.p.jP96" */ + 0x5F,0x14,0x34,0x4F,0x42,0x55,0x46,0x08, /* 000001E0 "_.4OBUF." */ + 0x70,0x0A,0x6C,0x50,0x39,0x36,0x5F,0x70, /* 000001E8 "p.lP96_p" */ + 0x50,0x39,0x41,0x5F,0x60,0x70,0x11,0x02, /* 000001F0 "P9A_`p.." */ + 0x60,0x62,0x70,0x00,0x61,0x70,0x0A,0x6B, /* 000001F8 "`bp.ap.k" */ + 0x50,0x39,0x36,0x5F,0xA2,0x0F,0x95,0x61, /* 00000200 "P96_...a" */ + 0x60,0x70,0x50,0x39,0x38,0x5F,0x88,0x62, /* 00000208 "`pP98_.b" */ + 0x61,0x00,0x75,0x61,0xA4,0x62,0x14,0x22, /* 00000210 "a.ua.b."" */ + 0x5F,0x57,0x45,0x44,0x09,0x49,0x4E,0x49, /* 00000218 "_WED.INI" */ + 0x54,0x0A,0x04,0x70,0x0A,0x6D,0x50,0x39, /* 00000220 "T..p.mP9" */ + 0x36,0x5F,0x70,0x68,0x50,0x39,0x38,0x5F, /* 00000228 "6_phP98_" */ + 0x45,0x58,0x45,0x43,0xA4,0x4F,0x42,0x55, /* 00000230 "EXEC.OBU" */ + 0x46,0x14,0x1F,0x57,0x51,0x41,0x30,0x09, /* 00000238 "F..WQA0." */ + 0x49,0x4E,0x49,0x54,0x0A,0x02,0x47,0x55, /* 00000240 "INIT..GU" */ + 0x49,0x44,0x00,0x49,0x4E,0x53,0x54,0x68, /* 00000248 "ID.INSTh" */ + 0x45,0x58,0x45,0x43,0xA4,0x4F,0x42,0x55, /* 00000250 "EXEC.OBU" */ + 0x46,0x14,0x29,0x57,0x4D,0x41,0x31,0x0B, /* 00000258 "F.)WMA1." */ + 0x49,0x4E,0x49,0x54,0x01,0x47,0x55,0x49, /* 00000260 "INIT.GUI" */ + 0x44,0x0A,0x14,0x49,0x4E,0x53,0x54,0x68, /* 00000268 "D..INSTh" */ + 0x4D,0x54,0x49,0x44,0x69,0x49,0x42,0x55, /* 00000270 "MTIDiIBU" */ + 0x46,0x6A,0x45,0x58,0x45,0x43,0xA4,0x4F, /* 00000278 "FjEXEC.O" */ + 0x42,0x55,0x46,0x14,0x29,0x57,0x4D,0x41, /* 00000280 "BUF.)WMA" */ + 0x32,0x0B,0x49,0x4E,0x49,0x54,0x01,0x47, /* 00000288 "2.INIT.G" */ + 0x55,0x49,0x44,0x0A,0x28,0x49,0x4E,0x53, /* 00000290 "UID.(INS" */ + 0x54,0x68,0x4D,0x54,0x49,0x44,0x69,0x49, /* 00000298 "ThMTIDiI" */ + 0x42,0x55,0x46,0x6A,0x45,0x58,0x45,0x43, /* 000002A0 "BUFjEXEC" */ + 0xA4,0x4F,0x42,0x55,0x46,0x14,0x29,0x57, /* 000002A8 ".OBUF.)W" */ + 0x4D,0x41,0x33,0x0B,0x49,0x4E,0x49,0x54, /* 000002B0 "MA3.INIT" */ + 0x01,0x47,0x55,0x49,0x44,0x0A,0x3C,0x49, /* 000002B8 ".GUID." */ + 0x12,0x78,0x34,0xC7,0x8C,0x05,0x0A,0x17, /* 00000498 ".x4....." */ + 0xF0,0x7C,0x8E,0x21,0x72,0xDC,0x43,0x8D, /* 000004A0 ".|.!r.C." */ + 0x71,0x14,0x91,0x13,0xBC,0x03,0x44,0x31, /* 000004A8 "q.....D1" */ + 0x5A,0x41,0xF3,0x16,0x62,0xB0,0x68,0x06, /* 000004B0 "ZA..b.h." */ + 0xEB,0x19,0x9C,0x0C,0x3A,0xC1,0xFF,0xFF, /* 000004B8 "....:..." */ + 0x08,0xB8,0x0C,0x08,0x79,0x14,0x60,0x75, /* 000004C0 "....y.`u" */ + 0x50,0x9A,0x86,0x09,0xBA,0x17,0x60,0x4D, /* 000004C8 "P.....`M" */ + 0x80,0x31,0x01,0x1A,0x31,0xA4,0x4C,0x80, /* 000004D0 ".1..1.L." */ + 0xB3,0xFB,0x82,0x66,0xD4,0x96,0x00,0x73, /* 000004D8 "...f...s" */ + 0x02,0xB4,0x09,0xF0,0x86,0x20,0x94,0xF3, /* 000004E0 "..... .." */ + 0x8C,0x72,0x2C,0xA7,0x18,0xE5,0x61,0x20, /* 000004E8 ".r,...a " */ + 0xE6,0xCB,0x40,0xD0,0x28,0x31,0x62,0x9E, /* 000004F0 "..@.(1b." */ + 0x4B,0x5C,0xC3,0x46,0x88,0x11,0xF2,0x14, /* 000004F8 "K\.F...." */ + 0x02,0xC5,0x6D,0x7F,0x10,0x64,0xD0,0xB8, /* 00000500 "..m..d.." */ + 0xD1,0xFB,0xB4,0x70,0x56,0x27,0x70,0xF4, /* 00000508 "...pV'p." */ + 0x4F,0x0A,0x26,0xF0,0x94,0x0F,0xEC,0xD9, /* 00000510 "O.&....." */ + 0xE0,0x04,0x8E,0x35,0x6A,0x8C,0x53,0x49, /* 00000518 "...5j.SI" */ + 0xE0,0xD8,0x0F,0x08,0x69,0x00,0x51,0x24, /* 00000520 "....i.Q$" */ + 0x78,0xD4,0x69,0xC1,0xE7,0x02,0x0F,0xED, /* 00000528 "x.i....." */ + 0xA0,0x3D,0xC7,0x13,0x08,0x72,0x08,0x47, /* 00000530 ".=...r.G" */ + 0xF0,0xC4,0xF0,0x40,0xE0,0x31,0xB0,0x9B, /* 00000538 "...@.1.." */ + 0x82,0x8F,0x00,0x3E,0x21,0xE0,0x5D,0x03, /* 00000540 "...>!.]." */ + 0xEA,0x6A,0xF0,0x60,0xC0,0x06,0x1D,0x0E, /* 00000548 ".j.`...." */ + 0x33,0x5E,0x0F,0x3F,0xDC,0x09,0x9C,0xE4, /* 00000550 "3^.?...." */ + 0x03,0x06,0x3F,0x6C,0x78,0x70,0xB8,0x79, /* 00000558 "..?lxp.y" */ + 0x9E,0xCC,0x91,0x95,0x2A,0xC0,0xEC,0xE1, /* 00000560 "....*..." */ + 0x40,0x07,0x09,0x9F,0x36,0xD8,0x19,0x00, /* 00000568 "@...6..." */ + 0x23,0x7F,0x10,0xA8,0x91,0x19,0xDA,0xE3, /* 00000570 "#......." */ + 0x7E,0xE9,0x30,0xE4,0x73,0xC2,0x61,0x31, /* 00000578 "~.0.s.a1" */ + 0xB1,0xA7,0x0E,0x3A,0x1E,0xF0,0x5F,0x46, /* 00000580 "...:.._F" */ + 0x9E,0x33,0x3C,0x7D,0xCF,0xD7,0x04,0xC3, /* 00000588 ".3<}...." */ + 0x0E,0x1C,0x3D,0x10,0x43,0x3F,0x6C,0x1C, /* 00000590 "..=.C?l." */ + 0xC6,0x69,0xF8,0xFE,0xE1,0xF3,0x02,0x8C, /* 00000598 ".i......" */ + 0x53,0x80,0x47,0xEE,0xFF,0xFF,0x21,0xC5, /* 000005A0 "S.G...!." */ + 0xA7,0x09,0x7E,0xB4,0xF0,0x69,0x82,0x5D, /* 000005A8 "..~..i.]" */ + 0x0F,0x4E,0xE3,0x39,0xC0,0xC3,0x39,0x2B, /* 000005B0 ".N.9..9+" */ + 0x1F,0x26,0xC0,0x76,0x3F,0x61,0x23,0x7A, /* 000005B8 ".&.v?a#z" */ + 0xB7,0xF0,0x68,0xB0,0xA7,0x00,0xF0,0x9D, /* 000005C0 "..h....." */ + 0x5F,0xC0,0x79,0xD7,0x60,0x83,0x85,0x71, /* 000005C8 "_.y.`..q" */ + 0x7E,0x01,0x1E,0x27,0x04,0x0F,0x81,0x1F, /* 000005D0 "~..'...." */ + 0x24,0x3C,0x04,0x3E,0x80,0xE7,0x8F,0x33, /* 000005D8 "$<.>...3" */ + 0xB4,0xD2,0x79,0x21,0x07,0x06,0xEF,0x9C, /* 000005E0 "..y!...." */ + 0x03,0x63,0x14,0x3C,0xCF,0x63,0xC3,0x04, /* 000005E8 ".c.<.c.." */ + 0x0A,0xF2,0x1A,0x50,0xA8,0x67,0x01,0x85, /* 000005F0 "...P.g.." */ + 0xF1,0xA9,0x06,0x78,0xFD,0xFF,0x4F,0x35, /* 000005F8 "...x..O5" */ + 0xC0,0xE5,0x70,0x80,0x3B,0x39,0xC0,0xBD, /* 00000600 "..p.;9.." */ + 0x17,0xB0,0x8B,0xC3,0x73,0x0D,0x5C,0xD1, /* 00000608 "....s.\." */ + 0xE7,0x1A,0xA8,0xF7,0x96,0xE2,0xC6,0xA8, /* 00000610 "........" */ + 0x6B,0x4C,0x90,0x47,0x81,0x47,0x9A,0x28, /* 00000618 "kL.G.G.(" */ + 0xCF,0x33,0xEF,0x32,0x11,0x9E,0x6D,0x7C, /* 00000620 ".3.2..m|" */ + 0xAD,0xF1,0x14,0xE2,0xF8,0x5A,0x63,0xC4, /* 00000628 ".....Zc." */ + 0x97,0x89,0x77,0x1B,0xE3,0x1E,0xDC,0x63, /* 00000630 "..w....c" */ + 0xCD,0x43,0x8E,0x41,0x8E,0x26,0xC2,0x8B, /* 00000638 ".C.A.&.." */ + 0x41,0xC0,0xC7,0x1B,0x1F,0x6B,0xC0,0x2B, /* 00000640 "A....k.+" */ + 0xE6,0x85,0x22,0x0B,0xC7,0x1A,0x40,0xE3, /* 00000648 ".."...@." */ + 0xFF,0xFF,0x58,0x03,0xDC,0xB0,0x1E,0x50, /* 00000650 "..X....P" */ + 0xC0,0x77,0x64,0x60,0x37,0x14,0x78,0x27, /* 00000658 ".wd`7.x'" */ + 0x14,0xC0,0x4F,0xE2,0x17,0x80,0x8E,0x1C, /* 00000660 "..O....." */ + 0x4E,0x0B,0x22,0x1B,0x6F,0x00,0x9F,0x02, /* 00000668 "N.".o..." */ + 0xA8,0x1A,0x20,0x4D,0x13,0x36,0xC1,0xF4, /* 00000670 ".. M.6.." */ + 0xE4,0x82,0xF7,0x91,0xC0,0xB9,0x49,0x94, /* 00000678 "......I." */ + 0x7C,0x58,0x14,0xCE,0x59,0x0F,0x22,0x14, /* 00000680 "|X..Y."." */ + 0xC4,0x80,0x0E,0x72,0x9C,0x40,0x9F,0x51, /* 00000688 "...r.@.Q" */ + 0x7C,0x10,0x39,0xD1,0x27,0x42,0x0F,0xCA, /* 00000690 "|.9.'B.." */ + 0xC3,0x78,0x47,0x61,0x27,0x10,0x1F,0x26, /* 00000698 ".xGa'..&" */ + 0x3C,0x76,0x1F,0x13,0xF8,0x3F,0xC6,0xB3, /* 000006A0 ".p..F" */ + 0xDD,0x24,0x40,0xA5,0xEF,0xA8,0x00,0x0A, /* 000006B8 ".$@....." */ + 0x20,0xDF,0x0B,0x7C,0x0E,0x78,0x36,0x60, /* 000006C0 " ..|.x6`" */ + 0x63,0x78,0x14,0x30,0x9A,0xD1,0x79,0xF8, /* 000006C8 "cx.0..y." */ + 0xC9,0xA2,0xE2,0x4E,0x96,0x82,0x78,0xB2, /* 000006D0 "...N..x." */ + 0x8E,0x32,0x59,0xF4,0x4C,0x7C,0xAF,0xF0, /* 000006D8 ".2Y.L|.." */ + 0x8C,0xDE,0xB4,0x3C,0x47,0x4F,0xD8,0xF7, /* 000006E0 "......" */ + 0x39,0x3C,0x26,0xD6,0xA8,0xE8,0x55,0xC8, /* 00000700 "9<&...U." */ + 0xC3,0xE3,0x97,0x03,0xCF,0xE7,0x19,0xE1, /* 00000708 "........" */ + 0x28,0x9F,0x24,0x70,0x18,0xCF,0x24,0x1E, /* 00000710 "(.$p..$." */ + 0xA2,0x6F,0x45,0xB0,0x26,0x72,0xD2,0xBE, /* 00000718 ".oE.&r.." */ + 0x2D,0x9C,0x6C,0xD0,0xD7,0x33,0xCC,0xAD, /* 00000720 "-.l..3.." */ + 0x08,0xF6,0xFF,0xFF,0x56,0x04,0xE7,0x82, /* 00000728 "....V..." */ + 0x06,0x33,0xD3,0xBD,0x0A,0x15,0xEB,0x5E, /* 00000730 ".3.....^" */ + 0x05,0x88,0x1D,0xD6,0x6B,0x8F,0x0F,0x56, /* 00000738 "....k..V" */ + 0x70,0xEF,0x55,0x70,0x2F,0x55,0xCF,0x0A, /* 00000740 "p.Up/U.." */ + 0xC7,0x18,0xFE,0x61,0x2A,0xC6,0x29,0xBD, /* 00000748 "...a*.)." */ + 0x76,0x1A,0x28,0x4C,0x94,0x78,0xEF,0x55, /* 00000750 "v.(L.x.U" */ + 0x1E,0xE3,0x7B,0x15,0xBB,0x42,0x85,0x89, /* 00000758 "..{..B.." */ + 0xF5,0x72,0x65,0xD4,0xD7,0x89,0x70,0x81, /* 00000760 ".re...p." */ + 0x82,0x44,0x7A,0xB5,0x8A,0x12,0x39,0xBE, /* 00000768 ".Dz...9." */ + 0x21,0xDF,0xAB,0xC0,0x2B,0xE7,0x5E,0x05, /* 00000770 "!...+.^." */ + 0xB2,0xFF,0xFF,0xBD,0x0A,0x30,0x8F,0xF6, /* 00000778 ".....0.." */ + 0x5E,0x05,0xC6,0x6B,0x03,0xBB,0x21,0xC1, /* 00000780 "^..k..!." */ + 0x02,0x7A,0xB1,0x02,0x0C,0x65,0xBE,0x58, /* 00000788 ".z...e.X" */ + 0xD1,0xBC,0x17,0x2B,0xC4,0xFF,0xFF,0x5C, /* 00000790 "...+...\" */ + 0xC2,0xF4,0x5C,0xAC,0xC8,0x3C,0xE1,0xDF, /* 00000798 "..\..<.." */ + 0xAC,0x00,0x4E,0xFF,0xFF,0x6F,0x56,0x80, /* 000007A0 "..N..oV." */ + 0xB1,0x7B,0x11,0xE6,0x68,0x05,0x2F,0xE5, /* 000007A8 ".{..h./." */ + 0xCD,0x8A,0xC6,0x59,0x86,0x02,0x2E,0x88, /* 000007B0 "...Y...." */ + 0xC2,0xF8,0x66,0x05,0x38,0xBA,0xAE,0xE0, /* 000007B8 "..f.8..." */ + 0x86,0x0C,0x17,0x2C,0x4A,0x30,0x1F,0x42, /* 000007C0 "...,J0.B" */ + 0x3C,0x9D,0x23,0x7E,0x48,0x78,0x09,0x78, /* 000007C8 "<.#~Hx.x" */ + 0xCC,0xF1,0x80,0x1F,0x08,0x7C,0xB9,0x02, /* 000007D0 ".....|.." */ + 0xD3,0xFF,0x9F,0xC0,0x27,0xDF,0xB3,0x7C, /* 000007D8 "....'..|" */ + 0x9B,0x7A,0xEF,0xE5,0x07,0xAC,0xF7,0x2A, /* 000007E0 ".z.....*" */ + 0x1F,0x7E,0x63,0xBD,0x33,0xBC,0x5C,0x79, /* 000007E8 ".~c.3.\y" */ + 0x24,0x51,0x4E,0x22,0x94,0xEF,0x56,0xEF, /* 000007F0 "$QN"..V." */ + 0x55,0x46,0x89,0xF8,0x42,0xEC,0x53,0xB0, /* 000007F8 "UF..B.S." */ + 0xA1,0x8D,0xF2,0x54,0x11,0xDD,0x78,0x2F, /* 00000800 "...T..x/" */ + 0x57,0xE0,0x95,0x74,0xB9,0x02,0x68,0x32, /* 00000808 "W..t..h2" */ + 0xFC,0x97,0x2B,0xF0,0xDD,0x1C,0xB0,0xD7, /* 00000810 "..+....." */ + 0x24,0x38,0xFF,0xFF,0x6B,0x12,0xBF,0x5E, /* 00000818 "$8..k..^" */ + 0x01,0x7E,0xB2,0x5F,0xAF,0x68,0xEE,0xEB, /* 00000820 ".~._.h.." */ + 0x15,0x4A,0x14,0x84,0x14,0x01,0x69,0xA6, /* 00000828 ".J....i." */ + 0xE0,0xB9,0x5F,0x01,0x9C,0xF8,0xFF,0xDF, /* 00000830 ".._....." */ + 0xAF,0x00,0xCB,0xE1,0xEE,0x57,0x40,0xEF, /* 00000838 ".....W@." */ + 0x76,0x04,0x5E,0x94,0xB7,0x23,0xEC,0x15, /* 00000840 "v.^..#.." */ + 0x0B,0x9F,0xF1,0x8A,0x45,0xC3,0xAC,0x44, /* 00000848 "....E..D" */ + 0xF1,0xD6,0x44,0x61,0x7C,0xC5,0x02,0x26, /* 00000850 "..Da|..&" */ + 0xFF,0xFF,0x2B,0x16,0x30,0x3B,0x88,0xE2, /* 00000858 "..+.0;.." */ + 0x46,0x0D,0xF7,0xE2,0xE4,0x5B,0x8F,0xE7, /* 00000860 "F....[.." */ + 0x1B,0xD1,0x77,0x18,0xCC,0x09,0x0B,0xC6, /* 00000868 "..w....." */ + 0x0D,0x0B,0xFE,0x90,0x1E,0x86,0x7D,0x92, /* 00000870 "......}." */ + 0x78,0xC7,0xF2,0xD1,0xCA,0x20,0x6F,0xC0, /* 00000878 "x.... o." */ + 0x4F,0x56,0x0F,0x56,0x51,0x8C,0x10,0xF0, /* 00000880 "OV.VQ..." */ + 0x78,0xDE,0x85,0x7D,0xB4,0x7A,0xD3,0x32, /* 00000888 "x..}.z.2" */ + 0x4A,0xEC,0x58,0xBE,0x50,0x3D,0x6B,0xF9, /* 00000890 "J.X.P=k." */ + 0x9A,0x65,0x88,0xB8,0x0F,0xC4,0xBE,0x61, /* 00000898 ".e.....a" */ + 0x01,0xB6,0xFF,0xFF,0x37,0x2C,0xC0,0xD1, /* 000008A0 "....7,.." */ + 0xC5,0x81,0x1F,0x1C,0xB0,0x37,0x2C,0xC0, /* 000008A8 ".....7,." */ + 0xE7,0x4C,0xC1,0x73,0xC3,0x02,0x36,0xFF, /* 000008B0 ".L.s..6." */ + 0xFF,0x1B,0x16,0xC0,0xFF,0xFF,0xFF,0x0D, /* 000008B8 "........" */ + 0x0B,0x38,0xDC,0xAE,0xB0,0xB7,0x2C,0xEC, /* 000008C0 ".8....,." */ + 0xED,0x85,0xAC,0x82,0x86,0x5A,0x89,0x82, /* 000008C8 ".....Z.." */ + 0x7F,0xAF,0x0C,0x43,0x6F,0x58,0x80,0xA3, /* 000008D0 "...CoX.." */ + 0x71,0x7B,0xD4,0xE0,0x38,0x1B,0x3C,0x49, /* 000008D8 "q{..8./...0" */ + 0xE2,0x21,0xB1,0x00,0x03,0xA7,0xF7,0x25, /* 00000940 ".!.....%" */ + 0x9F,0x29,0xF8,0x01,0xC3,0x67,0x0A,0x76, /* 00000948 ".)...g.v" */ + 0x3D,0x88,0xFE,0x18,0xE0,0x73,0x09,0x66, /* 00000950 "=....s.f" */ + 0x70,0xE0,0xBF,0x56,0x1C,0xBA,0x47,0xF1, /* 00000958 "p..V..G." */ + 0xFA,0x60,0x02,0x0F,0x8E,0xFF,0xFF,0x07, /* 00000960 ".`......" */ + 0x07,0xF7,0xCE,0x70,0x44,0xBE,0xC3,0x78, /* 00000968 "...pD..x" */ + 0x70,0x60,0x3B,0x08,0x00,0x87,0xC1,0xE1, /* 00000970 "p`;....." */ + 0x43,0x0D,0x0E,0x3D,0x1E,0x03,0x87,0xF4, /* 00000978 "C..=...." */ + 0x79,0x8C,0x5D,0x18,0x1E,0x72,0x3C,0x34, /* 00000980 "y.]..r<4" */ + 0xB0,0x01,0x7A,0x68,0xC0,0x72,0x12,0x4F, /* 00000988 "..zh.r.O" */ + 0x21,0x87,0x06,0x66,0x09,0x43,0x03,0x4A, /* 00000990 "!..f.C.J" */ + 0xF1,0x86,0x46,0xFF,0xFF,0x43,0xE3,0x43, /* 00000998 "..F..C.C" */ + 0xF2,0x61,0x21,0xE6,0x53,0x4E,0x84,0xF7, /* 000009A0 ".a!.SN.." */ + 0x05,0x9F,0xA0,0x18,0xFA,0x6B,0x8A,0x6F, /* 000009A8 ".....k.o" */ + 0x17,0xBE,0x09,0xE2,0xC6,0x07,0xAE,0x4B, /* 000009B0 ".......K" */ + 0xA7,0xC7,0x07,0x7C,0x8E,0x5C,0x1E,0x1F, /* 000009B8 "...|.\.." */ + 0xEE,0xE8,0xE4,0xF1,0xC1,0x70,0x79,0x95, /* 000009C0 ".....py." */ + 0x21,0x47,0x13,0x1F,0xAD,0xD8,0xF0,0xC0, /* 000009C8 "!G......" */ + 0x76,0xD3,0xF3,0xF0,0x80,0xCF,0x75,0x13, /* 000009D0 "v.....u." */ + 0x8C,0x57,0x48,0x7E,0x2D,0x81,0x71,0x82, /* 000009D8 ".WH~-.q." */ + 0xC2,0x5F,0x37,0xC1,0xFB,0xFF,0xBF,0x6E, /* 000009E0 "._7....n" */ + 0x02,0xCF,0x51,0x70,0xAD,0x97,0x6C,0x1A, /* 000009E8 "..Qp..l." */ + 0xE4,0x95,0xA3,0x58,0x2F,0x02,0x0A,0xE3, /* 000009F0 "...X/..." */ + 0x33,0x1B,0xE0,0x68,0xAC,0xCF,0x6C,0x60, /* 000009F8 "3..h..l`" */ + 0xB9,0x17,0xB0,0x1B,0x1B,0xDC,0xD3,0x1A, /* 00000A00 "........" */ + 0xEC,0xBB,0xC3,0xC3,0xD9,0x63,0xDA,0xA3, /* 00000A08 ".....c.." */ + 0xDA,0x03,0x9A,0x8F,0xD8,0x31,0xDE,0xD2, /* 00000A10 ".....1.." */ + 0x82,0xC4,0x89,0xF0,0x3A,0xF0,0xB4,0xE6, /* 00000A18 "....:..." */ + 0x4B,0x46,0xBC,0x40,0x4F,0x6B,0xC6,0x88, /* 00000A20 "KF.@Ok.." */ + 0xF3,0xD2,0x66,0xC4,0x57,0x8A,0x10,0x0F, /* 00000A28 "..f.W..." */ + 0x6B,0x3E,0xB9,0x19,0xEF,0x61,0x22,0x5C, /* 00000A30 "k>...a"\" */ + 0x98,0x17,0xB6,0xA7,0x35,0x70,0xFC,0xFF, /* 00000A38 "....5p.." */ + 0x4F,0x6B,0x70,0xE4,0x5C,0xB1,0x01,0x9A, /* 00000A40 "Okp.\..." */ + 0x5C,0xF4,0x71,0x87,0x14,0xB0,0x5C,0x1B, /* 00000A48 "\.q...\." */ + 0xD8,0x2D,0x05,0xDE,0x05,0x1B,0x38,0xFF, /* 00000A50 ".-....8." */ + 0xFF,0x8F,0x28,0xE0,0xCB,0x72,0xC1,0xA6, /* 00000A58 "..(..r.." */ + 0x39,0x2E,0xD8,0x28,0x0E,0xAB,0x01,0xD2, /* 00000A60 "9..(...." */ + 0x3C,0xE1,0x5F,0xAF,0xC1,0x3F,0x09,0x5F, /* 00000A68 "<._..?._" */ + 0xAF,0x01,0xDB,0xB7,0x58,0xDC,0xF5,0x1A, /* 00000A70 "....X..." */ + 0x58,0xFD,0xFF,0xAF,0xD7,0xC0,0x52,0xF0, /* 00000A78 "X.....R." */ + 0x48,0xE9,0x9D,0x1A,0x5C,0x37,0x6D,0x3C, /* 00000A80 "H...\7m<" */ + 0xE8,0x9B,0x36,0x4C,0x85,0x36,0x7D,0x6A, /* 00000A88 "..6L.6}j" */ + 0x34,0x6A,0xD5,0xA0,0x4C,0x8D,0x32,0x0D, /* 00000A90 "4j..L.2." */ + 0x6A,0xF5,0xA9,0xD4,0x98,0xB1,0xA1,0x5A, /* 00000A98 "j......Z" */ + 0xDA,0x5D,0x82,0x8A,0x59,0x8C,0x46,0xE3, /* 00000AA0 ".]..Y.F." */ + 0x28,0x20,0x54,0xF6,0x1F,0x50,0x20,0x0E, /* 00000AA8 "( T..P ." */ + 0xF9,0xD1,0x11,0xA0,0x83,0x7D,0xA7,0x74, /* 00000AB0 ".....}.t" */ + 0x0B,0x27,0x6B,0x13,0x88,0xE3,0x9B,0x80, /* 00000AB8 ".'k....." */ + 0x68,0x04,0x44,0x5A,0x54,0x00,0xB1,0xDC, /* 00000AC0 "h.DZT..." */ + 0x20,0x02,0xB2,0x8A,0x35,0x09,0xC8,0x9A, /* 00000AC8 " ...5..." */ + 0xBF,0x2F,0x02,0xB7,0x4E,0x1D,0x40,0x2C, /* 00000AD0 "./..N.@," */ + 0x25,0x08,0x4D,0xB4,0x70,0x81,0x3A,0x1E, /* 00000AD8 "%.M.p.:." */ + 0x88,0x06,0x43,0x68,0x04,0xE4,0x60,0x14, /* 00000AE0 "..Ch..`." */ + 0x02,0xB2,0x8C,0xCF,0x9D,0xC0,0x2D,0xC0, /* 00000AE8 "......-." */ + 0x0A,0x10,0x93,0x0F,0x42,0x05,0x7B,0x01, /* 00000AF0 "....B.{." */ + 0x65,0xEA,0x41,0x04,0x64,0xA5,0x6B,0x15, /* 00000AF8 "e.A.d.k." */ + 0x90,0x75,0x83,0x08,0xC8,0x59,0xCD,0x80, /* 00000B00 ".u...Y.." */ + 0xB3,0x8C,0x6E,0x80,0x98,0xC2,0x87,0x82, /* 00000B08 "..n....." */ + 0x40,0xAC,0x49,0x0F,0x28,0x13,0x08,0xA2, /* 00000B10 "@.I.(..." */ + 0x0B,0x07,0xF1,0x03,0xC4,0xA4,0x81,0x08, /* 00000B18 "........" */ + 0xC8,0x71,0x7E,0x25,0x02,0x77,0x1C,0x45, /* 00000B20 ".q~%.w.E" */ + 0x80,0xD4,0xD1,0x70,0x29,0x08,0x15,0xFF, /* 00000B28 "...p)..." */ + 0x09,0x13,0xC8,0xFF,0xFF,0xFD,0x44,0x96, /* 00000B30 "......D." */ + 0xC0,0x28,0x08,0x8D,0xA0,0x09,0x84,0xC9, /* 00000B38 ".(......" */ + 0xF3,0x04,0xC2,0x42,0xFD,0xFD,0x34,0x04, /* 00000B40 "...B..4." */ + 0x07,0x51,0x35,0x44,0xEA,0x0A,0x84,0x05, /* 00000B48 ".Q5D...." */ + 0x7E,0x18,0x68,0x30,0x4E,0x0F,0x22,0x20, /* 00000B50 "~.h0N." " */ + 0x27,0x7D,0x52,0x05,0x22,0xB9,0x41,0x04, /* 00000B58 "'}R.".A." */ + 0xE4,0xFF,0x3F,0x10,0x1A,0x5C,0x5F,0x47, /* 00000B60 "..?..\_G" */ + 0x50,0x45,0x14,0x13,0x5F,0x4C,0x31,0x38, /* 00000B68 "PE.._L18" */ + 0x08,0x86,0x5C,0x2E,0x5F,0x53,0x42,0x5F, /* 00000B70 "..\._SB_" */ + 0x57,0x4D,0x49,0x31,0x0A,0xD0, +};