11653 lines
369 KiB
Plaintext
11653 lines
369 KiB
Plaintext
|
/*
|
||
|
* Intel ACPI Component Architecture
|
||
|
* AML/ASL+ Disassembler version 20180313 (32-bit version)
|
||
|
* Copyright (c) 2000 - 2018 Intel Corporation
|
||
|
*
|
||
|
* Disassembling to symbolic ASL+ operators
|
||
|
*
|
||
|
* Disassembly of grammar.xxx, Thu Mar 22 09:44:49 2018
|
||
|
*
|
||
|
* Original Table Header:
|
||
|
* Signature "DSDT"
|
||
|
* Length 0x0002192B (137515)
|
||
|
* Revision 0x01 **** 32-bit table (V1), no 64-bit math support
|
||
|
* Checksum 0x2C **** Incorrect checksum, should be 0x5D
|
||
|
* OEM ID "Intel"
|
||
|
* OEM Table ID "GRMTEST"
|
||
|
* OEM Revision 0x20090511 (537462033)
|
||
|
* Compiler ID "INTL"
|
||
|
* Compiler Version 0x20180313 (538444563)
|
||
|
*/
|
||
|
/*
|
||
|
* Some or all of this work - Copyright (c) 2006 - 2018, Intel Corp.
|
||
|
* All rights reserved.
|
||
|
*
|
||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||
|
* are permitted provided that the following conditions are met:
|
||
|
*
|
||
|
* Redistributions of source code must retain the above copyright notice,
|
||
|
* this list of conditions and the following disclaimer.
|
||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||
|
* this list of conditions and the following disclaimer in the documentation
|
||
|
* and/or other materials provided with the distribution.
|
||
|
* Neither the name of Intel Corporation nor the names of its contributors
|
||
|
* may be used to endorse or promote products derived from this software
|
||
|
* without specific prior written permission.
|
||
|
*
|
||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||
|
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
*/
|
||
|
/* */
|
||
|
/* */
|
||
|
/* Grammar.asl - Minimally excercises most ASL constructs */
|
||
|
/* */
|
||
|
/* NOTE -- use: iasl -f -of grammar.asl to compile */
|
||
|
/* */
|
||
|
/* This 1) Ignores errors (checks compiler error handling) */
|
||
|
/* 2) Disables constant folding */
|
||
|
/* */
|
||
|
/* */
|
||
|
/*******************************************************************************
|
||
|
Compilation should look like this:
|
||
|
C:\acpica\tests\misc>iasl -f -of grammar.asl
|
||
|
Intel ACPI Component Architecture
|
||
|
ASL Optimizing Compiler version 20090422 [Apr 22 2009]
|
||
|
Copyright (C) 2000 - 2009 Intel Corporation
|
||
|
Supports ACPI Specification Revision 3.0a
|
||
|
grammar.asl 187: Name (_NPK, Package (8)
|
||
|
Warning 1098 - ^ Unknown reserved name (_NPK)
|
||
|
grammar.asl 510: NAME (ESC1, "abcdefg\x00hijklmn")
|
||
|
Warning 1042 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
|
||
|
grammar.asl 511: NAME (ESC2, "abcdefg\000hijklmn")
|
||
|
Warning 1042 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
|
||
|
grammar.asl 601: Method (RCIV, 1)
|
||
|
Warning 1087 - ^ Not all control paths return a value (RCIV)
|
||
|
grammar.asl 608: RCIV (Subtract (Arg0, 1))
|
||
|
Remark 5073 - ^ Recursive method call (RCIV)
|
||
|
grammar.asl 937: Method (_ERR, 2)
|
||
|
Warning 1077 - ^ Reserved method has too few arguments (_ERR requires 3)
|
||
|
grammar.asl 1377: Store (0x1234567887654321, QWD2)
|
||
|
Warning 1032 - ^ 64-bit integer in 32-bit table, truncating
|
||
|
grammar.asl 1379: if (LNotEqual (Local0, 0x1234567887654321))
|
||
|
Warning 1032 - 64-bit integer in 32-bit table, truncating ^
|
||
|
grammar.asl 1459: SizeOf (BUFO)
|
||
|
Warning 1105 - ^ Result is not used, operator has no effect
|
||
|
grammar.asl 1485: Acquire (MTX2, 1)
|
||
|
Warning 1104 - ^ Possible operator timeout is ignored
|
||
|
grammar.asl 1633: Add (Local0, Local1)
|
||
|
Warning 1105 - ^ Result is not used, operator has no effect
|
||
|
grammar.asl 1804: Method (COND)
|
||
|
Warning 1087 - ^ Not all control paths return a value (COND)
|
||
|
grammar.asl 6010: Name (_HID, "*PNP0A06")
|
||
|
Error 4001 - ^ String must be entirely alphanumeric (*PNP0A06)
|
||
|
grammar.asl 6461: Name (_CRS, Buffer(26) {"\_SB_.PCI2._CRS..........."})
|
||
|
Warning 1038 - Invalid or unknown escape sequence ^
|
||
|
grammar.asl 6800: And (Local0, 1, Local0) // Local0 &= 1
|
||
|
Error 4050 - ^ Method local variable is not initialized (Local0)
|
||
|
grammar.asl 6886: Name (_HID, "*PNP0C0A") // Control Method Battey ID
|
||
|
Error 4001 - ^ String must be entirely alphanumeric (*PNP0C0A)
|
||
|
ASL Input: grammar.asl - 10254 lines, 322162 bytes, 4810 keywords
|
||
|
AML Output: grammar.aml - 43392 bytes, 669 named objects, 4141 executable opcodes
|
||
|
Compilation complete. 3 Errors, 12 Warnings, 1 Remarks, 1101 Optimizations
|
||
|
***************************************************************************************************/
|
||
|
DefinitionBlock ("", "DSDT", 1, "Intel", "GRMTEST", 0x20090511)
|
||
|
{
|
||
|
External (\ABCD, UnknownObj)
|
||
|
/* Device with _STA and _INI */
|
||
|
|
||
|
Device (A1)
|
||
|
{
|
||
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
}
|
||
|
|
||
|
Method (_INI, 0, NotSerialized) // _INI: Initialize
|
||
|
{
|
||
|
Return (Zero)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* Device with no _STA, has _INI */
|
||
|
|
||
|
Device (A2)
|
||
|
{
|
||
|
Method (_INI, 0, NotSerialized) // _INI: Initialize
|
||
|
{
|
||
|
Return (Zero)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* Device with _STA, no _INI */
|
||
|
|
||
|
Device (A3)
|
||
|
{
|
||
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* Device with _STA and _INI, but not present */
|
||
|
|
||
|
Device (A4)
|
||
|
{
|
||
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
||
|
{
|
||
|
Return (Zero)
|
||
|
}
|
||
|
|
||
|
Method (_INI, 0, NotSerialized) // _INI: Initialize
|
||
|
{
|
||
|
Return (Zero)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* Resource descriptors */
|
||
|
|
||
|
Device (IRES)
|
||
|
{
|
||
|
Name (PRT0, ResourceTemplate ()
|
||
|
{
|
||
|
IRQ (Edge, ActiveHigh, Exclusive, )
|
||
|
{3,4,5,6,7,9,10,11,14,15}
|
||
|
StartDependentFn (0x01, 0x01)
|
||
|
{
|
||
|
IRQNoFlags ()
|
||
|
{0,1,2}
|
||
|
}
|
||
|
EndDependentFn ()
|
||
|
})
|
||
|
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
|
||
|
{
|
||
|
Debug = "_CRS:"
|
||
|
Debug = PRT0 /* \IRES.PRT0 */
|
||
|
Return (PRT0) /* \IRES.PRT0 */
|
||
|
}
|
||
|
|
||
|
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
|
||
|
{
|
||
|
Debug = "_SRS:"
|
||
|
Debug = Arg0
|
||
|
Return (Zero)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Name (_NPK, Package (0x04)
|
||
|
{
|
||
|
0x1111,
|
||
|
0x2222,
|
||
|
0x3333,
|
||
|
0x4444
|
||
|
})
|
||
|
Device (RES)
|
||
|
{
|
||
|
Name (_PRT, Package (0x04) // _PRT: PCI Routing Table
|
||
|
{
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0002FFFF,
|
||
|
Zero,
|
||
|
Zero,
|
||
|
Zero
|
||
|
},
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0002FFFF,
|
||
|
One,
|
||
|
Zero,
|
||
|
Zero
|
||
|
},
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x000AFFFF,
|
||
|
Zero,
|
||
|
Zero,
|
||
|
Zero
|
||
|
},
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x000BFFFF,
|
||
|
Zero,
|
||
|
Zero,
|
||
|
Zero
|
||
|
}
|
||
|
})
|
||
|
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
|
||
|
{
|
||
|
Name (PRT0, ResourceTemplate ()
|
||
|
{
|
||
|
WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
|
||
|
0x0000, // Granularity
|
||
|
0xFFF2, // Range Minimum
|
||
|
0xFFF3, // Range Maximum
|
||
|
0x0032, // Translation Offset
|
||
|
0x0002, // Length
|
||
|
,, _Y00)
|
||
|
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
|
||
|
0x0000, // Granularity
|
||
|
0x0000, // Range Minimum
|
||
|
0x00FF, // Range Maximum
|
||
|
0x0000, // Translation Offset
|
||
|
0x0100, // Length
|
||
|
,, )
|
||
|
WordSpace (0xC3, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
|
||
|
0x0000, // Granularity
|
||
|
0xA000, // Range Minimum
|
||
|
0xBFFF, // Range Maximum
|
||
|
0x0000, // Translation Offset
|
||
|
0x2000, // Length
|
||
|
,, )
|
||
|
IO (Decode16,
|
||
|
0x0CF8, // Range Minimum
|
||
|
0x0CFF, // Range Maximum
|
||
|
0x01, // Alignment
|
||
|
0x08, // Length
|
||
|
)
|
||
|
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
||
|
0x0000, // Granularity
|
||
|
0x0000, // Range Minimum
|
||
|
0x0CF7, // Range Maximum
|
||
|
0x0000, // Translation Offset
|
||
|
0x0CF8, // Length
|
||
|
,, , TypeStatic, DenseTranslation)
|
||
|
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
||
|
0x0000, // Granularity
|
||
|
0x0D00, // Range Minimum
|
||
|
0xFFFF, // Range Maximum
|
||
|
0x0000, // Translation Offset
|
||
|
0xF300, // Length
|
||
|
,, , TypeStatic, DenseTranslation)
|
||
|
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
||
|
0x00000000, // Granularity
|
||
|
0x00000000, // Range Minimum
|
||
|
0x00000CF7, // Range Maximum
|
||
|
0x00000000, // Translation Offset
|
||
|
0x00000CF8, // Length
|
||
|
,, , TypeStatic, DenseTranslation)
|
||
|
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
|
||
|
0x00000000, // Granularity
|
||
|
0x000C8000, // Range Minimum
|
||
|
0x000EFFFF, // Range Maximum
|
||
|
0x00000000, // Translation Offset
|
||
|
0x00028000, // Length
|
||
|
,, , AddressRangeMemory, TypeStatic)
|
||
|
DWordSpace (0xC3, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
|
||
|
0x00000000, // Granularity
|
||
|
0x000C8000, // Range Minimum
|
||
|
0x000EFFFF, // Range Maximum
|
||
|
0x00000000, // Translation Offset
|
||
|
0x00028000, // Length
|
||
|
,, )
|
||
|
QWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
||
|
0x0000000000000000, // Granularity
|
||
|
0x0000000000000000, // Range Minimum
|
||
|
0x0000000000000CF7, // Range Maximum
|
||
|
0x0000000000000000, // Translation Offset
|
||
|
0x0000000000000CF8, // Length
|
||
|
0x44, "This is a ResouceSource string", , TypeStatic, DenseTranslation)
|
||
|
QWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
||
|
0x0000000000000000, // Granularity
|
||
|
0x0000000000000000, // Range Minimum
|
||
|
0x0000000000000CF7, // Range Maximum
|
||
|
0x0000000000000000, // Translation Offset
|
||
|
0x0000000000000CF8, // Length
|
||
|
,, , TypeStatic, DenseTranslation)
|
||
|
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
|
||
|
0x0000000000000000, // Granularity
|
||
|
0x0000000000100000, // Range Minimum
|
||
|
0x00000000FFDFFFFF, // Range Maximum
|
||
|
0x0000000000000000, // Translation Offset
|
||
|
0x00000000FFD00000, // Length
|
||
|
,, , AddressRangeMemory, TypeStatic)
|
||
|
QWordSpace (0xC3, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
|
||
|
0x0000000000000000, // Granularity
|
||
|
0x0000000000000000, // Range Minimum
|
||
|
0x0000000000000CF7, // Range Maximum
|
||
|
0x0000000000000000, // Translation Offset
|
||
|
0x0000000000000CF8, // Length
|
||
|
,, )
|
||
|
ExtendedIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
||
|
0x0000000000000000, // Granularity
|
||
|
0x0000000000000000, // Range Minimum
|
||
|
0x0000000000000CF7, // Range Maximum
|
||
|
0x0000000000000000, // Translation Offset
|
||
|
0x0000000000000CF8, // Length
|
||
|
0x0000000000000000, // Type-Specific Attributes
|
||
|
, TypeStatic, DenseTranslation)
|
||
|
ExtendedMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
|
||
|
0x0000000000000000, // Granularity
|
||
|
0x0000000000100000, // Range Minimum
|
||
|
0x00000000FFDFFFFF, // Range Maximum
|
||
|
0x0000000000000000, // Translation Offset
|
||
|
0x00000000FFD00000, // Length
|
||
|
0x0000000000000000, // Type-Specific Attributes
|
||
|
, AddressRangeMemory, TypeStatic)
|
||
|
ExtendedSpace (0xC3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0xA3,
|
||
|
0x0000000000000000, // Granularity
|
||
|
0x0000000000100000, // Range Minimum
|
||
|
0x00000000FFDFFFFF, // Range Maximum
|
||
|
0x0000000000000000, // Translation Offset
|
||
|
0x00000000FFD00000, // Length
|
||
|
0x0000000000000000, // Type-Specific Attributes
|
||
|
)
|
||
|
IO (Decode16,
|
||
|
0x0010, // Range Minimum
|
||
|
0x0020, // Range Maximum
|
||
|
0x01, // Alignment
|
||
|
0x10, // Length
|
||
|
)
|
||
|
IO (Decode16,
|
||
|
0x0090, // Range Minimum
|
||
|
0x00A0, // Range Maximum
|
||
|
0x01, // Alignment
|
||
|
0x10, // Length
|
||
|
)
|
||
|
FixedIO (
|
||
|
0x0061, // Address
|
||
|
0x01, // Length
|
||
|
)
|
||
|
IRQNoFlags ()
|
||
|
{2}
|
||
|
DMA (Compatibility, BusMaster, Transfer8_16, )
|
||
|
{4}
|
||
|
DMA (Compatibility, BusMaster, Transfer8, )
|
||
|
{2,5,7}
|
||
|
Memory32Fixed (ReadWrite,
|
||
|
0x00100000, // Address Base
|
||
|
0x00000000, // Address Length
|
||
|
)
|
||
|
Memory32Fixed (ReadOnly,
|
||
|
0xFFFE0000, // Address Base
|
||
|
0x00020000, // Address Length
|
||
|
)
|
||
|
Memory32 (ReadOnly,
|
||
|
0x00020000, // Range Minimum
|
||
|
0xFFFE0000, // Range Maximum
|
||
|
0x00000004, // Alignment
|
||
|
0x00000200, // Length
|
||
|
)
|
||
|
Memory24 (ReadOnly,
|
||
|
0x1111, // Range Minimum
|
||
|
0x2222, // Range Maximum
|
||
|
0x0004, // Alignment
|
||
|
0x0200, // Length
|
||
|
)
|
||
|
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, 0x0E, "\\_SB_.TEST", )
|
||
|
{
|
||
|
0x00000E01,
|
||
|
}
|
||
|
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, 0x06, "xxxx", )
|
||
|
{
|
||
|
0x00000601,
|
||
|
0x00000003,
|
||
|
0x00000002,
|
||
|
0x00000001,
|
||
|
}
|
||
|
Interrupt (ResourceProducer, Edge, ActiveHigh, Exclusive, ,, )
|
||
|
{
|
||
|
0xFFFF0000,
|
||
|
0x00000003,
|
||
|
0x00000002,
|
||
|
0x00000001,
|
||
|
0x00000005,
|
||
|
0x00000007,
|
||
|
0x00000009,
|
||
|
}
|
||
|
VendorShort () // Length = 0x03
|
||
|
{
|
||
|
0x01, 0x02, 0x03 // ...
|
||
|
}
|
||
|
VendorLong () // Length = 0x09
|
||
|
{
|
||
|
/* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........
|
||
|
/* 0008 */ 0x09 // .
|
||
|
}
|
||
|
Register (SystemIO,
|
||
|
0x08, // Bit Width
|
||
|
0x00, // Bit Offset
|
||
|
0x00000000000000B2, // Address
|
||
|
,_Y01)
|
||
|
Register (SystemMemory,
|
||
|
0x08, // Bit Width
|
||
|
0x00, // Bit Offset
|
||
|
0x00000000000000B2, // Address
|
||
|
,)
|
||
|
StartDependentFnNoPri ()
|
||
|
{
|
||
|
IRQNoFlags ()
|
||
|
{0,1,2}
|
||
|
IRQ (Level, ActiveLow, Shared, )
|
||
|
{3,4,5,6,7,9,10,11,14,15}
|
||
|
}
|
||
|
EndDependentFn ()
|
||
|
})
|
||
|
CreateWordField (PRT0, \RES._CRS._Y00._MIN, BMIN) // _MIN: Minimum Base Address
|
||
|
CreateByteField (PRT0, \RES._CRS._Y01._ASZ, RSIZ) // _ASZ: Access Size
|
||
|
BMIN = 0x03
|
||
|
Return (PRT0) /* \RES_._CRS.PRT0 */
|
||
|
}
|
||
|
|
||
|
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
|
||
|
{
|
||
|
Name (BUF0, ResourceTemplate ()
|
||
|
{
|
||
|
StartDependentFn (0x01, 0x02)
|
||
|
{
|
||
|
IO (Decode16,
|
||
|
0x03D8, // Range Minimum
|
||
|
0x03F8, // Range Maximum
|
||
|
0x01, // Alignment
|
||
|
0x08, // Length
|
||
|
)
|
||
|
IRQNoFlags ()
|
||
|
{4}
|
||
|
}
|
||
|
StartDependentFn (0x02, 0x01)
|
||
|
{
|
||
|
IO (Decode16,
|
||
|
0x03D8, // Range Minimum
|
||
|
0x03E8, // Range Maximum
|
||
|
0x01, // Alignment
|
||
|
0x08, // Length
|
||
|
)
|
||
|
IRQNoFlags ()
|
||
|
{4}
|
||
|
}
|
||
|
StartDependentFn (0x00, 0x02)
|
||
|
{
|
||
|
IO (Decode16,
|
||
|
0x02E8, // Range Minimum
|
||
|
0x02F8, // Range Maximum
|
||
|
0x01, // Alignment
|
||
|
0x08, // Length
|
||
|
)
|
||
|
IRQNoFlags ()
|
||
|
{3}
|
||
|
}
|
||
|
StartDependentFn (0x00, 0x02)
|
||
|
{
|
||
|
IO (Decode16,
|
||
|
0x02D8, // Range Minimum
|
||
|
0x02E8, // Range Maximum
|
||
|
0x01, // Alignment
|
||
|
0x08, // Length
|
||
|
)
|
||
|
IRQNoFlags ()
|
||
|
{3}
|
||
|
}
|
||
|
StartDependentFn (0x02, 0x00)
|
||
|
{
|
||
|
IO (Decode16,
|
||
|
0x0100, // Range Minimum
|
||
|
0x03F8, // Range Maximum
|
||
|
0x08, // Alignment
|
||
|
0x08, // Length
|
||
|
)
|
||
|
IRQNoFlags ()
|
||
|
{1,3,4,5,6,7,8,10,11,12,13,14,15}
|
||
|
}
|
||
|
EndDependentFn ()
|
||
|
})
|
||
|
Return (BUF0) /* \RES_._PRS.BUF0 */
|
||
|
}
|
||
|
|
||
|
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
|
||
|
{
|
||
|
Return (Zero)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Name (\_S0, Package (0x04) // _S0_: S0 System State
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x00
|
||
|
})
|
||
|
Name (\_S3, Package (0x04) // _S3_: S3 System State
|
||
|
{
|
||
|
0x05,
|
||
|
0x05,
|
||
|
0x00,
|
||
|
0x00
|
||
|
})
|
||
|
Name (\_S4, Package (0x04) // _S4_: S4 System State
|
||
|
{
|
||
|
0x06,
|
||
|
0x06,
|
||
|
0x00,
|
||
|
0x00
|
||
|
})
|
||
|
Name (\_S5, Package (0x04) // _S5_: S5 System State
|
||
|
{
|
||
|
0x07,
|
||
|
0x07,
|
||
|
0x00,
|
||
|
0x00
|
||
|
})
|
||
|
/* Examine this table header (DSDT) */
|
||
|
/*
|
||
|
DataTableRegion (HDR, "DSDT", "", "")
|
||
|
Field (HDR, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SIG, 32,
|
||
|
LENG, 32,
|
||
|
REV, 8,
|
||
|
SUM, 8,
|
||
|
OID, 48,
|
||
|
OTID, 64,
|
||
|
OREV, 32,
|
||
|
CID, 32,
|
||
|
CREV, 32
|
||
|
}
|
||
|
Method (SIZE)
|
||
|
{
|
||
|
If (LLess (REV, 2))
|
||
|
{
|
||
|
Store ("32-bit table", Debug)
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
Store ("64-bit table", Debug)
|
||
|
}
|
||
|
Return (0)
|
||
|
}
|
||
|
*/
|
||
|
Name (SIZE, 0x00)
|
||
|
/* Custom operation region */
|
||
|
|
||
|
OperationRegion (MYOP, 0x80, 0xFD60, 0x06)
|
||
|
Field (MYOP, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
MFLD, 8
|
||
|
}
|
||
|
|
||
|
Method (TCOP, 0, Serialized)
|
||
|
{
|
||
|
Name (_STR, Unicode ("test")) // _STR: Description String
|
||
|
MFLD = 0x04
|
||
|
Local0 = MFLD /* \MFLD */
|
||
|
}
|
||
|
|
||
|
Name (ERRS, 0x00)
|
||
|
/* Warning should be issued for premature string termination */
|
||
|
|
||
|
Name (ESC1, "abcdefghijklmn")
|
||
|
Name (ESC2, "abcdefghijklmn")
|
||
|
Name (ESC3, "abc\a\bdef\f\n\r\t\v\x03ffff\x1A")
|
||
|
Name (CRSA, ResourceTemplate ()
|
||
|
{
|
||
|
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
|
||
|
0x0000, // Granularity
|
||
|
0x0019, // Range Minimum
|
||
|
0x001D, // Range Maximum
|
||
|
0x0000, // Translation Offset
|
||
|
0x0005, // Length
|
||
|
,, )
|
||
|
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, NonISAOnlyRanges,
|
||
|
0x0000, // Granularity
|
||
|
0xC000, // Range Minimum
|
||
|
0xCFFF, // Range Maximum
|
||
|
0x0000, // Translation Offset
|
||
|
0x1000, // Length
|
||
|
,, , TypeStatic, DenseTranslation)
|
||
|
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
|
||
|
0x00000000, // Granularity
|
||
|
0xD8000000, // Range Minimum
|
||
|
0xDBFFFFFF, // Range Maximum
|
||
|
0x00000000, // Translation Offset
|
||
|
0x04000000, // Length
|
||
|
,, , AddressRangeMemory, TypeStatic)
|
||
|
})
|
||
|
Name (CRSB, ResourceTemplate ()
|
||
|
{
|
||
|
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
|
||
|
0x00000000, // Granularity
|
||
|
0xD8000000, // Range Minimum
|
||
|
0xDBFFFFFF, // Range Maximum
|
||
|
0x00000000, // Translation Offset
|
||
|
0x04000000, // Length
|
||
|
,, , AddressRangeMemory, TypeStatic)
|
||
|
})
|
||
|
Name (CRSC, ResourceTemplate ()
|
||
|
{
|
||
|
VendorShort () // Length = 0x03
|
||
|
{
|
||
|
0x01, 0x02, 0x03 // ...
|
||
|
}
|
||
|
})
|
||
|
Name (CRSD, ResourceTemplate ()
|
||
|
{
|
||
|
VendorLong () // Length = 0x09
|
||
|
{
|
||
|
/* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........
|
||
|
/* 0008 */ 0x09 // .
|
||
|
}
|
||
|
})
|
||
|
Name (CRSE, ResourceTemplate ()
|
||
|
{
|
||
|
IRQNoFlags ()
|
||
|
{3,4,10,11}
|
||
|
IRQNoFlags ()
|
||
|
{3,4,10,11}
|
||
|
})
|
||
|
Name (CRSR, Buffer ((SizeOf (CRSA) + SizeOf (CRSB))){})
|
||
|
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
|
||
|
{
|
||
|
Return (CRSR) /* \CRSR */
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* Unnamed scope */
|
||
|
/* */
|
||
|
Scope (\)
|
||
|
{
|
||
|
Name (BXXX, 0xFFFFFFFF)
|
||
|
}
|
||
|
|
||
|
Name (LANS, 0x00)
|
||
|
PowerResource (LANP, 0x01, 0x0000)
|
||
|
{
|
||
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
||
|
{
|
||
|
If (((LANS & 0x30) == 0x30))
|
||
|
{
|
||
|
Return (One)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (Zero)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (_ON, 0, NotSerialized) // _ON_: Power On
|
||
|
{
|
||
|
If (!_STA ())
|
||
|
{
|
||
|
LANS = 0x30
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
|
||
|
{
|
||
|
If (_STA ())
|
||
|
{
|
||
|
LANS = 0x00
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* Can a method define another method? */
|
||
|
/**********************************
|
||
|
Method (TASK, 2, SERIALIZED)
|
||
|
{
|
||
|
Sleep (100)
|
||
|
Method (TAS2)
|
||
|
{
|
||
|
Sleep (100)
|
||
|
}
|
||
|
TAS2()
|
||
|
Return
|
||
|
}
|
||
|
************************************/
|
||
|
/* A recursive method */
|
||
|
Method (RCIV, 1, NotSerialized)
|
||
|
{
|
||
|
Debug = Arg0
|
||
|
If ((Arg0 == 0x00))
|
||
|
{
|
||
|
Return (Zero)
|
||
|
}
|
||
|
|
||
|
RCIV ((Arg0 - 0x01))
|
||
|
}
|
||
|
|
||
|
Method (RTOP, 0, NotSerialized)
|
||
|
{
|
||
|
RCIV (0x64)
|
||
|
}
|
||
|
|
||
|
Scope (\_PR)
|
||
|
{
|
||
|
Processor (CPU0, 0x00, 0xFFFFFFFF, 0x00){}
|
||
|
}
|
||
|
|
||
|
Name (B1TP, 0xFFFFFFFF)
|
||
|
Name (B2TP, 0xFFFFFFFF)
|
||
|
Name (ADPS, 0xFFFFFFFF)
|
||
|
Name (B1PS, 0xFFFFFFFF)
|
||
|
Name (B1RS, 0xFFFFFFFF)
|
||
|
Name (B1CS, 0xFFFFFFFF)
|
||
|
Name (B2PS, 0xFFFFFFFF)
|
||
|
Name (B2RS, 0xFFFFFFFF)
|
||
|
Name (B2CS, 0xFFFFFFFF)
|
||
|
Name (B1DC, 0x0BB8)
|
||
|
Name (B2DC, 0x0A28)
|
||
|
Name (B1LF, 0x0BB8)
|
||
|
Name (B2LF, 0x0A28)
|
||
|
Name (BPIF, 0x00)
|
||
|
Name (PBLL, 0x00)
|
||
|
Name (RBIF, Package (0x0D)
|
||
|
{
|
||
|
0x01,
|
||
|
0x0898,
|
||
|
0x0898,
|
||
|
0x01,
|
||
|
0x2A30,
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x01,
|
||
|
0x01,
|
||
|
"CA54200-5003/5",
|
||
|
"1",
|
||
|
"LION",
|
||
|
"Fujitsu"
|
||
|
})
|
||
|
Method (SMWE, 4, NotSerialized)
|
||
|
{
|
||
|
Return (Ones)
|
||
|
}
|
||
|
|
||
|
Method (SMRE, 4, NotSerialized)
|
||
|
{
|
||
|
Return (Ones)
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
Method(RDBT,0,Serialized){
|
||
|
If(LNot(SMWE(0x09,0x15,1,1))){
|
||
|
Store(0x18,Local2)
|
||
|
}
|
||
|
}
|
||
|
*/
|
||
|
Scope (_SB)
|
||
|
{
|
||
|
Name (SBUF, Buffer (0x80){})
|
||
|
CreateBitField (SBUF, 0x03, BITY)
|
||
|
CreateByteField (SBUF, 0x01, BYTY)
|
||
|
CreateWordField (SBUF, 0x02, WRDZ)
|
||
|
CreateDWordField (SBUF, 0x04, DWDZ)
|
||
|
CreateQWordField (SBUF, 0x08, QWDZ)
|
||
|
CreateField (SBUF, 0x80, 0x0C, FLDZ)
|
||
|
CreateField (SBUF, 0x94, 0x60, FLDY)
|
||
|
CreateField (SBUF, 0x94, 0x60, \_SB.FLDW)
|
||
|
Method (_INI, 0, NotSerialized) // _INI: Initialize
|
||
|
{
|
||
|
CreateField (\_SB.SBUF, 0x94, 0x60, FLDV)
|
||
|
}
|
||
|
|
||
|
Device (PCI0)
|
||
|
{
|
||
|
Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID
|
||
|
Name (_ADR, 0x00) // _ADR: Address
|
||
|
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
|
||
|
{
|
||
|
Name (PRT0, ResourceTemplate ()/* PRT0 */ /*Minimum bus number suported under this bridge. */
|
||
|
{
|
||
|
WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
|
||
|
0x0000, // Granularity
|
||
|
0xFFF1, // Range Minimum
|
||
|
0xFFF2, // Range Maximum
|
||
|
0x0032, // Translation Offset
|
||
|
0x0002, // Length
|
||
|
,, _Y02)
|
||
|
})
|
||
|
CreateWordField (PRT0, \_SB.PCI0._CRS._Y02._MIN, BMIN) // _MIN: Minimum Base Address
|
||
|
BMIN = 0x03
|
||
|
Return (PRT0) /* \_SB_.PCI0._CRS.PRT0 */
|
||
|
} /* _CRS */
|
||
|
|
||
|
Method (_SRS, 0, NotSerialized) // _SRS: Set Resource Settings
|
||
|
{
|
||
|
Return (Zero)
|
||
|
}
|
||
|
|
||
|
Device (EIO)
|
||
|
{
|
||
|
OperationRegion (FJIO, SystemIO, 0xFD60, 0x06)
|
||
|
Field (FJIO, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
GIDX, 8,
|
||
|
GDTA, 8,
|
||
|
PIDX, 8,
|
||
|
PDTA, 8,
|
||
|
SIDX, 8,
|
||
|
SDTA, 8
|
||
|
}
|
||
|
|
||
|
IndexField (GIDX, GDTA, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
Offset (0x02),
|
||
|
, 5,
|
||
|
VGAS, 2,
|
||
|
Offset (0x04),
|
||
|
, 4,
|
||
|
DCKE, 1,
|
||
|
Offset (0x05),
|
||
|
, 6,
|
||
|
ACPW, 1,
|
||
|
Offset (0x0A),
|
||
|
B1P, 1,
|
||
|
B2P, 1,
|
||
|
B1C, 1,
|
||
|
B2C, 1,
|
||
|
B1ER, 1,
|
||
|
B2ER, 1,
|
||
|
Offset (0x0B),
|
||
|
B1CP, 8,
|
||
|
B2CP, 8,
|
||
|
BCP, 8,
|
||
|
B1VH, 8,
|
||
|
B1VL, 8,
|
||
|
B2VH, 8,
|
||
|
B2VL, 8,
|
||
|
B1TM, 8,
|
||
|
B2TM, 8,
|
||
|
B1CH, 8,
|
||
|
B1CL, 8,
|
||
|
B2CH, 8,
|
||
|
B2CL, 8
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (RDBT, 3, Serialized)
|
||
|
{
|
||
|
Local1 = 0x1FFF
|
||
|
If (Arg0)
|
||
|
{
|
||
|
Local1 = 0x2FFF
|
||
|
}
|
||
|
|
||
|
Local2 = 0x18
|
||
|
If (Arg1)
|
||
|
{
|
||
|
Local2 = 0x10
|
||
|
}
|
||
|
|
||
|
If (!SMRE (0x09, 0x15, 0x01, RefOf (Local0)))
|
||
|
{
|
||
|
If (!SMWE (0x08, 0x14, 0x01, Local1))
|
||
|
{
|
||
|
If (!SMRE (0x09, 0x17, Local2, RefOf (Local3)))
|
||
|
{
|
||
|
Arg2 = Local1
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Local0 |= 0x0FFF
|
||
|
SMWE (0x08, 0x14, 0x01, Local0)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (MKWD, 2, NotSerialized)
|
||
|
{
|
||
|
If ((Arg1 & 0x80))
|
||
|
{
|
||
|
Local0 = (0xFFFF0000 | Arg0)
|
||
|
Local0 |= (Arg1 << 0x08)
|
||
|
Local0 = (Zero - Local0)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Local0 = Arg0
|
||
|
Local0 |= (Arg1 << 0x08)
|
||
|
}
|
||
|
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Device (CMB1)
|
||
|
{
|
||
|
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
|
||
|
Name (_UID, 0x01) // _UID: Unique ID
|
||
|
Alias (\_SB.PCI0.EIO.B1P, \_SB.PCI0.XXXX)
|
||
|
Alias (\_SB.PCI0.EIO.B1P, B1P)
|
||
|
Alias (\_SB.PCI0.EIO.B1C, B1C)
|
||
|
Alias (\_SB.PCI0.EIO.B1CH, B1CH)
|
||
|
Alias (\_SB.PCI0.EIO.B1CL, B1CL)
|
||
|
Alias (\_SB.PCI0.EIO.B1VH, B1VH)
|
||
|
Alias (\_SB.PCI0.EIO.B1VL, B1VL)
|
||
|
Alias (\_SB.PCI0.EIO.B1CP, B1CP)
|
||
|
Method (_INI, 0, NotSerialized) // _INI: Initialize
|
||
|
{
|
||
|
B1PS = B1P /* \CMB1.B1P_ */
|
||
|
B1RS = B1CP /* \CMB1.B1CP */
|
||
|
B1CS = B1C /* \CMB1.B1C_ */
|
||
|
}
|
||
|
|
||
|
Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
|
||
|
{
|
||
|
RDBT (Zero, Zero, RefOf (B1DC))
|
||
|
RDBT (Zero, One, RefOf (B1LF))
|
||
|
RBIF [0x01] = B1DC /* \B1DC */
|
||
|
RBIF [0x02] = B1LF /* \B1LF */
|
||
|
RBIF [0x09] = "CA54200-5003/5"
|
||
|
RBIF [0x0A] = "1"
|
||
|
Return (RBIF) /* \RBIF */
|
||
|
}
|
||
|
|
||
|
Method (_BST, 0, Serialized) // _BST: Battery Status
|
||
|
{
|
||
|
_INI ()
|
||
|
Local0 = Zero
|
||
|
If ((B1P && !B1C))
|
||
|
{
|
||
|
Local0 |= 0x01
|
||
|
}
|
||
|
|
||
|
If ((B1P && B1C))
|
||
|
{
|
||
|
Local0 |= 0x02
|
||
|
}
|
||
|
|
||
|
If ((B1CP <= 0x01))
|
||
|
{
|
||
|
Local0 |= 0x04
|
||
|
}
|
||
|
|
||
|
Local1 = MKWD (B1CL, B1CH)
|
||
|
Store ((((B1CP * B1LF) + 0x63) / 0x64), Local2)
|
||
|
Local3 = MKWD (B1VL, B1VH)
|
||
|
Name (STAT, Package (0x04){})
|
||
|
STAT [0x00] = Local0
|
||
|
STAT [0x01] = Local1
|
||
|
STAT [0x02] = Local2
|
||
|
STAT [0x03] = Local3
|
||
|
If (!BPIF)
|
||
|
{
|
||
|
/* \_SB.PCI0.EIO.EC0.IECT() */
|
||
|
/* \_SB.PCI0.EIO.EC0.SECT() */
|
||
|
BPIF = One
|
||
|
}
|
||
|
|
||
|
Return (STAT) /* \CMB1._BST.STAT */
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Device (DEV1)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
Scope (\_TZ)
|
||
|
{
|
||
|
ThermalZone (TZ1)
|
||
|
{
|
||
|
Name (_PSL, Package (0x01) // _PSL: Passive List
|
||
|
{
|
||
|
\_PR.CPU0
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TZ2, 0, Serialized)
|
||
|
{
|
||
|
Name (_PSL, Package (0x01) // _PSL: Passive List
|
||
|
{
|
||
|
\_PR.CPU0
|
||
|
})
|
||
|
Return (_PSL) /* \TZ2_._PSL */
|
||
|
}
|
||
|
|
||
|
ThermalZone (THM1)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
Method (NOTI, 0, NotSerialized)
|
||
|
{
|
||
|
Notify (\DEV1, 0x00) // Bus Check
|
||
|
Notify (\THM1, 0x00) // Bus Check
|
||
|
Notify (\_PR.CPU0, 0x00) // Bus Check
|
||
|
}
|
||
|
|
||
|
Method (_ERR, 3, NotSerialized)
|
||
|
{
|
||
|
ERRS++
|
||
|
Debug = "Run-time exception:"
|
||
|
Debug = Arg0
|
||
|
Debug = Arg1
|
||
|
Return (0x00) /* Map error to AE_OK */
|
||
|
}
|
||
|
|
||
|
Method (DIV0, 0, NotSerialized)
|
||
|
{
|
||
|
Local0 = 0x01
|
||
|
Local1 = 0x00
|
||
|
Divide (Local0, Local1, Local3)
|
||
|
Debug = "DIV0 - noabort"
|
||
|
}
|
||
|
|
||
|
Method (ERR, 2, NotSerialized)
|
||
|
{
|
||
|
Local0 = ToDecimalString (Arg1)
|
||
|
If ((Arg0 == 0x00))
|
||
|
{
|
||
|
Debug = Concatenate (Concatenate ("+*+*+*+* MTHD_ERROR at line ", Local0), ": Results not equal!")
|
||
|
}
|
||
|
|
||
|
If ((Arg0 == 0x01))
|
||
|
{
|
||
|
Debug = Concatenate (Concatenate ("+*+*+*+* MTHD_ERROR at line ", Local0), ": Numeric result is incorrect!")
|
||
|
}
|
||
|
|
||
|
If ((Arg0 == 0x02))
|
||
|
{
|
||
|
Debug = Concatenate (Concatenate ("+*+*+*+* MTHD_ERROR at line ", Local0), ": Operand was clobbered!")
|
||
|
}
|
||
|
|
||
|
Notify (DEV1, Arg0)
|
||
|
ERRS++
|
||
|
}
|
||
|
|
||
|
Method (R226, 2, NotSerialized)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
Method (R225, 2, NotSerialized)
|
||
|
{
|
||
|
R226 (Arg0, Arg1)
|
||
|
}
|
||
|
|
||
|
Method (R224, 2, NotSerialized)
|
||
|
{
|
||
|
R225 (Arg1, Arg0)
|
||
|
}
|
||
|
|
||
|
Method (R223, 2, NotSerialized)
|
||
|
{
|
||
|
R224 (Arg0, Arg1)
|
||
|
}
|
||
|
|
||
|
Method (R222, 2, NotSerialized)
|
||
|
{
|
||
|
R223 (Arg1, Arg0)
|
||
|
}
|
||
|
|
||
|
Method (R111, 0, NotSerialized)
|
||
|
{
|
||
|
Local0 = 0x01010101
|
||
|
R222 (0xABAB, Local0)
|
||
|
Local1 = Local0
|
||
|
}
|
||
|
|
||
|
Method (MAIN, 0, NotSerialized)
|
||
|
{
|
||
|
/* SIZE() */
|
||
|
|
||
|
Local0 = NUM1 ()
|
||
|
\CMB1._BST ()
|
||
|
RDBT (0x01, 0x02, 0x03)
|
||
|
OBJ1 (0x01)
|
||
|
OBJ2 (0x02)
|
||
|
CHEK ()
|
||
|
RETZ ()
|
||
|
BITZ ()
|
||
|
LOGS ()
|
||
|
REFS ()
|
||
|
COND ()
|
||
|
TZ2 ()
|
||
|
/* */
|
||
|
/* iPCO tests added */
|
||
|
/* */
|
||
|
Local0 = \IFEL.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x040D)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \NOSV.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0414)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \IDXF.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x041B)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \_SB.NSTL.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0422)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \RTBF.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0429)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \_SB.RTLV.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0430)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \_SB.RETP.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0437)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \WHLR.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x043E)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \ANDO.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0445)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \BRKP.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x044C)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \ADSU.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0453)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \INDC.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x045A)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \LOPS.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0461)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \FDSO.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0468)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \MLDV.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x046F)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \NBIT.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0476)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \SHFT.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x047D)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \XORD.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0484)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \CRBF.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x048B)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \IDX4.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0492)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \EVNT.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x0499)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \SZLV.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04A0)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \_SB.BYTF.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04A7)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \DWDF.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04AE)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \DVAX.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04B5)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \IDX6.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04BC)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \IDX5.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04C3)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \_SB.IDX0.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04CA)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \_SB.IDX3.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04D1)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \IDX7.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04D8)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \MTCH.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04DF)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \WHLB.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04E6)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \_SB.IDX2.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04ED)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \SIZO.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04F4)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = \_SB.SMIS.TEST ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x04FB)
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
If ((ERRS > 0x00))
|
||
|
{
|
||
|
Debug = "****** There were errors during the execution of the test ******"
|
||
|
}
|
||
|
|
||
|
/* Flush all notifies */
|
||
|
|
||
|
Sleep (0xFA)
|
||
|
/* */
|
||
|
/* Last Test */
|
||
|
/* */
|
||
|
Return (0x00) /* Success */
|
||
|
}
|
||
|
|
||
|
Method (OBJ1, 1, Serialized)
|
||
|
{
|
||
|
Local0 = 0x03
|
||
|
Name (BUFR, Buffer (Local0){})
|
||
|
Name (BUF1, Buffer (0x04)
|
||
|
{
|
||
|
0x01, 0x02, 0x03, 0x04 // ....
|
||
|
})
|
||
|
Name (BUF2, Buffer (0x04){})
|
||
|
BUF2 = BUF1 /* \OBJ1.BUF1 */
|
||
|
Mutex (MTX1, 0x04)
|
||
|
Alias (MTX1, MTX2)
|
||
|
}
|
||
|
|
||
|
Mutex (MTXT, 0x00)
|
||
|
Mutex (MTXX, 0x00)
|
||
|
/*
|
||
|
* Field Creation
|
||
|
*/
|
||
|
Method (FLDS, 0, Serialized)
|
||
|
{
|
||
|
Debug = "++++++++ Creating BufferFields"
|
||
|
Name (BUF2, Buffer (0x80){})
|
||
|
CreateBitField (BUF2, 0x03, BIT2)
|
||
|
CreateByteField (BUF2, 0x01, BYT2)
|
||
|
CreateWordField (BUF2, 0x02, WRD2)
|
||
|
CreateDWordField (BUF2, 0x04, DWD2)
|
||
|
CreateQWordField (BUF2, 0x08, QWD2)
|
||
|
CreateField (BUF2, 0x80, 0x0C, FLD2)
|
||
|
CreateField (BUF2, 0x94, 0x60, FLD3)
|
||
|
BIT2 = 0x01
|
||
|
Local0 = BIT2 /* \FLDS.BIT2 */
|
||
|
If ((Local0 != 0x01))
|
||
|
{
|
||
|
ERR (0x01, 0x0537)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Local0 = DerefOf (BUF2 [0x00])
|
||
|
If ((Local0 != 0x08))
|
||
|
{
|
||
|
ERR (0x01, 0x053E)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Debug = "++++++++ Bit BufferField I/O PASS"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
BYT2 = 0x1A
|
||
|
Local0 = BYT2 /* \FLDS.BYT2 */
|
||
|
If ((Local0 != 0x1A))
|
||
|
{
|
||
|
ERR (0x01, 0x054A)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Debug = "++++++++ Byte BufferField I/O PASS"
|
||
|
}
|
||
|
|
||
|
WRD2 = 0x1234
|
||
|
Local0 = WRD2 /* \FLDS.WRD2 */
|
||
|
If ((Local0 != 0x1234))
|
||
|
{
|
||
|
ERR (0x01, 0x0555)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Debug = "++++++++ Word BufferField I/O PASS"
|
||
|
}
|
||
|
|
||
|
FLD2 = 0x0123
|
||
|
Local0 = FLD2 /* \FLDS.FLD2 */
|
||
|
If ((Local0 != 0x0123))
|
||
|
{
|
||
|
ERR (0x01, 0x0560)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Debug = "++++++++ 12-bit BufferField I/O PASS"
|
||
|
}
|
||
|
|
||
|
DWD2 = 0x12345678
|
||
|
Local0 = DWD2 /* \FLDS.DWD2 */
|
||
|
If ((Local0 != 0x12345678))
|
||
|
{
|
||
|
ERR (0x01, 0x056B)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Debug = "++++++++ Dword BufferField I/O PASS"
|
||
|
}
|
||
|
|
||
|
QWD2 = 0x1234567887654321
|
||
|
Local0 = QWD2 /* \FLDS.QWD2 */
|
||
|
If ((Local0 != 0x1234567887654321))
|
||
|
{
|
||
|
ERR (0x01, 0x0576)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Debug = "++++++++ Qword BufferField I/O PASS"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* Field execution */
|
||
|
|
||
|
Method (FLDX, 0, Serialized)
|
||
|
{
|
||
|
Field (\_SB.MEM.SMEM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field: SMEM overlay using 32-bit field elements */
|
||
|
|
||
|
SMD0, /* 32-bits */ 32,
|
||
|
SMD1, /* 32-bits */ 32,
|
||
|
SMD2, /* 32-bits */ 32,
|
||
|
SMD3, /* 32-bits */ 32
|
||
|
} /* Field: SMEM overlay using 32-bit field elements */
|
||
|
|
||
|
Field (\_SB.MEM.SMEM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field: SMEM overlay using greater than 32-bit field elements */
|
||
|
|
||
|
SME0, /* larger than an integer (32 or 64) */ 69,
|
||
|
SME1, /* larger than an integer */ 97
|
||
|
} /* Field: SMEM overlay using greater than 32-bit field elements */
|
||
|
}
|
||
|
|
||
|
Method (MTX, 0, NotSerialized)
|
||
|
{
|
||
|
/* Test "Force release" of mutex on method exit */
|
||
|
|
||
|
Acquire (MTXT, 0xFFFF)
|
||
|
Acquire (MTXX, 0xFFFF)
|
||
|
Debug = "++++++++ Acquiring Mutex MTX2"
|
||
|
Acquire (_GL, 0xFFFF)
|
||
|
Debug = "++++++++ Releasing Mutex MTX2"
|
||
|
Release (_GL)
|
||
|
}
|
||
|
|
||
|
Method (OBJ2, 1, Serialized)
|
||
|
{
|
||
|
Debug = "++++++++ Creating Buffer BUFO"
|
||
|
Name (BUFO, Buffer (0x20){})
|
||
|
Debug = "++++++++ Creating OpRegion OPR2"
|
||
|
OperationRegion (OPR2, SystemMemory, Arg0, 0x0100)
|
||
|
Debug = "++++++++ Creating Field(s) in OpRegion OPR2"
|
||
|
Field (OPR2, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
IDX2, 8,
|
||
|
DAT2, 8,
|
||
|
BNK2, 4
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ Creating BankField BNK2 in OpRegion OPR2"
|
||
|
/* */
|
||
|
/* mcw 3/20/00 - changed FET0, 4, FET1, 3 to FET0, 1, FET1, 1 */
|
||
|
/* */
|
||
|
BankField (OPR2, BNK2, 0x00, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
FET0, 4,
|
||
|
FET1, 3
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ Creating IndexField"
|
||
|
IndexField (IDX2, DAT2, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
FET2, 4,
|
||
|
FET3, 3
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ SizeOf (BUFO)"
|
||
|
SizeOf (BUFO)
|
||
|
Debug = "++++++++ Store (SizeOf (BUFO), Local0)"
|
||
|
Local0 = SizeOf (BUFO)
|
||
|
Debug = "++++++++ Concatenate (\"abd\", \"def\", Local0)"
|
||
|
Concatenate ("abd", "def", Local0)
|
||
|
Debug = Local0
|
||
|
Debug = "++++++++ Concatenate (\"abd\", 0x7B, Local0)"
|
||
|
Concatenate ("abd", 0x7B, Local0)
|
||
|
Debug = Local0
|
||
|
Debug = "++++++++ Creating Event EVT2"
|
||
|
Event (EVT2)
|
||
|
Debug = "++++++++ Creating Mutex MTX2"
|
||
|
Mutex (MTX2, 0x00)
|
||
|
Debug = "++++++++ Creating Alias MTXA to MTX2"
|
||
|
Alias (MTX2, MTXA)
|
||
|
Debug = "++++++++ Acquiring Mutex MTX2"
|
||
|
Acquire (MTX2, 0xFFFF)
|
||
|
Debug = "++++++++ Acquiring Mutex MTX2 (2nd acquire)"
|
||
|
Acquire (MTX2, 0x0001)
|
||
|
Debug = "++++++++ Releasing Mutex MTX2"
|
||
|
Release (MTX2)
|
||
|
/* Type 1 opcodes */
|
||
|
|
||
|
Debug = "++++++++ Signalling Event EVT2"
|
||
|
Signal (EVT2)
|
||
|
Debug = "++++++++ Resetting Event EVT2"
|
||
|
Reset (EVT2)
|
||
|
Debug = "++++++++ Signalling Event EVT2"
|
||
|
Signal (EVT2)
|
||
|
Debug = "++++++++ Waiting Event EVT2"
|
||
|
Wait (EVT2, 0xFFFF)
|
||
|
Debug = "++++++++ Sleep"
|
||
|
Sleep (0x64)
|
||
|
Debug = "++++++++ Stall"
|
||
|
Stall (0xFE)
|
||
|
Debug = "++++++++ NoOperation"
|
||
|
Noop
|
||
|
/* Type 2 Opcodes */
|
||
|
|
||
|
Debug = "++++++++ Return from Method OBJ2"
|
||
|
Return (0x04)
|
||
|
}
|
||
|
|
||
|
Method (NUM1, 0, NotSerialized)
|
||
|
{
|
||
|
/* ADD */
|
||
|
|
||
|
Debug = "++++++++ Add (0x12345678, 0x11111111, Local0)"
|
||
|
Local0 = (0x12345678 + 0x11111111)
|
||
|
Debug = "++++++++ Store (Add (0x12345678, 0x11111111), Local1)"
|
||
|
Store ((0x12345678 + 0x11111111), Local1)
|
||
|
Debug = "++++++++ Checking result from ADD"
|
||
|
If ((Local0 != Local1))
|
||
|
{
|
||
|
ERR (0x00, 0x060E)
|
||
|
}
|
||
|
|
||
|
/* SUBTRACT */
|
||
|
|
||
|
Debug = "++++++++ Subtract (0x87654321, 0x11111111, Local4)"
|
||
|
Local4 = (0x87654321 - 0x11111111)
|
||
|
Debug = "++++++++ Store (Subtract (0x87654321, 0x11111111), Local5)"
|
||
|
Store ((0x87654321 - 0x11111111), Local5)
|
||
|
Debug = "++++++++ Checking result from SUBTRACT"
|
||
|
If ((Local4 != Local5))
|
||
|
{
|
||
|
ERR (0x00, 0x061D)
|
||
|
}
|
||
|
|
||
|
/* MULTIPLY */
|
||
|
|
||
|
Debug = "++++++++ Multiply (33, 10, Local6)"
|
||
|
Local6 = (0x21 * 0x0A)
|
||
|
Debug = "++++++++ Store (Multiply (33, 10), Local7)"
|
||
|
Store ((0x21 * 0x0A), Local7)
|
||
|
Debug = "++++++++ Checking result from MULTIPLY"
|
||
|
If ((Local6 != Local7))
|
||
|
{
|
||
|
ERR (0x00, 0x062D)
|
||
|
}
|
||
|
|
||
|
/* DIVIDE */
|
||
|
|
||
|
Debug = "++++++++ Divide (100, 9, Local1, Local2)"
|
||
|
Divide (0x64, 0x09, Local1, Local2)
|
||
|
Debug = "++++++++ Store (Divide (100, 9), Local3)"
|
||
|
Store ((0x64 / 0x09), Local3)
|
||
|
Debug = "++++++++ Checking (quotient) result from DIVIDE"
|
||
|
If ((Local2 != Local3))
|
||
|
{
|
||
|
ERR (0x00, 0x063C)
|
||
|
}
|
||
|
|
||
|
/* INCREMENT */
|
||
|
|
||
|
Debug = "++++++++ Increment (Local0)"
|
||
|
Local0 = 0x01
|
||
|
Local1 = 0x02
|
||
|
Local0++
|
||
|
Debug = "++++++++ Checking result from INCREMENT"
|
||
|
If ((Local0 != Local1))
|
||
|
{
|
||
|
ERR (0x00, 0x064A)
|
||
|
}
|
||
|
|
||
|
/* DECREMENT */
|
||
|
|
||
|
Debug = "++++++++ Decrement (Local0)"
|
||
|
Local0 = 0x02
|
||
|
Local1 = 0x01
|
||
|
Local0--
|
||
|
Debug = "++++++++ Checking result from DECREMENT"
|
||
|
If ((Local0 != Local1))
|
||
|
{
|
||
|
ERR (0x00, 0x0658)
|
||
|
}
|
||
|
|
||
|
/* TOBCD */
|
||
|
/* FROMBCD */
|
||
|
Debug = "++++++++ ToBCD (0x1234, Local5)"
|
||
|
ToBCD (0x1234, Local5)
|
||
|
Debug = "++++++++ FromBCD (Local5, Local6)"
|
||
|
FromBCD (Local5, Local6)
|
||
|
Debug = "++++++++ Return (Local6)"
|
||
|
Return (Local6)
|
||
|
}
|
||
|
|
||
|
Method (CHEK, 0, NotSerialized)
|
||
|
{
|
||
|
Local0 = 0x03
|
||
|
Debug = 0x03
|
||
|
Debug = Local0
|
||
|
Local1 = 0x07
|
||
|
(Local0 + Local1)
|
||
|
If ((Local0 != 0x03))
|
||
|
{
|
||
|
ERR (0x02, 0x0675)
|
||
|
}
|
||
|
|
||
|
If ((Local1 != 0x07))
|
||
|
{
|
||
|
ERR (0x02, 0x0679)
|
||
|
}
|
||
|
|
||
|
Local2 = (Local0 + Local1)
|
||
|
If ((Local0 != 0x03))
|
||
|
{
|
||
|
ERR (0x02, 0x0680)
|
||
|
}
|
||
|
|
||
|
If ((Local1 != 0x07))
|
||
|
{
|
||
|
ERR (0x02, 0x0684)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (RET1, 0, NotSerialized)
|
||
|
{
|
||
|
Local0 = 0x03
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Method (RET2, 0, NotSerialized)
|
||
|
{
|
||
|
Return (RET1 ())
|
||
|
}
|
||
|
|
||
|
Method (RETZ, 0, NotSerialized)
|
||
|
{
|
||
|
RET2 ()
|
||
|
}
|
||
|
|
||
|
Method (BITZ, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ FindSetLeftBit (0x00100100, Local0)"
|
||
|
FindSetLeftBit (0x00100100, Local0)
|
||
|
If ((Local0 != 0x15))
|
||
|
{
|
||
|
ERR (0x01, 0x06A0)
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ FindSetRightBit (0x00100100, Local1)"
|
||
|
FindSetRightBit (0x00100100, Local1)
|
||
|
If ((Local1 != 0x09))
|
||
|
{
|
||
|
ERR (0x01, 0x06A7)
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ And (0xF0F0F0F0, 0x11111111, Local2)"
|
||
|
Local2 = (0xF0F0F0F0 & 0x11111111)
|
||
|
If ((Local2 != 0x10101010))
|
||
|
{
|
||
|
ERR (0x01, 0x06AE)
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ NAnd (0xF0F0F0F0, 0x11111111, Local3)"
|
||
|
NAnd (0xF0F0F0F0, 0x11111111, Local3)
|
||
|
If ((Local3 != 0xEFEFEFEF))
|
||
|
{
|
||
|
ERR (0x01, 0x06B5)
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ Or (0x11111111, 0x22222222, Local4)"
|
||
|
Local4 = (0x11111111 | 0x22222222)
|
||
|
If ((Local4 != 0x33333333))
|
||
|
{
|
||
|
ERR (0x01, 0x06BC)
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ NOr (0x11111111, 0x22222222, Local5)"
|
||
|
NOr (0x11111111, 0x22222222, Local5)
|
||
|
If ((Local5 != 0xCCCCCCCC))
|
||
|
{
|
||
|
ERR (0x01, 0x06C3)
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ XOr (0x11113333, 0x22222222, Local6)"
|
||
|
Local6 = (0x11113333 ^ 0x22222222)
|
||
|
If ((Local6 != 0x33331111))
|
||
|
{
|
||
|
ERR (0x01, 0x06CA)
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ ShiftLeft (0x11112222, 2, Local7)"
|
||
|
Local7 = (0x11112222 << 0x02)
|
||
|
If ((Local7 != 0x44448888))
|
||
|
{
|
||
|
ERR (0x01, 0x06D1)
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ ShiftRight (Local7, 2, Local7)"
|
||
|
Local7 >>= 0x02
|
||
|
If ((Local7 != 0x11112222))
|
||
|
{
|
||
|
ERR (0x01, 0x06D8)
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ Not (Local0, Local1)"
|
||
|
Local0 = 0x22224444
|
||
|
Local1 = ~Local0
|
||
|
If ((Local0 != 0x22224444))
|
||
|
{
|
||
|
ERR (0x02, 0x06E1)
|
||
|
}
|
||
|
|
||
|
If ((Local1 != 0xDDDDBBBB))
|
||
|
{
|
||
|
ERR (0x01, 0x06E6)
|
||
|
}
|
||
|
|
||
|
Return (Local7)
|
||
|
}
|
||
|
|
||
|
Method (LOGS, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ Store (LAnd (0xFFFFFFFF, 0x11111111), Local0)"
|
||
|
Local0 = (0xFFFFFFFF && 0x11111111)
|
||
|
Debug = "++++++++ Store (LEqual (0xFFFFFFFF, 0x11111111), Local)"
|
||
|
Local1 = (0xFFFFFFFF == 0x11111111)
|
||
|
Debug = "++++++++ Store (LGreater (0xFFFFFFFF, 0x11111111), Local2)"
|
||
|
Local2 = (0xFFFFFFFF > 0x11111111)
|
||
|
Debug = "++++++++ Store (LGreaterEqual (0xFFFFFFFF, 0x11111111), Local3)"
|
||
|
Local3 = (0xFFFFFFFF >= 0x11111111)
|
||
|
Debug = "++++++++ Store (LLess (0xFFFFFFFF, 0x11111111), Local4)"
|
||
|
Local4 = (0xFFFFFFFF < 0x11111111)
|
||
|
Debug = "++++++++ Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)"
|
||
|
Local5 = (0xFFFFFFFF <= 0x11111111)
|
||
|
Debug = "++++++++ Store (LNot (0x31313131), Local6)"
|
||
|
Local6 = 0x1111
|
||
|
Local7 = !Local6
|
||
|
If ((Local6 != 0x1111))
|
||
|
{
|
||
|
ERR (0x02, 0x0707)
|
||
|
}
|
||
|
|
||
|
If ((Local7 != 0x00))
|
||
|
{
|
||
|
ERR (0x01, 0x070C)
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ Store (LNotEqual (0xFFFFFFFF, 0x11111111), Local7)"
|
||
|
Local7 = (0xFFFFFFFF != 0x11111111)
|
||
|
Debug = "++++++++ Lor (0x0, 0x1)"
|
||
|
If ((0x00 || 0x01))
|
||
|
{
|
||
|
Debug = "+_+_+_+_+ Lor (0x0, 0x1) returned TRUE"
|
||
|
}
|
||
|
|
||
|
Return (Local7)
|
||
|
}
|
||
|
|
||
|
Method (COND, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ Store (0x4, Local0)"
|
||
|
Local0 = 0x04
|
||
|
Debug = "++++++++ While (Local0)"
|
||
|
While (Local0)
|
||
|
{
|
||
|
Debug = "++++++++ Decrement (Local0)"
|
||
|
Local0--
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ Store (0x3, Local6)"
|
||
|
Local6 = 0x03
|
||
|
Debug = "++++++++ While (Subtract (Local6, 1))"
|
||
|
While ((Local6 - 0x01))
|
||
|
{
|
||
|
Debug = "++++++++ Decrement (Local6)"
|
||
|
Local6--
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ [LVL1] If (LGreater (0x2, 0x1))"
|
||
|
If ((0x02 > 0x01))
|
||
|
{
|
||
|
Debug = "++++++++ [LVL2] If (LEqual (0x11111111, 0x22222222))"
|
||
|
If ((0x11111111 == 0x22222222))
|
||
|
{
|
||
|
Debug = "++++++++ ERROR: If (LEqual (0x11111111, 0x22222222)) returned TRUE"
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Debug = "++++++++ [LVL3] If (LNot (0x0))"
|
||
|
If (!0x00)
|
||
|
{
|
||
|
Debug = "++++++++ [LVL4] If (LAnd (0xEEEEEEEE, 0x2))"
|
||
|
If ((0xEEEEEEEE && 0x02))
|
||
|
{
|
||
|
Debug = "++++++++ [LVL5] If (LLess (0x44444444, 0x3))"
|
||
|
If ((0x44444444 < 0x03))
|
||
|
{
|
||
|
Debug = "++++++++ ERROR: If (LLess (0x44444444, 0x3)) returned TRUE"
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Debug = "++++++++ Exiting from nested IF/ELSE statements"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Debug = "++++++++ [LVL1] If (LGreater (0x2, 0x1))"
|
||
|
If ((0x02 > 0x01))
|
||
|
{
|
||
|
Debug = "++++++++ [LVL2] If (LEqual (0x11111111, 0x22222222))"
|
||
|
If ((0x11111111 == 0x22222222))
|
||
|
{
|
||
|
Debug = "++++++++ ERROR: If (LEqual (0x11111111, 0x22222222)) returned TRUE"
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Debug = "++++++++ [LVL3] If (LNot (0x0))"
|
||
|
If (!0x00)
|
||
|
{
|
||
|
Debug = "++++++++ [LVL4] If (LAnd (0xEEEEEEEE, 0x2))"
|
||
|
If ((0xEEEEEEEE && 0x02))
|
||
|
{
|
||
|
Debug = "++++++++ [LVL5] If (LLess (0x44444444, 0x3))"
|
||
|
If ((0x44444444 < 0x03))
|
||
|
{
|
||
|
Debug = "++++++++ ERROR: If (LLess (0x44444444, 0x3)) returned TRUE"
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Debug = "++++++++ Returning from nested IF/ELSE statements"
|
||
|
Return (Local6)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (REFS, 0, Serialized)
|
||
|
{
|
||
|
Name (BBUF, Buffer (0x08)
|
||
|
{
|
||
|
0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7 // ........
|
||
|
})
|
||
|
Name (NEST, Package (0x02)
|
||
|
{
|
||
|
Package (0x06)
|
||
|
{
|
||
|
0x01,
|
||
|
0x02,
|
||
|
0x03,
|
||
|
0x04,
|
||
|
0x05,
|
||
|
0x06
|
||
|
},
|
||
|
|
||
|
Package (0x06)
|
||
|
{
|
||
|
0x11,
|
||
|
0x12,
|
||
|
0x12,
|
||
|
0x14,
|
||
|
0x15,
|
||
|
0x16
|
||
|
}
|
||
|
})
|
||
|
Local5 = RefOf (MAIN)
|
||
|
/* For this to work, ABCD must NOT exist. */
|
||
|
|
||
|
Local1 = CondRefOf (ABCD, Local0)
|
||
|
If ((Local1 != 0x00))
|
||
|
{
|
||
|
ERR (0x02, 0x0791)
|
||
|
}
|
||
|
|
||
|
Local1 = CondRefOf (BBUF, Local0)
|
||
|
If ((Local1 != Ones))
|
||
|
{
|
||
|
ERR (0x02, 0x0797)
|
||
|
}
|
||
|
|
||
|
Local6 = DerefOf (BBUF [0x03])
|
||
|
If ((Local6 != 0xB3))
|
||
|
{
|
||
|
ERR (0x02, 0x079D)
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DerefOf (NEST [0x01]) [0x03])
|
||
|
If ((Local0 != 0x14))
|
||
|
{
|
||
|
ERR (0x02, 0x07A3)
|
||
|
}
|
||
|
|
||
|
Local0 = 0x11223344
|
||
|
Local1 = RefOf (Local0)
|
||
|
Local2 = DerefOf (Local1)
|
||
|
If ((Local2 != 0x11223344))
|
||
|
{
|
||
|
ERR (0x02, 0x07AD)
|
||
|
}
|
||
|
/* Parser thinks this is a method invocation!! */
|
||
|
/* RefOf (MAIN) */
|
||
|
/* RefOf (R___) */
|
||
|
/* RefOf (BBUF) */
|
||
|
/* Store (RefOf (Local0), Local1) */
|
||
|
/* CondRefOf (BBUF, Local2) */
|
||
|
/* CondRefOf (R___, Local3) */
|
||
|
/* Store (DerefOf (Local1), Local4) */
|
||
|
/* Return (Local4) */
|
||
|
}
|
||
|
|
||
|
Method (INDX, 0, Serialized)
|
||
|
{
|
||
|
Name (STAT, Package (0x04){})
|
||
|
STAT [0x00] = 0x44443333
|
||
|
}
|
||
|
|
||
|
/*================================================================= */
|
||
|
/*================================================================= */
|
||
|
/*===================== iPCO TESTS ================================ */
|
||
|
/*================================================================= */
|
||
|
/*================================================================= */
|
||
|
/* */
|
||
|
/* */
|
||
|
/* test IfElseOp.asl */
|
||
|
/* */
|
||
|
/* test for IfOp and ElseOp, including validation of object stack cleanup */
|
||
|
/* */
|
||
|
Device (IFEL)
|
||
|
{
|
||
|
Name (DWRD, 0x01)
|
||
|
Name (RSLT, 0x00)
|
||
|
/* IFNR control method executes IfOp branch with NO nested Return */
|
||
|
/* and no Else branch */
|
||
|
Method (IFNR, 0, NotSerialized)
|
||
|
{
|
||
|
RSLT = DWRD /* \IFEL.DWRD */
|
||
|
If ((DWRD == 0x01))
|
||
|
{
|
||
|
RSLT = 0x00
|
||
|
}
|
||
|
} /* IFNR */
|
||
|
|
||
|
/* NINR control method does not execute If branch and has no Else branch */
|
||
|
|
||
|
Method (NINR, 0, NotSerialized)
|
||
|
{
|
||
|
RSLT = 0x00
|
||
|
If ((DWRD != 0x01))
|
||
|
{
|
||
|
RSLT = DWRD /* \IFEL.DWRD */
|
||
|
}
|
||
|
} /* NINR */
|
||
|
|
||
|
/* IENR control method executes IfOp branch with NO nested Return */
|
||
|
|
||
|
Method (IENR, 0, NotSerialized)
|
||
|
{
|
||
|
If ((DWRD == 0x01))
|
||
|
{
|
||
|
RSLT = 0x00
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
RSLT = DWRD /* \IFEL.DWRD */
|
||
|
}
|
||
|
} /* IENR */
|
||
|
|
||
|
/* ELNR control method executes ElseOp branch with NO nested Return */
|
||
|
|
||
|
Method (ELNR, 0, NotSerialized)
|
||
|
{
|
||
|
If ((DWRD != 0x01))
|
||
|
{
|
||
|
RSLT = DWRD /* \IFEL.DWRD */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
RSLT = 0x00
|
||
|
}
|
||
|
} /* ELNR */
|
||
|
|
||
|
/* IFRT control method executes IfOp branch with nested Return with */
|
||
|
/* no Else branch */
|
||
|
Method (IFRT, 0, NotSerialized)
|
||
|
{
|
||
|
If ((DWRD == 0x01))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
Return (DWRD) /* \IFEL.DWRD */
|
||
|
} /* IFRT */
|
||
|
|
||
|
/* IERT control method executes IfOp branch with nested Return with */
|
||
|
/* Else branch */
|
||
|
Method (IERT, 0, NotSerialized)
|
||
|
{
|
||
|
If ((DWRD == 0x01))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (DWRD) /* \IFEL.DWRD */
|
||
|
}
|
||
|
} /* IERT */
|
||
|
|
||
|
/* ELRT control method executes ElseOp branch with nested Return */
|
||
|
|
||
|
Method (ELRT, 0, NotSerialized)
|
||
|
{
|
||
|
If ((DWRD != 0x01))
|
||
|
{
|
||
|
Return (DWRD) /* \IFEL.DWRD */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
} /* ELRT */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ IfElseOp Test"
|
||
|
/* IfOp with NO return value */
|
||
|
|
||
|
IFNR ()
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \IFEL.RSLT */
|
||
|
}
|
||
|
|
||
|
/* IfOp with NO return value */
|
||
|
|
||
|
NINR ()
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \IFEL.RSLT */
|
||
|
}
|
||
|
|
||
|
/* IfOp with NO return value */
|
||
|
|
||
|
IENR ()
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \IFEL.RSLT */
|
||
|
}
|
||
|
|
||
|
/* ElseOp with NO return value */
|
||
|
|
||
|
ELNR ()
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \IFEL.RSLT */
|
||
|
}
|
||
|
|
||
|
/* IfOp with return value */
|
||
|
|
||
|
RSLT = IFRT ()
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \IFEL.RSLT */
|
||
|
}
|
||
|
|
||
|
/* IfOp with return value */
|
||
|
|
||
|
RSLT = IERT ()
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \IFEL.RSLT */
|
||
|
}
|
||
|
|
||
|
/* ElseOp with return value */
|
||
|
|
||
|
RSLT = ELRT ()
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \IFEL.RSLT */
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* IFEL */
|
||
|
|
||
|
/* */
|
||
|
/* test NoSave.asl */
|
||
|
/* */
|
||
|
/* */
|
||
|
/* Internal test cases to validate IfOp (Operator (,,)) where Operator */
|
||
|
/* target is ZeroOp to throw away the results. */
|
||
|
/* Includes internal test cases for logical operators with no destination */
|
||
|
/* operands. */
|
||
|
/* */
|
||
|
Device (NOSV)
|
||
|
{
|
||
|
Method (TEST, 0, Serialized)
|
||
|
{
|
||
|
Debug = "++++++++ NoSave Test"
|
||
|
Name (WRD, 0x1234)
|
||
|
/* */
|
||
|
/* Begin test of nested operators without saving results */
|
||
|
/* */
|
||
|
/* Test If (And ()) with no save of And result */
|
||
|
If ((0x03 & 0x01))
|
||
|
{
|
||
|
WRD = 0x01 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x01) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (And ()) with no save of And result */
|
||
|
|
||
|
If ((0x04 & 0x01))
|
||
|
{
|
||
|
Return (0x02) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x02 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (NAnd ()) with no save of NAnd result */
|
||
|
|
||
|
If (NAnd (0x03, 0x01))
|
||
|
{
|
||
|
WRD = 0x03 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x03) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (NAnd ()) with no save of NAnd result */
|
||
|
|
||
|
If (NAnd (0xFFFFFFFF, 0xFFFFFFFF))
|
||
|
{
|
||
|
Return (0x04) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x04 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (NOr ()) with no save of NOr result */
|
||
|
|
||
|
If (NOr (0x00, 0x01))
|
||
|
{
|
||
|
WRD = 0x05 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x05) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (NOr ()) with no save of NOr result */
|
||
|
|
||
|
If (NOr (0xFFFFFFFE, 0x01))
|
||
|
{
|
||
|
Return (0x06) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x06 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (Not ()) with no save of Not result */
|
||
|
|
||
|
If (~0x01)
|
||
|
{
|
||
|
WRD = 0x07 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x07) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (Not ()) with no save of Not result */
|
||
|
|
||
|
If (~0xFFFFFFFF)
|
||
|
{
|
||
|
Return (0x08) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x08 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (Or ()) with no save of Or result */
|
||
|
|
||
|
If ((0x03 | 0x01))
|
||
|
{
|
||
|
WRD = 0x09 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x09) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (Or ()) with no save of Or result */
|
||
|
|
||
|
If ((0x00 | 0x00))
|
||
|
{
|
||
|
Return (0x0A) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x0A /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (XOr ()) with no save of XOr result */
|
||
|
|
||
|
If ((0x03 ^ 0x01))
|
||
|
{
|
||
|
WRD = 0x0B /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x0B) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (XOr ()) with no save of XOr result */
|
||
|
|
||
|
If ((0x03 ^ 0x03))
|
||
|
{
|
||
|
Return (0x0C) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x0C /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* Begin test of logical operators with no destination operands */
|
||
|
/* */
|
||
|
/* Test If (LAnd ()) with no save of LAnd result */
|
||
|
If ((0x03 && 0x03))
|
||
|
{
|
||
|
WRD = 0x15 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x15) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LAnd ()) with no save of LAnd result */
|
||
|
|
||
|
If ((0x03 && 0x00))
|
||
|
{
|
||
|
Return (0x16) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x16 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LAnd ()) with no save of LAnd result */
|
||
|
|
||
|
If ((0x00 && 0x03))
|
||
|
{
|
||
|
Return (0x17) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x17 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LAnd ()) with no save of LAnd result */
|
||
|
|
||
|
If ((0x00 && 0x00))
|
||
|
{
|
||
|
Return (0x18) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x18 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LEqual ()) with no save of LEqual result */
|
||
|
|
||
|
If ((0x03 == 0x03))
|
||
|
{
|
||
|
WRD = 0x1F /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x1F) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LEqual ()) with no save of LEqual result */
|
||
|
|
||
|
If ((0x01 == 0x03))
|
||
|
{
|
||
|
Return (0x20) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x20 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LGreater ()) with no save of LGreater result */
|
||
|
|
||
|
If ((0x03 > 0x01))
|
||
|
{
|
||
|
WRD = 0x29 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x29) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LGreater ()) with no save of LGreater result */
|
||
|
|
||
|
If ((0x04 > 0x04))
|
||
|
{
|
||
|
Return (0x2A) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x2A /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LGreater ()) with no save of LGreater result */
|
||
|
|
||
|
If ((0x01 > 0x04))
|
||
|
{
|
||
|
Return (0x2B) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x2B /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LGreaterEqual ()) with no save of LGreaterEqual result */
|
||
|
|
||
|
If ((0x03 >= 0x01))
|
||
|
{
|
||
|
WRD = 0x2C /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x2C) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LGreaterEqual ()) with no save of LGreaterEqual result */
|
||
|
|
||
|
If ((0x03 >= 0x03))
|
||
|
{
|
||
|
WRD = 0x2D /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x2D) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LGreaterEqual ()) with no save of LGreaterEqual result */
|
||
|
|
||
|
If ((0x03 >= 0x04))
|
||
|
{
|
||
|
Return (0x2E) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x2E /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LLess ()) with no save of LLess result */
|
||
|
|
||
|
If ((0x01 < 0x03))
|
||
|
{
|
||
|
WRD = 0x33 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x33) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LLess ()) with no save of LLess result */
|
||
|
|
||
|
If ((0x02 < 0x02))
|
||
|
{
|
||
|
Return (0x34) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x34 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LLess ()) with no save of LLess result */
|
||
|
|
||
|
If ((0x04 < 0x02))
|
||
|
{
|
||
|
Return (0x35) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x35 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LLessEqual ()) with no save of LLessEqual result */
|
||
|
|
||
|
If ((0x01 <= 0x03))
|
||
|
{
|
||
|
WRD = 0x36 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x36) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LLessEqual ()) with no save of LLessEqual result */
|
||
|
|
||
|
If ((0x02 <= 0x02))
|
||
|
{
|
||
|
WRD = 0x37 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x37) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LLessEqual ()) with no save of LLessEqual result */
|
||
|
|
||
|
If ((0x04 <= 0x02))
|
||
|
{
|
||
|
Return (0x38) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x38 /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LNot ()) with no save of LNot result */
|
||
|
|
||
|
If (!0x00)
|
||
|
{
|
||
|
WRD = 0x3D /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x3D) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LNot ()) with no save of LNot result */
|
||
|
|
||
|
If (!0x01)
|
||
|
{
|
||
|
Return (0x3E) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x3E /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LNotEqual ()) with no save of LNotEqual result */
|
||
|
|
||
|
If ((0x03 != 0x03))
|
||
|
{
|
||
|
Return (0x3F) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x3F /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
/* Test If (LNotEqual ()) with no save of LNotEqual result */
|
||
|
|
||
|
If ((0x01 != 0x03))
|
||
|
{
|
||
|
WRD = 0x40 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x40) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LOr ()) with no save of LOr result */
|
||
|
|
||
|
If ((0x03 || 0x01))
|
||
|
{
|
||
|
WRD = 0x47 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x47) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LOr ()) with no save of LOr result */
|
||
|
|
||
|
If ((0x00 || 0x01))
|
||
|
{
|
||
|
WRD = 0x48 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x48) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LOr ()) with no save of LOr result */
|
||
|
|
||
|
If ((0x03 || 0x00))
|
||
|
{
|
||
|
WRD = 0x49 /* pass -- just do something */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x49) /* fail */
|
||
|
}
|
||
|
|
||
|
/* Test If (LOr ()) with no save of LOr result */
|
||
|
|
||
|
If ((0x00 || 0x00))
|
||
|
{
|
||
|
Return (0x4A) /* fail */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
WRD = 0x4A /* pass -- just do something */
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* NOSV */
|
||
|
|
||
|
/* */
|
||
|
/* test IndxFld.asl */
|
||
|
/* */
|
||
|
/* IndexFld test */
|
||
|
/* This is just a subset of the many RegionOp/Index Field test cases. */
|
||
|
/* Tests index field element AccessAs macro. */
|
||
|
/* */
|
||
|
Device (IDXF)
|
||
|
{
|
||
|
/* Test device name */
|
||
|
|
||
|
OperationRegion (SIO, SystemIO, 0x0100, 0x02)
|
||
|
Field (SIO, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
INDX, 8,
|
||
|
DATA, 8
|
||
|
}
|
||
|
|
||
|
IndexField (INDX, DATA, AnyAcc, NoLock, WriteAsOnes)
|
||
|
{
|
||
|
AccessAs (ByteAcc, 0x00),
|
||
|
IFE0, 8,
|
||
|
IFE1, 8,
|
||
|
IFE2, 8,
|
||
|
IFE3, 8,
|
||
|
IFE4, 8,
|
||
|
IFE5, 8,
|
||
|
IFE6, 8,
|
||
|
IFE7, 8,
|
||
|
IFE8, 8,
|
||
|
IFE9, 8
|
||
|
}
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ IndxFld Test"
|
||
|
Local0 = IFE0 /* \IDXF.IFE0 */
|
||
|
Local1 = IFE1 /* \IDXF.IFE1 */
|
||
|
Local2 = IFE2 /* \IDXF.IFE2 */
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* IDXF */
|
||
|
|
||
|
/* */
|
||
|
/* test NestdLor.asl */
|
||
|
/* */
|
||
|
Scope (\_SB) /* System Bus */
|
||
|
{
|
||
|
/* _SB system bus */
|
||
|
|
||
|
Name (ZER0, 0x00)
|
||
|
Name (ZER1, 0x00)
|
||
|
Name (ZER2, 0x00)
|
||
|
Name (ONE0, 0x01)
|
||
|
Device (NSTL)
|
||
|
{
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ NestdLor Test"
|
||
|
If ((ZER0 || (ZER1 || (ZER2 || ONE0))))
|
||
|
{
|
||
|
/* Indicate Pass */
|
||
|
|
||
|
Local0 = 0x00
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
/* Indicate Fail */
|
||
|
|
||
|
Local0 = 0x01
|
||
|
}
|
||
|
|
||
|
Return (Local0)
|
||
|
} /* End Method TEST */
|
||
|
} /* Device NSTL */
|
||
|
} /* _SB system bus */
|
||
|
|
||
|
/* */
|
||
|
/* test RetBuf.asl */
|
||
|
/* */
|
||
|
/* Test ReturnOp(Buffer) */
|
||
|
/* This is required to support Control Method Batteries on */
|
||
|
/* Dell Latitude Laptops (e.g., CP1-A) */
|
||
|
/* */
|
||
|
Device (RTBF)
|
||
|
{
|
||
|
Method (SUBR, 1, NotSerialized)
|
||
|
{
|
||
|
Return (Arg0)
|
||
|
}
|
||
|
|
||
|
Method (RBUF, 0, Serialized)
|
||
|
{
|
||
|
/* RBUF: Return Buffer from local variable */
|
||
|
|
||
|
Name (ABUF, Buffer (0x11)
|
||
|
{
|
||
|
"ARBITRARY_BUFFER"
|
||
|
})
|
||
|
/* store local buffer ABUF into Local0 */
|
||
|
|
||
|
Local0 = ABUF /* \RTBF.RBUF.ABUF */
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Buffer */
|
||
|
|
||
|
If ((Local1 != 0x03)) /* Buffer type is 3 */
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/* store value returned by control method SUBR into Local0 */
|
||
|
|
||
|
Local0 = SUBR (ABUF)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Buffer */
|
||
|
|
||
|
If ((Local1 != 0x03)) /* Buffer type is 3 */
|
||
|
{
|
||
|
Return (0x02) /* failure */
|
||
|
}
|
||
|
|
||
|
/* allocate buffer using Local1 as buffer size (run-time evaluation) */
|
||
|
|
||
|
Local1 = 0x05
|
||
|
Name (BUFR, Buffer (Local1){})
|
||
|
/* store value returned by control method SUBR into Local0 */
|
||
|
|
||
|
Local0 = SUBR (BUFR)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Buffer */
|
||
|
|
||
|
If ((Local1 != 0x03)) /* Buffer type is 3 */
|
||
|
{
|
||
|
Return (0x03) /* failure */
|
||
|
}
|
||
|
|
||
|
/* store BUFR Buffer into Local0 */
|
||
|
|
||
|
Local0 = BUFR /* \RTBF.RBUF.BUFR */
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Buffer */
|
||
|
|
||
|
If ((Local1 != 0x03)) /* Buffer type is 3 */
|
||
|
{
|
||
|
Return (0x04) /* failure */
|
||
|
}
|
||
|
|
||
|
/* return Local0 Buffer */
|
||
|
|
||
|
Return (Local0)
|
||
|
} /* RBUF */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ RetBuf Test"
|
||
|
/* store RBUF Buffer return value into Local0 */
|
||
|
|
||
|
Local0 = RBUF ()
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Buffer */
|
||
|
|
||
|
If ((Local1 != 0x03)) /* Buffer type is 3 */
|
||
|
{
|
||
|
Return (0x0A) /* failure */
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x00) /* success */
|
||
|
}
|
||
|
} /* TEST */
|
||
|
} /* RTBF */
|
||
|
|
||
|
/* */
|
||
|
/* test RetLVal.asl */
|
||
|
/* */
|
||
|
/* Test ReturnOp(Lvalue) */
|
||
|
/* This is required to support _PSR on IBM ThinkPad 560D and */
|
||
|
/* _DCK on Toshiba Tecra 8000. */
|
||
|
/* */
|
||
|
Device (GPE2)
|
||
|
{
|
||
|
Method (_L03, 0, NotSerialized) // _Lxx: Level-Triggered GPE
|
||
|
{
|
||
|
Debug = "Method GPE2._L03 invoked"
|
||
|
Return (Zero)
|
||
|
}
|
||
|
|
||
|
Method (_E05, 0, NotSerialized) // _Exx: Edge-Triggered GPE
|
||
|
{
|
||
|
Debug = "Method GPE2._E05 invoked"
|
||
|
Return (Zero)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Device (PRW2)
|
||
|
{
|
||
|
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
|
||
|
{
|
||
|
Package (0x02)
|
||
|
{
|
||
|
\GPE2,
|
||
|
0x05
|
||
|
},
|
||
|
|
||
|
0x03
|
||
|
})
|
||
|
}
|
||
|
|
||
|
Scope (\_GPE)
|
||
|
{
|
||
|
Name (ACST, 0xFF)
|
||
|
Method (_L08, 0, NotSerialized) // _Lxx: Level-Triggered GPE
|
||
|
{
|
||
|
Debug = "Method _GPE._L08 invoked"
|
||
|
Return (Zero)
|
||
|
}
|
||
|
|
||
|
Method (_E09, 0, NotSerialized) // _Exx: Edge-Triggered GPE
|
||
|
{
|
||
|
Debug = "Method _GPE._E09 invoked"
|
||
|
Return (Zero)
|
||
|
}
|
||
|
|
||
|
Method (_E11, 0, NotSerialized) // _Exx: Edge-Triggered GPE
|
||
|
{
|
||
|
Debug = "Method _GPE._E11 invoked"
|
||
|
Notify (\PRW1, 0x02) // Device Wake
|
||
|
}
|
||
|
|
||
|
Method (_L22, 0, NotSerialized) // _Lxx: Level-Triggered GPE
|
||
|
{
|
||
|
Debug = "Method _GPE._L22 invoked"
|
||
|
Return (Zero)
|
||
|
}
|
||
|
|
||
|
Method (_L33, 0, NotSerialized) // _Lxx: Level-Triggered GPE
|
||
|
{
|
||
|
Debug = "Method _GPE._L33 invoked"
|
||
|
Return (Zero)
|
||
|
}
|
||
|
|
||
|
Method (_E64, 0, NotSerialized) // _Exx: Edge-Triggered GPE
|
||
|
{
|
||
|
Debug = "Method _GPE._E64 invoked"
|
||
|
Return (Zero)
|
||
|
}
|
||
|
} /* _GPE */
|
||
|
|
||
|
Device (PRW1)
|
||
|
{
|
||
|
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
|
||
|
{
|
||
|
0x11,
|
||
|
0x03
|
||
|
})
|
||
|
}
|
||
|
|
||
|
Device (PWRB)
|
||
|
{
|
||
|
Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
|
||
|
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
|
||
|
{
|
||
|
0x33,
|
||
|
0x03
|
||
|
})
|
||
|
}
|
||
|
|
||
|
Scope (\_SB) /* System Bus */
|
||
|
{
|
||
|
/* _SB system bus */
|
||
|
|
||
|
Device (ACAD)
|
||
|
{
|
||
|
/* ACAD: AC adapter device */
|
||
|
|
||
|
Name (_HID, "ACPI0003" /* Power Source Device */) /* AC adapter device */ // _HID: Hardware ID
|
||
|
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
|
||
|
{
|
||
|
\_SB
|
||
|
})
|
||
|
OperationRegion (AREG, SystemIO, 0x0372, 0x02)
|
||
|
Field (AREG, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
AIDX, 8,
|
||
|
ADAT, 8
|
||
|
}
|
||
|
|
||
|
IndexField (AIDX, ADAT, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
, 1,
|
||
|
ACIN, 1,
|
||
|
, 2,
|
||
|
CHAG, 1,
|
||
|
Offset (0x01),
|
||
|
, 7,
|
||
|
ABAT, 1
|
||
|
} /* IndexField */
|
||
|
|
||
|
Method (_PSR, 0, NotSerialized) // _PSR: Power Source
|
||
|
{
|
||
|
Local0 = \_GPE.ACST
|
||
|
Local1 = ACIN /* \_SB_.ACAD.ACIN */
|
||
|
If ((\_GPE.ACST != Local1))
|
||
|
{
|
||
|
\_GPE.ACST = Local1
|
||
|
/* This Notify is commented because it causes a */
|
||
|
/* method error when running on a system without the */
|
||
|
/* specific device. */
|
||
|
/* Notify (\_SB_.ACAD, 0) */
|
||
|
}
|
||
|
|
||
|
Return (Local0)
|
||
|
} /* _PSR */
|
||
|
|
||
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
}
|
||
|
|
||
|
Method (_INI, 0, NotSerialized) // _INI: Initialize
|
||
|
{
|
||
|
\_GPE.ACST = ACIN /* \_SB_.ACAD.ACIN */
|
||
|
}
|
||
|
} /* ACAD: AC adapter device */
|
||
|
|
||
|
/* test implicit return from control method */
|
||
|
|
||
|
Method (DIS, 1, NotSerialized)
|
||
|
{
|
||
|
Local0 = Arg0
|
||
|
}
|
||
|
|
||
|
Device (RTLV)
|
||
|
{
|
||
|
/* test implicit return inside nested if with explicit return of Lvalue */
|
||
|
|
||
|
Method (_DCK, 1, NotSerialized) // _DCK: Dock Present
|
||
|
{
|
||
|
If (Arg0)
|
||
|
{
|
||
|
/* dock */
|
||
|
|
||
|
Local0 = 0x87
|
||
|
If (Local0)
|
||
|
{
|
||
|
DIS (0x23)
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* dock */
|
||
|
Else
|
||
|
{
|
||
|
/* undock */
|
||
|
|
||
|
Local0 = Arg0
|
||
|
If (Local0)
|
||
|
{
|
||
|
DIS (0x23)
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* undock */
|
||
|
} /* _DCK control method */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ RetLVal Test"
|
||
|
/* store _PSR return value into Local0 */
|
||
|
|
||
|
Local0 = \_SB.ACAD._PSR ()
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number/Integer type is 1 */
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/* test implicit return inside nested if with explicit return of Lvalue */
|
||
|
|
||
|
Local2 = _DCK (0x01)
|
||
|
/* save Local2 object type value into Local3 */
|
||
|
|
||
|
Local3 = ObjectType (Local2)
|
||
|
/* validate Local2 is a Number */
|
||
|
|
||
|
If ((Local3 != 0x01)) /* Number/Integer type is 1 */
|
||
|
{
|
||
|
Return (0x02) /* failure */
|
||
|
}
|
||
|
|
||
|
If ((Local2 != 0x01))
|
||
|
{
|
||
|
Return (0x03) /* failure */
|
||
|
}
|
||
|
|
||
|
Return (0x00) /* success */
|
||
|
} /* TEST */
|
||
|
} /* RTLV */
|
||
|
} /* _SB system bus */
|
||
|
|
||
|
/* */
|
||
|
/* test RetPkg.asl */
|
||
|
/* */
|
||
|
/* Test ReturnOp(Package) */
|
||
|
/* This is required to support _PRT on Dell Optiplex Workstations (e.g. GX1) */
|
||
|
/* */
|
||
|
Scope (\_SB) /* System Bus */
|
||
|
{
|
||
|
/* _SB system bus */
|
||
|
|
||
|
Device (LNKA)
|
||
|
{
|
||
|
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) /* PCI interrupt link */ // _HID: Hardware ID
|
||
|
Name (_UID, 0x01) // _UID: Unique ID
|
||
|
}
|
||
|
|
||
|
Device (LNKB)
|
||
|
{
|
||
|
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) /* PCI interrupt link */ // _HID: Hardware ID
|
||
|
Name (_UID, 0x02) // _UID: Unique ID
|
||
|
}
|
||
|
|
||
|
Device (LNKC)
|
||
|
{
|
||
|
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) /* PCI interrupt link */ // _HID: Hardware ID
|
||
|
Name (_UID, 0x03) // _UID: Unique ID
|
||
|
}
|
||
|
|
||
|
Device (LNKD)
|
||
|
{
|
||
|
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) /* PCI interrupt link */ // _HID: Hardware ID
|
||
|
Name (_UID, 0x04) // _UID: Unique ID
|
||
|
}
|
||
|
|
||
|
Device (PCI1)
|
||
|
{
|
||
|
/* PCI1: Root PCI Bus */
|
||
|
|
||
|
Name (_HID, "PNP0A03" /* PCI Bus */) /* Need _HID for root device (String format) */ // _HID: Hardware ID
|
||
|
Name (_ADR, 0x00) // _ADR: Address
|
||
|
Name (_CRS, 0x00) // _CRS: Current Resource Settings
|
||
|
Name (_PRT, Package (0x0C) // _PRT: PCI Routing Table
|
||
|
{
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0004FFFF,
|
||
|
0x00,
|
||
|
LNKA,
|
||
|
0x00
|
||
|
}, /* Slot 1, INTA */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0004FFFF,
|
||
|
0x01,
|
||
|
LNKB,
|
||
|
0x00
|
||
|
}, /* Slot 1, INTB */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0004FFFF,
|
||
|
0x02,
|
||
|
LNKC,
|
||
|
0x00
|
||
|
}, /* Slot 1, INTC */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0004FFFF,
|
||
|
0x03,
|
||
|
LNKD,
|
||
|
0x00
|
||
|
}, /* Slot 1, INTD */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0005FFFF,
|
||
|
0x00,
|
||
|
\_SB.LNKB,
|
||
|
0x00
|
||
|
}, /* Slot 2, INTA */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0005FFFF,
|
||
|
0x01,
|
||
|
\_SB.LNKC,
|
||
|
0x00
|
||
|
}, /* Slot 2, INTB */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0005FFFF,
|
||
|
0x02,
|
||
|
\_SB.LNKD,
|
||
|
0x00
|
||
|
}, /* Slot 2, INTC */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0006FFFF,
|
||
|
0x03,
|
||
|
\_SB.LNKA,
|
||
|
0x00
|
||
|
}, /* Slot 2, INTD */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0006FFFF,
|
||
|
0x00,
|
||
|
LNKC,
|
||
|
0x00
|
||
|
}, /* Slot 3, INTA */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0006FFFF,
|
||
|
0x01,
|
||
|
LNKD,
|
||
|
0x00
|
||
|
}, /* Slot 3, INTB */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0006FFFF,
|
||
|
0x02,
|
||
|
LNKA,
|
||
|
0x00
|
||
|
}, /* Slot 3, INTC */
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0006FFFF,
|
||
|
0x03,
|
||
|
LNKB,
|
||
|
0x00
|
||
|
} /* Slot 3, INTD */
|
||
|
})
|
||
|
Device (PX40)
|
||
|
{
|
||
|
/* Map f0 space, Start PX40 */
|
||
|
|
||
|
Name (_ADR, 0x00070000) /* Address+function. */ // _ADR: Address
|
||
|
}
|
||
|
} /* PCI0: Root PCI Bus */
|
||
|
|
||
|
Device (RETP)
|
||
|
{
|
||
|
Method (RPKG, 0, NotSerialized)
|
||
|
{
|
||
|
/* RPKG: Return Package from local variable */
|
||
|
/* store _PRT package into Local0 */
|
||
|
Local0 = \_SB.PCI1._PRT
|
||
|
/* return Local0 Package */
|
||
|
|
||
|
Return (Local0)
|
||
|
} /* RPKG */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ RetPkg Test"
|
||
|
/* store RPKG package return value into Local0 */
|
||
|
|
||
|
Local0 = RPKG ()
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Package */
|
||
|
|
||
|
If ((Local1 != 0x04)) /* Package type is 4 */
|
||
|
{
|
||
|
Return (0x01)
|
||
|
} /* failure */
|
||
|
Else
|
||
|
{
|
||
|
Return (0x00)
|
||
|
} /* success */
|
||
|
} /* TEST */
|
||
|
} /* RETP */
|
||
|
} /* _SB_ */
|
||
|
|
||
|
/* */
|
||
|
/* test WhileRet.asl */
|
||
|
/* */
|
||
|
/* WhileRet.asl tests a ReturnOp nested in a IfOp nested in a WhileOp. */
|
||
|
/* */
|
||
|
Device (WHLR)
|
||
|
{
|
||
|
Name (LCNT, 0x00)
|
||
|
Method (WIR, 0, NotSerialized)
|
||
|
{
|
||
|
/* WIR: control method that returns inside of IfOp inside of WhileOp */
|
||
|
|
||
|
While ((LCNT < 0x04))
|
||
|
{
|
||
|
If ((LCNT == 0x02))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
LCNT++
|
||
|
}
|
||
|
|
||
|
Return (LCNT) /* \WHLR.LCNT */
|
||
|
} /* WIR: control method that returns inside of IfOp inside of WhileOp */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ WhileRet Test"
|
||
|
Local0 = WIR ()
|
||
|
Return (Local0)
|
||
|
} /* TEST */
|
||
|
} /* WHLR */
|
||
|
|
||
|
/* */
|
||
|
/* test AndOrOp.asl */
|
||
|
/* */
|
||
|
/*This code tests the bitwise AndOp and OrOp Operator terms */
|
||
|
/* */
|
||
|
/*Syntax of Andop term */
|
||
|
/*And - Bitwise And */
|
||
|
/*AndTerm := And( */
|
||
|
/* Source1, //TermArg=>Integer */
|
||
|
/* Source2, //TermArg=>Integer */
|
||
|
/* Result //Nothing | SuperName */
|
||
|
/*) => Integer */
|
||
|
/*Source1 and Source2 are evaluated as integer data types, */
|
||
|
/* a bit-wise AND is performed, and the result is optionally */
|
||
|
/*stored into Result. */
|
||
|
/* */
|
||
|
/* */
|
||
|
/*Syntax of OrOp */
|
||
|
/*Or - Bit-wise Or */
|
||
|
/*OrTerm := Or( */
|
||
|
/* Source1, //TermArg=>Integer */
|
||
|
/* Source2 //TermArg=>Integer */
|
||
|
/* Result //Nothing | SuperName */
|
||
|
/*) => Integer */
|
||
|
/*Source1 and Source2 are evaluated as integer data types, */
|
||
|
/* a bit-wide OR is performed, and the result is optionally */
|
||
|
/*stored in Result */
|
||
|
/* */
|
||
|
Device (ANDO)
|
||
|
{
|
||
|
OperationRegion (TMEM, SystemMemory, 0xC4, 0x02)
|
||
|
Field (TMEM, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
, 3,
|
||
|
TOUD, 13
|
||
|
}
|
||
|
|
||
|
/*Create System Memory Operation Region and field overlays */
|
||
|
|
||
|
OperationRegion (RAM, SystemMemory, 0x00400000, 0x0100)
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SMDW, /* 32-bit DWORD */ 32,
|
||
|
SMWD, /* 16-bit WORD */ 16,
|
||
|
SMBY, /* 8-bit BYTE */ 8
|
||
|
}/* Field(RAM) */
|
||
|
|
||
|
/*And with Byte Data */
|
||
|
|
||
|
Name (BYT1, 0xFF)
|
||
|
Name (BYT2, 0xFF)
|
||
|
Name (BRSL, 0x00)
|
||
|
/*And with Word Data */
|
||
|
|
||
|
Name (WRD1, 0xFFFF)
|
||
|
Name (WRD2, 0xFFFF)
|
||
|
Name (WRSL, 0x00)
|
||
|
/*And with DWord Data */
|
||
|
|
||
|
Name (DWD1, 0xFFFFFFFF)
|
||
|
Name (DWD2, 0xFFFFFFFF)
|
||
|
Name (DRSL, 0x00)
|
||
|
Method (ANDP, 0, NotSerialized)
|
||
|
{
|
||
|
/*Check with 1 And 1 on byte data */
|
||
|
|
||
|
BRSL = (BYT1 & BYT2) /* \ANDO.BYT2 */
|
||
|
If ((BRSL != 0xFF))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/*Check with 1 And 1 on Word data */
|
||
|
|
||
|
WRSL = (WRD1 & WRD2) /* \ANDO.WRD2 */
|
||
|
If ((WRSL != 0xFFFF))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 1 And 1 Dword */
|
||
|
|
||
|
DRSL = (DWD1 & DWD2) /* \ANDO.DWD2 */
|
||
|
If ((DRSL != 0xFFFFFFFF))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 0 And 0 on byte data */
|
||
|
|
||
|
BYT1 = 0x00
|
||
|
BYT2 = 0x00
|
||
|
BRSL = 0x00
|
||
|
BRSL = (BYT1 & BYT2) /* \ANDO.BYT2 */
|
||
|
If ((BRSL != 0x00))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 0 And 0 on Word data */
|
||
|
|
||
|
WRD1 = 0x00
|
||
|
WRD2 = 0x00
|
||
|
WRSL = 0x00
|
||
|
WRSL = (WRD1 & WRD2) /* \ANDO.WRD2 */
|
||
|
If ((WRSL != 0x00))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 0 And 0 Dword */
|
||
|
|
||
|
DWD1 = 0x00
|
||
|
DWD2 = 0x00
|
||
|
DRSL = 0x00
|
||
|
DRSL = (DWD1 & DWD2) /* \ANDO.DWD2 */
|
||
|
If ((DRSL != 0x00))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 1 And 0 on byte data */
|
||
|
|
||
|
BYT1 = 0x55
|
||
|
BYT2 = 0xAA
|
||
|
BRSL = 0x00
|
||
|
BRSL = (BYT1 & BYT2) /* \ANDO.BYT2 */
|
||
|
If ((BRSL != 0x00))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 1 And 0 on Word data */
|
||
|
|
||
|
WRD1 = 0x5555
|
||
|
WRD2 = 0xAAAA
|
||
|
WRSL = 0x00
|
||
|
WRSL = (WRD1 & WRD2) /* \ANDO.WRD2 */
|
||
|
If ((WRSL != 0x00))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 1 And 0 on Dword */
|
||
|
|
||
|
DWD1 = 0x55555555
|
||
|
DWD2 = 0xAAAAAAAA
|
||
|
DRSL = 0x00
|
||
|
DRSL = (DWD1 & DWD2) /* \ANDO.DWD2 */
|
||
|
If ((DRSL != 0x00))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
TOUD = 0x1FFF
|
||
|
Local0 = TOUD /* \ANDO.TOUD */
|
||
|
If ((Local0 != 0x1FFF))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*TBD- Do We need to check for system memory data also for each test case ?? */
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*ANDP */
|
||
|
|
||
|
Method (OROP, 0, NotSerialized)
|
||
|
{
|
||
|
/*Check with 1 Ored with 1 on byte data */
|
||
|
|
||
|
BYT1 = 0xFF
|
||
|
BYT2 = 0xFF
|
||
|
BRSL = 0x00
|
||
|
BRSL = (BYT1 | BYT2) /* \ANDO.BYT2 */
|
||
|
If ((BRSL != 0xFF))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 1 Ored with 1 on Word data */
|
||
|
|
||
|
WRD1 = 0xFFFF
|
||
|
WRD2 = 0xFFFF
|
||
|
WRSL = 0x00
|
||
|
WRSL = (WRD1 | WRD2) /* \ANDO.WRD2 */
|
||
|
If ((WRSL != 0xFFFF))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 1 Ored with 1 on Dword data */
|
||
|
|
||
|
DWD1 = 0xFFFFFFFF
|
||
|
DWD2 = 0xFFFFFFFF
|
||
|
DRSL = 0x00
|
||
|
DRSL = (DWD1 | DWD2) /* \ANDO.DWD2 */
|
||
|
If ((DRSL != 0xFFFFFFFF))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 0 Ored with 0 on byte data */
|
||
|
|
||
|
BYT1 = 0x00
|
||
|
BYT2 = 0x00
|
||
|
BRSL = 0x00
|
||
|
BRSL = (BYT1 | BYT2) /* \ANDO.BYT2 */
|
||
|
If ((BRSL != 0x00))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 0 Ored with 0 on Word data */
|
||
|
|
||
|
WRD1 = 0x00
|
||
|
WRD2 = 0x00
|
||
|
WRSL = 0x00
|
||
|
WRSL = (WRD1 | WRD2) /* \ANDO.WRD2 */
|
||
|
If ((WRSL != 0x00))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 0 Ored with 0 Dword data */
|
||
|
|
||
|
DWD1 = 0x00
|
||
|
DWD2 = 0x00
|
||
|
DRSL = 0x00
|
||
|
DRSL = (DWD1 | DWD2) /* \ANDO.DWD2 */
|
||
|
If ((DRSL != 0x00))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 1 Ored with 0 on byte data */
|
||
|
|
||
|
BYT1 = 0x55
|
||
|
BYT2 = 0xAA
|
||
|
BRSL = 0x00
|
||
|
BRSL = (BYT1 | BYT2) /* \ANDO.BYT2 */
|
||
|
If ((BRSL != 0xFF))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 1 Ored with 0 on Word data */
|
||
|
|
||
|
WRD1 = 0x5555
|
||
|
WRD2 = 0xAAAA
|
||
|
WRSL = 0x00
|
||
|
WRSL = (WRD1 | WRD2) /* \ANDO.WRD2 */
|
||
|
If ((WRSL != 0xFFFF))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*Check with 1 Ored with 0 on Dword data */
|
||
|
|
||
|
DWD1 = 0x55555555
|
||
|
DWD2 = 0xAAAAAAAA
|
||
|
DRSL = 0x00
|
||
|
DRSL = (DWD1 | DWD2) /* \ANDO.DWD2 */
|
||
|
If ((DRSL != 0xFFFFFFFF))
|
||
|
{
|
||
|
Return (0x01) /* failure */
|
||
|
}
|
||
|
|
||
|
/*TBD - Do We need to check for system memory data also for each test case ?? */
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*OROP */
|
||
|
|
||
|
Method (TEST, 0, Serialized)
|
||
|
{
|
||
|
Debug = "++++++++ AndOrOp Test"
|
||
|
Name (RSLT, 0x01)
|
||
|
/*Call Andop method */
|
||
|
|
||
|
RSLT = ANDP ()
|
||
|
If ((RSLT == 0x01))
|
||
|
{
|
||
|
Return (RSLT) /* \ANDO.TEST.RSLT */
|
||
|
}
|
||
|
|
||
|
/*Call OrOp Method */
|
||
|
|
||
|
RSLT = OROP ()
|
||
|
If ((RSLT == 0x01))
|
||
|
{
|
||
|
Return (RSLT) /* \ANDO.TEST.RSLT */
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* Return original conditions to allow iterative execution */
|
||
|
/* */
|
||
|
BYT1 = 0xFF
|
||
|
BYT2 = 0xFF
|
||
|
BRSL = 0x00
|
||
|
WRD1 = 0xFFFF
|
||
|
WRD2 = 0xFFFF
|
||
|
WRSL = 0x00
|
||
|
DWD1 = 0xFFFFFFFF
|
||
|
DWD2 = 0xFFFFFFFF
|
||
|
DRSL = 0x00
|
||
|
Return (0x00)
|
||
|
} /*TEST */
|
||
|
} /*ANDO */
|
||
|
|
||
|
/* */
|
||
|
/* test BreakPnt.asl */
|
||
|
/* */
|
||
|
/* This code tests the BreakPoint opcode term. The syntax of BreakPoint Term is */
|
||
|
/* BreakPointTerm := BreakPoint */
|
||
|
/* Used for debugging, the Breakpoint opcode stops the execution and enters the AML debugger. */
|
||
|
/* In the non-debug version of the interpreter, BreakPoint is equivalent to Noop. */
|
||
|
/* */
|
||
|
Device (BRKP)
|
||
|
{
|
||
|
Name (CNT0, 0x00)
|
||
|
Method (BK1, 0, NotSerialized)
|
||
|
{
|
||
|
BreakPoint
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ BreakPnt Test"
|
||
|
CNT0 = 0x00
|
||
|
/*Check BreakPoint statement */
|
||
|
|
||
|
While ((CNT0 < 0x0A))
|
||
|
{
|
||
|
CNT0++
|
||
|
}
|
||
|
|
||
|
/*Check the BreakPoint statement */
|
||
|
|
||
|
If ((CNT0 == 0x0A))
|
||
|
{
|
||
|
/* BreakPoint */
|
||
|
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
/*failed */
|
||
|
|
||
|
Return (0x01)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* test AddSubOp.asl */
|
||
|
/* */
|
||
|
Device (ADSU)
|
||
|
{
|
||
|
/* create System Memory Operation Region and field overlays */
|
||
|
|
||
|
OperationRegion (RAM, SystemMemory, 0x00400000, 0x0100)
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SMDW, /* 32-bit DWORD */ 32,
|
||
|
SMWD, /* 16-bit WORD */ 16,
|
||
|
SMBY, /* 8-bit BYTE */ 8
|
||
|
} /* Field(RAM) */
|
||
|
|
||
|
Method (TEST, 0, Serialized)
|
||
|
{
|
||
|
Debug = "++++++++ AddSubOp Test"
|
||
|
Name (DWRD, 0x12345678)
|
||
|
Name (WRD, 0x1234)
|
||
|
Name (BYT, 0x12)
|
||
|
/* Test AddOp with DWORD data */
|
||
|
|
||
|
DWRD = 0x12345678
|
||
|
DWRD += 0x07
|
||
|
If ((DWRD != 0x1234567F))
|
||
|
{
|
||
|
Return (DWRD) /* \ADSU.TEST.DWRD */
|
||
|
}
|
||
|
|
||
|
/* Test AddOp with WORD data */
|
||
|
|
||
|
WRD += 0x05
|
||
|
If ((WRD != 0x1239))
|
||
|
{
|
||
|
Return (WRD) /* \ADSU.TEST.WRD_ */
|
||
|
}
|
||
|
|
||
|
/* Test AddOp with BYTE data */
|
||
|
|
||
|
BYT += 0x03
|
||
|
If ((BYT != 0x15))
|
||
|
{
|
||
|
Return (BYT) /* \ADSU.TEST.BYT_ */
|
||
|
}
|
||
|
|
||
|
/* Test SubtractOp with DWORD data */
|
||
|
|
||
|
DWRD -= 0x07
|
||
|
If ((DWRD != 0x12345678))
|
||
|
{
|
||
|
Return (DWRD) /* \ADSU.TEST.DWRD */
|
||
|
}
|
||
|
|
||
|
/* Test SubtractOp with WORD data */
|
||
|
|
||
|
WRD -= 0x03
|
||
|
If ((WRD != 0x1236))
|
||
|
{
|
||
|
Return (WRD) /* \ADSU.TEST.WRD_ */
|
||
|
}
|
||
|
|
||
|
/* Test SubtractOp with BYTE data */
|
||
|
|
||
|
BYT -= 0x03
|
||
|
If ((BYT != 0x12))
|
||
|
{
|
||
|
Return (BYT) /* \ADSU.TEST.BYT_ */
|
||
|
}
|
||
|
|
||
|
/* test AddOp with DWORD SystemMemory OpRegion */
|
||
|
|
||
|
SMDW = 0x01234567
|
||
|
SMDW += 0x08
|
||
|
If ((SMDW != 0x0123456F))
|
||
|
{
|
||
|
Return (SMDW) /* \ADSU.SMDW */
|
||
|
}
|
||
|
|
||
|
/* test SubtractOp with DWORD SystemMemory OpRegion */
|
||
|
|
||
|
SMDW -= 0x07
|
||
|
If ((SMDW != 0x01234568))
|
||
|
{
|
||
|
Return (SMDW) /* \ADSU.SMDW */
|
||
|
}
|
||
|
|
||
|
/* test AddOp with WORD SystemMemory OpRegion */
|
||
|
|
||
|
SMWD = 0x0123
|
||
|
SMWD += 0x06
|
||
|
If ((SMWD != 0x0129))
|
||
|
{
|
||
|
Return (SMWD) /* \ADSU.SMWD */
|
||
|
}
|
||
|
|
||
|
/* test SubtractOp with WORD SystemMemory OpRegion */
|
||
|
|
||
|
SMWD -= 0x05
|
||
|
If ((SMWD != 0x0124))
|
||
|
{
|
||
|
Return (SMWD) /* \ADSU.SMWD */
|
||
|
}
|
||
|
|
||
|
/* test AddOp with BYTE SystemMemory OpRegion */
|
||
|
|
||
|
SMBY = 0x01
|
||
|
SMBY += 0x04
|
||
|
If ((SMBY != 0x05))
|
||
|
{
|
||
|
Return (SMBY) /* \ADSU.SMBY */
|
||
|
}
|
||
|
|
||
|
/* test SubtractOp with BYTE SystemMemory OpRegion */
|
||
|
|
||
|
SMBY -= 0x03
|
||
|
If ((SMBY != 0x02))
|
||
|
{
|
||
|
Return (SMBY) /* \ADSU.SMBY */
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* ADSU */
|
||
|
|
||
|
/* */
|
||
|
/* test IncDecOp.asl */
|
||
|
/* */
|
||
|
Device (INDC)
|
||
|
{
|
||
|
/* create System Memory Operation Region and field overlays */
|
||
|
|
||
|
OperationRegion (RAM, SystemMemory, 0x00400000, 0x0100)
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SMDW, /* 32-bit DWORD */ 32,
|
||
|
SMWD, /* 16-bit WORD */ 16,
|
||
|
SMBY, /* 8-bit BYTE */ 8
|
||
|
} /* Field(RAM) */
|
||
|
|
||
|
Method (TEST, 0, Serialized)
|
||
|
{
|
||
|
Debug = "++++++++ IncDecOp Test"
|
||
|
Name (DWRD, 0x12345678)
|
||
|
Name (WRD, 0x1234)
|
||
|
Name (BYT, 0x12)
|
||
|
/* Test IncrementOp with DWORD data */
|
||
|
|
||
|
DWRD = 0x12345678
|
||
|
DWRD++
|
||
|
If ((DWRD != 0x12345679))
|
||
|
{
|
||
|
Return (DWRD) /* \INDC.TEST.DWRD */
|
||
|
}
|
||
|
|
||
|
/* Test IncrementOp with WORD data */
|
||
|
|
||
|
WRD++
|
||
|
If ((WRD != 0x1235))
|
||
|
{
|
||
|
Return (WRD) /* \INDC.TEST.WRD_ */
|
||
|
}
|
||
|
|
||
|
/* Test IncrementOp with BYTE data */
|
||
|
|
||
|
BYT++
|
||
|
If ((BYT != 0x13))
|
||
|
{
|
||
|
Return (BYT) /* \INDC.TEST.BYT_ */
|
||
|
}
|
||
|
|
||
|
/* Test DecrementOp with DWORD data */
|
||
|
|
||
|
DWRD--
|
||
|
If ((DWRD != 0x12345678))
|
||
|
{
|
||
|
Return (DWRD) /* \INDC.TEST.DWRD */
|
||
|
}
|
||
|
|
||
|
/* Test DecrementOp with WORD data */
|
||
|
|
||
|
WRD--
|
||
|
If ((WRD != 0x1234))
|
||
|
{
|
||
|
Return (WRD) /* \INDC.TEST.WRD_ */
|
||
|
}
|
||
|
|
||
|
/* Test DecrementOp with BYTE data */
|
||
|
|
||
|
BYT--
|
||
|
If ((BYT != 0x12))
|
||
|
{
|
||
|
Return (BYT) /* \INDC.TEST.BYT_ */
|
||
|
}
|
||
|
|
||
|
/* test IncrementOp with DWORD SystemMemory OpRegion */
|
||
|
|
||
|
SMDW = 0x01234567
|
||
|
SMDW++
|
||
|
If ((SMDW != 0x01234568))
|
||
|
{
|
||
|
Return (SMDW) /* \INDC.SMDW */
|
||
|
}
|
||
|
|
||
|
/* test DecrementOp with DWORD SystemMemory OpRegion */
|
||
|
|
||
|
SMDW--
|
||
|
If ((SMDW != 0x01234567))
|
||
|
{
|
||
|
Return (SMDW) /* \INDC.SMDW */
|
||
|
}
|
||
|
|
||
|
/* test IncrementOp with WORD SystemMemory OpRegion */
|
||
|
|
||
|
SMWD = 0x0123
|
||
|
SMWD++
|
||
|
If ((SMWD != 0x0124))
|
||
|
{
|
||
|
Return (SMWD) /* \INDC.SMWD */
|
||
|
}
|
||
|
|
||
|
/* test DecrementOp with WORD SystemMemory OpRegion */
|
||
|
|
||
|
SMWD--
|
||
|
If ((SMWD != 0x0123))
|
||
|
{
|
||
|
Return (SMWD) /* \INDC.SMWD */
|
||
|
}
|
||
|
|
||
|
/* test IncrementOp with BYTE SystemMemory OpRegion */
|
||
|
|
||
|
SMBY = 0x01
|
||
|
SMBY++
|
||
|
If ((SMBY != 0x02))
|
||
|
{
|
||
|
Return (SMBY) /* \INDC.SMBY */
|
||
|
}
|
||
|
|
||
|
/* test DecrementOp with BYTE SystemMemory OpRegion */
|
||
|
|
||
|
SMBY--
|
||
|
If ((SMBY != 0x01))
|
||
|
{
|
||
|
Return (SMBY) /* \INDC.SMBY */
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* INDC */
|
||
|
|
||
|
/* */
|
||
|
/* test LOps.asl */
|
||
|
/* */
|
||
|
/*This source tests all the logical operators. Logical operators in ASL are as follows. */
|
||
|
/*LAnd, LEqual, LGreater, LLess, LNot, LNotEqual, LOr. */
|
||
|
/* Success will return 0 and failure will return a non zero number. Check the source code for */
|
||
|
/* non zero number to find where the test failed */
|
||
|
Device (LOPS)
|
||
|
{
|
||
|
/*Create System Memory Operation Region and field overlays */
|
||
|
|
||
|
OperationRegion (RAM, SystemMemory, 0x00400000, 0x0100)
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SMDW, /* 32-bit DWORD */ 32,
|
||
|
SMWD, /* 16-bit WORD */ 16,
|
||
|
SMBY, /* 8-bit BYTE */ 8
|
||
|
}/* Field(RAM) */
|
||
|
|
||
|
/*And with Byte Data */
|
||
|
|
||
|
Name (BYT1, 0xFF)
|
||
|
Name (BYT2, 0xFF)
|
||
|
Name (BRSL, 0x00)
|
||
|
/*And with Word Data */
|
||
|
|
||
|
Name (WRD1, 0xFFFF)
|
||
|
Name (WRD2, 0xFFFF)
|
||
|
Name (WRSL, 0x00)
|
||
|
/*And with DWord Data */
|
||
|
|
||
|
Name (DWD1, 0xFFFFFFFF)
|
||
|
Name (DWD2, 0xFFFFFFFF)
|
||
|
Name (DRSL, 0x00)
|
||
|
Name (RSLT, 0x01)
|
||
|
Method (ANDL, 2, NotSerialized)
|
||
|
{
|
||
|
/*test with the arguments passed */
|
||
|
|
||
|
If ((Arg0 == Arg1))
|
||
|
{
|
||
|
RSLT = (Arg0 && Arg1)
|
||
|
If ((Ones != RSLT))
|
||
|
{
|
||
|
Return (0x0B)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*test with he locals */
|
||
|
|
||
|
Local0 = Arg0
|
||
|
Local1 = Arg1
|
||
|
If ((Local0 == Local1))
|
||
|
{
|
||
|
RSLT = (Local0 && Local1)
|
||
|
If ((Ones != RSLT))
|
||
|
{
|
||
|
Return (0x0C)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*test with BYTE data */
|
||
|
|
||
|
If ((BYT1 == BYT2))
|
||
|
{
|
||
|
BRSL = (BYT1 && BYT2)
|
||
|
If ((Ones != BRSL))
|
||
|
{
|
||
|
Return (0x0D)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*test with WORD data */
|
||
|
|
||
|
If ((WRD1 == WRD2))
|
||
|
{
|
||
|
WRSL = (WRD1 && WRD2)
|
||
|
If ((Ones != WRSL))
|
||
|
{
|
||
|
Return (0x0E)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*test with DWORD data */
|
||
|
|
||
|
If ((DWD1 == DWD2))
|
||
|
{
|
||
|
DRSL = (DWD1 && DWD2)
|
||
|
If ((Ones != DRSL))
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*Test for system memory data for each test case. */
|
||
|
|
||
|
BYT1 = 0xFF
|
||
|
SMBY = 0xFF
|
||
|
BRSL = 0x00
|
||
|
/*test with BYTE system memory data */
|
||
|
|
||
|
If ((BYT1 == SMBY))
|
||
|
{
|
||
|
BRSL = (BYT1 && SMBY)
|
||
|
If ((Ones != BRSL))
|
||
|
{
|
||
|
Return (0x10)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
WRD1 = 0xFFFF
|
||
|
SMWD = 0xFFFF
|
||
|
WRSL = 0x00
|
||
|
/*test with WORD system memory data */
|
||
|
|
||
|
If ((WRD1 == SMWD))
|
||
|
{
|
||
|
WRSL = (WRD1 && SMWD)
|
||
|
If ((Ones != WRSL))
|
||
|
{
|
||
|
Return (0x11)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
DRSL = 0x00
|
||
|
DWD1 = 0x00FFFFFF
|
||
|
SMDW = 0x00FFFFFF
|
||
|
/*test with DWORD system memory data */
|
||
|
|
||
|
If ((DWD1 == SMDW))
|
||
|
{
|
||
|
DRSL = (DWD1 && SMDW)
|
||
|
If ((Ones != DRSL))
|
||
|
{
|
||
|
Return (0x12)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*ANDL */
|
||
|
|
||
|
/*Test the LOr Operator */
|
||
|
|
||
|
Method (ORL, 2, NotSerialized)
|
||
|
{
|
||
|
/*ORL_ */
|
||
|
/*test with the arguments passed */
|
||
|
If ((Arg0 == Arg1))
|
||
|
{
|
||
|
RSLT = (Arg0 || Arg1)
|
||
|
If ((Ones != RSLT))
|
||
|
{
|
||
|
Return (0x15)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*test with he locals */
|
||
|
|
||
|
Local0 = Arg0
|
||
|
Local1 = Arg1
|
||
|
If ((Local0 == Local1))
|
||
|
{
|
||
|
RSLT = (Local0 || Local1)
|
||
|
If ((Ones != RSLT))
|
||
|
{
|
||
|
Return (0x16)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*Check with 1 LOred with 0 on byte data */
|
||
|
|
||
|
BYT1 = 0xFF
|
||
|
BYT2 = 0x00
|
||
|
BRSL = 0x00
|
||
|
If ((BYT1 != BYT2))
|
||
|
{
|
||
|
BRSL = (BYT1 || BYT2)
|
||
|
If ((Ones != BRSL))
|
||
|
{
|
||
|
Return (0x17)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*Check with 1 LOred with 0 on WORD data */
|
||
|
|
||
|
WRD1 = 0xFFFF
|
||
|
WRD2 = 0x00
|
||
|
WRSL = 0x00
|
||
|
If ((WRD1 != WRD2))
|
||
|
{
|
||
|
WRSL = (WRD1 || WRD2)
|
||
|
If ((Ones != WRSL))
|
||
|
{
|
||
|
Return (0x18)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*Check with 1 LOred with 0 on DWORD data */
|
||
|
|
||
|
DWD1 = 0xFFFFFFFF
|
||
|
DWD2 = 0x00
|
||
|
DRSL = 0x00
|
||
|
If ((DWD1 != DWD2))
|
||
|
{
|
||
|
DRSL = (DWD1 || DWD2)
|
||
|
If ((Ones != DRSL))
|
||
|
{
|
||
|
Return (0x19)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
BYT1 = 0x00
|
||
|
SMBY = 0xFF
|
||
|
BRSL = 0x00
|
||
|
/*test with BYTE system memory data */
|
||
|
|
||
|
If ((BYT1 == SMBY))
|
||
|
{
|
||
|
BRSL = (BYT1 || SMBY)
|
||
|
If ((Ones != BRSL))
|
||
|
{
|
||
|
Return (0x1A)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
WRD1 = 0x00
|
||
|
SMWD = 0xFFFF
|
||
|
WRSL = 0x00
|
||
|
/*test with WORD system memory data */
|
||
|
|
||
|
If ((WRD1 == SMWD))
|
||
|
{
|
||
|
WRSL = (WRD1 || SMWD)
|
||
|
If ((Ones != WRSL))
|
||
|
{
|
||
|
Return (0x1B)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
DWD1 = 0x00
|
||
|
SMDW = 0xFFFFFFFF
|
||
|
DRSL = 0x00
|
||
|
/*test with DWORD system memory data */
|
||
|
|
||
|
If ((DWD1 == SMDW))
|
||
|
{
|
||
|
DRSL = (DWD1 && SMDW)
|
||
|
If ((Ones != DRSL))
|
||
|
{
|
||
|
Return (0x1C)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*ORL_ */
|
||
|
|
||
|
/*This method tests LGreater and LNot operator */
|
||
|
|
||
|
Method (LSGR, 2, NotSerialized)
|
||
|
{
|
||
|
/*LSGR */
|
||
|
/*Test on arguements passed */
|
||
|
/*in test data, Arg1 > Arg0 */
|
||
|
If ((Ones == (Arg1 <= Arg0)))
|
||
|
{
|
||
|
Return (0x1F)
|
||
|
}
|
||
|
|
||
|
/*test LLessEqual */
|
||
|
|
||
|
If ((Ones == !(Arg1 >= Arg0)))
|
||
|
{
|
||
|
Return (0x20)
|
||
|
}
|
||
|
|
||
|
If ((Ones == (Arg1 < Arg0)))
|
||
|
{
|
||
|
Return (0x21)
|
||
|
}
|
||
|
|
||
|
/*test LLessEqual */
|
||
|
|
||
|
If ((Ones == (Arg1 <= Arg0)))
|
||
|
{
|
||
|
Return (0x22)
|
||
|
}
|
||
|
|
||
|
Local0 = Arg0
|
||
|
Local1 = Arg1
|
||
|
/*test with the locals */
|
||
|
|
||
|
If ((Local1 <= Local0))
|
||
|
{
|
||
|
Return (0x23)
|
||
|
}
|
||
|
|
||
|
/*test on Byte data */
|
||
|
|
||
|
BYT1 = 0x12
|
||
|
BYT2 = 0x21
|
||
|
If ((BYT2 <= BYT1))
|
||
|
{
|
||
|
Return (0x24)
|
||
|
}
|
||
|
|
||
|
If ((BYT1 >= BYT2))
|
||
|
{
|
||
|
Return (0x25)
|
||
|
}
|
||
|
|
||
|
/*test LGreaterEqual with byte data */
|
||
|
|
||
|
If (!(BYT2 >= BYT1))
|
||
|
{
|
||
|
Return (0x26)
|
||
|
}
|
||
|
|
||
|
/*test LLessEqual byte data */
|
||
|
|
||
|
If (!(BYT1 <= BYT2))
|
||
|
{
|
||
|
Return (0x27)
|
||
|
}
|
||
|
|
||
|
/*test on Word data */
|
||
|
|
||
|
WRD1 = 0x1212
|
||
|
WRD2 = 0x2121
|
||
|
If ((WRD2 <= WRD1))
|
||
|
{
|
||
|
Return (0x0136)
|
||
|
}
|
||
|
|
||
|
If ((WRD1 >= WRD2))
|
||
|
{
|
||
|
Return (0x0137)
|
||
|
}
|
||
|
|
||
|
/*Test LGreaterEqual with Word Data */
|
||
|
|
||
|
If (!(WRD2 >= WRD1))
|
||
|
{
|
||
|
Return (0x0138)
|
||
|
}
|
||
|
|
||
|
/*Test LLessEqual with Word Data */
|
||
|
|
||
|
If (!(WRD1 <= WRD2))
|
||
|
{
|
||
|
Return (0x0139)
|
||
|
}
|
||
|
|
||
|
/*test on DWord data */
|
||
|
|
||
|
DWD1 = 0x12121212
|
||
|
DWD2 = 0x21212121
|
||
|
If ((DWD2 <= DWD1))
|
||
|
{
|
||
|
Return (0x013A)
|
||
|
}
|
||
|
|
||
|
If ((DWD1 >= DWD2))
|
||
|
{
|
||
|
Return (0x013B)
|
||
|
}
|
||
|
|
||
|
/*Test LGreaterEqual with Dword */
|
||
|
|
||
|
If (!(DWD2 >= DWD1))
|
||
|
{
|
||
|
Return (0x013C)
|
||
|
}
|
||
|
|
||
|
/*Test LLessEqual DWord */
|
||
|
|
||
|
If (!(DWD1 <= DWD2))
|
||
|
{
|
||
|
Return (0x013D)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*LSGR */
|
||
|
|
||
|
/*The test method */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ LOps Test"
|
||
|
RSLT = 0x00
|
||
|
/*Call LAndOp method */
|
||
|
|
||
|
RSLT = ANDL (0x02, 0x02)
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \LOPS.RSLT */
|
||
|
}
|
||
|
|
||
|
/*Call LOrOp Method */
|
||
|
|
||
|
RSLT = ORL (0x05, 0x05)
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \LOPS.RSLT */
|
||
|
}
|
||
|
|
||
|
/*Call LSGR Method */
|
||
|
|
||
|
RSLT = LSGR (0x05, 0x07)
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \LOPS.RSLT */
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*TEST */
|
||
|
}/*LOPS */
|
||
|
|
||
|
/* */
|
||
|
/* test FdSetOps.asl */
|
||
|
/* */
|
||
|
/* FindSetLeftBit - Find Set Left Bit */
|
||
|
/* FindSetLeftBitTerm := FindSetLeftBit */
|
||
|
/* ( Source, //TermArg=>Integer */
|
||
|
/* Result //Nothing | SuperName */
|
||
|
/* ) => Integer */
|
||
|
/* Source is evaluated as integer data type, and the one-based bit location of */
|
||
|
/* the first MSb (most significant set bit) is optionally stored into Result. */
|
||
|
/* The result of 0 means no bit was set, 1 means the left-most bit set is the */
|
||
|
/* first bit, 2 means the left-most bit set is the second bit, and so on. */
|
||
|
/* FindSetRightBit - Find Set Right Bit */
|
||
|
/* FindSetRightBitTerm := FindSetRightBit */
|
||
|
/* ( Source, //TermArg=>Integer */
|
||
|
/* Result //Nothing | SuperName */
|
||
|
/* ) => Integer */
|
||
|
/* Source is evaluated as integer data type, and the one-based bit location of */
|
||
|
/* the most LSb (least significant set bit) is optionally stored in Result. */
|
||
|
/* The result of 0 means no bit was set, 32 means the first bit set is the */
|
||
|
/* 32nd bit, 31 means the first bit set is the 31st bit, and so on. */
|
||
|
/* If the Control method is success Zero is returned. Otherwise a non-zero */
|
||
|
/* number is returned. */
|
||
|
/* */
|
||
|
Device (FDSO)
|
||
|
{
|
||
|
/* FDSO */
|
||
|
/* Create System Memory Operation Region and field overlays */
|
||
|
OperationRegion (RAM, SystemMemory, 0x00400000, 0x0100)
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SMDW, /* 32-bit DWORD */ 32,
|
||
|
SMWD, /* 16-bit WORD */ 16,
|
||
|
SMBY, /* 8-bit BYTE */ 8
|
||
|
} /* Field(RAM) */
|
||
|
|
||
|
/* Byte Data */
|
||
|
|
||
|
Name (BYT1, 0x01)
|
||
|
Name (BRSL, 0x00)
|
||
|
/* Word Data */
|
||
|
|
||
|
Name (WRD1, 0x0100)
|
||
|
Name (WRSL, 0x00)
|
||
|
/* DWord Data */
|
||
|
|
||
|
Name (DWD1, 0x00010000)
|
||
|
Name (DRSL, 0x00)
|
||
|
Name (RSLT, 0x01)
|
||
|
Name (CNTR, 0x01)
|
||
|
Method (SHFT, 2, NotSerialized)
|
||
|
{
|
||
|
/* SHFT */
|
||
|
|
||
|
Local0 = Arg0
|
||
|
Local1 = Arg1
|
||
|
FindSetLeftBit (Arg0, BRSL) /* \FDSO.BRSL */
|
||
|
If ((BRSL != Arg1))
|
||
|
{
|
||
|
Return (0x11)
|
||
|
}
|
||
|
|
||
|
If ((Arg0 != Local0))
|
||
|
{
|
||
|
Return (0x12)
|
||
|
}
|
||
|
|
||
|
FindSetLeftBit (Local0, BRSL) /* \FDSO.BRSL */
|
||
|
If ((BRSL != Local1))
|
||
|
{
|
||
|
Return (0x13)
|
||
|
}
|
||
|
|
||
|
If ((Arg0 != Local0))
|
||
|
{
|
||
|
Return (0x14)
|
||
|
}
|
||
|
|
||
|
/* test the byte value for SetLeftBit */
|
||
|
|
||
|
BYT1 = 0x07
|
||
|
FindSetLeftBit (BYT1, BRSL) /* \FDSO.BRSL */
|
||
|
If ((BRSL != 0x03))
|
||
|
{
|
||
|
Return (0x15)
|
||
|
}
|
||
|
|
||
|
If ((BYT1 != 0x07))
|
||
|
{
|
||
|
Return (0x16)
|
||
|
}
|
||
|
|
||
|
BYT1 = 0x01
|
||
|
CNTR = 0x01
|
||
|
While ((CNTR <= 0x08))
|
||
|
{
|
||
|
/* FindSetLeftBit check loop for byte data */
|
||
|
|
||
|
FindSetLeftBit (BYT1, BRSL) /* \FDSO.BRSL */
|
||
|
If ((BRSL != CNTR))
|
||
|
{
|
||
|
Return (0x17)
|
||
|
}
|
||
|
|
||
|
/* Shift the bits to check the same */
|
||
|
|
||
|
BYT1 <<= 0x01
|
||
|
CNTR++
|
||
|
} /* FindSetLeftBit check loop for byte data */
|
||
|
|
||
|
/* Check BYTE value for SetRightBit */
|
||
|
|
||
|
BYT1 = 0x07
|
||
|
FindSetRightBit (BYT1, BRSL) /* \FDSO.BRSL */
|
||
|
If ((BRSL != 0x01))
|
||
|
{
|
||
|
Return (0x21)
|
||
|
}
|
||
|
|
||
|
If ((BYT1 != 0x07))
|
||
|
{
|
||
|
Return (0x22)
|
||
|
}
|
||
|
|
||
|
CNTR = 0x01
|
||
|
BYT1 = 0xFF
|
||
|
While ((CNTR <= 0x08))
|
||
|
{
|
||
|
/* FindSetRightBit check loop for byte data */
|
||
|
|
||
|
FindSetRightBit (BYT1, BRSL) /* \FDSO.BRSL */
|
||
|
If ((BRSL != CNTR))
|
||
|
{
|
||
|
Return (0x23)
|
||
|
}
|
||
|
|
||
|
BYT1 <<= 0x01
|
||
|
CNTR++
|
||
|
} /* FindSetRightBit check loop for byte data */
|
||
|
|
||
|
/* Test Word value for SetLeftBit */
|
||
|
|
||
|
CNTR = 0x09
|
||
|
WRD1 = 0x0100
|
||
|
While ((CNTR <= 0x10))
|
||
|
{
|
||
|
/* FindSetLeftBit check loop for Word data */
|
||
|
|
||
|
FindSetLeftBit (WRD1, WRSL) /* \FDSO.WRSL */
|
||
|
If ((WRSL != CNTR))
|
||
|
{
|
||
|
Return (0x31)
|
||
|
}
|
||
|
|
||
|
/* Shift the bits to check the same */
|
||
|
|
||
|
WRD1 <<= 0x01
|
||
|
CNTR++
|
||
|
} /* FindSetLeftBit check loop for Word data */
|
||
|
|
||
|
/* Check Word value for SetRightBit */
|
||
|
|
||
|
CNTR = 0x09
|
||
|
WRD1 = 0xFF00
|
||
|
While ((CNTR <= 0x10))
|
||
|
{
|
||
|
/* FindSetRightBit check loop for Word data */
|
||
|
|
||
|
FindSetRightBit (WRD1, WRSL) /* \FDSO.WRSL */
|
||
|
If ((WRSL != CNTR))
|
||
|
{
|
||
|
Return (0x32)
|
||
|
}
|
||
|
|
||
|
WRD1 <<= 0x01
|
||
|
CNTR++
|
||
|
} /* FindSetRightBit check loop for Word data */
|
||
|
|
||
|
/* Test the DWord value for SetLeftBit */
|
||
|
|
||
|
CNTR = 0x11
|
||
|
DWD1 = 0x00010000
|
||
|
While ((CNTR <= 0x20))
|
||
|
{
|
||
|
/* FindSetLeftBit check loop for Dword */
|
||
|
|
||
|
FindSetLeftBit (DWD1, DRSL) /* \FDSO.DRSL */
|
||
|
If ((DRSL != CNTR))
|
||
|
{
|
||
|
Return (0x41)
|
||
|
}
|
||
|
|
||
|
/* Shift the bits to check the same */
|
||
|
|
||
|
DWD1 <<= 0x01
|
||
|
CNTR++
|
||
|
} /* FindSetLeftBit check loop for Dword */
|
||
|
|
||
|
/* Check DWord value for SetRightBit */
|
||
|
|
||
|
CNTR = 0x11
|
||
|
DWD1 = 0xFFFF0000
|
||
|
While ((CNTR <= 0x20))
|
||
|
{
|
||
|
/* FindSetRightBit Check loop for DWORD */
|
||
|
|
||
|
FindSetRightBit (DWD1, DRSL) /* \FDSO.DRSL */
|
||
|
If ((DRSL != CNTR))
|
||
|
{
|
||
|
Return (0x42)
|
||
|
}
|
||
|
|
||
|
DWD1 <<= 0x01
|
||
|
CNTR++
|
||
|
} /* FindSetRightBit Check loop for DWORD */
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* SHFT */
|
||
|
|
||
|
/* Test method called from amlexec */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
/* TEST */
|
||
|
|
||
|
Debug = "++++++++ FdSetOps Test"
|
||
|
RSLT = SHFT (0x80, 0x08)
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \FDSO.RSLT */
|
||
|
}
|
||
|
|
||
|
Return (0x00) /* pass */
|
||
|
} /* TEST */
|
||
|
} /* Device FDSO */
|
||
|
|
||
|
/* */
|
||
|
/* test MulDivOp.asl */
|
||
|
/* */
|
||
|
Device (MLDV)
|
||
|
{
|
||
|
/* create System Memory Operation Region and field overlays */
|
||
|
|
||
|
OperationRegion (RAM, SystemMemory, 0x00400000, 0x0100)
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SMDW, /* 32-bit DWORD */ 32,
|
||
|
SMWD, /* 16-bit WORD */ 16,
|
||
|
SMBY, /* 8-bit BYTE */ 8
|
||
|
} /* Field(RAM) */
|
||
|
|
||
|
Method (TEST, 0, Serialized)
|
||
|
{
|
||
|
Debug = "++++++++ MulDivOp Test"
|
||
|
Name (RMDR, 0x00)
|
||
|
Name (DWRD, 0x12345678)
|
||
|
Name (WRD, 0x1234)
|
||
|
Name (BYT, 0x12)
|
||
|
/* Test MultiplyOp with DWORD data */
|
||
|
|
||
|
DWRD = 0x12345678
|
||
|
DWRD *= 0x03
|
||
|
If ((DWRD != 0x369D0368))
|
||
|
{
|
||
|
Return (DWRD) /* \MLDV.TEST.DWRD */
|
||
|
}
|
||
|
|
||
|
/* Test MultiplyOp with WORD data */
|
||
|
|
||
|
WRD *= 0x04
|
||
|
If ((WRD != 0x48D0))
|
||
|
{
|
||
|
Return (WRD) /* \MLDV.TEST.WRD_ */
|
||
|
}
|
||
|
|
||
|
/* Test MultiplyOp with BYTE data */
|
||
|
|
||
|
BYT *= 0x05
|
||
|
If ((BYT != 0x5A))
|
||
|
{
|
||
|
Return (BYT) /* \MLDV.TEST.BYT_ */
|
||
|
}
|
||
|
|
||
|
/* Test DivideOp with DWORD data */
|
||
|
|
||
|
Divide (DWRD, 0x03, DWRD, RMDR) /* \MLDV.TEST.RMDR */
|
||
|
If ((DWRD != 0x12345678))
|
||
|
{
|
||
|
Return (DWRD) /* \MLDV.TEST.DWRD */
|
||
|
}
|
||
|
|
||
|
If ((RMDR != 0x00))
|
||
|
{
|
||
|
Return (RMDR) /* \MLDV.TEST.RMDR */
|
||
|
}
|
||
|
|
||
|
/* Test DivideOp with WORD data */
|
||
|
|
||
|
Divide (WRD, 0x04, WRD, RMDR) /* \MLDV.TEST.RMDR */
|
||
|
If ((WRD != 0x1234))
|
||
|
{
|
||
|
Return (WRD) /* \MLDV.TEST.WRD_ */
|
||
|
}
|
||
|
|
||
|
If ((RMDR != 0x00))
|
||
|
{
|
||
|
Return (RMDR) /* \MLDV.TEST.RMDR */
|
||
|
}
|
||
|
|
||
|
/* Test DivideOp with BYTE data */
|
||
|
|
||
|
Divide (BYT, 0x05, BYT, RMDR) /* \MLDV.TEST.RMDR */
|
||
|
If ((BYT != 0x12))
|
||
|
{
|
||
|
Return (BYT) /* \MLDV.TEST.BYT_ */
|
||
|
}
|
||
|
|
||
|
If ((RMDR != 0x00))
|
||
|
{
|
||
|
Return (RMDR) /* \MLDV.TEST.RMDR */
|
||
|
}
|
||
|
|
||
|
/* test MultiplyOp with DWORD SystemMemory OpRegion */
|
||
|
|
||
|
SMDW = 0x01234567
|
||
|
SMDW *= 0x02
|
||
|
If ((SMDW != 0x02468ACE))
|
||
|
{
|
||
|
Return (SMDW) /* \MLDV.SMDW */
|
||
|
}
|
||
|
|
||
|
/* test DivideOp with DWORD SystemMemory OpRegion */
|
||
|
|
||
|
Divide (SMDW, 0x03, SMDW, RMDR) /* \MLDV.TEST.RMDR */
|
||
|
If ((SMDW != 0x00C22E44))
|
||
|
{
|
||
|
Return (SMDW) /* \MLDV.SMDW */
|
||
|
}
|
||
|
|
||
|
If ((RMDR != 0x02))
|
||
|
{
|
||
|
Return (RMDR) /* \MLDV.TEST.RMDR */
|
||
|
}
|
||
|
|
||
|
/* test MultiplyOp with WORD SystemMemory OpRegion */
|
||
|
|
||
|
SMWD = 0x0123
|
||
|
SMWD *= 0x03
|
||
|
If ((SMWD != 0x0369))
|
||
|
{
|
||
|
Return (SMWD) /* \MLDV.SMWD */
|
||
|
}
|
||
|
|
||
|
/* test DivideOp with WORD SystemMemory OpRegion */
|
||
|
|
||
|
Divide (SMWD, 0x02, SMWD, RMDR) /* \MLDV.TEST.RMDR */
|
||
|
If ((SMWD != 0x01B4))
|
||
|
{
|
||
|
Return (SMWD) /* \MLDV.SMWD */
|
||
|
}
|
||
|
|
||
|
If ((RMDR != 0x01))
|
||
|
{
|
||
|
Return (RMDR) /* \MLDV.TEST.RMDR */
|
||
|
}
|
||
|
|
||
|
/* test MultiplyOp with BYTE SystemMemory OpRegion */
|
||
|
|
||
|
SMBY = 0x01
|
||
|
SMBY *= 0x07
|
||
|
If ((SMBY != 0x07))
|
||
|
{
|
||
|
Return (SMBY) /* \MLDV.SMBY */
|
||
|
}
|
||
|
|
||
|
/* test DivideOp with BYTE SystemMemory OpRegion */
|
||
|
|
||
|
Divide (SMBY, 0x04, SMBY, RMDR) /* \MLDV.TEST.RMDR */
|
||
|
If ((SMBY != 0x01))
|
||
|
{
|
||
|
Return (SMBY) /* \MLDV.SMBY */
|
||
|
}
|
||
|
|
||
|
If ((RMDR != 0x03))
|
||
|
{
|
||
|
Return (RMDR) /* \MLDV.TEST.RMDR */
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* MLDV */
|
||
|
|
||
|
/* */
|
||
|
/* test NBitOps.asl */
|
||
|
/* */
|
||
|
/*NAnd - Bit-wise NAnd */
|
||
|
/*NAndTerm := NAnd( */
|
||
|
/* Source1, //TermArg=>Integer */
|
||
|
/* Source2 //TermArg=>Integer */
|
||
|
/* Result //Nothing | SuperName */
|
||
|
/*) => Integer */
|
||
|
/*Source1 and Source2 are evaluated as integer data types, a bit-wise NAND is performed, and the result is optionally */
|
||
|
/*stored in Result. */
|
||
|
/*NOr - Bitwise NOr */
|
||
|
/*NOrTerm := NOr( */
|
||
|
/* Source1, //TermArg=>Integer */
|
||
|
/* Source2 //TermArg=>Integer */
|
||
|
/* Result //Nothing | SuperName */
|
||
|
/*) => Integer */
|
||
|
/*Source1 and Source2 are evaluated as integer data types, a bit-wise NOR is performed, and the result is optionally */
|
||
|
/*stored in Result. */
|
||
|
/* Not - Not */
|
||
|
/*NotTerm := Not( */
|
||
|
/* Source, //TermArg=>Integer */
|
||
|
/* Result //Nothing | SuperName */
|
||
|
/*) => Integer */
|
||
|
/*Source1 is evaluated as an integer data type, a bit-wise NOT is performed, and the result is optionally stored in */
|
||
|
/*Result. */
|
||
|
/*If the Control method is success Zero is returned else a non-zero number is returned */
|
||
|
Device (NBIT)
|
||
|
{
|
||
|
/*NBIT */
|
||
|
/*Create System Memory Operation Region and field overlays */
|
||
|
OperationRegion (RAM, SystemMemory, 0x00400000, 0x0100)
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SMDW, /* 32-bit DWORD */ 32,
|
||
|
SMWD, /* 16-bit WORD */ 16,
|
||
|
SMBY, /* 8-bit BYTE */ 8
|
||
|
}/* Field(RAM) */
|
||
|
|
||
|
/*And with Byte Data */
|
||
|
|
||
|
Name (BYT1, 0xFF)
|
||
|
Name (BYT2, 0xFF)
|
||
|
Name (BRSL, 0x00)
|
||
|
/*And with Word Data */
|
||
|
|
||
|
Name (WRD1, 0xFFFF)
|
||
|
Name (WRD2, 0xFFFF)
|
||
|
Name (WRSL, 0x00)
|
||
|
/*And with DWord Data */
|
||
|
|
||
|
Name (DWD1, 0xFFFFFFFF)
|
||
|
Name (DWD2, 0xFFFFFFFF)
|
||
|
Name (DRSL, 0x00)
|
||
|
Name (RSLT, 0x01)
|
||
|
Name (ARSL, 0x00)
|
||
|
Name (LRSL, 0x00)
|
||
|
Method (NNDB, 2, NotSerialized)
|
||
|
{
|
||
|
/*NNDB */
|
||
|
|
||
|
SMDW = 0xFFFFFFFF
|
||
|
SMWD = 0xFFFF
|
||
|
SMBY = 0xFF
|
||
|
NAnd (Arg0, Arg1, ARSL) /* \NBIT.ARSL */
|
||
|
If ((ARSL != 0xFFFFFFFD))
|
||
|
{
|
||
|
Return (0x0B)
|
||
|
}
|
||
|
|
||
|
Local0 = Arg0
|
||
|
Local1 = Arg1
|
||
|
NAnd (Local0, Local1, LRSL) /* \NBIT.LRSL */
|
||
|
If ((LRSL != 0xFFFFFFFD))
|
||
|
{
|
||
|
Return (0x0C)
|
||
|
}
|
||
|
|
||
|
/*Byte data */
|
||
|
|
||
|
NAnd (BYT1, BYT2, BRSL) /* \NBIT.BRSL */
|
||
|
If ((BRSL != 0xFFFFFF00))
|
||
|
{
|
||
|
Return (0x0D)
|
||
|
}
|
||
|
|
||
|
/*Word Data */
|
||
|
|
||
|
NAnd (WRD1, WRD2, WRSL) /* \NBIT.WRSL */
|
||
|
If ((WRSL != 0xFFFF0000))
|
||
|
{
|
||
|
Return (0x0E)
|
||
|
}
|
||
|
|
||
|
/*DWord Data */
|
||
|
|
||
|
NAnd (DWD1, DWD2, DRSL) /* \NBIT.DRSL */
|
||
|
If ((DRSL != 0x00))
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
}
|
||
|
|
||
|
/*Byte data */
|
||
|
|
||
|
NAnd (SMBY, 0xFF, BRSL) /* \NBIT.BRSL */
|
||
|
If ((BRSL != 0xFFFFFF00))
|
||
|
{
|
||
|
Return (0x10)
|
||
|
}
|
||
|
|
||
|
/*Word Data */
|
||
|
|
||
|
NAnd (SMWD, 0xFFFF, WRSL) /* \NBIT.WRSL */
|
||
|
If ((WRSL != 0xFFFF0000))
|
||
|
{
|
||
|
Return (0x11)
|
||
|
}
|
||
|
|
||
|
/*DWord Data */
|
||
|
|
||
|
NAnd (SMDW, 0xFFFFFFFF, DRSL) /* \NBIT.DRSL */
|
||
|
If ((DRSL != 0x00))
|
||
|
{
|
||
|
Return (0x12)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*NNDB */
|
||
|
|
||
|
Method (NNOR, 2, NotSerialized)
|
||
|
{
|
||
|
/*NNOR */
|
||
|
|
||
|
NOr (Arg0, Arg1, ARSL) /* \NBIT.ARSL */
|
||
|
If ((ARSL != 0xFFFFFFFD))
|
||
|
{
|
||
|
Return (0x15)
|
||
|
}
|
||
|
|
||
|
Local0 = Arg0
|
||
|
Local1 = Arg1
|
||
|
NOr (Local0, Local1, LRSL) /* \NBIT.LRSL */
|
||
|
If ((LRSL != 0xFFFFFFFD))
|
||
|
{
|
||
|
Return (0x16)
|
||
|
}
|
||
|
|
||
|
/*Byte data */
|
||
|
|
||
|
NOr (BYT1, BYT2, BRSL) /* \NBIT.BRSL */
|
||
|
If ((BRSL != 0xFFFFFF00))
|
||
|
{
|
||
|
Return (0x17)
|
||
|
}
|
||
|
|
||
|
/*Word Data */
|
||
|
|
||
|
NOr (WRD1, WRD2, WRSL) /* \NBIT.WRSL */
|
||
|
If ((WRSL != 0xFFFF0000))
|
||
|
{
|
||
|
Return (0x18)
|
||
|
}
|
||
|
|
||
|
/*DWord Data */
|
||
|
|
||
|
NOr (DWD1, DWD2, DRSL) /* \NBIT.DRSL */
|
||
|
If ((DRSL != 0x00))
|
||
|
{
|
||
|
Return (0x19)
|
||
|
}
|
||
|
|
||
|
/*System Memory Byte data */
|
||
|
|
||
|
NOr (SMBY, 0xFF, BRSL) /* \NBIT.BRSL */
|
||
|
If ((BRSL != 0xFFFFFF00))
|
||
|
{
|
||
|
Return (0x1A)
|
||
|
}
|
||
|
|
||
|
/*System Memory Word Data */
|
||
|
|
||
|
NOr (SMWD, 0xFFFF, WRSL) /* \NBIT.WRSL */
|
||
|
If ((WRSL != 0xFFFF0000))
|
||
|
{
|
||
|
Return (0x1B)
|
||
|
}
|
||
|
|
||
|
/*System Memory DWord Data */
|
||
|
|
||
|
NOr (SMDW, 0xFFFFFFFF, DRSL) /* \NBIT.DRSL */
|
||
|
If ((DRSL != 0x00))
|
||
|
{
|
||
|
Return (0x1C)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*NNOR */
|
||
|
|
||
|
Method (NNOT, 2, NotSerialized)
|
||
|
{
|
||
|
/*NNOT */
|
||
|
|
||
|
ARSL = (Arg0 | Arg1)
|
||
|
ARSL = ~ARSL /* \NBIT.ARSL */
|
||
|
If ((ARSL != 0xFFFFFFFD))
|
||
|
{
|
||
|
Return (0x1F)
|
||
|
}
|
||
|
|
||
|
Local0 = Arg0
|
||
|
Local1 = Arg1
|
||
|
LRSL = (Local0 | Local1)
|
||
|
LRSL = ~LRSL /* \NBIT.LRSL */
|
||
|
If ((LRSL != 0xFFFFFFFD))
|
||
|
{
|
||
|
Return (0x20)
|
||
|
}
|
||
|
|
||
|
/*Byte data */
|
||
|
|
||
|
BRSL = (BYT1 | BYT2) /* \NBIT.BYT2 */
|
||
|
BRSL = ~BRSL /* \NBIT.BRSL */
|
||
|
If ((BRSL != 0xFFFFFF00))
|
||
|
{
|
||
|
Return (0x21)
|
||
|
}
|
||
|
|
||
|
/*Word Data */
|
||
|
|
||
|
WRSL = (WRD1 | WRD2) /* \NBIT.WRD2 */
|
||
|
WRSL = ~WRSL /* \NBIT.WRSL */
|
||
|
If ((WRSL != 0xFFFF0000))
|
||
|
{
|
||
|
Return (0x22)
|
||
|
}
|
||
|
|
||
|
/*DWord Data */
|
||
|
|
||
|
DRSL = (DWD1 | DWD2) /* \NBIT.DWD2 */
|
||
|
DRSL = ~DRSL /* \NBIT.DRSL */
|
||
|
If ((DRSL != 0x00))
|
||
|
{
|
||
|
Return (0x23)
|
||
|
}
|
||
|
|
||
|
/*System Memory Byte data */
|
||
|
|
||
|
BRSL = (SMBY | 0xFF)
|
||
|
BRSL = ~BRSL /* \NBIT.BRSL */
|
||
|
If ((BRSL != 0xFFFFFF00))
|
||
|
{
|
||
|
Return (0x24)
|
||
|
}
|
||
|
|
||
|
/*System Memory Word Data */
|
||
|
|
||
|
WRSL = (SMWD | 0xFFFF)
|
||
|
WRSL = ~WRSL /* \NBIT.WRSL */
|
||
|
If ((WRSL != 0xFFFF0000))
|
||
|
{
|
||
|
Return (0x25)
|
||
|
}
|
||
|
|
||
|
/*System Memory DWord Data */
|
||
|
|
||
|
DRSL = (SMDW | 0xFFFFFFFF)
|
||
|
DRSL = ~DRSL /* \NBIT.DRSL */
|
||
|
If ((DRSL != 0x00))
|
||
|
{
|
||
|
Return (0x26)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*NNOT */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ NBitOps Test"
|
||
|
RSLT = NNDB (0x02, 0x02)
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \NBIT.RSLT */
|
||
|
}
|
||
|
|
||
|
RSLT = NNOR (0x02, 0x02)
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \NBIT.RSLT */
|
||
|
}
|
||
|
|
||
|
RSLT = NNOT (0x02, 0x02)
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \NBIT.RSLT */
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}
|
||
|
}/*Device NBIT */
|
||
|
|
||
|
/* */
|
||
|
/* test ShftOp.asl */
|
||
|
/* */
|
||
|
/*ShiftRightTerm := ShiftRight( */
|
||
|
/* Source, //TermArg=>Integer */
|
||
|
/* ShiftCount //TermArg=>Integer */
|
||
|
/* Result //Nothing | SuperName */
|
||
|
/*) => Integer */
|
||
|
/*Source and ShiftCount are evaluated as integer data types. Source is shifted right with the most significant bit */
|
||
|
/*zeroed ShiftCount times. The result is optionally stored into Result. */
|
||
|
/*ShiftLeft( */
|
||
|
/* Source, //TermArg=>Integer */
|
||
|
/* ShiftCount //TermArg=>Integer */
|
||
|
/* Result //Nothing | SuperName */
|
||
|
/*) => Integer */
|
||
|
/*Source and ShiftCount are evaluated as integer data types. Source is shifted left with the least significant */
|
||
|
/*bit zeroed ShiftCount times. The result is optionally stored into Result. */
|
||
|
/*If the Control method is success Zero is returned else a non-zero number is returned */
|
||
|
Device (SHFT)
|
||
|
{
|
||
|
/*SHFT */
|
||
|
/*Create System Memory Operation Region and field overlays */
|
||
|
OperationRegion (RAM, SystemMemory, 0x00400000, 0x0100)
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SMDW, /* 32-bit DWORD */ 32,
|
||
|
SMWD, /* 16-bit WORD */ 16,
|
||
|
SMBY, /* 8-bit BYTE */ 8
|
||
|
}/* Field(RAM) */
|
||
|
|
||
|
Name (SHFC, 0x00)
|
||
|
/*And with Byte Data */
|
||
|
|
||
|
Name (BYT1, 0xFF)
|
||
|
Name (BRSL, 0x00)
|
||
|
/*And with Word Data */
|
||
|
|
||
|
Name (WRD1, 0xFFFF)
|
||
|
Name (WRSL, 0x00)
|
||
|
/*And with DWord Data */
|
||
|
|
||
|
Name (DWD1, 0xFFFFFFFF)
|
||
|
Name (DRSL, 0x00)
|
||
|
Name (RSLT, 0x01)
|
||
|
Name (ARSL, 0x00)
|
||
|
Name (LRSL, 0x00)
|
||
|
Method (SLFT, 2, NotSerialized)
|
||
|
{
|
||
|
/*SLFT */
|
||
|
|
||
|
SMDW = 0xFFFFFFFF
|
||
|
SMWD = 0xFFFF
|
||
|
SMBY = 0xFF
|
||
|
/*Arg0-> 2 & Arg1->2 */
|
||
|
|
||
|
ARSL = (Arg0 << Arg1)
|
||
|
If ((ARSL != 0x08))
|
||
|
{
|
||
|
Return (0x0B)
|
||
|
}
|
||
|
|
||
|
Local0 = Arg0
|
||
|
Local1 = Arg1
|
||
|
/*Local0->8 and Local1->2 */
|
||
|
|
||
|
LRSL = (Local0 << Local1)
|
||
|
If ((LRSL != 0x08))
|
||
|
{
|
||
|
Return (0x0C)
|
||
|
}
|
||
|
|
||
|
SHFC = 0x02
|
||
|
/*Byte data */
|
||
|
|
||
|
BRSL = (BYT1 << SHFC) /* \SHFT.SHFC */
|
||
|
If ((BRSL != 0x03FC))
|
||
|
{
|
||
|
Return (0x0D)
|
||
|
}
|
||
|
|
||
|
SHFC = 0x04
|
||
|
/*Word Data */
|
||
|
|
||
|
WRSL = (WRD1 << SHFC) /* \SHFT.SHFC */
|
||
|
If ((WRSL != 0x000FFFF0))
|
||
|
{
|
||
|
Return (0x0E)
|
||
|
}
|
||
|
|
||
|
SHFC = 0x08
|
||
|
/*DWord Data */
|
||
|
|
||
|
DRSL = (DWD1 << SHFC) /* \SHFT.SHFC */
|
||
|
If ((DRSL != 0xFFFFFF00))
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
}
|
||
|
|
||
|
/*System Memory Byte data */
|
||
|
|
||
|
SHFC = 0x04
|
||
|
BRSL = (SMBY << SHFC) /* \SHFT.SHFC */
|
||
|
If ((BRSL != 0x0FF0))
|
||
|
{
|
||
|
Return (0x10)
|
||
|
}
|
||
|
|
||
|
/*Word Data */
|
||
|
|
||
|
SHFC = 0x04
|
||
|
WRSL = (SMWD << SHFC) /* \SHFT.SHFC */
|
||
|
If ((WRSL != 0x000FFFF0))
|
||
|
{
|
||
|
Return (0x11)
|
||
|
}
|
||
|
|
||
|
/*DWord Data */
|
||
|
|
||
|
SHFC = 0x08
|
||
|
DRSL = (SMDW << SHFC) /* \SHFT.SHFC */
|
||
|
If ((DRSL != 0xFFFFFF00))
|
||
|
{
|
||
|
Return (0x12)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*SLFT */
|
||
|
|
||
|
Method (SRGT, 2, NotSerialized)
|
||
|
{
|
||
|
/*SRGT */
|
||
|
/*And with Byte Data */
|
||
|
BYT1 = 0xFF
|
||
|
BRSL = 0x00
|
||
|
/*And with Word Data */
|
||
|
|
||
|
WRD1 = 0xFFFF
|
||
|
WRSL = 0x00
|
||
|
/*And with DWord Data */
|
||
|
|
||
|
DWD1 = 0xFFFFFFFF
|
||
|
DRSL = 0x00
|
||
|
/*Reinitialize the result objects */
|
||
|
|
||
|
ARSL = 0x00
|
||
|
LRSL = 0x00
|
||
|
SMDW = 0xFFFFFFFF
|
||
|
SMWD = 0xFFFF
|
||
|
SMBY = 0xFF
|
||
|
/*Arg0-> 2 & Arg1->2 */
|
||
|
|
||
|
ARSL = (Arg0 >> Arg1)
|
||
|
If ((ARSL != 0x00))
|
||
|
{
|
||
|
Return (0x15)
|
||
|
}
|
||
|
|
||
|
Local0 = Arg0
|
||
|
Local1 = Arg1
|
||
|
/*Local0->8 and Local1->2 */
|
||
|
|
||
|
LRSL = (Local0 >> Local1)
|
||
|
If ((LRSL != 0x00))
|
||
|
{
|
||
|
Return (0x16)
|
||
|
}
|
||
|
|
||
|
SHFC = 0x02
|
||
|
/*Byte data */
|
||
|
|
||
|
BRSL = (BYT1 >> SHFC) /* \SHFT.SHFC */
|
||
|
If ((BRSL != 0x3F))
|
||
|
{
|
||
|
Return (0x17)
|
||
|
}
|
||
|
|
||
|
SHFC = 0x04
|
||
|
/*Word Data */
|
||
|
|
||
|
WRSL = (WRD1 >> SHFC) /* \SHFT.SHFC */
|
||
|
If ((WRSL != 0x0FFF))
|
||
|
{
|
||
|
Return (0x18)
|
||
|
}
|
||
|
|
||
|
SHFC = 0x08
|
||
|
/*DWord Data */
|
||
|
|
||
|
DRSL = (DWD1 >> SHFC) /* \SHFT.SHFC */
|
||
|
If ((DRSL != 0x00FFFFFF))
|
||
|
{
|
||
|
Return (0x19)
|
||
|
}
|
||
|
|
||
|
/*System Memory Byte data */
|
||
|
|
||
|
SHFC = 0x04
|
||
|
BRSL = (SMBY >> SHFC) /* \SHFT.SHFC */
|
||
|
If ((BRSL != 0x0F))
|
||
|
{
|
||
|
Return (0x1A)
|
||
|
}
|
||
|
|
||
|
/*Word Data */
|
||
|
|
||
|
SHFC = 0x04
|
||
|
WRSL = (SMWD >> SHFC) /* \SHFT.SHFC */
|
||
|
If ((WRSL != 0x0FFF))
|
||
|
{
|
||
|
Return (0x1B)
|
||
|
}
|
||
|
|
||
|
/*DWord Data */
|
||
|
|
||
|
SHFC = 0x08
|
||
|
DRSL = (SMDW >> SHFC) /* \SHFT.SHFC */
|
||
|
If ((DRSL != 0x00FFFFFF))
|
||
|
{
|
||
|
Return (0x1C)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}/*SRGT */
|
||
|
|
||
|
/*Test method called from amlexec */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ ShftOp Test"
|
||
|
RSLT = SLFT (0x02, 0x02)
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \SHFT.RSLT */
|
||
|
}
|
||
|
|
||
|
RSLT = SRGT (0x02, 0x02)
|
||
|
If ((RSLT != 0x00))
|
||
|
{
|
||
|
Return (RSLT) /* \SHFT.RSLT */
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}
|
||
|
}/*Device SHFT */
|
||
|
|
||
|
/* */
|
||
|
/* test Xor.asl and slightly modified */
|
||
|
/* */
|
||
|
/*This code tests the XOR opcode term */
|
||
|
/*Syntax of XOR term */
|
||
|
/* XOr( */
|
||
|
/* Source1 //TermArg=>BufferTerm */
|
||
|
/* Source2 //TermArg=>Integer */
|
||
|
/* Result //NameString */
|
||
|
/* ) */
|
||
|
/*"Source1" and "Source2" are evaluated as integers, a bit-wise XOR is performed, and the result is optionally stored in */
|
||
|
/* Result */
|
||
|
Device (XORD)
|
||
|
{
|
||
|
/*This Method tests XOr operator for all the data types i.e. BYTE, WORD and DWORD */
|
||
|
|
||
|
Method (TEST, 0, Serialized)
|
||
|
{
|
||
|
Debug = "++++++++ Xor Test"
|
||
|
/*Overlay in system memory */
|
||
|
|
||
|
OperationRegion (RAM, SystemMemory, 0x00800000, 0x0100)
|
||
|
Field (RAM, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
RES1, /*Offset */ 1,
|
||
|
BYT1, /*First BYTE */ 8,
|
||
|
BYT2, /*Second BYTE */ 8,
|
||
|
RBYT, /*Result Byte */ 8,
|
||
|
RES2, /*Offset */ 1,
|
||
|
WRD1, /*First WORD field */ 16,
|
||
|
WRD2, /*Second WORD field */ 16,
|
||
|
RWRD, /*RSLT WORD field */ 16,
|
||
|
RES3, /*Offset */ 1,
|
||
|
DWD1, /*First Dword */ 32,
|
||
|
DWD2, /*Second Dword */ 32,
|
||
|
RDWD, /*Result Dword */ 32,
|
||
|
RES4, /*Offset */ 1
|
||
|
}
|
||
|
|
||
|
/* Store bits in the single bit fields for checking */
|
||
|
/* at the end */
|
||
|
RES1 = 0x01
|
||
|
RES2 = 0x01
|
||
|
RES3 = 0x01
|
||
|
RES4 = 0x01
|
||
|
/* Check the stored single bits */
|
||
|
|
||
|
If ((RES1 != 0x01))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RES2 != 0x01))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RES3 != 0x01))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RES4 != 0x01))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/************************************************* */
|
||
|
/* (BYT1) Bit1 ->0 and (BYT2)Bit2 -> 0 condition */
|
||
|
BYT1 = 0x00
|
||
|
BYT2 = 0x00
|
||
|
Local0 = (BYT1 ^ BYT2) /* \XORD.TEST.BYT2 */
|
||
|
RBYT = Local0
|
||
|
If ((RBYT != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* (BYT1) Bit1 ->1 and (BYT2)Bit2 -> 1 condition */
|
||
|
|
||
|
BYT1 = 0xFF
|
||
|
BYT2 = 0xFF
|
||
|
Local0 = (BYT1 ^ BYT2) /* \XORD.TEST.BYT2 */
|
||
|
RBYT = Local0
|
||
|
If ((RBYT != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* (BYT1) Bit1 ->1 and (BYT)Bit2 -> 0 condition */
|
||
|
|
||
|
BYT1 = 0x55
|
||
|
BYT2 = 0xAA
|
||
|
Local0 = (BYT1 ^ BYT2) /* \XORD.TEST.BYT2 */
|
||
|
RBYT = Local0
|
||
|
If ((RBYT != 0xFF))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/*(BYT1) Bit1 ->0 and (BYT2)Bit2 -> 1 condition */
|
||
|
|
||
|
BYT1 = 0xAA
|
||
|
BYT2 = 0x55
|
||
|
Local0 = (BYT1 ^ BYT2) /* \XORD.TEST.BYT2 */
|
||
|
RBYT = Local0
|
||
|
If ((RBYT != 0xFF))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
BYT1 = 0x12
|
||
|
BYT2 = 0xED
|
||
|
Local0 = (BYT1 ^ BYT2) /* \XORD.TEST.BYT2 */
|
||
|
RBYT = Local0
|
||
|
If ((RBYT != 0xFF))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* Store known values for checking later */
|
||
|
|
||
|
BYT1 = 0x12
|
||
|
If ((BYT1 != 0x12))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
BYT2 = 0xFE
|
||
|
If ((BYT2 != 0xFE))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
RBYT = 0xAB
|
||
|
If ((RBYT != 0xAB))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/************************************************ */
|
||
|
/* (WRD1) Bit1 ->0 and (WRD2)Bit2 -> 0 condition */
|
||
|
WRD1 = 0x00
|
||
|
WRD2 = 0x00
|
||
|
RWRD = (WRD1 ^ WRD2) /* \XORD.TEST.WRD2 */
|
||
|
If ((RWRD != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* (WRD1) Bit1 ->1 and (WRD2)Bit2 -> 1 condition */
|
||
|
|
||
|
WRD1 = 0xFFFF
|
||
|
WRD2 = 0xFFFF
|
||
|
RWRD = (WRD1 ^ WRD2) /* \XORD.TEST.WRD2 */
|
||
|
If ((RWRD != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* (WRD1) Bit1 ->1 and (WRD2)Bit2 -> 0 condition */
|
||
|
|
||
|
WRD1 = 0x5555
|
||
|
WRD2 = 0xAAAA
|
||
|
RWRD = (WRD1 ^ WRD2) /* \XORD.TEST.WRD2 */
|
||
|
If ((RWRD != 0xFFFF))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/*(WRD1) Bit1 ->0 and (WRD2)Bit2 -> 1 condition */
|
||
|
|
||
|
WRD1 = 0xAAAA
|
||
|
WRD2 = 0x5555
|
||
|
RWRD = (WRD1 ^ WRD2) /* \XORD.TEST.WRD2 */
|
||
|
If ((RWRD != 0xFFFF))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
WRD1 = 0x1234
|
||
|
WRD2 = 0xEDCB
|
||
|
RWRD = (WRD1 ^ WRD2) /* \XORD.TEST.WRD2 */
|
||
|
If ((RWRD != 0xFFFF))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* Store known values for checking later */
|
||
|
|
||
|
WRD1 = 0x1234
|
||
|
If ((WRD1 != 0x1234))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
WRD2 = 0xFEDC
|
||
|
If ((WRD2 != 0xFEDC))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
RWRD = 0x87AB
|
||
|
If ((RWRD != 0x87AB))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/*************************************************** */
|
||
|
/* (DWD1) Bit1 ->0 and (DWD2)Bit2 -> 0 condition */
|
||
|
DWD1 = 0x00
|
||
|
DWD2 = 0x00
|
||
|
RDWD = (DWD1 ^ DWD2) /* \XORD.TEST.DWD2 */
|
||
|
If ((RDWD != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 1 condition */
|
||
|
|
||
|
DWD1 = 0xFFFFFFFF
|
||
|
DWD2 = 0xFFFFFFFF
|
||
|
RDWD = (DWD1 ^ DWD2) /* \XORD.TEST.DWD2 */
|
||
|
If ((RDWD != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 0 condition */
|
||
|
|
||
|
DWD1 = 0x55555555
|
||
|
DWD2 = 0xAAAAAAAA
|
||
|
RDWD = (DWD1 ^ DWD2) /* \XORD.TEST.DWD2 */
|
||
|
If ((RDWD != 0xFFFFFFFF))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/*(DWD1) Bit1 ->0 and (DWD2)Bit2 -> 1 condition */
|
||
|
|
||
|
DWD1 = 0xAAAAAAAA
|
||
|
DWD2 = 0x55555555
|
||
|
RDWD = (DWD1 ^ DWD2) /* \XORD.TEST.DWD2 */
|
||
|
If ((RDWD != 0xFFFFFFFF))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 0 condition */
|
||
|
|
||
|
DWD1 = 0x12345678
|
||
|
DWD2 = 0xEDCBA987
|
||
|
RDWD = (DWD1 ^ DWD2) /* \XORD.TEST.DWD2 */
|
||
|
If ((RDWD != 0xFFFFFFFF))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
DWD1 = 0x12345678
|
||
|
If ((DWD1 != 0x12345678))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
DWD2 = 0xFEDCBA98
|
||
|
If ((DWD2 != 0xFEDCBA98))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
RDWD = 0x91827364
|
||
|
If ((RDWD != 0x91827364))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/***************************************************** */
|
||
|
/* Check the stored single bits */
|
||
|
If ((RES1 != 0x01))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RES2 != 0x01))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RES3 != 0x01))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RES4 != 0x01))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* Change all of the single bit fields to zero */
|
||
|
|
||
|
RES1 = 0x00
|
||
|
RES2 = 0x00
|
||
|
RES3 = 0x00
|
||
|
RES4 = 0x00
|
||
|
/* Now, check all of the fields */
|
||
|
/* Byte */
|
||
|
If ((BYT1 != 0x12))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((BYT2 != 0xFE))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RBYT != 0xAB))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* Word */
|
||
|
|
||
|
If ((WRD1 != 0x1234))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((WRD2 != 0xFEDC))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RWRD != 0x87AB))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* Dword */
|
||
|
|
||
|
If ((DWD1 != 0x12345678))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((DWD2 != 0xFEDCBA98))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RDWD != 0x91827364))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* Bits */
|
||
|
|
||
|
If ((RES1 != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RES2 != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RES3 != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((RES4 != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* XORD */
|
||
|
|
||
|
/* */
|
||
|
/* test CrBytFld.asl */
|
||
|
/* */
|
||
|
/* CrBytFld test */
|
||
|
/* Test for CreateByteField. */
|
||
|
/* Tests creating byte field overlay of buffer stored in Local0. */
|
||
|
/* Tests need to be added for Arg0 and Name buffers. */
|
||
|
/* */
|
||
|
Device (CRBF)
|
||
|
{
|
||
|
/* Test device name */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ CrBytFld Test"
|
||
|
/* Local0 is unitialized buffer with 4 elements */
|
||
|
|
||
|
Local0 = Buffer (0x04){}
|
||
|
/* create Byte Field named BF0 based on Local0 element 0 */
|
||
|
|
||
|
CreateByteField (Local0, 0x00, BF0)
|
||
|
/* validate CreateByteField did not alter Local0 */
|
||
|
|
||
|
Local1 = ObjectType (Local0) /* Local1 = Local0 object type */
|
||
|
If ((Local1 != 0x03)) /* Buffer object type value is 3 */
|
||
|
{
|
||
|
Return (0x02)
|
||
|
}
|
||
|
|
||
|
/* store something into BF0 */
|
||
|
|
||
|
BF0 = 0x01
|
||
|
/* validate Store did not alter Local0 object type */
|
||
|
|
||
|
Local1 = ObjectType (Local0) /* Local1 = Local0 object type */
|
||
|
If ((Local1 != 0x03)) /* Buffer object type value is 3 */
|
||
|
{
|
||
|
Return (0x03)
|
||
|
}
|
||
|
|
||
|
/* verify that the Store into BF0 was successful */
|
||
|
|
||
|
If ((BF0 != 0x01))
|
||
|
{
|
||
|
Return (0x04)
|
||
|
}
|
||
|
|
||
|
/* create Byte Field named BF1 based on Local0 element 1 */
|
||
|
|
||
|
CreateByteField (Local0, 0x01, BF1)
|
||
|
/* validate CreateByteField did not alter Local0 */
|
||
|
|
||
|
Local1 = ObjectType (Local0) /* Local1 = Local0 object type */
|
||
|
If ((Local1 != 0x03)) /* Buffer object type value is 3 */
|
||
|
{
|
||
|
Return (0x0A)
|
||
|
}
|
||
|
|
||
|
/* store something into BF1 */
|
||
|
|
||
|
BF1 = 0x05
|
||
|
/* validate Store did not alter Local0 object type */
|
||
|
|
||
|
Local1 = ObjectType (Local0) /* Local1 = Local0 object type */
|
||
|
If ((Local1 != 0x03)) /* Buffer object type value is 3 */
|
||
|
{
|
||
|
Return (0x0B)
|
||
|
}
|
||
|
|
||
|
/* verify that the Store into BF1 was successful */
|
||
|
|
||
|
If ((BF1 != 0x05))
|
||
|
{
|
||
|
Return (0x0C)
|
||
|
}
|
||
|
|
||
|
/* verify that the Store into BF1 did not alter BF0 */
|
||
|
|
||
|
If ((BF0 != 0x01))
|
||
|
{
|
||
|
Return (0x0D)
|
||
|
}
|
||
|
|
||
|
/* store something into BF0 */
|
||
|
|
||
|
BF0 = 0xFFFF
|
||
|
/* verify that the Store into BF0 was successful */
|
||
|
|
||
|
If ((BF0 != 0xFF))
|
||
|
{
|
||
|
Return (0x14)
|
||
|
}
|
||
|
|
||
|
/* verify that the Store into BF0 did not alter BF1 */
|
||
|
|
||
|
If ((BF1 != 0x05))
|
||
|
{
|
||
|
Return (0x15)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* CRBF */
|
||
|
|
||
|
/* */
|
||
|
/* test IndexOp4.asl */
|
||
|
/* */
|
||
|
/* IndexOp4 test */
|
||
|
/* This is just a subset of the many RegionOp/Index Field test cases. */
|
||
|
/* Tests access of index fields smaller than 8 bits. */
|
||
|
/* */
|
||
|
Device (IDX4)
|
||
|
{
|
||
|
/* Test device name */
|
||
|
/* MADM: Misaligned Dynamic RAM SystemMemory OperationRegion */
|
||
|
/* Tests OperationRegion memory access using misaligned BYTE, */
|
||
|
/* WORD, and DWORD field element accesses. Validation is performed */
|
||
|
/* using both misaligned field entries and aligned field entries. */
|
||
|
/* */
|
||
|
/* MADM returns 0 if all test cases pass or non-zero identifying */
|
||
|
/* the failing test case for debug purposes. This non-zero numbers */
|
||
|
/* are not guaranteed to be in perfect sequence (i.e., test case */
|
||
|
/* index), but are guaranteed to be unique so the failing test */
|
||
|
/* case can be uniquely identified. */
|
||
|
/* */
|
||
|
Method (MADM, 1, Serialized)
|
||
|
{
|
||
|
/* MADM: Misaligned Dynamic RAM SystemMemory OperationRegion */
|
||
|
|
||
|
OperationRegion (RAM, SystemMemory, Arg0, 0x0100)
|
||
|
Field (RAM, DWordAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* aligned field definition (for verification) */
|
||
|
|
||
|
DWD0, /* aligned DWORD field */ 32,
|
||
|
DWD1, /* aligned DWORD field */ 32
|
||
|
}
|
||
|
|
||
|
Field (RAM, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* bit access field definition */
|
||
|
|
||
|
BIT0, /* single bit field entry */ 1,
|
||
|
BIT1, /* single bit field entry */ 1,
|
||
|
BIT2, /* single bit field entry */ 1,
|
||
|
BIT3, /* single bit field entry */ 1,
|
||
|
BIT4, /* single bit field entry */ 1,
|
||
|
BIT5, /* single bit field entry */ 1,
|
||
|
BIT6, /* single bit field entry */ 1,
|
||
|
BIT7, /* single bit field entry */ 1,
|
||
|
BIT8, /* single bit field entry */ 1,
|
||
|
BIT9, /* single bit field entry */ 1,
|
||
|
BITA, /* single bit field entry */ 1,
|
||
|
BITB, /* single bit field entry */ 1,
|
||
|
BITC, /* single bit field entry */ 1,
|
||
|
BITD, /* single bit field entry */ 1,
|
||
|
BITE, /* single bit field entry */ 1,
|
||
|
BITF, /* single bit field entry */ 1,
|
||
|
BI10, /* single bit field entry */ 1,
|
||
|
BI11, /* single bit field entry */ 1,
|
||
|
BI12, /* single bit field entry */ 1,
|
||
|
BI13, /* single bit field entry */ 1,
|
||
|
BI14, /* single bit field entry */ 1,
|
||
|
BI15, /* single bit field entry */ 1,
|
||
|
BI16, /* single bit field entry */ 1,
|
||
|
BI17, /* single bit field entry */ 1,
|
||
|
BI18, /* single bit field entry */ 1,
|
||
|
BI19, /* single bit field entry */ 1,
|
||
|
BI1A, /* single bit field entry */ 1,
|
||
|
BI1B, /* single bit field entry */ 1,
|
||
|
BI1C, /* single bit field entry */ 1,
|
||
|
BI1D, /* single bit field entry */ 1,
|
||
|
BI1E, /* single bit field entry */ 1,
|
||
|
BI1F, /* single bit field entry */ 1
|
||
|
} /* bit access field definition */
|
||
|
|
||
|
Field (RAM, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* two-bit access field definition */
|
||
|
|
||
|
B2_0, /* single bit field entry */ 2,
|
||
|
B2_1, /* single bit field entry */ 2,
|
||
|
B2_2, /* single bit field entry */ 2,
|
||
|
B2_3, /* single bit field entry */ 2,
|
||
|
B2_4, /* single bit field entry */ 2,
|
||
|
B2_5, /* single bit field entry */ 2,
|
||
|
B2_6, /* single bit field entry */ 2,
|
||
|
B2_7, /* single bit field entry */ 2,
|
||
|
B2_8, /* single bit field entry */ 2,
|
||
|
B2_9, /* single bit field entry */ 2,
|
||
|
B2_A, /* single bit field entry */ 2,
|
||
|
B2_B, /* single bit field entry */ 2,
|
||
|
B2_C, /* single bit field entry */ 2,
|
||
|
B2_D, /* single bit field entry */ 2,
|
||
|
B2_E, /* single bit field entry */ 2,
|
||
|
B2_F, /* single bit field entry */ 2
|
||
|
} /* bit access field definition */
|
||
|
|
||
|
/* initialize memory contents using aligned field entries */
|
||
|
|
||
|
DWD0 = 0x5AA55AA5
|
||
|
DWD1 = 0x5AA55AA5
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BIT0 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BIT0 != 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA55AA4))
|
||
|
{
|
||
|
Return (0x02)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BIT1 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BIT1 != 0x01))
|
||
|
{
|
||
|
Return (0x03)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA55AA6))
|
||
|
{
|
||
|
Return (0x04)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BIT2 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BIT2 != 0x00))
|
||
|
{
|
||
|
Return (0x05)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA55AA2))
|
||
|
{
|
||
|
Return (0x06)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BIT3 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BIT3 != 0x01))
|
||
|
{
|
||
|
Return (0x07)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA55AAA))
|
||
|
{
|
||
|
Return (0x08)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BIT4 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BIT4 != 0x01))
|
||
|
{
|
||
|
Return (0x09)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA55ABA))
|
||
|
{
|
||
|
Return (0x0A)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BIT5 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BIT5 != 0x00))
|
||
|
{
|
||
|
Return (0x0B)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA55A9A))
|
||
|
{
|
||
|
Return (0x0C)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BIT6 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BIT6 != 0x01))
|
||
|
{
|
||
|
Return (0x0D)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA55ADA))
|
||
|
{
|
||
|
Return (0x0E)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BIT7 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BIT7 != 0x00))
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA55A5A))
|
||
|
{
|
||
|
Return (0x10)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BIT8 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BIT8 != 0x01))
|
||
|
{
|
||
|
Return (0x11)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA55B5A))
|
||
|
{
|
||
|
Return (0x12)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BIT9 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BIT9 != 0x00))
|
||
|
{
|
||
|
Return (0x13)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA5595A))
|
||
|
{
|
||
|
Return (0x14)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BITA = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BITA != 0x01))
|
||
|
{
|
||
|
Return (0x15)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA55D5A))
|
||
|
{
|
||
|
Return (0x16)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BITB = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BITB != 0x00))
|
||
|
{
|
||
|
Return (0x17)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA5555A))
|
||
|
{
|
||
|
Return (0x18)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BITC = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BITC != 0x00))
|
||
|
{
|
||
|
Return (0x19)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA5455A))
|
||
|
{
|
||
|
Return (0x1A)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BITD = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BITD != 0x01))
|
||
|
{
|
||
|
Return (0x1B)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA5655A))
|
||
|
{
|
||
|
Return (0x1C)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BITE = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BITE != 0x00))
|
||
|
{
|
||
|
Return (0x1D)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA5255A))
|
||
|
{
|
||
|
Return (0x1E)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BITF = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BITF != 0x01))
|
||
|
{
|
||
|
Return (0x1F)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA5A55A))
|
||
|
{
|
||
|
Return (0x20)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI10 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI10 != 0x00))
|
||
|
{
|
||
|
Return (0x21)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA4A55A))
|
||
|
{
|
||
|
Return (0x22)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI11 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI11 != 0x01))
|
||
|
{
|
||
|
Return (0x23)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA6A55A))
|
||
|
{
|
||
|
Return (0x24)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI12 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI12 != 0x00))
|
||
|
{
|
||
|
Return (0x25)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AA2A55A))
|
||
|
{
|
||
|
Return (0x26)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI13 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI13 != 0x01))
|
||
|
{
|
||
|
Return (0x27)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5AAAA55A))
|
||
|
{
|
||
|
Return (0x28)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI14 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI14 != 0x01))
|
||
|
{
|
||
|
Return (0x29)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5ABAA55A))
|
||
|
{
|
||
|
Return (0x2A)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI15 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI15 != 0x00))
|
||
|
{
|
||
|
Return (0x2B)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5A9AA55A))
|
||
|
{
|
||
|
Return (0x2C)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI16 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI16 != 0x01))
|
||
|
{
|
||
|
Return (0x2D)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5ADAA55A))
|
||
|
{
|
||
|
Return (0x2E)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI17 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI17 != 0x00))
|
||
|
{
|
||
|
Return (0x2F)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5A5AA55A))
|
||
|
{
|
||
|
Return (0x30)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI18 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI18 != 0x01))
|
||
|
{
|
||
|
Return (0x31)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5B5AA55A))
|
||
|
{
|
||
|
Return (0x32)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI19 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI19 != 0x00))
|
||
|
{
|
||
|
Return (0x33)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x595AA55A))
|
||
|
{
|
||
|
Return (0x34)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI1A = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI1A != 0x01))
|
||
|
{
|
||
|
Return (0x35)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x5D5AA55A))
|
||
|
{
|
||
|
Return (0x36)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI1B = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI1B != 0x00))
|
||
|
{
|
||
|
Return (0x37)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x555AA55A))
|
||
|
{
|
||
|
Return (0x38)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI1C = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI1C != 0x00))
|
||
|
{
|
||
|
Return (0x39)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x455AA55A))
|
||
|
{
|
||
|
Return (0x3A)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI1D = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI1D != 0x01))
|
||
|
{
|
||
|
Return (0x3B)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x655AA55A))
|
||
|
{
|
||
|
Return (0x3C)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI1E = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI1E != 0x00))
|
||
|
{
|
||
|
Return (0x3D)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x255AA55A))
|
||
|
{
|
||
|
Return (0x3E)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
BI1F = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((BI1F != 0x01))
|
||
|
{
|
||
|
Return (0x3F)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55AA55A))
|
||
|
{
|
||
|
Return (0x40)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_0 = 0x03
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_0 != 0x03))
|
||
|
{
|
||
|
Return (0x41)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55AA55B))
|
||
|
{
|
||
|
Return (0x42)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_1 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_1 != 0x01))
|
||
|
{
|
||
|
Return (0x43)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55AA557))
|
||
|
{
|
||
|
Return (0x44)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_2 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_2 != 0x00))
|
||
|
{
|
||
|
Return (0x45)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55AA547))
|
||
|
{
|
||
|
Return (0x46)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_3 = 0x03
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_3 != 0x03))
|
||
|
{
|
||
|
Return (0x47)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55AA5C7))
|
||
|
{
|
||
|
Return (0x48)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_4 = 0x03
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_4 != 0x03))
|
||
|
{
|
||
|
Return (0x49)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55AA7C7))
|
||
|
{
|
||
|
Return (0x4A)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_5 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_5 != 0x00))
|
||
|
{
|
||
|
Return (0x4B)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55AA3C7))
|
||
|
{
|
||
|
Return (0x4C)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_6 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_6 != 0x01))
|
||
|
{
|
||
|
Return (0x4D)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55A93C7))
|
||
|
{
|
||
|
Return (0x4E)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_7 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_7 != 0x01))
|
||
|
{
|
||
|
Return (0x4F)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55A53C7))
|
||
|
{
|
||
|
Return (0x50)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_8 = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_8 != 0x00))
|
||
|
{
|
||
|
Return (0x51)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55853C7))
|
||
|
{
|
||
|
Return (0x52)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_9 = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_9 != 0x01))
|
||
|
{
|
||
|
Return (0x53)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA55453C7))
|
||
|
{
|
||
|
Return (0x54)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_A = 0x02
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_A != 0x02))
|
||
|
{
|
||
|
Return (0x55)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA56453C7))
|
||
|
{
|
||
|
Return (0x56)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_B = 0x02
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_B != 0x02))
|
||
|
{
|
||
|
Return (0x57)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA5A453C7))
|
||
|
{
|
||
|
Return (0x58)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_C = 0x03
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_C != 0x03))
|
||
|
{
|
||
|
Return (0x59)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xA7A453C7))
|
||
|
{
|
||
|
Return (0x5A)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_D = 0x03
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_D != 0x03))
|
||
|
{
|
||
|
Return (0x5B)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0xAFA453C7))
|
||
|
{
|
||
|
Return (0x5C)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_E = 0x01
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_E != 0x01))
|
||
|
{
|
||
|
Return (0x5D)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x9FA453C7))
|
||
|
{
|
||
|
Return (0x5E)
|
||
|
}
|
||
|
|
||
|
/* set memory contents to known values using misaligned field entries */
|
||
|
|
||
|
B2_F = 0x00
|
||
|
/* verify memory contents using misaligned field entries */
|
||
|
|
||
|
If ((B2_F != 0x00))
|
||
|
{
|
||
|
Return (0x5F)
|
||
|
}
|
||
|
|
||
|
/* verify memory contents using aligned field entries */
|
||
|
|
||
|
If ((DWD0 != 0x1FA453C7))
|
||
|
{
|
||
|
Return (0x60)
|
||
|
}
|
||
|
|
||
|
Return (0x00) /* pass */
|
||
|
} /* MADM: Misaligned Dynamic RAM SystemMemory OperationRegion */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ IndexOp4 Test"
|
||
|
/* MADM (Misaligned Dynamic RAM SystemMemory OperationRegion) arguments: */
|
||
|
/* Arg0 -- SystemMemory OperationRegion base address */
|
||
|
Local0 = MADM (0x00800000)
|
||
|
If ((Local0 != 0x00)) /* MADM returns zero if successful */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
} /* failure: return MADM error code */
|
||
|
|
||
|
Return (Local0)
|
||
|
} /* TEST */
|
||
|
} /* IDX4 */
|
||
|
|
||
|
/* */
|
||
|
/* test Event.asl */
|
||
|
/* */
|
||
|
/* EventOp, ResetOp, SignalOp, and WaitOp test cases. */
|
||
|
/* */
|
||
|
Device (EVNT)
|
||
|
{
|
||
|
Event (EVNT) /* event synchronization object */
|
||
|
Method (TEVN, 1, NotSerialized)
|
||
|
{
|
||
|
/* TEVN control method to test ResetOp, SignalOp, and WaitOp */
|
||
|
/* reset EVNT to initialization (zero) state */
|
||
|
Reset (EVNT)
|
||
|
/* prime EVNT with two outstanding signals */
|
||
|
|
||
|
Signal (EVNT)
|
||
|
Signal (EVNT)
|
||
|
/* acquire existing signal */
|
||
|
|
||
|
Local0 = Wait (EVNT, Arg0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 != 0x01)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x21)
|
||
|
} /* Local1 indicates Local0 is not a Number */
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x22)
|
||
|
} /* timeout occurred without acquiring signal */
|
||
|
|
||
|
Debug = "Acquire 1st existing signal PASS"
|
||
|
/* acquire existing signal */
|
||
|
|
||
|
Local0 = Wait (EVNT, Arg0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 != 0x01)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x31)
|
||
|
} /* Local1 indicates Local0 is not a Number */
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x32)
|
||
|
} /* timeout occurred without acquiring signal */
|
||
|
|
||
|
Debug = "Acquire 2nd existing signal PASS"
|
||
|
/* ensure WaitOp timeout test cases do not hang */
|
||
|
|
||
|
If ((Arg0 == 0xFFFF))
|
||
|
{
|
||
|
Arg0 = 0xFFFE
|
||
|
}
|
||
|
|
||
|
/* acquire non-existing signal */
|
||
|
|
||
|
Local0 = Wait (EVNT, Arg0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 != 0x01)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x41)
|
||
|
} /* Local1 indicates Local0 is not a Number */
|
||
|
|
||
|
If ((Local0 == 0x00)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x42)
|
||
|
} /* non-existant signal was acquired */
|
||
|
|
||
|
Debug = "Acquire signal timeout PASS"
|
||
|
/* prime EVNT with two outstanding signals */
|
||
|
|
||
|
Signal (EVNT)
|
||
|
Signal (EVNT)
|
||
|
/* reset EVNT to initialization (zero) state */
|
||
|
|
||
|
Reset (EVNT)
|
||
|
/* acquire non-existing signal */
|
||
|
|
||
|
Local0 = Wait (EVNT, Arg0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 != 0x01)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x51)
|
||
|
} /* Local1 indicates Local0 is not a Number */
|
||
|
|
||
|
If ((Local0 == 0x00)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x52)
|
||
|
} /* non-existant signal was acquired */
|
||
|
|
||
|
Debug = "Reset signal PASS"
|
||
|
/* acquire non-existing signal using Lvalue timeout */
|
||
|
|
||
|
Local0 = Wait (EVNT, Zero)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 != 0x01)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x61)
|
||
|
} /* Local1 indicates Local0 is not a Number */
|
||
|
|
||
|
If ((Local0 == 0x00)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x62)
|
||
|
} /* non-existant signal was acquired */
|
||
|
|
||
|
Debug = "Zero Lvalue PASS"
|
||
|
/* acquire non-existing signal using Lvalue timeout */
|
||
|
|
||
|
Local0 = Wait (EVNT, One)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 != 0x01)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x71)
|
||
|
} /* Local1 indicates Local0 is not a Number */
|
||
|
|
||
|
If ((Local0 == 0x00)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x72)
|
||
|
} /* non-existant signal was acquired */
|
||
|
|
||
|
Debug = "One Lvalue PASS"
|
||
|
/* Lvalue Event test cases */
|
||
|
/* ILLEGAL SOURCE OPERAND Store (EVNT, Local2) */
|
||
|
/* validate Local2 is an Event */
|
||
|
Local1 = ObjectType (EVNT)
|
||
|
If ((Local1 != 0x07)) /* Event is type 7 */
|
||
|
{
|
||
|
Return (0x81)
|
||
|
} /* Local1 indicates Local0 is not a Number */
|
||
|
|
||
|
/* reset EVNT to initialization (zero) state */
|
||
|
|
||
|
Reset (EVNT)
|
||
|
/* prime EVNT with two outstanding signals */
|
||
|
|
||
|
Signal (EVNT)
|
||
|
/* acquire existing signal */
|
||
|
|
||
|
Local0 = Wait (EVNT, Arg0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 != 0x01)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x82)
|
||
|
} /* Local1 indicates Local0 is not a Number */
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x83)
|
||
|
} /* timeout occurred without acquiring signal */
|
||
|
|
||
|
Debug = "Acquire Lvalue existing signal PASS"
|
||
|
/* acquire non-existing signal */
|
||
|
|
||
|
Local0 = Wait (EVNT, Arg0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 != 0x01)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x84)
|
||
|
} /* Local1 indicates Local0 is not a Number */
|
||
|
|
||
|
If ((Local0 == 0x00)) /* Number is type 1 */
|
||
|
{
|
||
|
Return (0x85)
|
||
|
} /* non-existant signal was acquired */
|
||
|
|
||
|
Debug = "Acquire Lvalue signal timeout PASS"
|
||
|
Return (0x00) /* success */
|
||
|
} /* TEVN control method to test ResetOp, SignalOp, and WaitOp */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ Event Test"
|
||
|
Local0 = TEVN (0x64)
|
||
|
Return (Local0)
|
||
|
} /* TEST */
|
||
|
} /* EVNT */
|
||
|
|
||
|
/* */
|
||
|
/* test SizeOfLv.asl */
|
||
|
/* */
|
||
|
/* Test for SizeOf (Lvalue) */
|
||
|
/* */
|
||
|
/* This next section will contain the packages that the SizeOfOp will be */
|
||
|
/* exercised on. The first one, PKG0, is a regular package of 3 elements. */
|
||
|
/* The 2nd one, PKG1, is a nested package with 3 packages inside it, each */
|
||
|
/* with 3 elements. It is expected that SizeOf operator will return the */
|
||
|
/* same value for these two packages since they both have 3 elements. The */
|
||
|
/* final package, PKG2, has 4 elements and the SizeOf operator is expected */
|
||
|
/* to return different results for this package. */
|
||
|
Name (PKG0, Package (0x03)
|
||
|
{
|
||
|
0x0123,
|
||
|
0x4567,
|
||
|
0x89AB
|
||
|
}) /* PKG0 */
|
||
|
Name (PKG1, Package (0x03)
|
||
|
{
|
||
|
Package (0x03)
|
||
|
{
|
||
|
0x0123,
|
||
|
0x4567,
|
||
|
0x89AB
|
||
|
},
|
||
|
|
||
|
Package (0x03)
|
||
|
{
|
||
|
0xCDEF,
|
||
|
0xFEDC,
|
||
|
0xBA98
|
||
|
},
|
||
|
|
||
|
Package (0x03)
|
||
|
{
|
||
|
0x7654,
|
||
|
0x3210,
|
||
|
0x1234
|
||
|
}
|
||
|
}) /* PKG1 */
|
||
|
Name (PKG2, Package (0x04)
|
||
|
{
|
||
|
0x0123,
|
||
|
0x4567,
|
||
|
0x89AB,
|
||
|
0x8888
|
||
|
}) /* PKG2 */
|
||
|
Name (PKG3, Package (0x05)
|
||
|
{
|
||
|
0x0123,
|
||
|
0x4567,
|
||
|
0x89AB,
|
||
|
0x8888,
|
||
|
0x7777
|
||
|
}) /* PKG3 */
|
||
|
/* End Packages ********************************************************** */
|
||
|
/* The following section will declare the data strings that will be used to */
|
||
|
/* exercise the SizeOf operator. STR0 and STR1 are expected to be equal, */
|
||
|
/* STR2 is expected to have a different SizeOf value than STR0 and STR1. */
|
||
|
Name (STR0, "ACPI permits very flexible methods of expressing a system")
|
||
|
Name (STR1, "MIKE permits very flexible methods of expressing a system")
|
||
|
Name (STR2, "Needless to say, Mike and ACPI are frequently at odds")
|
||
|
/* This string is being made in case we want to do a SizeOf comparison */
|
||
|
/* between strings and packages or buffers */
|
||
|
Name (STR3, "12345")
|
||
|
/* End Strings ********************************************************** */
|
||
|
/* The following section will declare the buffers that will be used to exercise */
|
||
|
/* the SizeOf operator. */
|
||
|
Name (BUF0, Buffer (0x0A){})
|
||
|
Name (BUF1, Buffer (0x0A){})
|
||
|
Name (BUF2, Buffer (0x08){})
|
||
|
Name (BUF3, Buffer (0x05){})
|
||
|
/* End Buffers ********************************************************** */
|
||
|
|
||
|
Device (SZLV)
|
||
|
{
|
||
|
Method (CMPR, 2, NotSerialized)
|
||
|
{
|
||
|
/* CMPR is passed two arguments. If unequal, return 1 to indicate */
|
||
|
/* that, otherwise return 0 to indicate SizeOf each is equal. */
|
||
|
Local0 = 0x01
|
||
|
If ((SizeOf (Arg0) == SizeOf (Arg1)))
|
||
|
{
|
||
|
Local0 = 0x00
|
||
|
}
|
||
|
|
||
|
Return (Local0)
|
||
|
} /* CMPR */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ SizeOfLv Test"
|
||
|
/* TBD: SizeOf ("string") */
|
||
|
/* SizeOf (Buffer) */
|
||
|
/* SizeOf (Package) */
|
||
|
/* SizeOf (String) */
|
||
|
/* SizeOf (STR0) -- where Name (STR0,...) -- lot's of cases */
|
||
|
/* buffer, string, package, */
|
||
|
/* SizeOf (METH) -- where METH control method returns */
|
||
|
/* buffer, string, package, */
|
||
|
/* TBD: SLOC [SizeOf (Local0)] -- dup SARG */
|
||
|
/* Compare the elements that we expect to be the same. Exit out with an error */
|
||
|
/* code on the first failure. */
|
||
|
If ((0x00 != CMPR (STR0, STR1)))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
If ((0x00 != CMPR (STR3, BUF3)))
|
||
|
{
|
||
|
Return (0x02)
|
||
|
}
|
||
|
|
||
|
If ((0x00 != CMPR (STR3, PKG3)))
|
||
|
{
|
||
|
Return (0x03)
|
||
|
}
|
||
|
|
||
|
/* In the following section, this test will cover the SizeOf */
|
||
|
/* operator for Local values. */
|
||
|
/* In this case, both Local0 and Local1 should have the same Size */
|
||
|
Local0 = STR0 /* \STR0 */
|
||
|
Local1 = STR1 /* \STR1 */
|
||
|
If ((SizeOf (Local0) != SizeOf (Local1)))
|
||
|
{
|
||
|
Return (0x04)
|
||
|
}
|
||
|
|
||
|
/* Now create a case where Local0 and Local1 are different */
|
||
|
|
||
|
Local1 = STR2 /* \STR2 */
|
||
|
If ((SizeOf (Local0) == SizeOf (Local1)))
|
||
|
{
|
||
|
Return (0x05)
|
||
|
}
|
||
|
|
||
|
/* Finally, check for the return of SizeOf for a known Buffer. Just */
|
||
|
/* in case we magically pass above cases due to all Buffers being Zero */
|
||
|
/* bytes in size, or Infinity, etc. */
|
||
|
If ((0x05 != SizeOf (BUF3)))
|
||
|
{
|
||
|
Return (0x06)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* SZLV */
|
||
|
|
||
|
/* */
|
||
|
/* test BytField.asl */
|
||
|
/* */
|
||
|
/* BytField test */
|
||
|
/* This is just a subset of the many RegionOp/Index Field test cases. */
|
||
|
/* Tests access of TBD. */
|
||
|
/* */
|
||
|
Scope (\_SB) /* System Bus */
|
||
|
{
|
||
|
/* _SB system bus */
|
||
|
|
||
|
Device (BYTF)
|
||
|
{
|
||
|
/* Test device name */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ BytField Test"
|
||
|
Return (\_TZ.C19B.RSLT)
|
||
|
} /* TEST */
|
||
|
} /* BYTF */
|
||
|
|
||
|
Device (C005)
|
||
|
{
|
||
|
/* Device C005 */
|
||
|
|
||
|
Device (C013)
|
||
|
{
|
||
|
/* Device C013 */
|
||
|
} /* Device C013 */
|
||
|
} /* Device C005 */
|
||
|
|
||
|
Method (C115, 0, NotSerialized)
|
||
|
{
|
||
|
/* C115 control method */
|
||
|
|
||
|
Acquire (\_GL, 0xFFFF)
|
||
|
Local0 = \_SB.C005.C013.C058.C07E
|
||
|
Release (\_GL)
|
||
|
Local0 &= 0x10
|
||
|
Store ((Local0 >> 0x04), Local1)
|
||
|
If ((Local1 == 0x00))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
} /* C115 control method */
|
||
|
} /* _SB system bus */
|
||
|
|
||
|
OperationRegion (C018, SystemIO, 0x5028, 0x04)
|
||
|
Field (C018, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field overlaying C018 */
|
||
|
|
||
|
C019, 32
|
||
|
} /* Field overlaying C018 */
|
||
|
|
||
|
OperationRegion (C01A, SystemIO, 0x5030, 0x04)
|
||
|
Field (C01A, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field overlaying C01A */
|
||
|
|
||
|
C01B, 8,
|
||
|
C01C, 8,
|
||
|
C01D, 8,
|
||
|
C01E, 8
|
||
|
} /* Field overlaying C01A */
|
||
|
|
||
|
Mutex (\C01F, 0x00)
|
||
|
Name (\C020, 0x00)
|
||
|
Name (\C021, 0x00)
|
||
|
Method (\C022, 0, NotSerialized)
|
||
|
{
|
||
|
/* \C022 control method */
|
||
|
|
||
|
Acquire (\C01F, 0xFFFF)
|
||
|
If ((\C021 == 0x00))
|
||
|
{
|
||
|
Local0 = C019 /* \C019 */
|
||
|
Local0 &= 0xFFFEFFFE
|
||
|
C019 = Local0
|
||
|
\C021++
|
||
|
}
|
||
|
|
||
|
Release (\C01F)
|
||
|
} /* \C022 control method */
|
||
|
|
||
|
Scope (\_SB.C005.C013)
|
||
|
{
|
||
|
/* Scope \_SB.C005.C013 */
|
||
|
|
||
|
Device (C058)
|
||
|
{
|
||
|
/* Device C058 */
|
||
|
|
||
|
Name (_HID, "*PNP0A06") // _HID: Hardware ID
|
||
|
OperationRegion (C059, SystemIO, 0xE0, 0x02)
|
||
|
Field (C059, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field overlaying C059 */
|
||
|
|
||
|
C05A, 8,
|
||
|
C05B, 8
|
||
|
} /* Field overlaying C059 */
|
||
|
|
||
|
OperationRegion (C05C, SystemIO, 0xE2, 0x02)
|
||
|
Field (C05C, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field overlaying C05C */
|
||
|
|
||
|
C05D, 8,
|
||
|
C05E, 8
|
||
|
} /* Field overlaying C05C */
|
||
|
|
||
|
IndexField (C05D, C05E, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
Offset (0x82),
|
||
|
/* IndexField overlaying C05D/C05E */
|
||
|
|
||
|
C05F, 8,
|
||
|
C060, 8,
|
||
|
C061, 8,
|
||
|
C062, 8,
|
||
|
C063, 8,
|
||
|
C064, 8,
|
||
|
C065, 8,
|
||
|
C066, 8,
|
||
|
C067, 8,
|
||
|
C068, 8,
|
||
|
C069, 8,
|
||
|
C06A, 8,
|
||
|
C06B, 8,
|
||
|
C06C, 8,
|
||
|
C06D, 8,
|
||
|
C06E, 8,
|
||
|
Offset (0xA0),
|
||
|
C06F, 8,
|
||
|
C070, 8,
|
||
|
C071, 8,
|
||
|
C072, 8,
|
||
|
C073, 8,
|
||
|
C074, 8,
|
||
|
C075, 8,
|
||
|
C076, 8,
|
||
|
C077, 8,
|
||
|
C078, 8,
|
||
|
C079, 8,
|
||
|
C07A, 8,
|
||
|
C07B, 8,
|
||
|
C07C, 8,
|
||
|
C07D, 8,
|
||
|
C07E, 8
|
||
|
} /* IndexField overlaying C05D/C05E */
|
||
|
|
||
|
OperationRegion (C07F, SystemIO, 0xE4, 0x02)
|
||
|
Field (C07F, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field overlaying C07F */
|
||
|
|
||
|
C080, 8,
|
||
|
C081, 8
|
||
|
} /* Field overlaying C07F */
|
||
|
|
||
|
OperationRegion (C082, SystemIO, 0xE0, 0x01)
|
||
|
Field (C082, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field overlaying C082 */
|
||
|
|
||
|
C083, 8
|
||
|
} /* Field overlaying C082 */
|
||
|
|
||
|
OperationRegion (C084, SystemIO, 0xFF, 0x01)
|
||
|
Field (C084, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field overlaying C084 */
|
||
|
|
||
|
C085, 8
|
||
|
} /* Field overlaying C084 */
|
||
|
|
||
|
OperationRegion (C086, SystemIO, 0xFD, 0x01)
|
||
|
Field (C086, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field overlaying C086 */
|
||
|
|
||
|
C087, 8
|
||
|
} /* Field overlaying C086 */
|
||
|
|
||
|
Mutex (C088, 0x00)
|
||
|
Mutex (C089, 0x00)
|
||
|
Mutex (C08A, 0x00)
|
||
|
Mutex (C08B, 0x00)
|
||
|
Mutex (C08C, 0x00)
|
||
|
Mutex (C08D, 0x00)
|
||
|
Name (C08E, 0xFFFFFFFD)
|
||
|
Name (C08F, 0x00)
|
||
|
Method (C0AA, 4, NotSerialized)
|
||
|
{
|
||
|
/* C0AA control method */
|
||
|
|
||
|
Local7 = Buffer (0x04){}
|
||
|
CreateByteField (Local7, 0x00, C0AB)
|
||
|
CreateByteField (Local7, 0x01, C0AC)
|
||
|
CreateByteField (Local7, 0x02, C0AD)
|
||
|
CreateByteField (Local7, 0x03, C0AE)
|
||
|
Acquire (^C08B, 0xFFFF)
|
||
|
Acquire (\_GL, 0xFFFF)
|
||
|
\C022 ()
|
||
|
\_SB.C005.C013.C058.C06B = 0x01
|
||
|
While ((0x00 != \_SB.C005.C013.C058.C06B))
|
||
|
{
|
||
|
Stall (0x64)
|
||
|
}
|
||
|
|
||
|
\_SB.C005.C013.C058.C06E = Arg3
|
||
|
\_SB.C005.C013.C058.C06D = Arg2
|
||
|
\_SB.C005.C013.C058.C06C = Arg1
|
||
|
\_SB.C005.C013.C058.C06B = Arg0
|
||
|
While ((0x00 != \_SB.C005.C013.C058.C06B))
|
||
|
{
|
||
|
Stall (0x64)
|
||
|
}
|
||
|
|
||
|
C0AB = \_SB.C005.C013.C058.C06E
|
||
|
C0AC = \_SB.C005.C013.C058.C06D
|
||
|
C0AD = \_SB.C005.C013.C058.C06C
|
||
|
C0AE = \_SB.C005.C013.C058.C06B
|
||
|
If ((Arg0 != 0x17))
|
||
|
{
|
||
|
\_SB.C005.C013.C058.C06B = 0x02
|
||
|
Stall (0x64)
|
||
|
}
|
||
|
|
||
|
Release (\_GL)
|
||
|
Release (^C08B)
|
||
|
Return (Local7)
|
||
|
} /* C0AA control method */
|
||
|
} /* Device C058 */
|
||
|
} /* Scope \_SB.C005.C013 */
|
||
|
|
||
|
Scope (\_TZ)
|
||
|
{
|
||
|
/* \_TZ thermal zone scope */
|
||
|
|
||
|
Name (C18B, Package (0x02)
|
||
|
{
|
||
|
Package (0x02)
|
||
|
{
|
||
|
Package (0x05)
|
||
|
{
|
||
|
0x05AC,
|
||
|
0x0CD2,
|
||
|
0x0D68,
|
||
|
0x0DE0,
|
||
|
0x0E4E
|
||
|
},
|
||
|
|
||
|
Package (0x05)
|
||
|
{
|
||
|
0x0D04,
|
||
|
0x0D9A,
|
||
|
0x0DFE,
|
||
|
0x0E80,
|
||
|
0x0FA2
|
||
|
}
|
||
|
},
|
||
|
|
||
|
Package (0x02)
|
||
|
{
|
||
|
Package (0x05)
|
||
|
{
|
||
|
0x05AC,
|
||
|
0x0CD2,
|
||
|
0x0D68,
|
||
|
0x0DE0,
|
||
|
0x0E4E
|
||
|
},
|
||
|
|
||
|
Package (0x05)
|
||
|
{
|
||
|
0x0D04,
|
||
|
0x0D9A,
|
||
|
0x0DFE,
|
||
|
0x0E80,
|
||
|
0x0FA2
|
||
|
}
|
||
|
}
|
||
|
}) /* C18B */
|
||
|
Name (C18C, Package (0x02)
|
||
|
{
|
||
|
Package (0x02)
|
||
|
{
|
||
|
Package (0x03)
|
||
|
{
|
||
|
0x64,
|
||
|
0x4B,
|
||
|
0x32
|
||
|
},
|
||
|
|
||
|
Package (0x03)
|
||
|
{
|
||
|
0x64,
|
||
|
0x4B,
|
||
|
0x32
|
||
|
}
|
||
|
}
|
||
|
}) /* C81C */
|
||
|
Name (C18D, 0x00)
|
||
|
Name (C18E, 0x00)
|
||
|
Name (C18F, 0x00)
|
||
|
Name (C190, 0x00)
|
||
|
Name (C191, 0x03)
|
||
|
Name (C192, 0x00)
|
||
|
Name (C193, 0x01)
|
||
|
Name (C194, 0x02)
|
||
|
Mutex (C195, 0x00)
|
||
|
Name (C196, 0x01)
|
||
|
Name (C197, 0x0B9C)
|
||
|
Name (C198, 0x0B9C)
|
||
|
Name (C199, 0xFFFFFFFD)
|
||
|
Name (C19A, 0x00)
|
||
|
Device (C19B)
|
||
|
{
|
||
|
/* Device C19B */
|
||
|
|
||
|
Name (RSLT, 0x00) /* default to zero */
|
||
|
Method (XINI, 0, NotSerialized)
|
||
|
{
|
||
|
/* _INI control method (Uses Global Lock -- can't run under AcpiExec) */
|
||
|
|
||
|
C19A = \_SB.C115 ()
|
||
|
\_TZ.C19C._SCP (0x00)
|
||
|
Local1 = (0x0EB2 - 0x0AAC) /* Local1 = AACh - EB2h */
|
||
|
Divide (Local1, 0x0A, Local0, Local2) /* Local0 = Local1 / 10 */
|
||
|
/* Local2 = Local1 % 10 */
|
||
|
|
||
|
\_SB.C005.C013.C058.C0AA (0x0E, Local2, 0x00, 0x00)
|
||
|
C18D = DerefOf (DerefOf (\_TZ.C18C [C19A]) [0x00])
|
||
|
C18E = DerefOf (DerefOf (\_TZ.C18C [C19A]) [0x01])
|
||
|
C18F = DerefOf (DerefOf (\_TZ.C18C [C19A]) [0x02])
|
||
|
RSLT = 0x01 /* set RSLT to 1 if _INI control method completes */
|
||
|
} /* _INI control method */
|
||
|
/* PowerResource (C19D) {...} */
|
||
|
} /* Device C19B */
|
||
|
|
||
|
ThermalZone (C19C)
|
||
|
{
|
||
|
Method (_SCP, 1, NotSerialized) // _SCP: Set Cooling Policy
|
||
|
{
|
||
|
/* _SCP control method */
|
||
|
|
||
|
Local0 = Arg0
|
||
|
If ((Local0 == 0x00))
|
||
|
{
|
||
|
\_TZ.C192 = 0x00
|
||
|
\_TZ.C193 = 0x01
|
||
|
\_TZ.C194 = 0x02
|
||
|
\_TZ.C191 = 0x03
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
\_TZ.C191 = 0x00
|
||
|
\_TZ.C192 = 0x01
|
||
|
\_TZ.C193 = 0x02
|
||
|
\_TZ.C194 = 0x03
|
||
|
}
|
||
|
} /* _SCP control method */
|
||
|
} /* ThermalZone C19C */
|
||
|
} /* \_TZ thermal zone scope */
|
||
|
|
||
|
/* */
|
||
|
/* test DwrdFld.asl */
|
||
|
/* */
|
||
|
Name (BUFR, Buffer (0x0A)
|
||
|
{
|
||
|
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
||
|
/* 0008 */ 0x00, 0x00 // ..
|
||
|
})
|
||
|
Device (DWDF)
|
||
|
{
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ DwrdFld Test"
|
||
|
CreateByteField (BUFR, 0x00, BYTE)
|
||
|
BYTE = 0xAA
|
||
|
CreateWordField (BUFR, 0x01, WORD)
|
||
|
WORD = 0xBBCC
|
||
|
CreateDWordField (BUFR, 0x03, DWRD)
|
||
|
DWRD = 0xDDEEFF00
|
||
|
CreateByteField (BUFR, 0x07, BYT2)
|
||
|
BYT2 = 0x11
|
||
|
CreateWordField (BUFR, 0x08, WRD2)
|
||
|
WRD2 = 0x2233
|
||
|
Return (0x00)
|
||
|
} /* End Method TEST */
|
||
|
} /* Device DWDF */
|
||
|
|
||
|
/* */
|
||
|
/* test DivAddx.asl */
|
||
|
/* */
|
||
|
Name (B1LO, 0xAA)
|
||
|
Name (B1HI, 0xBB)
|
||
|
Method (MKW, 2, NotSerialized)
|
||
|
{
|
||
|
/* This control method will take two bytes and make them into a WORD */
|
||
|
|
||
|
Local0 = (B1HI * 0x0100) /* Make high byte.....high */
|
||
|
Local0 |= B1LO /* OR in the low byte */ /* \B1LO */
|
||
|
Return (Local0) /* Return the WORD */
|
||
|
} /* MKW_ */
|
||
|
|
||
|
Device (DVAX)
|
||
|
{
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ DivAddx Test"
|
||
|
B1LO = 0x19
|
||
|
B1HI = 0x00
|
||
|
/* We'll multiply 25 * 3 to get 75, add 99 to it then divide */
|
||
|
/* by 100. We expect to get 74 for the remainder and 1 for */
|
||
|
/* the quotient. */
|
||
|
Divide (((0x03 * MKW (B1LO, B1HI)) + 0x63), /* Dividend, */
|
||
|
|
||
|
0x64, /* Divisor */Local4, /* Remainder */
|
||
|
Local2) /* Quotient */
|
||
|
If (((0x4A == Local4) && (0x01 == Local2)))
|
||
|
{
|
||
|
/* Indicate Pass */
|
||
|
|
||
|
Local0 = 0x00
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
/* Indicate Fail */
|
||
|
|
||
|
Local0 = 0x01
|
||
|
}
|
||
|
|
||
|
Return (Local0)
|
||
|
} /* End Method TEST */
|
||
|
} /* Device DVAX */
|
||
|
|
||
|
/* */
|
||
|
/* test IndexFld.asl (IndexOp6.asl) */
|
||
|
/* */
|
||
|
/* IndexFld test */
|
||
|
/* This is just a subset of the many RegionOp/Index Field test cases. */
|
||
|
/* Tests index field element AccessAs macro. */
|
||
|
/* Also tests name resolution of index field elements with same names */
|
||
|
/* but different namespace scopes. */
|
||
|
/* */
|
||
|
Device (IDX6)
|
||
|
{
|
||
|
/* Test device name */
|
||
|
|
||
|
OperationRegion (SIO, SystemIO, 0x0100, 0x02)
|
||
|
Field (SIO, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
INDX, 8,
|
||
|
DATA, 8
|
||
|
}
|
||
|
|
||
|
IndexField (INDX, DATA, AnyAcc, NoLock, WriteAsOnes)
|
||
|
{
|
||
|
AccessAs (ByteAcc, 0x00),
|
||
|
IFE0, 8,
|
||
|
IFE1, 8,
|
||
|
IFE2, 8,
|
||
|
IFE3, 8,
|
||
|
IFE4, 8,
|
||
|
IFE5, 8,
|
||
|
IFE6, 8,
|
||
|
IFE7, 8,
|
||
|
IFE8, 8,
|
||
|
IFE9, 8
|
||
|
}
|
||
|
|
||
|
Device (TST)
|
||
|
{
|
||
|
/* TST_: provides a different namespace scope for IFE0 and IFE1 */
|
||
|
|
||
|
OperationRegion (SIO2, SystemIO, 0x0100, 0x02)
|
||
|
Field (SIO2, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
IND2, 8,
|
||
|
DAT2, 8
|
||
|
}
|
||
|
|
||
|
IndexField (IND2, DAT2, AnyAcc, NoLock, WriteAsOnes)
|
||
|
{
|
||
|
IFE0, /* duplicate IndexField name with different scope */ 8,
|
||
|
IFE1, 8
|
||
|
}
|
||
|
} /* TST_: provides a different namespace scope for IFE0 and IFE1 */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ IndexOp6 Test"
|
||
|
Local0 = IFE0 /* \IDX6.IFE0 */
|
||
|
Local1 = IFE1 /* \IDX6.IFE1 */
|
||
|
Local2 = IFE2 /* \IDX6.IFE2 */
|
||
|
/* validate name resolution of IndexFields with different scopes */
|
||
|
|
||
|
Local3 = \IDX6.IFE0
|
||
|
Local4 = \IDX6.IFE1
|
||
|
/* verioading of namespace can resolve following names */
|
||
|
|
||
|
Local5 = \IDX6.TST.IFE0
|
||
|
Local6 = \IDX6.TST.IFE1
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* IDX6 */
|
||
|
|
||
|
/* */
|
||
|
/* test IndexOp5.asl */
|
||
|
/* */
|
||
|
/* IndexOp5 test */
|
||
|
/* This is just a subset of the many RegionOp/Index Field test cases. */
|
||
|
/* Tests copying string into buffer then performing IndexOp on result. */
|
||
|
/* */
|
||
|
Device (IDX5)
|
||
|
{
|
||
|
/* Test device name */
|
||
|
|
||
|
Name (OSFL, 0x00) /* 0 == Windows 98, 1 == Windows NT */
|
||
|
/* MCTH is a control method to compare two strings. It returns */
|
||
|
/* zero if the strings mismatch, or 1 if the strings match. */
|
||
|
/* This exercises the test case of copying a string into a buffer */
|
||
|
/* and performing an IndexOp on the resulting buffer. */
|
||
|
Method (MCTH, 2, Serialized)
|
||
|
{
|
||
|
/* MCTH: Control Method to compare two strings */
|
||
|
/* Arg0: first string to compare */
|
||
|
/* Arg1: second string to compare */
|
||
|
/* Return: zero if strings mismatch, 1 if strings match */
|
||
|
/* check if first string's length is less than second string's length */
|
||
|
If ((SizeOf (Arg0) < SizeOf (Arg1)))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
/* increment length to include NULL termination character */
|
||
|
|
||
|
Local0 = (SizeOf (Arg0) + 0x01) /* Local0 = strlen(Arg0) + 1 */
|
||
|
/* create two buffers of size Local0 [strlen(Arg0)+1] */
|
||
|
|
||
|
Name (BUF0, Buffer (Local0){})
|
||
|
Name (BUF1, Buffer (Local0){})
|
||
|
/* copy strings into buffers */
|
||
|
|
||
|
BUF0 = Arg0
|
||
|
BUF1 = Arg1
|
||
|
/* validate BUF0 and BUF1 are still buffers */
|
||
|
|
||
|
Local1 = ObjectType (BUF0)
|
||
|
If ((Local1 != 0x03)) /* Buffer is type 3 */
|
||
|
{
|
||
|
Return (0x14)
|
||
|
}
|
||
|
|
||
|
Local1 = ObjectType (BUF1)
|
||
|
If ((Local1 != 0x03)) /* Buffer is type 3 */
|
||
|
{
|
||
|
Return (0x15)
|
||
|
}
|
||
|
|
||
|
/* Decrement because the Index base below is zero based */
|
||
|
/* while Local0 length is one based. */
|
||
|
Local0--
|
||
|
While (Local0)
|
||
|
{
|
||
|
/* loop through all BUF0 buffer elements */
|
||
|
|
||
|
Local0--
|
||
|
/* check if BUF0[n] == BUF1[n] */
|
||
|
|
||
|
If ((DerefOf (BUF0 [Local0]) == DerefOf (BUF1 [Local0]))){} /* this is how the code was really implemented */
|
||
|
Else
|
||
|
{
|
||
|
Return (Zero)
|
||
|
}
|
||
|
} /* loop through all BUF0 buffer elements */
|
||
|
|
||
|
Return (One) /* strings / buffers match */
|
||
|
} /* MCTH: Control Method to compare two strings */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ IndexOp5 Test"
|
||
|
If (MCTH (\_OS, "Microsoft Windows NT"))
|
||
|
{
|
||
|
OSFL = 0x01
|
||
|
}
|
||
|
|
||
|
If ((OSFL != 0x01))
|
||
|
{
|
||
|
Return (0x0B)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* IDX5 */
|
||
|
|
||
|
/* */
|
||
|
/* test IndexOp.asl */
|
||
|
/* */
|
||
|
Scope (\_SB) /* System Bus */
|
||
|
{
|
||
|
/* _SB system bus */
|
||
|
|
||
|
Method (C097, 0, NotSerialized)
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
Device (PCI2)
|
||
|
{
|
||
|
/* Root PCI Bus */
|
||
|
|
||
|
Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID
|
||
|
Name (_ADR, 0x00) // _ADR: Address
|
||
|
Name (_CRS, Buffer (0x1A) // _CRS: Current Resource Settings
|
||
|
{
|
||
|
"_SB_.PCI2._CRS..........."
|
||
|
})
|
||
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
}
|
||
|
|
||
|
Device (ISA)
|
||
|
{
|
||
|
/* ISA bridge */
|
||
|
|
||
|
Name (_ADR, 0x00030000) /* ISA bus ID */ // _ADR: Address
|
||
|
Device (EC0)
|
||
|
{
|
||
|
/* Embedded Controller */
|
||
|
|
||
|
Name (_GPE, 0x00) /* EC use GPE0 */ // _GPE: General Purpose Events
|
||
|
Name (_ADR, 0x00030000) /* PCI address */ // _ADR: Address
|
||
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
} /* EC is functioning */
|
||
|
|
||
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
||
|
{
|
||
|
IO (Decode16,
|
||
|
0x0062, // Range Minimum
|
||
|
0x0062, // Range Maximum
|
||
|
0x01, // Alignment
|
||
|
0x01, // Length
|
||
|
)
|
||
|
IO (Decode16,
|
||
|
0x0066, // Range Minimum
|
||
|
0x0066, // Range Maximum
|
||
|
0x01, // Alignment
|
||
|
0x01, // Length
|
||
|
)
|
||
|
})
|
||
|
/* create EC's region and field */
|
||
|
|
||
|
OperationRegion (RAM, SystemMemory, 0x00400000, 0x0100)
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* AC information */
|
||
|
|
||
|
ADP, /* AC Adapter 1:On-line, 0:Off-line */ 1,
|
||
|
AFLT, /* AC Adapter Fault 1:Fault 0:Normal */ 1,
|
||
|
BAT0, /* BAT0 1:present, 0:not present */ 1,
|
||
|
, 1,
|
||
|
Offset (0x04),
|
||
|
/* CMBatt information */
|
||
|
|
||
|
BPU0, /* Power Unit */ 32,
|
||
|
BDC0, /* Designed Capacity */ 32,
|
||
|
BFC0, /* Last Full Charge Capacity */ 32,
|
||
|
BTC0, /* Battery Technology */ 32,
|
||
|
BDV0, /* Design Voltage */ 32,
|
||
|
BST0, /* Battery State */ 32,
|
||
|
BPR0, /* Battery Present Rate */ 32,
|
||
|
/* (Designed Capacity)x(%)/{(h)x100} */
|
||
|
|
||
|
BRC0, /* Battery Remaining Capacity */ 32,
|
||
|
/* (Designed Capacity)(%)^100 */
|
||
|
|
||
|
BPV0, /* Battery Present Voltage */ 32,
|
||
|
BTP0, /* Trip Point */ 32,
|
||
|
BCW0, /* Design capacity of Warning */ 32,
|
||
|
BCL0, /* Design capacity of Low */ 32,
|
||
|
BCG0, /* capacity granularity 1 */ 32,
|
||
|
BG20, /* capacity granularity 2 */ 32,
|
||
|
BMO0, /* Battery model number field */ 32,
|
||
|
BIF0, /* OEM Information(00h) */ 32,
|
||
|
BSN0, /* Battery Serial Number */ 32,
|
||
|
BTY0, /* Battery Type (e.g., "Li-Ion") */ 32,
|
||
|
BTY1, /* Battery Type (e.g., "Li-Ion") */ 32
|
||
|
} /* Field */
|
||
|
} /* EC0: Embedded Controller */
|
||
|
} /* ISA bridge */
|
||
|
} /* PCI2 Root PCI Bus */
|
||
|
|
||
|
Device (IDX0)
|
||
|
{
|
||
|
/* Test device name */
|
||
|
|
||
|
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) /* Control Method Battey ID */ // _HID: Hardware ID
|
||
|
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
|
||
|
{
|
||
|
\_SB
|
||
|
})
|
||
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
||
|
{
|
||
|
/* _STA bits 0-3 indicate existence of battery slot */
|
||
|
/* _STA bit 4 indicates battery (not) present */
|
||
|
If (\_SB.PCI2.ISA.EC0.BAT0)
|
||
|
{
|
||
|
Return (0x1F)
|
||
|
} /* Battery present */
|
||
|
Else
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
} /* Battery not present */
|
||
|
} /* _STA */
|
||
|
|
||
|
Method (_BIF, 0, Serialized) // _BIF: Battery Information
|
||
|
{
|
||
|
Name (BUFR, Package (0x0D){})
|
||
|
BUFR [0x00] = \_SB.PCI2.ISA.EC0.BPU0 /* Power Unit */
|
||
|
BUFR [0x01] = \_SB.PCI2.ISA.EC0.BDC0 /* Designed Capacity */
|
||
|
BUFR [0x02] = \_SB.PCI2.ISA.EC0.BFC0 /* Last Full Charge Capa. */
|
||
|
BUFR [0x03] = \_SB.PCI2.ISA.EC0.BTC0 /* Battery Technology */
|
||
|
BUFR [0x04] = \_SB.PCI2.ISA.EC0.BDV0 /* Designed Voltage */
|
||
|
BUFR [0x05] = \_SB.PCI2.ISA.EC0.BCW0 /* Designed warning level */
|
||
|
BUFR [0x06] = \_SB.PCI2.ISA.EC0.BCL0 /* Designed Low level */
|
||
|
BUFR [0x07] = \_SB.PCI2.ISA.EC0.BCG0 /* Capacity granularity 1 */
|
||
|
BUFR [0x08] = \_SB.PCI2.ISA.EC0.BG20 /* Capacity granularity 2 */
|
||
|
BUFR [0x09] = "" /* Model Number */
|
||
|
BUFR [0x0A] = "" /* Serial Number */
|
||
|
BUFR [0x0B] = "LiOn" /* Battery Type */
|
||
|
BUFR [0x0C] = "Chicony" /* OEM Information */
|
||
|
Return (BUFR) /* \_SB_.IDX0._BIF.BUFR */
|
||
|
} /* _BIF */
|
||
|
|
||
|
Method (_BST, 0, Serialized) // _BST: Battery Status
|
||
|
{
|
||
|
Name (BUFR, Package (0x04)
|
||
|
{
|
||
|
0x01,
|
||
|
0x0100,
|
||
|
0x76543210,
|
||
|
0x0180
|
||
|
})
|
||
|
Return (BUFR) /* \_SB_.IDX0._BST.BUFR */
|
||
|
} /* _BST */
|
||
|
|
||
|
Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
|
||
|
{
|
||
|
\_SB.PCI2.ISA.EC0.BTP0 = Arg0 /* Set Battery Trip point */
|
||
|
}
|
||
|
|
||
|
Method (TEST, 0, Serialized)
|
||
|
{
|
||
|
Debug = "++++++++ IndexOp Test"
|
||
|
/* test storing into uninitialized package elements */
|
||
|
|
||
|
Name (PBUF, Package (0x04){}) /* leave unitialized */
|
||
|
PBUF [0x00] = 0x01234567
|
||
|
PBUF [0x01] = 0x89ABCDEF
|
||
|
PBUF [0x02] = 0xFEDCBA98
|
||
|
PBUF [0x03] = 0x76543210
|
||
|
/* verify values stored into uninitialized package elements */
|
||
|
|
||
|
If ((DerefOf (PBUF [0x00]) != 0x01234567))
|
||
|
{
|
||
|
Return (0x10)
|
||
|
}
|
||
|
|
||
|
If ((DerefOf (PBUF [0x01]) != 0x89ABCDEF))
|
||
|
{
|
||
|
Return (0x11)
|
||
|
}
|
||
|
|
||
|
If ((DerefOf (PBUF [0x02]) != 0xFEDCBA98))
|
||
|
{
|
||
|
Return (0x12)
|
||
|
}
|
||
|
|
||
|
If ((DerefOf (PBUF [0x03]) != 0x76543210))
|
||
|
{
|
||
|
Return (0x13)
|
||
|
}
|
||
|
|
||
|
/* store _BIF package return value into Local0 */
|
||
|
|
||
|
Local0 = _BIF ()
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Package */
|
||
|
|
||
|
If ((Local1 != 0x04)) /* Package type is 4 */
|
||
|
{
|
||
|
Return (0x21)
|
||
|
} /* failure */
|
||
|
|
||
|
/* test storing into buffer field elements */
|
||
|
|
||
|
Name (BUFR, Buffer (0x10)
|
||
|
{
|
||
|
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
||
|
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
|
||
|
}) /* BUFR */
|
||
|
/* test storing into buffer field elements */
|
||
|
|
||
|
BUFR [0x00] = 0x01234567 /* should only store 0x67 */
|
||
|
BUFR [0x04] = 0x89ABCDEF /* should only store 0xEF */
|
||
|
BUFR [0x08] = 0xFEDCBA98 /* should only store 0x98 */
|
||
|
BUFR [0x0C] = 0x76543210 /* should only store 0x10 */
|
||
|
/* verify storing into buffer field elements */
|
||
|
|
||
|
If ((DerefOf (BUFR [0x00]) != 0x67))
|
||
|
{
|
||
|
Return (0x30)
|
||
|
}
|
||
|
|
||
|
If ((DerefOf (BUFR [0x01]) != 0x00))
|
||
|
{
|
||
|
Return (0x31)
|
||
|
}
|
||
|
|
||
|
If ((DerefOf (BUFR [0x04]) != 0xEF))
|
||
|
{
|
||
|
Return (0x34)
|
||
|
}
|
||
|
|
||
|
If ((DerefOf (BUFR [0x08]) != 0x98))
|
||
|
{
|
||
|
Return (0x38)
|
||
|
}
|
||
|
|
||
|
If ((DerefOf (BUFR [0x0C]) != 0x10))
|
||
|
{
|
||
|
Return (0x3C)
|
||
|
}
|
||
|
|
||
|
Return (0x00) /* pass */
|
||
|
} /* TEST */
|
||
|
} /* IDX0 */
|
||
|
} /* _SB system bus */
|
||
|
|
||
|
/* */
|
||
|
/* test BitIndex.asl */
|
||
|
/* */
|
||
|
/* BitIndex test */
|
||
|
/* This is a test case for accessing fields defined as single bits in */
|
||
|
/* memory. This is done by creating two index fields that overlay the */
|
||
|
/* same DWORD in memory. One field accesses the DWORD as a DWORD, the */
|
||
|
/* other accesses individual bits of the same DWORD field in memory. */
|
||
|
/* */
|
||
|
Scope (\_SB) /* System Bus */
|
||
|
{
|
||
|
/* _SB system bus */
|
||
|
|
||
|
OperationRegion (RAM, SystemMemory, 0x00800000, 0x0100)
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Any access */
|
||
|
|
||
|
TREE, 3,
|
||
|
WRD0, 16,
|
||
|
WRD1, 16,
|
||
|
WRD2, 16,
|
||
|
WRD3, 16,
|
||
|
WRD4, 16,
|
||
|
DWRD, /* DWORD field */ 32
|
||
|
}
|
||
|
|
||
|
Field (RAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Any access */
|
||
|
|
||
|
THRE, 3,
|
||
|
WD00, 16,
|
||
|
WD01, 16,
|
||
|
WD02, 16,
|
||
|
WD03, 16,
|
||
|
WD04, 16,
|
||
|
BYT0, /* Start off with a BYTE */ 8,
|
||
|
BIT0, /* single-bit field */ 1,
|
||
|
BIT1, /* single-bit field */ 1,
|
||
|
BIT2, /* single-bit field */ 1,
|
||
|
BIT3, /* single-bit field */ 1,
|
||
|
BIT4, /* single-bit field */ 1,
|
||
|
BIT5, /* single-bit field */ 1,
|
||
|
BIT6, /* single-bit field */ 1,
|
||
|
BIT7, /* single-bit field */ 1,
|
||
|
BIT8, /* single-bit field */ 1,
|
||
|
BIT9, /* single-bit field */ 1,
|
||
|
BITA, /* single-bit field */ 1,
|
||
|
BITB, /* single-bit field */ 1,
|
||
|
BITC, /* single-bit field */ 1,
|
||
|
BITD, /* single-bit field */ 1,
|
||
|
BITE, /* single-bit field */ 1,
|
||
|
BITF, /* single-bit field */ 1,
|
||
|
BYTZ, /* End with a BYTE for a total of 32 bits */ 8
|
||
|
}
|
||
|
|
||
|
Device (BITI)
|
||
|
{
|
||
|
/* Test device name */
|
||
|
|
||
|
Method (MBIT, 0, NotSerialized)
|
||
|
{
|
||
|
If ((DWRD != 0x00))
|
||
|
{
|
||
|
Local0 = 0xFF00
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
/* Prime Local0 with 0...assume passing condition */
|
||
|
|
||
|
Local0 = 0x00
|
||
|
/* set memory contents to known values using DWORD field */
|
||
|
|
||
|
DWRD = 0x5A5A5A5A
|
||
|
/* Given the value programmed into DWRD, only the odd bits */
|
||
|
/* of the lower nibble should be set. BIT1, BIT3 should be set. */
|
||
|
/* BIT0 and BIT2 should be clear */
|
||
|
If (BIT0)
|
||
|
{
|
||
|
Local0 |= 0x01
|
||
|
}
|
||
|
|
||
|
If (!BIT1)
|
||
|
{
|
||
|
Local0 |= 0x02
|
||
|
}
|
||
|
|
||
|
If (BIT2)
|
||
|
{
|
||
|
Local0 |= 0x04
|
||
|
}
|
||
|
|
||
|
If (!BIT3)
|
||
|
{
|
||
|
Local0 |= 0x08
|
||
|
}
|
||
|
|
||
|
/* Now check the upper nibble. Only the "even" bits should */
|
||
|
/* be set. BIT4, BIT6. BIT5 and BIT7 should be clear. */
|
||
|
If (!BIT4)
|
||
|
{
|
||
|
Local0 |= 0x10
|
||
|
}
|
||
|
|
||
|
If (BIT5)
|
||
|
{
|
||
|
Local0 |= 0x20
|
||
|
}
|
||
|
|
||
|
If (!BIT6)
|
||
|
{
|
||
|
Local0 |= 0x40
|
||
|
}
|
||
|
|
||
|
If (BIT7)
|
||
|
{
|
||
|
Local0 |= 0x80
|
||
|
}
|
||
|
} /* End Else DWRD zeroed out */
|
||
|
|
||
|
Return (Local0)
|
||
|
} /* MBIT: Test single bit memory accesses */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ BitIndex Test"
|
||
|
/* Zero out DWRD */
|
||
|
|
||
|
DWRD = 0x00
|
||
|
/* MBIT returns zero if successful */
|
||
|
/* This may be causing problems -- Return (MBIT) */
|
||
|
Local0 = MBIT ()
|
||
|
Return (Local0)
|
||
|
} /* TEST */
|
||
|
} /* BITI */
|
||
|
} /* _SB system bus */
|
||
|
|
||
|
/* */
|
||
|
/* test IndexOp3.asl */
|
||
|
/* */
|
||
|
/* Additional IndexOp test cases to support ACPICMB (control method battery */
|
||
|
/* test) on Compaq laptops. Test cases include storing a package into */
|
||
|
/* an IndexOp target and validating that changing source and destination */
|
||
|
/* package contents are independent of each other. */
|
||
|
/* */
|
||
|
Scope (\_SB) /* System Bus */
|
||
|
{
|
||
|
/* _SB system bus */
|
||
|
|
||
|
Name (C174, 0x0D)
|
||
|
Name (C175, 0x08)
|
||
|
Device (C158)
|
||
|
{
|
||
|
/* C158: AC Adapter device */
|
||
|
|
||
|
Name (_HID, "ACPI0003" /* Power Source Device */) /* AC Adapter device */ // _HID: Hardware ID
|
||
|
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
|
||
|
{
|
||
|
\_SB
|
||
|
})
|
||
|
Method (_PSR, 0, NotSerialized) // _PSR: Power Source
|
||
|
{
|
||
|
Acquire (\_GL, 0xFFFF)
|
||
|
Release (\_GL)
|
||
|
Local0 &= 0x01 /* Local0 &= 1 */
|
||
|
Return (Local0)
|
||
|
} /* _PSR */
|
||
|
} /* C158: AC Adapter device */
|
||
|
|
||
|
Name (C176, Package (0x04)
|
||
|
{
|
||
|
"Primary",
|
||
|
"MultiBay",
|
||
|
"DockRight",
|
||
|
"DockLeft"
|
||
|
})
|
||
|
Name (C177, Package (0x04)
|
||
|
{
|
||
|
0x99F5,
|
||
|
0x99F5,
|
||
|
0x995F,
|
||
|
0x995F
|
||
|
})
|
||
|
Name (C178, Package (0x04)
|
||
|
{
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x966B,
|
||
|
0x4190
|
||
|
},
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x966B,
|
||
|
0x4190
|
||
|
},
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x966B,
|
||
|
0x4190
|
||
|
},
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x966B,
|
||
|
0x4190
|
||
|
}
|
||
|
}) /* C178 */
|
||
|
Name (C179, Package (0x04)
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x966B,
|
||
|
0x4190
|
||
|
})
|
||
|
Name (C17A, Package (0x04)
|
||
|
{
|
||
|
Package (0x03)
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x00
|
||
|
},
|
||
|
|
||
|
Package (0x03)
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x00
|
||
|
},
|
||
|
|
||
|
Package (0x03)
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x00
|
||
|
},
|
||
|
|
||
|
Package (0x03)
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x00
|
||
|
}
|
||
|
}) /* C17A */
|
||
|
Method (C17B, 1, Serialized)
|
||
|
{
|
||
|
/* C17B: _BIF implementation */
|
||
|
|
||
|
Name (C17C, Package (0x0D)
|
||
|
{
|
||
|
/* C17C: _BIF control method return package */
|
||
|
|
||
|
0x00, /* Power Unit (0 ==> mWh and mW) */
|
||
|
0x99F5, /* Design Capacity */
|
||
|
0x99F5, /* Last Full Charge Capacity */
|
||
|
0x01, /* Battery Technology (1 ==> rechargeable) */
|
||
|
0x3840, /* Design Voltage */
|
||
|
0x1280, /* Design Capacity of Warning */
|
||
|
0x0AC7, /* Design Capacity of Low */
|
||
|
0x01, /* Battery Capacity Granularity 1 (Low -- Warning) */
|
||
|
0x01, /* Battery Capacity Granularity 2 (Warning -- Full) */
|
||
|
"2891", /* Model Number (ASCIIZ) */
|
||
|
"(-Unknown-)", /* Serial Number (ASCIIZ) */
|
||
|
"LIon", /* Battery Type (ASCIIZ) */
|
||
|
0x00 /* OEM Information (ASCIIZ) */
|
||
|
}) /* C17C: _BIF control method return package */
|
||
|
Local0 = (Arg0 & 0x07) /* Local0 = Arg0 & 7 */
|
||
|
Local4 = (Local0 >> 0x01) /* Local4 = Local0 >> 1 */
|
||
|
C178 [Local4] = C179 /* C178->Local4 = C179 */ /* \_SB_.C179 */
|
||
|
/* verify source and destination packages can be altered independent */
|
||
|
/* of each other (i.e., changing one's contents does NOT change other's */
|
||
|
/* contents) */
|
||
|
C179 [0x02] = 0x1234 /* C179[2] = 0x1234 */
|
||
|
Local2 = DerefOf (C179 [0x02]) /* Local2 = C179[2] */
|
||
|
If ((Local2 != 0x1234))
|
||
|
{
|
||
|
Return (0x1234)
|
||
|
}
|
||
|
|
||
|
/* Local2 = C178[0,2] */
|
||
|
|
||
|
Local2 = DerefOf (DerefOf (C178 [0x00]) [0x02])
|
||
|
If ((Local2 != 0x966B))
|
||
|
{
|
||
|
Return (0x1234)
|
||
|
}
|
||
|
|
||
|
/* Restore data to allow iterative execution */
|
||
|
|
||
|
C179 [0x02] = 0x966B /* C179[2] = 0x966B */
|
||
|
/* C178[0,3] = 0x5678 */
|
||
|
|
||
|
DerefOf (C178 [0x00]) [0x03] = 0x5678
|
||
|
/* Local2 = C178[0,3] */
|
||
|
|
||
|
Local2 = DerefOf (DerefOf (C178 [0x00]) [0x03])
|
||
|
If ((Local2 != 0x5678))
|
||
|
{
|
||
|
Return (0x5678)
|
||
|
}
|
||
|
|
||
|
Local2 = DerefOf (C179 [0x03]) /* Local2 = C179[3] */
|
||
|
If ((Local2 != 0x4190))
|
||
|
{
|
||
|
Return (0x5678)
|
||
|
}
|
||
|
|
||
|
/* Restore data to allow iterative execution */
|
||
|
|
||
|
DerefOf (C178 [0x00]) [0x03] = 0x4190 /* C179[2] = 0x4190 */
|
||
|
Return (C17C) /* \_SB_.C17B.C17C */
|
||
|
} /* C17B: _BIF implementation */
|
||
|
|
||
|
Device (C154)
|
||
|
{
|
||
|
/* C154: Battery 0 */
|
||
|
|
||
|
Name (_HID, "*PNP0C0A") /* Control Method Battey ID */ // _HID: Hardware ID
|
||
|
Name (_UID, 0x00) /* first instance */ // _UID: Unique ID
|
||
|
Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
|
||
|
{
|
||
|
/* _BIF */
|
||
|
|
||
|
Return (C17B (0x30))
|
||
|
} /* _BIF */
|
||
|
} /* C154: Battery 0 */
|
||
|
|
||
|
Device (IDX3)
|
||
|
{
|
||
|
Method (LCLB, 0, Serialized)
|
||
|
{
|
||
|
/* LCLB control method: test Index(Local#) where Local# is buffer */
|
||
|
/* Local0 is index counter */
|
||
|
/* Local1 is buffer */
|
||
|
/* Local2 receives BUFR[Local0] via Deref(Index(Local1...)) */
|
||
|
/* Local3 is Local1 or Local2 object type */
|
||
|
/* Local4 is return error code */
|
||
|
Name (BUFR, Buffer (0x0A)
|
||
|
{
|
||
|
/* 0000 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, // ........
|
||
|
/* 0008 */ 0x08, 0x09 // ..
|
||
|
})
|
||
|
/* save PKG into Local1 */
|
||
|
|
||
|
Local1 = BUFR /* \_SB_.IDX3.LCLB.BUFR */
|
||
|
/* save Local2 object type value into Local3 */
|
||
|
|
||
|
Local3 = ObjectType (Local1)
|
||
|
/* validate Local1 is a Buffer */
|
||
|
|
||
|
If ((Local3 != 0x03)) /* Buffer type is 3 */
|
||
|
{
|
||
|
Return (0x9F)
|
||
|
}
|
||
|
|
||
|
Local0 = 0x00
|
||
|
While ((Local0 < 0x05))
|
||
|
{
|
||
|
/* While (Local0 < 5) */
|
||
|
/* Local2 = Local1[Local0] */
|
||
|
Local2 = DerefOf (Local1 [Local0])
|
||
|
/* save Local2 object type value into Local3 */
|
||
|
|
||
|
Local3 = ObjectType (Local2)
|
||
|
/* validate Local2 is a Number */
|
||
|
|
||
|
If ((Local3 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x9E)
|
||
|
}
|
||
|
|
||
|
/* validate Local1[Local0] value == Local0 */
|
||
|
|
||
|
If ((Local0 != Local2))
|
||
|
{
|
||
|
/* Local0 != Local2 == PKG[Local0] */
|
||
|
/* Local4 = 0x90 + loop index (Local0) */
|
||
|
Local4 = (0x90 + Local0)
|
||
|
/* return 0x90 + loop index */
|
||
|
|
||
|
Return (Local4)
|
||
|
}
|
||
|
|
||
|
Local0++
|
||
|
} /* While (Local0 < 5) */
|
||
|
|
||
|
Debug = "DerefOf(Index(LocalBuffer,,)) PASS"
|
||
|
Return (0x00) /* Pass */
|
||
|
} /* LCLB control method: test Index(Local#) where Local# is buffer */
|
||
|
|
||
|
Method (LCLP, 0, Serialized)
|
||
|
{
|
||
|
/* LCLP control method: test Index(Local#) where Local# is package */
|
||
|
/* Local0 is index counter */
|
||
|
/* Local1 is package */
|
||
|
/* Local2 receives PKG[Local0] via Deref(Index(Local1...)) */
|
||
|
/* Local3 is Local1 or Local2 object type */
|
||
|
/* Local4 is return error code */
|
||
|
Name (PKG, Package (0x0A)
|
||
|
{
|
||
|
0x00,
|
||
|
0x01,
|
||
|
0x02,
|
||
|
0x03,
|
||
|
0x04,
|
||
|
0x05,
|
||
|
0x06,
|
||
|
0x07,
|
||
|
0x08,
|
||
|
0x09
|
||
|
})
|
||
|
/* save PKG into Local1 */
|
||
|
|
||
|
Local1 = PKG /* \_SB_.IDX3.LCLP.PKG_ */
|
||
|
/* save Local2 object type value into Local3 */
|
||
|
|
||
|
Local3 = ObjectType (Local1)
|
||
|
/* validate Local1 is a Package */
|
||
|
|
||
|
If ((Local3 != 0x04)) /* Package type is 4 */
|
||
|
{
|
||
|
Return (0x8F)
|
||
|
}
|
||
|
|
||
|
Local0 = 0x00
|
||
|
While ((Local0 < 0x05))
|
||
|
{
|
||
|
/* While (Local0 < 5) */
|
||
|
/* Local2 = Local1[Local0] */
|
||
|
Local2 = DerefOf (Local1 [Local0])
|
||
|
/* save Local2 object type value into Local3 */
|
||
|
|
||
|
Local3 = ObjectType (Local2)
|
||
|
/* validate Local2 is a Number */
|
||
|
|
||
|
If ((Local3 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x8E)
|
||
|
}
|
||
|
|
||
|
/* validate Local1[Local0] value == Local0 */
|
||
|
|
||
|
If ((Local0 != Local2))
|
||
|
{
|
||
|
/* Local0 != Local2 == PKG[Local0] */
|
||
|
/* Local4 = 0x80 + loop index (Local0) */
|
||
|
Local4 = (0x80 + Local0)
|
||
|
/* return 0x80 + loop index */
|
||
|
|
||
|
Return (Local4)
|
||
|
}
|
||
|
|
||
|
Local0++
|
||
|
} /* While (Local0 < 5) */
|
||
|
|
||
|
Debug = "DerefOf(Index(LocalPackage,,)) PASS"
|
||
|
Return (0x00) /* Pass */
|
||
|
} /* LCLP control method: test Index(Local#) where Local# is package */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ IndexOp3 Test"
|
||
|
/* store _BIF package return value into Local0 */
|
||
|
|
||
|
Local0 = \_SB.C154._BIF ()
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Package */
|
||
|
|
||
|
If ((Local1 != 0x04)) /* Package type is 4 */
|
||
|
{
|
||
|
/* failure: did not return a Package (type 4) */
|
||
|
/* if Local0 is a Number, it contains an error code */
|
||
|
If ((Local1 == 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
} /* return Local0 error code */
|
||
|
Else
|
||
|
{
|
||
|
Return (0x01)
|
||
|
} /* return default error code */
|
||
|
} /* failure: did not return a Package (type 4) */
|
||
|
|
||
|
/* save LCLB control method return value into Local2 */
|
||
|
|
||
|
Local2 = LCLB ()
|
||
|
If ((Local2 != 0x00))
|
||
|
{
|
||
|
Return (Local2)
|
||
|
} /* return failure code */
|
||
|
|
||
|
/* save LCLP control method return value into Local2 */
|
||
|
|
||
|
Local2 = LCLP ()
|
||
|
If ((Local2 != 0x00))
|
||
|
{
|
||
|
Return (Local2)
|
||
|
} /* return failure code */
|
||
|
|
||
|
Return (0x00) /* Pass */
|
||
|
} /* TEST */
|
||
|
} /* IDX3: Test device name */
|
||
|
} /* _SB system bus */
|
||
|
|
||
|
/* */
|
||
|
/* MTL developed test to exercise Indexes into buffers */
|
||
|
/* */
|
||
|
Device (IDX7)
|
||
|
{
|
||
|
Name (PKG4, Package (0x05)
|
||
|
{
|
||
|
0x02,
|
||
|
"A short string",
|
||
|
Buffer (0x04)
|
||
|
{
|
||
|
0x0A, 0x0B, 0x0C, 0x0D // ....
|
||
|
},
|
||
|
|
||
|
0x1234,
|
||
|
Package (0x02)
|
||
|
{
|
||
|
IDX7,
|
||
|
0x03
|
||
|
}
|
||
|
})
|
||
|
/* */
|
||
|
/* Generic Test method */
|
||
|
/* */
|
||
|
/* This test returns 0xE (14) - ObjectType = Buffer Field */
|
||
|
Method (TST1, 0, Serialized)
|
||
|
{
|
||
|
Name (DEST, Buffer (0x3F)
|
||
|
{
|
||
|
"Destination buffer that is longer than the short source buffer"
|
||
|
})
|
||
|
/* verify object type returned by Index(Buffer,Element,) */
|
||
|
|
||
|
Store (DEST [0x02], Local1)
|
||
|
Local2 = ObjectType (Local1)
|
||
|
If ((Local2 == 0x0E))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TST2, 0, Serialized)
|
||
|
{
|
||
|
Name (BUF0, Buffer (0x05)
|
||
|
{
|
||
|
0x01, 0x02, 0x03, 0x04, 0x05 // .....
|
||
|
})
|
||
|
BUF0 [0x02] = 0x55
|
||
|
Local0 = DerefOf (BUF0 [0x02])
|
||
|
If ((Local0 == 0x55))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x02)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TST3, 0, Serialized)
|
||
|
{
|
||
|
Name (BUF1, Buffer (0x05)
|
||
|
{
|
||
|
0x01, 0x02, 0x03, 0x04, 0x05 // .....
|
||
|
})
|
||
|
Store (BUF1 [0x01], Local0)
|
||
|
Local1 = DerefOf (Local0)
|
||
|
If ((Local1 == 0x02))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x03)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TST4, 0, NotSerialized)
|
||
|
{
|
||
|
/* Index (PKG4, 0) is a Number */
|
||
|
|
||
|
Store (PKG4 [0x00], Local0)
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 == 0x01))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x04)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TST5, 0, NotSerialized)
|
||
|
{
|
||
|
/* Index (PKG4, 1) is a String */
|
||
|
|
||
|
Store (PKG4 [0x01], Local0)
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 == 0x02))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x05)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TST6, 0, NotSerialized)
|
||
|
{
|
||
|
/* Index (PKG4, 2) is a Buffer */
|
||
|
|
||
|
Store (PKG4 [0x02], Local0)
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 == 0x03))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x06)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TST7, 0, NotSerialized)
|
||
|
{
|
||
|
/* Index (PKG4, 3) is a Number */
|
||
|
|
||
|
Store (PKG4 [0x03], Local0)
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 == 0x01))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x07)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TST8, 0, NotSerialized)
|
||
|
{
|
||
|
/* Index (PKG4, 4) is a Package */
|
||
|
|
||
|
Store (PKG4 [0x04], Local0)
|
||
|
Local1 = ObjectType (Local0)
|
||
|
If ((Local1 == 0x04))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x08)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TST9, 0, NotSerialized)
|
||
|
{
|
||
|
/* DerefOf (Index (PKG4, 0)) is a Number */
|
||
|
|
||
|
Local0 = DerefOf (PKG4 [0x00])
|
||
|
If ((Local0 == 0x02))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x09)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TSTA, 0, NotSerialized)
|
||
|
{
|
||
|
/* DerefOf (Index (PKG4, 1)) is a String */
|
||
|
|
||
|
Local0 = DerefOf (PKG4 [0x01])
|
||
|
Local1 = SizeOf (Local0)
|
||
|
If ((Local1 == 0x0E))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x0A)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TSTB, 0, NotSerialized)
|
||
|
{
|
||
|
/* DerefOf (Index (PKG4, 2)) is a Buffer */
|
||
|
|
||
|
Local0 = DerefOf (PKG4 [0x02])
|
||
|
Local1 = SizeOf (Local0)
|
||
|
If ((Local1 == 0x04))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x0B)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TSTC, 0, NotSerialized)
|
||
|
{
|
||
|
/* DerefOf (Index (PKG4, 3)) is a Number */
|
||
|
|
||
|
Local0 = DerefOf (PKG4 [0x03])
|
||
|
If ((Local0 == 0x1234))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x0C)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TSTD, 0, NotSerialized)
|
||
|
{
|
||
|
/* DerefOf (Index (PKG4, 4)) is a Package */
|
||
|
|
||
|
Local0 = DerefOf (PKG4 [0x04])
|
||
|
Local1 = SizeOf (Local0)
|
||
|
If ((Local1 == 0x02))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x0D)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TSTE, 0, NotSerialized)
|
||
|
{
|
||
|
/* DerefOf (Index (PKG4, 2)) is a Buffer */
|
||
|
|
||
|
Local0 = DerefOf (PKG4 [0x02])
|
||
|
/* DerefOf (Index (Local0, 1)) is a Number */
|
||
|
|
||
|
Local1 = DerefOf (Local0 [0x01])
|
||
|
If ((Local1 == 0x0B))
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return (0x0E)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (TSTF, 0, Serialized)
|
||
|
{
|
||
|
Name (SRCB, Buffer (0x0C){}) /* 12 characters */
|
||
|
SRCB = "Short Buffer"
|
||
|
Name (DEST, Buffer (0x3F)
|
||
|
{
|
||
|
"Destination buffer that is longer than the short source buffer"
|
||
|
})
|
||
|
/* overwrite DEST contents, starting at buffer position 2 */
|
||
|
|
||
|
DEST [0x02] = SRCB /* \IDX7.TSTF.SRCB */
|
||
|
/* */
|
||
|
/* The DEST buffer element should be replaced with the last element of */
|
||
|
/* the SRCB element (i.e. 's'->'r') */
|
||
|
Local0 = DerefOf (DEST [0x02])
|
||
|
If ((Local0 != 0x72)) /* 'r' */
|
||
|
{
|
||
|
/* DEST element does not match the value from SRCB */
|
||
|
|
||
|
Return ((Local0 | 0x1000))
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
Method (TSTG, 0, Serialized)
|
||
|
{
|
||
|
Name (SRCB, Buffer (0x0C){}) /* 12 characters */
|
||
|
SRCB = "Short Buffer"
|
||
|
Name (DEST, Buffer (0x3F)
|
||
|
{
|
||
|
"Destination buffer that is longer than the short source buffer"
|
||
|
})
|
||
|
/* overwrite DEST contents, starting at buffer position 2 */
|
||
|
|
||
|
DEST [0x02] = SRCB /* \IDX7.TSTG.SRCB */
|
||
|
/* */
|
||
|
/* The next element of DEST should be unchanged */
|
||
|
/* */
|
||
|
Local0 = DerefOf (DEST [0x03])
|
||
|
If ((Local0 != 0x74)) /* 't' */
|
||
|
{
|
||
|
/* DEST has been changed */
|
||
|
|
||
|
Return ((Local0 | 0x2000))
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* The next element of DEST should be unchanged */
|
||
|
/* */
|
||
|
Local0 = DerefOf (DEST [0x04])
|
||
|
If ((Local0 != 0x69)) /* 'i' */
|
||
|
{
|
||
|
/* DEST has been changed */
|
||
|
|
||
|
Return ((Local0 | 0x2100))
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* The next element of DEST should be unchanged */
|
||
|
/* */
|
||
|
Local0 = DerefOf (DEST [0x05])
|
||
|
If ((Local0 != 0x6E)) /* 'n' */
|
||
|
{
|
||
|
/* DEST has been changed */
|
||
|
|
||
|
Return ((Local0 | 0x2200))
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* The next element of DEST should be unchanged */
|
||
|
/* */
|
||
|
Local0 = DerefOf (DEST [0x06])
|
||
|
If ((Local0 != 0x61)) /* 'a' */
|
||
|
{
|
||
|
/* DEST has been changed */
|
||
|
|
||
|
Return ((Local0 | 0x2300))
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* The next element of DEST should be unchanged */
|
||
|
/* */
|
||
|
Local0 = DerefOf (DEST [0x07])
|
||
|
If ((Local0 != 0x74)) /* 't' */
|
||
|
{
|
||
|
/* DEST has been changed */
|
||
|
|
||
|
Return ((Local0 | 0x2400))
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* Verify DEST elements beyond end of SRCB buffer copy */
|
||
|
/* have not been changed */
|
||
|
Local0 = DerefOf (DEST [0x0E])
|
||
|
If ((Local0 != 0x66)) /* 'f' */
|
||
|
{
|
||
|
/* DEST has been changed */
|
||
|
|
||
|
Return ((Local0 | 0x2400))
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* This test shows that MS ACPI.SYS stores only the lower 8-bits of a 32-bit */
|
||
|
/* number into the index'ed buffer */
|
||
|
/* */
|
||
|
Method (TSTH, 0, Serialized)
|
||
|
{
|
||
|
/* Create a Destination Buffer */
|
||
|
|
||
|
Name (DBUF, Buffer (0x1B)
|
||
|
{
|
||
|
"abcdefghijklmnopqrstuvwxyz"
|
||
|
})
|
||
|
/* Store a number > UINT8 into an index of the buffer */
|
||
|
|
||
|
DBUF [0x02] = 0x12345678
|
||
|
/* Check the results */
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x02])
|
||
|
If ((Local0 != 0x78)) /* 0x78 */
|
||
|
{
|
||
|
Return ((Local0 | 0x3000))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x03])
|
||
|
If ((Local0 != 0x64)) /* 'd' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3100))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x04])
|
||
|
If ((Local0 != 0x65)) /* 'e' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3200))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x05])
|
||
|
If ((Local0 != 0x66)) /* 'f' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3300))
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
Method (TSTI, 0, Serialized)
|
||
|
{
|
||
|
/* Create a Destination Buffer */
|
||
|
|
||
|
Name (DBUF, Buffer (0x1B)
|
||
|
{
|
||
|
"abcdefghijklmnopqrstuvwxyz"
|
||
|
})
|
||
|
/* Store a String into an index of the buffer */
|
||
|
|
||
|
DBUF [0x02] = "ABCDEFGH"
|
||
|
/* Check the results */
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x02])
|
||
|
If ((Local0 != 0x48)) /* 'H' */
|
||
|
{
|
||
|
Return ((Local0 | 0x4000))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x03])
|
||
|
If ((Local0 != 0x64)) /* 'd' */
|
||
|
{
|
||
|
Return ((Local0 | 0x4100))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x04])
|
||
|
If ((Local0 != 0x65)) /* 'e' */
|
||
|
{
|
||
|
Return ((Local0 | 0x4200))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x05])
|
||
|
If ((Local0 != 0x66)) /* 'f' */
|
||
|
{
|
||
|
Return ((Local0 | 0x4300))
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
Method (TSTJ, 0, Serialized)
|
||
|
{
|
||
|
/* Create a Destination Buffer */
|
||
|
|
||
|
Name (DBUF, Buffer (0x1B)
|
||
|
{
|
||
|
"abcdefghijklmnopqrstuvwxyz"
|
||
|
})
|
||
|
/* Store a number > UINT8 into an index of the buffer */
|
||
|
|
||
|
DBUF [0x02] = 0x1234
|
||
|
/* Check the results */
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x02])
|
||
|
If ((Local0 != 0x34)) /* 0x34 */
|
||
|
{
|
||
|
Return ((Local0 | 0x3000))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x03])
|
||
|
If ((Local0 != 0x64)) /* 'd' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3100))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x04])
|
||
|
If ((Local0 != 0x65)) /* 'e' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3200))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x05])
|
||
|
If ((Local0 != 0x66)) /* 'f' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3300))
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
Method (TSTK, 0, Serialized)
|
||
|
{
|
||
|
/* Create a Destination Buffer */
|
||
|
|
||
|
Name (DBUF, Buffer (0x1B)
|
||
|
{
|
||
|
"abcdefghijklmnopqrstuvwxyz"
|
||
|
})
|
||
|
/* Store a number > UINT8 into an index of the buffer */
|
||
|
|
||
|
DBUF [0x02] = 0x00123456
|
||
|
/* Check the results */
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x02])
|
||
|
If ((Local0 != 0x56)) /* 0x56 */
|
||
|
{
|
||
|
Return ((Local0 | 0x3000))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x03])
|
||
|
If ((Local0 != 0x64)) /* 'd' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3100))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x04])
|
||
|
If ((Local0 != 0x65)) /* 'e' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3200))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x05])
|
||
|
If ((Local0 != 0x66)) /* 'f' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3300))
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
Method (TSTL, 0, Serialized)
|
||
|
{
|
||
|
/* Create a Destination Buffer */
|
||
|
|
||
|
Name (DBUF, Buffer (0x1B)
|
||
|
{
|
||
|
"abcdefghijklmnopqrstuvwxyz"
|
||
|
})
|
||
|
/* Store a number > UINT8 into an index of the buffer */
|
||
|
|
||
|
DBUF [0x02] = 0x12
|
||
|
/* Check the results */
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x02])
|
||
|
If ((Local0 != 0x12)) /* 0x12 */
|
||
|
{
|
||
|
Return ((Local0 | 0x3000))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x03])
|
||
|
If ((Local0 != 0x64)) /* 'd' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3100))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x04])
|
||
|
If ((Local0 != 0x65)) /* 'e' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3200))
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DBUF [0x05])
|
||
|
If ((Local0 != 0x66)) /* 'f' */
|
||
|
{
|
||
|
Return ((Local0 | 0x3300))
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
}
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ IndexOp7 Test"
|
||
|
Local0 = TST1 ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TST2 ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TST3 ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TST4 ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TST5 ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TST6 ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TST7 ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TST8 ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TST9 ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TSTA ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TSTB ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TSTC ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TSTD ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TSTE ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
/* No longer ACPI compliant */
|
||
|
/*
|
||
|
Store(TSTF(), Local0)
|
||
|
if (LGreater (Local0, 0))
|
||
|
{
|
||
|
Return(Local0)
|
||
|
}
|
||
|
*/
|
||
|
Local0 = TSTG ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TSTH ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
/* No longer ACPI compliant */
|
||
|
/*
|
||
|
Store(TSTI(), Local0)
|
||
|
if (LGreater (Local0, 0))
|
||
|
{
|
||
|
Return(Local0)
|
||
|
}
|
||
|
*/
|
||
|
Local0 = TSTJ ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TSTK ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Local0 = TSTL ()
|
||
|
If ((Local0 > 0x00))
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Return (Local0)
|
||
|
}
|
||
|
} /* Device(IDX7) */
|
||
|
|
||
|
/* */
|
||
|
/* test MatchOp.asl */
|
||
|
/* */
|
||
|
/* MatchOp test cases that utilize nested DerefOf(Index(...)) to validate */
|
||
|
/* MatchOp, DerefOfOp, and IndexOp of nested packages. */
|
||
|
/* */
|
||
|
Device (MTCH)
|
||
|
{
|
||
|
Method (TEST, 0, Serialized)
|
||
|
{
|
||
|
Debug = "++++++++ MatchOp Test"
|
||
|
Name (TIM0, Package (0x08)
|
||
|
{
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x78,
|
||
|
0xB4,
|
||
|
0xF0,
|
||
|
0x0384
|
||
|
},
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x23,
|
||
|
0x21,
|
||
|
0x10,
|
||
|
0x00
|
||
|
},
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x0B,
|
||
|
0x09,
|
||
|
0x04,
|
||
|
0x00
|
||
|
},
|
||
|
|
||
|
Package (0x05)
|
||
|
{
|
||
|
0x70,
|
||
|
0x49,
|
||
|
0x36,
|
||
|
0x27,
|
||
|
0x19
|
||
|
},
|
||
|
|
||
|
Package (0x05)
|
||
|
{
|
||
|
0x00,
|
||
|
0x01,
|
||
|
0x02,
|
||
|
0x01,
|
||
|
0x02
|
||
|
},
|
||
|
|
||
|
Package (0x05)
|
||
|
{
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x00,
|
||
|
0x01,
|
||
|
0x01
|
||
|
},
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x04,
|
||
|
0x03,
|
||
|
0x02,
|
||
|
0x00
|
||
|
},
|
||
|
|
||
|
Package (0x04)
|
||
|
{
|
||
|
0x02,
|
||
|
0x01,
|
||
|
0x00,
|
||
|
0x00
|
||
|
}
|
||
|
}) /* TIM0 */
|
||
|
Name (TMD0, Buffer (0x14)
|
||
|
{
|
||
|
0xFF, 0xFF, 0xFF, 0xFF // ....
|
||
|
})
|
||
|
CreateDWordField (TMD0, 0x00, PIO0) /* 0xFFFFFFFF */
|
||
|
CreateDWordField (TMD0, 0x04, DMA0)
|
||
|
CreateDWordField (TMD0, 0x08, PIO1)
|
||
|
CreateDWordField (TMD0, 0x0C, DMA1)
|
||
|
CreateDWordField (TMD0, 0x10, CHNF)
|
||
|
/* validate PIO0 value */
|
||
|
|
||
|
Local3 = PIO0 /* \MTCH.TEST.PIO0 */
|
||
|
/* save Local3 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local3)
|
||
|
/* validate Local3 is a Number */
|
||
|
|
||
|
If ((Local2 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x02)
|
||
|
} /* failure */
|
||
|
|
||
|
/* validate Local3 Number value */
|
||
|
|
||
|
If ((Local3 != 0xFFFFFFFF)) /* Number value 0xFFFFFFFF */
|
||
|
{
|
||
|
Return (0x03)
|
||
|
} /* failure */
|
||
|
|
||
|
Debug = "DWordField PASS"
|
||
|
Local5 = 0x00
|
||
|
Local6 = Match (DerefOf (TIM0 [0x01]), MLE, Local5, MTR, 0x00,
|
||
|
0x00)
|
||
|
/* save Local6 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local6)
|
||
|
/* validate Local6 is a Number */
|
||
|
|
||
|
If ((Local2 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x04)
|
||
|
} /* failure */
|
||
|
|
||
|
Debug = "Match(DerefOf(Index(TIM0,1)),... PASS"
|
||
|
/* validate following produces a nested package to validate */
|
||
|
/* that MatchOp did not corrupt SearchPackage (TIM0) */
|
||
|
Local4 = DerefOf (TIM0 [0x01])
|
||
|
/* save Local4 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local4)
|
||
|
/* validate Local4 is a Package */
|
||
|
|
||
|
If ((Local2 != 0x04)) /* Package type is 4 */
|
||
|
{
|
||
|
Return (0x05)
|
||
|
} /* failure */
|
||
|
|
||
|
Debug = "DerefOf(Index(TIM0,1)),... PASS"
|
||
|
Local0 = (Match (DerefOf (TIM0 [0x00]), MGE, PIO0, MTR, 0x00,
|
||
|
0x00) & 0x03)
|
||
|
/* save Local0 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local2 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x06)
|
||
|
} /* failure */
|
||
|
|
||
|
/* validate Local0 Number value */
|
||
|
|
||
|
If ((Local0 != 0x03)) /* Number value 3 */
|
||
|
{
|
||
|
Return (0x07)
|
||
|
} /* failure */
|
||
|
|
||
|
Debug = "And(Match(DerefOf(Index(TIM0,0)),... PASS"
|
||
|
/* again, validate following produces a nested package */
|
||
|
|
||
|
Local4 = DerefOf (TIM0 [0x01])
|
||
|
/* save Local4 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local4)
|
||
|
/* validate Local4 is a Package */
|
||
|
|
||
|
If ((Local2 != 0x04)) /* Package type is 4 */
|
||
|
{
|
||
|
Return (0x08)
|
||
|
} /* failure */
|
||
|
|
||
|
Debug = "DerefOf(Index(TIM0,1)),... PASS again"
|
||
|
/* again, validate following produces a nested package */
|
||
|
|
||
|
Local4 = DerefOf (TIM0 [0x01])
|
||
|
/* save Local4 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local4)
|
||
|
/* validate Local4 is a Package */
|
||
|
|
||
|
If ((Local2 != 0x04)) /* Package type is 4 */
|
||
|
{
|
||
|
Return (0x09)
|
||
|
} /* failure */
|
||
|
|
||
|
Debug = "DerefOf(Index(TIM0,1)),... PASS again"
|
||
|
/* test nested DerefOf(Index) operators */
|
||
|
|
||
|
Local1 = DerefOf (DerefOf (TIM0 [0x01]) [Local0])
|
||
|
/* save Local1 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local1)
|
||
|
/* validate Local1 is a Number */
|
||
|
|
||
|
If ((Local2 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x0A)
|
||
|
} /* failure */
|
||
|
|
||
|
/* zero indicates pass, non-zero is an error code */
|
||
|
|
||
|
If ((Local1 != 0x00))
|
||
|
{
|
||
|
Return (0x0B)
|
||
|
} /* failure */
|
||
|
|
||
|
Debug = "DerefOf(Index(DerefOf(Index(TIM0,1)),... PASS"
|
||
|
/* again, validate following produces a nested package */
|
||
|
|
||
|
Local4 = DerefOf (TIM0 [0x01])
|
||
|
/* save Local4 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local4)
|
||
|
/* validate Local4 is a Package */
|
||
|
|
||
|
If ((Local2 != 0x04)) /* Package type is 4 */
|
||
|
{
|
||
|
Return (0x0C)
|
||
|
} /* failure */
|
||
|
|
||
|
Debug = "DerefOf(Index(TIM0,1)),... PASS again"
|
||
|
/* retest nested DerefOf(Index) operators */
|
||
|
|
||
|
Local1 = DerefOf (DerefOf (TIM0 [0x01]) [Local0])
|
||
|
/* save Local1 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local1)
|
||
|
/* validate Local1 is a Number */
|
||
|
|
||
|
If ((Local2 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x0D)
|
||
|
} /* failure */
|
||
|
|
||
|
/* zero indicates pass, non-zero is an error code */
|
||
|
|
||
|
If ((Local1 != 0x00))
|
||
|
{
|
||
|
Return (0x0E)
|
||
|
} /* failure */
|
||
|
|
||
|
Debug = "DerefOf(Index(DerefOf(Index(TIM0,1)),... PASS again"
|
||
|
/* again, validate following produces a nested package */
|
||
|
|
||
|
Local4 = DerefOf (TIM0 [0x01])
|
||
|
/* save Local4 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local4)
|
||
|
/* validate Local4 is a Package */
|
||
|
|
||
|
If ((Local2 != 0x04)) /* Package type is 4 */
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
} /* failure */
|
||
|
|
||
|
Debug = "DerefOf(Index(TIM0,1)),... PASS again"
|
||
|
Return (0x00) /* pass */
|
||
|
} /* TEST */
|
||
|
} /* MTCH */
|
||
|
|
||
|
/* */
|
||
|
/* test WhileBrk.asl */
|
||
|
/* */
|
||
|
/* This code tests the Break term and While term */
|
||
|
/* */
|
||
|
/* Syntax of Break term */
|
||
|
/* BreakTerm := Break */
|
||
|
/* The break operation causes the current package execution to complete. */
|
||
|
/* */
|
||
|
/* Syntax of While Term */
|
||
|
/* WhileTerm := While( */
|
||
|
/* Predicate //TermArg=>Integer */
|
||
|
/* ) {TermList} */
|
||
|
/* Predicate is evaluated as an integer. */
|
||
|
/* If the integer is non-zero, the list of terms in TermList is executed. */
|
||
|
/* The operation repeats until the Predicate evaluates to zero. */
|
||
|
/* */
|
||
|
/* MTL NOTE: This test has been modified to reflect ACPI 2.0 break */
|
||
|
/* NOTE: This test, when run under the MS ACPI.SYS grinds the system to */
|
||
|
/* a halt. */
|
||
|
/* */
|
||
|
Device (WHLB)
|
||
|
{
|
||
|
Name (CNT0, 0x00)
|
||
|
Name (CNT1, 0x00)
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
/* Check Break statement nested in If nested in While nested in */
|
||
|
/* While only exits inner-most While loop */
|
||
|
CNT0 = 0x00
|
||
|
While ((CNT0 < 0x04))
|
||
|
{
|
||
|
CNT1 = 0x00
|
||
|
While ((CNT1 < 0x0A))
|
||
|
{
|
||
|
If ((CNT1 == 0x01))
|
||
|
{
|
||
|
Break /* exit encompassing loop */
|
||
|
}
|
||
|
|
||
|
CNT1++
|
||
|
}
|
||
|
|
||
|
If ((CNT1 != 0x01))
|
||
|
{
|
||
|
/* failure */
|
||
|
|
||
|
Return (0x07)
|
||
|
}
|
||
|
|
||
|
CNT0++
|
||
|
}
|
||
|
|
||
|
/* Verify Break only exited inner-most While loop */
|
||
|
|
||
|
If ((CNT0 != 0x04))
|
||
|
{
|
||
|
/* failure */
|
||
|
|
||
|
Return (0x08)
|
||
|
}
|
||
|
|
||
|
Debug = "While/While/If/Break PASS"
|
||
|
Debug = "++++++++ WhileBrk Test"
|
||
|
/* Check Break statement nested in While */
|
||
|
|
||
|
CNT0 = 0x00
|
||
|
While ((CNT0 < 0x0A))
|
||
|
{
|
||
|
Break
|
||
|
CNT0++
|
||
|
}
|
||
|
|
||
|
If ((CNT0 != 0x00)) /* instruction after Break executed */
|
||
|
{
|
||
|
Return (0x04)
|
||
|
}
|
||
|
|
||
|
CNT0 = 0x00
|
||
|
/* Test While Term */
|
||
|
|
||
|
While ((CNT0 < 0x0A))
|
||
|
{
|
||
|
CNT0++
|
||
|
}
|
||
|
|
||
|
/* Check if the while loop was executed until the condition is satisfied. */
|
||
|
|
||
|
If ((CNT0 != 0x0A))
|
||
|
{
|
||
|
Return (0x01)
|
||
|
}
|
||
|
|
||
|
/* While loop in a reverse order */
|
||
|
|
||
|
While ((CNT0 > 0x00))
|
||
|
{
|
||
|
CNT0--
|
||
|
}
|
||
|
|
||
|
/* Check if the while loop was executed until the condition is satisfied. */
|
||
|
|
||
|
If ((CNT0 != 0x00))
|
||
|
{
|
||
|
Return (0x02)
|
||
|
}
|
||
|
|
||
|
Debug = "While/Break PASS"
|
||
|
/* Check Break statement nested in If nested in While */
|
||
|
|
||
|
CNT0 = 0x00
|
||
|
While ((CNT0 < 0x0A))
|
||
|
{
|
||
|
If ((CNT0 == 0x05))
|
||
|
{
|
||
|
Break
|
||
|
/* if we execute the next instruction, */
|
||
|
/* Break did not exit the loop */
|
||
|
CNT0 = 0x14 /* exit While loop with value larger */
|
||
|
/* than above */
|
||
|
}
|
||
|
|
||
|
CNT0++ /* check if Break exited both If and While */
|
||
|
} /* While */
|
||
|
|
||
|
If ((CNT0 > 0x13))
|
||
|
{
|
||
|
/* instruction after Break inside IfOp executed */
|
||
|
|
||
|
Return (0x05)
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* Break will exit out of the while loop, therefore */
|
||
|
/* the CNT0 counter should still Increment until 5 */
|
||
|
/* */
|
||
|
If ((CNT0 != 0x05))
|
||
|
{
|
||
|
/* instruction after Break inside WhileOp executed */
|
||
|
|
||
|
Return (0x06)
|
||
|
}
|
||
|
|
||
|
Debug = "While/If/Break PASS"
|
||
|
/* All the conditions passed */
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* WHLB */
|
||
|
|
||
|
/* */
|
||
|
/* test IndexOp2.asl */
|
||
|
/* */
|
||
|
/* Additional IndexOp test cases to support ACPICMB (control method battery */
|
||
|
/* test) on Toshiba Portege 7020CT. Test cases include appropriate bit */
|
||
|
/* shifting of Field elements and reading Field elements greater than 64 bits. */
|
||
|
/* */
|
||
|
/* MTL NOTE: This test has been modified slightly from the original test */
|
||
|
/* to take into account ACPI specification limitations. */
|
||
|
/* */
|
||
|
Scope (\_SB) /* System Bus */
|
||
|
{
|
||
|
/* _SB system bus */
|
||
|
|
||
|
Device (MEM)
|
||
|
{
|
||
|
/* MEM */
|
||
|
|
||
|
Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID
|
||
|
Name (_STA, 0x0F) // _STA: Status
|
||
|
OperationRegion (SMEM, SystemMemory, 0x00800000, 0x0100)
|
||
|
Field (SMEM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field: SMEM overlay using 32-bit field elements */
|
||
|
|
||
|
SMD0, /* 32-bits */ 32,
|
||
|
SMD1, /* 32-bits */ 32,
|
||
|
SMD2, /* 32-bits */ 32,
|
||
|
SMD3, /* 32-bits */ 32
|
||
|
} /* Field: SMEM overlay using 32-bit field elements */
|
||
|
|
||
|
Field (SMEM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
/* Field: SMEM overlay using greater than 32-bit field elements */
|
||
|
|
||
|
SME0, /* larger than an integer (32 or 64) */ 69,
|
||
|
SME1, /* larger than an integer */ 97
|
||
|
} /* Field: SMEM overlay using greater than 32-bit field elements */
|
||
|
|
||
|
OperationRegion (SRAM, SystemMemory, 0x100B0000, 0xF000)
|
||
|
Field (SRAM, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
Offset (0x6800),
|
||
|
/* Field: SRAM overlay */
|
||
|
|
||
|
IEAX, 32,
|
||
|
IEBX, 32,
|
||
|
IECX, 32,
|
||
|
IEDX, 32,
|
||
|
IESI, 32,
|
||
|
IEDI, 32,
|
||
|
IEBP, 32,
|
||
|
Offset (0x6820),
|
||
|
OEAX, 32,
|
||
|
OEBX, 32,
|
||
|
OECX, 32,
|
||
|
OEDX, 32,
|
||
|
OESI, 32,
|
||
|
OEDI, 32,
|
||
|
OEBP, 32,
|
||
|
Offset (0x68FF),
|
||
|
ACST, 1,
|
||
|
BES1, 1,
|
||
|
BES2, 1,
|
||
|
Offset (0x6900),
|
||
|
BMN1, 104,
|
||
|
BSN1, 88,
|
||
|
BTP1, 72,
|
||
|
BPU1, 32,
|
||
|
BDC1, 32,
|
||
|
BLF1, 32,
|
||
|
BTC1, 32,
|
||
|
BDV1, 32,
|
||
|
BST1, 32,
|
||
|
BPR1, 32,
|
||
|
BRC1, 32,
|
||
|
BPV1, 32,
|
||
|
Offset (0x6949),
|
||
|
BCW1, 32,
|
||
|
BCL1, 32,
|
||
|
BG11, 32,
|
||
|
BG21, 32,
|
||
|
BOI1, 32,
|
||
|
Offset (0x6A03),
|
||
|
BMN2, 104,
|
||
|
BSN2, 88,
|
||
|
BTP2, 72,
|
||
|
BPU2, 32,
|
||
|
BDC2, 32,
|
||
|
BLF2, 32,
|
||
|
BTC2, 32,
|
||
|
BDV2, 32,
|
||
|
BST2, 32,
|
||
|
BPR2, 32,
|
||
|
BRC2, 32,
|
||
|
BPV2, 32,
|
||
|
Offset (0x6A4C),
|
||
|
BCW2, 32,
|
||
|
BCL2, 32,
|
||
|
BG12, 32,
|
||
|
BG22, 32,
|
||
|
BOI2, 32,
|
||
|
Offset (0x6B03),
|
||
|
AC01, 16,
|
||
|
AC11, 16,
|
||
|
PSV1, 16,
|
||
|
CRT1, 16,
|
||
|
TMP1, 16,
|
||
|
AST1, 16,
|
||
|
AC21, 16,
|
||
|
AC31, 16,
|
||
|
AC02, 16,
|
||
|
AC12, 16,
|
||
|
PSV2, 16,
|
||
|
CRT2, 16,
|
||
|
TMP2, 16,
|
||
|
AST2, 16,
|
||
|
AC22, 16,
|
||
|
AC32, 16,
|
||
|
AC03, 16,
|
||
|
AC13, 16,
|
||
|
PSV3, 16,
|
||
|
CRT3, 16,
|
||
|
TMP3, 16,
|
||
|
AST3, 16,
|
||
|
AC23, 16,
|
||
|
AC33, 16,
|
||
|
Offset (0x6B43),
|
||
|
TMPF, 16,
|
||
|
Offset (0x6BF3),
|
||
|
FANH, 1,
|
||
|
FANL, 7,
|
||
|
TF11, 1,
|
||
|
TF21, 1,
|
||
|
TF31, 1,
|
||
|
, 1,
|
||
|
TF10, 1,
|
||
|
TF20, 1,
|
||
|
TF30, 1,
|
||
|
Offset (0x6BF5),
|
||
|
TP11, 1,
|
||
|
TP21, 1,
|
||
|
TP31, 1,
|
||
|
Offset (0x6C03),
|
||
|
GP50, 1,
|
||
|
GP51, 1,
|
||
|
GP52, 1,
|
||
|
GP53, 1,
|
||
|
Offset (0x6C04),
|
||
|
GP60, 1,
|
||
|
GP61, 1,
|
||
|
GP62, 1,
|
||
|
GP63, 1,
|
||
|
GP64, 1,
|
||
|
GP65, 1,
|
||
|
GP66, 1,
|
||
|
Offset (0x6C05),
|
||
|
GP70, 1,
|
||
|
GP71, 1,
|
||
|
GP72, 1,
|
||
|
GP73, 1,
|
||
|
GP74, 1,
|
||
|
GP75, 1,
|
||
|
GP76, 1,
|
||
|
Offset (0x6C06),
|
||
|
WED0, 1,
|
||
|
WED1, 1,
|
||
|
WED2, 1,
|
||
|
WED3, 1,
|
||
|
WED4, 1,
|
||
|
Offset (0x6C07),
|
||
|
SBL0, 1,
|
||
|
SBL1, 1,
|
||
|
SBL2, 1,
|
||
|
SBL3, 1,
|
||
|
Offset (0x6C08),
|
||
|
LIDS, 1,
|
||
|
VALF, 1,
|
||
|
, 2,
|
||
|
DCKI, 1,
|
||
|
DCKF, 1,
|
||
|
BT1F, 1,
|
||
|
BT2F, 1,
|
||
|
Offset (0x6D03),
|
||
|
HKCD, 8,
|
||
|
Offset (0x6D05),
|
||
|
DLID, 32,
|
||
|
DSRN, 32,
|
||
|
Offset (0x6D11),
|
||
|
BDID, 32,
|
||
|
DSPW, 1,
|
||
|
VGAF, 1,
|
||
|
VWE0, 1,
|
||
|
VWE1, 1,
|
||
|
PPSC, 1,
|
||
|
SPSC, 1,
|
||
|
EWLD, 1,
|
||
|
EWPS, 1,
|
||
|
Offset (0x7003),
|
||
|
PRES, 32768
|
||
|
} /* Field: SRAM overlay */
|
||
|
} /* MEM */
|
||
|
|
||
|
Device (BAT1)
|
||
|
{
|
||
|
/* BAT1 */
|
||
|
|
||
|
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) /* Control Method Battey ID */ // _HID: Hardware ID
|
||
|
Name (_UID, 0x01) // _UID: Unique ID
|
||
|
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
|
||
|
{
|
||
|
\_SB
|
||
|
})
|
||
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
||
|
{
|
||
|
/* _STA */
|
||
|
|
||
|
If (\_SB.MEM.BES1)
|
||
|
{
|
||
|
Return (0x1F)
|
||
|
} /* battery present */
|
||
|
Else
|
||
|
{
|
||
|
Return (0x0F)
|
||
|
} /* battery not present */
|
||
|
} /* _STA */
|
||
|
|
||
|
Method (_BIF, 0, Serialized) // _BIF: Battery Information
|
||
|
{
|
||
|
/* _BIF */
|
||
|
|
||
|
Name (BUFR, Package (0x0D){})
|
||
|
BUFR [0x00] = \_SB.MEM.BPU1
|
||
|
BUFR [0x01] = \_SB.MEM.BDC1
|
||
|
BUFR [0x02] = \_SB.MEM.BLF1
|
||
|
BUFR [0x03] = \_SB.MEM.BTC1
|
||
|
BUFR [0x04] = \_SB.MEM.BDV1
|
||
|
BUFR [0x05] = \_SB.MEM.BCW1
|
||
|
BUFR [0x06] = \_SB.MEM.BCL1
|
||
|
BUFR [0x07] = \_SB.MEM.BG11
|
||
|
BUFR [0x08] = \_SB.MEM.BG21
|
||
|
BUFR [0x09] = \_SB.MEM.BMN1
|
||
|
BUFR [0x0A] = \_SB.MEM.BSN1
|
||
|
BUFR [0x0B] = \_SB.MEM.BTP1
|
||
|
BUFR [0x0C] = \_SB.MEM.BOI1
|
||
|
Return (BUFR) /* \_SB_.BAT1._BIF.BUFR */
|
||
|
} /* _BIF */
|
||
|
} /* BAT1 */
|
||
|
|
||
|
Device (IDX2)
|
||
|
{
|
||
|
Method (B2IB, 0, Serialized)
|
||
|
{
|
||
|
/* B2IB: store from Buffer into Index'ed Buffer */
|
||
|
|
||
|
Name (SRCB, Buffer (0x0D)
|
||
|
{
|
||
|
"Short Buffer"
|
||
|
}) /* 12 characters plus NULL */
|
||
|
Name (DEST, Buffer (0x3F)
|
||
|
{
|
||
|
"Destination buffer that is longer than the short source buffer"
|
||
|
})
|
||
|
/* verify object type returned by Index(Buffer,Element,) */
|
||
|
|
||
|
Store (DEST [0x02], Local1)
|
||
|
Local2 = ObjectType (Local1)
|
||
|
If ((Local2 != 0x0E)) /* Buffer Field is type 14 */
|
||
|
{
|
||
|
/* Local2 indicates Local1 is not a Buffer Field */
|
||
|
|
||
|
Return (0x61)
|
||
|
}
|
||
|
|
||
|
/* verify object type and value returned by DerefOf(Index(Buffer,Element,)) */
|
||
|
/* should return Number containing element value */
|
||
|
Local3 = DerefOf (Local1)
|
||
|
Local4 = ObjectType (Local3)
|
||
|
If ((Local4 != 0x01)) /* Number is type 1 */
|
||
|
{
|
||
|
/* Local2 indicates Local1 is not a Number */
|
||
|
|
||
|
Return (0x62)
|
||
|
}
|
||
|
ElseIf ((Local3 != 0x73)) /* expect 's' element from DEST */
|
||
|
{
|
||
|
Return (0x63)
|
||
|
}
|
||
|
|
||
|
Debug = "DerefOf(Index(Buffer,,)) PASS"
|
||
|
/* */
|
||
|
/* The following sections have been rewritten because storing into */
|
||
|
/* an Indexed buffer only changes one byte - the FIRST byte of the */
|
||
|
/* buffer is written to the source index. This is the ONLY byte */
|
||
|
/* written -- as per ACPI 2.0 */
|
||
|
/* */
|
||
|
/* Overwrite DEST contents, at buffer position 2 [only] */
|
||
|
DEST [0x02] = SRCB /* \_SB_.IDX2.B2IB.SRCB */
|
||
|
/* */
|
||
|
/* Check that the next byte is not changed */
|
||
|
/* */
|
||
|
Local0 = DerefOf (DEST [0x03])
|
||
|
If ((Local0 != 0x74)) /* 't' */
|
||
|
{
|
||
|
/* DEST element is not matching original value */
|
||
|
|
||
|
If ((Local0 == 0x68))
|
||
|
{
|
||
|
/* DEST element was altered to 'h' */
|
||
|
|
||
|
Return (0x68)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
/* DEST element is an unknown value */
|
||
|
|
||
|
Return (0x69)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* Check that the elements beyond the SRCB buffer copy */
|
||
|
/* have not been altered. */
|
||
|
/* */
|
||
|
Local0 = DerefOf (DEST [0x0E])
|
||
|
/* */
|
||
|
/* This should be an 'f'. */
|
||
|
/* */
|
||
|
If ((Local0 != 0x66))
|
||
|
{
|
||
|
/* DEST element was zero'd by buffer copy */
|
||
|
|
||
|
If ((Local0 == 0x00))
|
||
|
{
|
||
|
/* DEST element is zero */
|
||
|
|
||
|
Return (0x6A)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
/* DEST element is unknown value */
|
||
|
|
||
|
Return (0x6B)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Debug = "Store(SRCB,Index(Buffer,,)) PASS"
|
||
|
/* */
|
||
|
/* verify altering SRCB does NOT alter DEST */
|
||
|
/* */
|
||
|
SRCB [0x01] = 0x6A /* SRCB = "Sjort Buffer" */
|
||
|
Local0 = DerefOf (SRCB [0x01])
|
||
|
If ((Local0 != 0x6A)) /* 'j' */
|
||
|
{
|
||
|
/* SRCB element is unaltered */
|
||
|
|
||
|
Return (0x71)
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DEST [0x03]) /* DEST = "Destination buffer that... */
|
||
|
If ((Local0 != 0x74)) /* 't' */
|
||
|
{
|
||
|
/* DEST element is altered */
|
||
|
|
||
|
If ((Local0 == 0x6A)) /* 'j' */
|
||
|
{
|
||
|
/* SRCB change altered DEST element */
|
||
|
|
||
|
Return (0x72)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
/* DEST element is unknown value */
|
||
|
|
||
|
Return (0x73)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* verify altering DEST does NOT alter SRCB */
|
||
|
|
||
|
DEST [0x04] = 0x6B /* DEST = "DeSkination buffer..." */
|
||
|
Local0 = DerefOf (DEST [0x04])
|
||
|
If ((Local0 != 0x6B)) /* 'k' */
|
||
|
{
|
||
|
/* DEST element is unaltered */
|
||
|
|
||
|
Return (0x74)
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (SRCB [0x02])
|
||
|
If ((Local0 != 0x6F)) /* 'o' */
|
||
|
{
|
||
|
/* SRC element is altered */
|
||
|
|
||
|
If ((Local0 == 0x6B)) /* 'k' */
|
||
|
{
|
||
|
/* DEST change altered SRCB element */
|
||
|
|
||
|
Return (0x75)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
/* SRCB element is unknown value */
|
||
|
|
||
|
Return (0x76)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Debug = "SRCB and DEST independent PASS"
|
||
|
/* verify string can be written to Index target/destination */
|
||
|
/* Only FIRST byte is written */
|
||
|
DEST [0x02] = "New Buff" /* DEST = "DeNkination buffer..." */
|
||
|
Local0 = DerefOf (DEST [0x02])
|
||
|
If ((Local0 != 0x4E)) /* 'N' */
|
||
|
{
|
||
|
/* DEST element is unaltered */
|
||
|
|
||
|
Return (0x81)
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DEST [0x06])
|
||
|
If ((Local0 != 0x61)) /* 'a' */
|
||
|
{
|
||
|
/* DEST element is unaltered */
|
||
|
|
||
|
Return (0x82)
|
||
|
}
|
||
|
|
||
|
Local0 = DerefOf (DEST [0x0A])
|
||
|
If ((Local0 != 0x6E)) /* 'n' */
|
||
|
{
|
||
|
/* DEST element is unaltered */
|
||
|
|
||
|
Return (0x83)
|
||
|
}
|
||
|
|
||
|
Debug = "Store(String,Index) PASS"
|
||
|
Return (0x00) /* pass */
|
||
|
} /* B2IB: store from Buffer into Index'ed Buffer */
|
||
|
|
||
|
Method (FB2P, 0, Serialized)
|
||
|
{
|
||
|
/* FB2P: store from Field Buffer into Index'ed Package */
|
||
|
|
||
|
Name (DEST, Package (0x02){})
|
||
|
/* initialize memory using 32-bit field elements */
|
||
|
|
||
|
\_SB.MEM.SMD0 = 0x01234567
|
||
|
\_SB.MEM.SMD1 = 0x89ABCDEF
|
||
|
\_SB.MEM.SMD2 = 0xFEDCBA98
|
||
|
\_SB.MEM.SMD3 = 0x76543210
|
||
|
/* move greater than 64-bit buffers into DEST package */
|
||
|
|
||
|
DEST [0x00] = \_SB.MEM.SME0
|
||
|
DEST [0x01] = \_SB.MEM.SME1
|
||
|
/* validate DEST contents */
|
||
|
|
||
|
Local0 = DerefOf (DEST [0x00])
|
||
|
Local1 = DerefOf (DEST [0x01])
|
||
|
/* verify Local0 and Local1 are Buffers */
|
||
|
|
||
|
Local2 = ObjectType (Local0)
|
||
|
If ((Local2 != 0x03)) /* Buffer type is 3 */
|
||
|
{
|
||
|
Return (0x11)
|
||
|
}
|
||
|
|
||
|
Local3 = ObjectType (Local1)
|
||
|
If ((Local3 != 0x03)) /* Buffer type is 3 */
|
||
|
{
|
||
|
Return (0x12)
|
||
|
}
|
||
|
|
||
|
/* validate DEST buffer contents */
|
||
|
|
||
|
Local4 = DerefOf (DerefOf (DEST [0x00]) [0x00])
|
||
|
If ((Local4 != 0x67))
|
||
|
{
|
||
|
Return (0x13)
|
||
|
}
|
||
|
|
||
|
Local4 = DerefOf (DerefOf (DEST [0x00]) [0x01])
|
||
|
If ((Local4 != 0x45))
|
||
|
{
|
||
|
Return (0x14)
|
||
|
}
|
||
|
|
||
|
Local4 = DerefOf (DerefOf (DEST [0x00]) [0x04])
|
||
|
If ((Local4 != 0xEF))
|
||
|
{
|
||
|
Return (0x15)
|
||
|
}
|
||
|
|
||
|
Local4 = DerefOf (DerefOf (DEST [0x00]) [0x05])
|
||
|
If ((Local4 != 0xCD))
|
||
|
{
|
||
|
Return (0x16)
|
||
|
}
|
||
|
|
||
|
Debug = "Store(Mem,PkgElement) PASS"
|
||
|
/* validate changing source \_SB.MEM.SMD* does not impact DEST */
|
||
|
|
||
|
\_SB.MEM.SMD0 = 0x12345678
|
||
|
Local5 = DerefOf (DerefOf (DEST [0x00]) [0x00])
|
||
|
If ((Local5 != 0x67))
|
||
|
{
|
||
|
Return (0x21)
|
||
|
}
|
||
|
|
||
|
Local5 = DerefOf (DerefOf (DEST [0x00]) [0x01])
|
||
|
If ((Local5 != 0x45))
|
||
|
{
|
||
|
Return (0x22)
|
||
|
}
|
||
|
|
||
|
/* validate changing DEST does not impact source \_SB.MEM.SMD* */
|
||
|
|
||
|
DerefOf (DEST [0x00]) [0x00] = 0x30
|
||
|
Local5 = DerefOf (DerefOf (DEST [0x00]) [0x00])
|
||
|
If ((Local5 != 0x30))
|
||
|
{
|
||
|
Return (0x23)
|
||
|
}
|
||
|
|
||
|
/* */
|
||
|
/* This section was modified from the original iPCO code because */
|
||
|
/* it attempted to compare two buffers. This is not allowed until */
|
||
|
/* ACPI v2.0, so the test has been modified to just check the */
|
||
|
/* changed \_SB.MEM.SMD0 */
|
||
|
/* */
|
||
|
Local5 = \_SB.MEM.SMD0
|
||
|
If ((Local5 != 0x12345678))
|
||
|
{
|
||
|
Return (0x24)
|
||
|
}
|
||
|
|
||
|
Debug = "Mem and Pkg independent PASS"
|
||
|
Return (0x00)
|
||
|
} /* FB2P: store from Field Buffer into Index'ed Package */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ IndexOp2 Test"
|
||
|
/* store _BIF package return value into Local0 */
|
||
|
|
||
|
Local0 = \_SB.BAT1._BIF ()
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Package */
|
||
|
|
||
|
If ((Local1 != 0x04)) /* Package type is 4 */
|
||
|
{
|
||
|
/* failure */
|
||
|
|
||
|
Return (0x02)
|
||
|
}
|
||
|
|
||
|
/* validate source and destination buffers are independent of each */
|
||
|
/* of each other (i.e., changing one's contents does not change */
|
||
|
/* other's contents) using B2IB (store from Buffer into Index'ed */
|
||
|
/* Buffer) and FB2P (store from Field Buffer into Index'ed Package) */
|
||
|
/* call B2IB (store from Buffer into Index'ed Buffer) */
|
||
|
Local2 = B2IB () /* Local2 is B2IB return value */
|
||
|
/* save Local2 object type value into Local3 */
|
||
|
|
||
|
Local3 = ObjectType (Local2)
|
||
|
/* validate Local2 is a Number */
|
||
|
|
||
|
If ((Local3 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
/* failure */
|
||
|
|
||
|
Return (0x04)
|
||
|
}
|
||
|
|
||
|
/* zero indicates pass, non-zero is an error code */
|
||
|
|
||
|
If ((Local2 != 0x00))
|
||
|
{
|
||
|
/* return B2IB error code */
|
||
|
|
||
|
Return (Local2)
|
||
|
}
|
||
|
|
||
|
/* call FB2P (store from Field Buffer into Index'ed Package) */
|
||
|
|
||
|
Local2 = FB2P () /* Local2 is FB2P return value */
|
||
|
/* save Local2 object type value into Local3 */
|
||
|
|
||
|
Local3 = ObjectType (Local2)
|
||
|
/* validate Local2 is a Number */
|
||
|
|
||
|
If ((Local3 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
/* failure */
|
||
|
|
||
|
Return (0x05)
|
||
|
}
|
||
|
|
||
|
/* zero indicates pass, non-zero is an error code */
|
||
|
|
||
|
If ((Local2 != 0x00))
|
||
|
{
|
||
|
/* return FB2P error code */
|
||
|
|
||
|
Return (Local2)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* IDX2: Test device name */
|
||
|
} /* _SB system bus */
|
||
|
|
||
|
/* */
|
||
|
/* test SizeOf.asl */
|
||
|
/* */
|
||
|
/* Test for SizeOf */
|
||
|
/* test cases include following SizeOf arguments: */
|
||
|
/* buffer, buffer field; */
|
||
|
/* control method argument, control method local variable; */
|
||
|
/* control method return values; */
|
||
|
/* direct string, string; */
|
||
|
/* package; */
|
||
|
/* buffer, package, and string package elements */
|
||
|
/* */
|
||
|
/* MTL NOTE: This test has been modified to remove any SizeOf(Index(Buff,... */
|
||
|
/* calls because it is not legal to perform a SizeOf operation on a Buffer Field. */
|
||
|
/* This test has also been extended to test additional Package element sizes. */
|
||
|
/* */
|
||
|
Device (SIZO)
|
||
|
{
|
||
|
/* SAR0 control method validates SizeOf(Arg) */
|
||
|
/* SAR0 should only be called by SARG */
|
||
|
Method (SAR0, 2, NotSerialized)
|
||
|
{
|
||
|
/* SAR0: SizeOf(Arg) test control method */
|
||
|
/* Local0 Arg0 length */
|
||
|
/* Local1 Local0 object type */
|
||
|
/* Store first string size (Arg0) into Local7 */
|
||
|
Local0 = SizeOf (Arg0)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x21)
|
||
|
}
|
||
|
|
||
|
/* If strings are not of equal size, return error code */
|
||
|
|
||
|
If ((Local0 != Arg1))
|
||
|
{
|
||
|
Return (0x22)
|
||
|
}
|
||
|
|
||
|
Return (0x00)
|
||
|
} /* SAR0: SizeOf(Arg) test control method */
|
||
|
|
||
|
Method (SARG, 0, Serialized)
|
||
|
{
|
||
|
/* SARG: SizeOf(Arg) test control method */
|
||
|
|
||
|
Name (BUFR, Buffer (0x0C){}) /* uninitialized Buffer */
|
||
|
Name (BUF1, Buffer (0x05)
|
||
|
{
|
||
|
0x01, 0x02, 0x03, 0x04, 0x05 // .....
|
||
|
})
|
||
|
Name (PKG0, Package (0x04){}) /* uninitialized Package */
|
||
|
Name (STR0, "String")
|
||
|
Name (PKG1, Package (0x04)
|
||
|
{
|
||
|
BUFR,
|
||
|
"String2",
|
||
|
STR0,
|
||
|
PKG0
|
||
|
}) /* PKG1 */
|
||
|
Name (PKG2, Package (0x04)
|
||
|
{
|
||
|
Buffer (0x0F){},
|
||
|
"String 1",
|
||
|
Package (0x02){}
|
||
|
}) /* PKG2 */
|
||
|
/* Namespace entry buffer reference */
|
||
|
|
||
|
Local0 = SAR0 (BUFR, 0x0C)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x23)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=BUFR) PASS"
|
||
|
/* Namespace entry package reference */
|
||
|
|
||
|
Local0 = SAR0 (PKG0, 0x04)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x24)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=PKG0) PASS"
|
||
|
/* Namespace entry string reference */
|
||
|
|
||
|
Local0 = SAR0 (STR0, 0x06)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x25)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=STR0) PASS"
|
||
|
/* direct string reference */
|
||
|
|
||
|
Local0 = SAR0 ("String", 0x06)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x26)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=String) PASS"
|
||
|
BUF1 [0x02] = 0x55
|
||
|
/****************************************************
|
||
|
//
|
||
|
// This section is commented because it is illegal to
|
||
|
// perform a SizeOf operation on a Buffer Field
|
||
|
//
|
||
|
// Namespace BufferField reference
|
||
|
Store (SAR0 (Index (BUFR, 2, ), 10), Local0)
|
||
|
// save Local0 object type value into Local1
|
||
|
Store (ObjectType (Local0), Local1)
|
||
|
// validate Local0 is a Number
|
||
|
If (LNotEqual (Local1, 1)) // Number type is 1
|
||
|
{ Return (0x27) }
|
||
|
If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
|
||
|
{ Return (Local0) }
|
||
|
Store ("SizeOf(Arg=BufferField) PASS", Debug)
|
||
|
****************************************************/
|
||
|
/* Namespace BufferPackageElement reference */
|
||
|
/* */
|
||
|
Local0 = SAR0 (PKG1 [0x00], 0x0C)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x28)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=PackageBuffer NTE Reference Element) PASS"
|
||
|
/* Namespace StringPackageElement reference */
|
||
|
|
||
|
Local0 = SAR0 (PKG1 [0x01], 0x07)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x29)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=Package String Element) PASS"
|
||
|
/* Namespace StringPackageElement reference */
|
||
|
|
||
|
Local0 = SAR0 (PKG1 [0x02], 0x06)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x2A)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=Package String NTE Reference Element) PASS"
|
||
|
/* Namespace PackagePackageElement reference */
|
||
|
|
||
|
Local0 = SAR0 (PKG1 [0x03], 0x04)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x2B)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=Package Package NTE Reference Element) PASS"
|
||
|
/* Package Buffer Element */
|
||
|
|
||
|
Local0 = SAR0 (PKG2 [0x00], 0x0F)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x2B)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=Package Buffer Element) PASS"
|
||
|
/* Package String Element */
|
||
|
|
||
|
Local0 = SAR0 (PKG2 [0x01], 0x08)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x2B)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=Package String Element) PASS"
|
||
|
/* Package Package Element */
|
||
|
|
||
|
Local0 = SAR0 (PKG2 [0x02], 0x02)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x2B)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x00)) /* Local0 is SAR0 return error code */
|
||
|
{
|
||
|
Return (Local0)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Arg=Package Package Element) PASS"
|
||
|
Debug = "SizeOf(Arg) PASS"
|
||
|
Return (0x00)
|
||
|
} /* SARG: SizeOf(Arg) test control method */
|
||
|
|
||
|
Method (SBUF, 0, Serialized)
|
||
|
{
|
||
|
/* SBUF: SizeOf(Buffer) test control method */
|
||
|
|
||
|
Name (BUFR, Buffer (0x0C){})
|
||
|
/* store size of BUFR buffer into Local0 */
|
||
|
|
||
|
Local0 = SizeOf (BUFR)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x31)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x0C)) /* BUFR size is 12 */
|
||
|
{
|
||
|
Return (0x32)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(BUFR) PASS"
|
||
|
Return (0x00)
|
||
|
} /* SBUF: SizeOf(Buffer) test control method */
|
||
|
|
||
|
/****************************************************
|
||
|
//
|
||
|
// This section is commented because it is illegal to
|
||
|
// perform a SizeOf operation on a Buffer Field
|
||
|
//
|
||
|
Method (SIND)
|
||
|
{ // SIND: SizeOf(Index(,,)) test control method
|
||
|
Name (BUFR, Buffer (12) {})
|
||
|
// store size of Index(BUFR,2,) buffer into Local0
|
||
|
Store (SizeOf (Index (BUFR, 2, )), Local0)
|
||
|
// save Local0 object type value into Local1
|
||
|
Store (ObjectType (Local0), Local1)
|
||
|
// validate Local0 is a Number
|
||
|
If (LNotEqual (Local1, 1)) // Number type is 1
|
||
|
{
|
||
|
Return (0x41)
|
||
|
}
|
||
|
If (LNotEqual (Local0, 10)) // 12 - 2 = 10
|
||
|
{
|
||
|
Return (0x42)
|
||
|
}
|
||
|
Store ("SizeOf(Index(BUFR,,)) PASS", Debug)
|
||
|
// TBD: strings and packages
|
||
|
Return (0)
|
||
|
} // SIND: SizeOf(Index(,,)) test control method
|
||
|
****************************************************/
|
||
|
Method (SLOC, 0, Serialized)
|
||
|
{
|
||
|
/* SLOC: SizeOf(Local) test control method */
|
||
|
|
||
|
Name (BUFR, Buffer (0x0C){}) /* uninitialized Buffer */
|
||
|
Name (STR0, "String")
|
||
|
Name (PKG0, Package (0x04){}) /* uninitialized Package */
|
||
|
/* store BUFR Buffer into Local2 */
|
||
|
|
||
|
Local2 = BUFR /* \SIZO.SLOC.BUFR */
|
||
|
/* store size of BUFR buffer into Local0 */
|
||
|
|
||
|
Local0 = SizeOf (Local2)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x51)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x0C)) /* BUFR size is 12 */
|
||
|
{
|
||
|
Return (0x52)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Local2=Buffer) PASS"
|
||
|
/* store STR0 string into Local2 */
|
||
|
|
||
|
Local2 = STR0 /* \SIZO.SLOC.STR0 */
|
||
|
/* store size of STR0 buffer into Local0 */
|
||
|
|
||
|
Local0 = SizeOf (Local2)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x53)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x06)) /* STR0 size is 6 */
|
||
|
{
|
||
|
Return (0x54)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Local2=String) PASS"
|
||
|
/* store PKG0 Package into Local2 */
|
||
|
|
||
|
Local2 = PKG0 /* \SIZO.SLOC.PKG0 */
|
||
|
/* store size of PKG0 buffer into Local0 */
|
||
|
|
||
|
Local0 = SizeOf (Local2)
|
||
|
/* save Local0 object type value into Local1 */
|
||
|
|
||
|
Local1 = ObjectType (Local0)
|
||
|
/* validate Local0 is a Number */
|
||
|
|
||
|
If ((Local1 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
Return (0x55)
|
||
|
}
|
||
|
|
||
|
If ((Local0 != 0x04)) /* PKG0 size is 4 */
|
||
|
{
|
||
|
Return (0x56)
|
||
|
}
|
||
|
|
||
|
Debug = "SizeOf(Local2=Package) PASS"
|
||
|
Return (0x00)
|
||
|
} /* SLOC: SizeOf(Local) test control method */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ SizeOf Test"
|
||
|
/* Store current operating system string into Local0 */
|
||
|
|
||
|
Local0 = _OS /* \_OS_ */
|
||
|
Local3 = SizeOf (_OS)
|
||
|
/* save Local3 object type value into Local4 */
|
||
|
|
||
|
Local4 = ObjectType (Local3)
|
||
|
/* validate Local3 is a Number */
|
||
|
|
||
|
If ((Local4 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
/* failure */
|
||
|
|
||
|
Return (0x61)
|
||
|
}
|
||
|
|
||
|
/* Store current operating system string into Local0 */
|
||
|
/* This verifies above SizeOf(_OS) did not corrupt ACPI namespace */
|
||
|
Local0 = _OS /* \_OS_ */
|
||
|
/* Store SARG [Validate SizeOf(Arg)] return value into Local1 */
|
||
|
|
||
|
Local1 = SARG ()
|
||
|
/* save Local1 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local1)
|
||
|
/* validate Local1 is a Number */
|
||
|
|
||
|
If ((Local2 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
/* failure */
|
||
|
|
||
|
Return (0x62)
|
||
|
}
|
||
|
|
||
|
/* zero indicates pass, non-zero is an error code */
|
||
|
|
||
|
If ((Local1 != 0x00))
|
||
|
{
|
||
|
/* return SARG error code */
|
||
|
|
||
|
Return (Local1)
|
||
|
}
|
||
|
|
||
|
/* Store SBUF [Validate SizeOf(Buffer)] return value into Local1 */
|
||
|
|
||
|
Local1 = SBUF ()
|
||
|
/* save Local1 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local1)
|
||
|
/* validate Local1 is a Number */
|
||
|
|
||
|
If ((Local2 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
/* failure */
|
||
|
|
||
|
Return (0x63)
|
||
|
}
|
||
|
|
||
|
/* zero indicates pass, non-zero is an error code */
|
||
|
|
||
|
If ((Local1 != 0x00))
|
||
|
{
|
||
|
/* return SBUF error code */
|
||
|
|
||
|
Return (Local1)
|
||
|
}
|
||
|
|
||
|
/****************************************************
|
||
|
//
|
||
|
// This section is commented because it is illegal to
|
||
|
// perform a SizeOf operation on a Buffer Field
|
||
|
//
|
||
|
// Store SIND [verify SizeOf(Index(,,))] return value into Local1
|
||
|
Store (SIND, Local1)
|
||
|
// save Local1 object type value into Local2
|
||
|
Store (ObjectType (Local1), Local2)
|
||
|
// validate Local1 is a Number
|
||
|
If (LNotEqual (Local2, 1)) // Number type is 1
|
||
|
{
|
||
|
// failure
|
||
|
Return (0x64)
|
||
|
}
|
||
|
// zero indicates pass, non-zero is an error code
|
||
|
If (LNotEqual (Local1, 0))
|
||
|
{
|
||
|
// return SARG error code
|
||
|
Return (Local1)
|
||
|
}
|
||
|
****************************************************/
|
||
|
/* Store SLOC [verify SizeOf(Local)] return value into Local1 */
|
||
|
Local1 = SLOC ()
|
||
|
/* save Local1 object type value into Local2 */
|
||
|
|
||
|
Local2 = ObjectType (Local1)
|
||
|
/* validate Local1 is a Number */
|
||
|
|
||
|
If ((Local2 != 0x01)) /* Number type is 1 */
|
||
|
{
|
||
|
/* failure */
|
||
|
|
||
|
Return (0x65)
|
||
|
}
|
||
|
|
||
|
/* zero indicates pass, non-zero is an error code */
|
||
|
|
||
|
If ((Local1 != 0x00))
|
||
|
{
|
||
|
/* return SLOC error code */
|
||
|
|
||
|
Return (Local1)
|
||
|
}
|
||
|
|
||
|
/* TBD: SizeOf (METH) -- where METH control method returns */
|
||
|
/* buffer, BufferField, string, package, package element */
|
||
|
Return (0x00)
|
||
|
} /* TEST */
|
||
|
} /* SIZO */
|
||
|
|
||
|
/* */
|
||
|
/* test SmiShare.asl */
|
||
|
/* */
|
||
|
Scope (\_SB) /* System Bus */
|
||
|
{
|
||
|
/* _SB system bus */
|
||
|
/* Declare an OpRegion in Memory starting at offset 0x400000 that is 10 bytes long */
|
||
|
OperationRegion (RAM1, SystemMemory, 0x00400000, 0x0A)
|
||
|
Field (RAM1, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
BI1T, /* Create some bits in memory to access */ 1,
|
||
|
BI2T, 2,
|
||
|
BI3T, 3,
|
||
|
LST2, 2
|
||
|
} /* End Field RAM1 */
|
||
|
|
||
|
Field (RAM1, WordAcc, NoLock, WriteAsZeros)
|
||
|
{
|
||
|
WRD, 16
|
||
|
} /* End 2nd Field RAM1 */
|
||
|
|
||
|
Field (RAM1, ByteAcc, NoLock, WriteAsOnes)
|
||
|
{
|
||
|
BYTE, 8
|
||
|
} /* End 3rd Field RAM1 */
|
||
|
|
||
|
Field (RAM1, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SMIC, 8,
|
||
|
SMID, 8
|
||
|
}
|
||
|
|
||
|
Device (MBIT)
|
||
|
{
|
||
|
Method (_INI, 0, NotSerialized) // _INI: Initialize
|
||
|
{
|
||
|
BI1T = 0x00
|
||
|
BI2T = 0x03
|
||
|
BI3T = 0x07
|
||
|
LST2 = 0x00
|
||
|
} /* End _INI Method */
|
||
|
} /* End Device MBIT */
|
||
|
|
||
|
Device (MWRD)
|
||
|
{
|
||
|
Method (_INI, 0, NotSerialized) // _INI: Initialize
|
||
|
{
|
||
|
WRD = 0x00
|
||
|
} /* End _INI Method */
|
||
|
} /* End Device MWRD */
|
||
|
|
||
|
Device (MBYT)
|
||
|
{
|
||
|
Method (_INI, 0, NotSerialized) // _INI: Initialize
|
||
|
{
|
||
|
BYTE = 0x00
|
||
|
SMIC = 0x0C
|
||
|
SMID = 0x0D
|
||
|
} /* End _INI Method */
|
||
|
} /* End Device MBYT */
|
||
|
|
||
|
/*
|
||
|
// Declare an OpRegion in Memory starting at offset 0x400000 that is 10 bytes long
|
||
|
OperationRegion(\RAM1, SystemMemory, 0x400000, 0xA)
|
||
|
Field (\RAM1, AnyAcc, NoLock, Preserve)
|
||
|
{
|
||
|
BI1T, 1, // Create some bits in memory to access
|
||
|
BI2T, 2,
|
||
|
BI3T, 3,
|
||
|
LST2, 2
|
||
|
} // End Field RAM1
|
||
|
Field (\RAM1, WordAcc, NoLock, WriteAsZeros)
|
||
|
{
|
||
|
WRD, 16
|
||
|
} // End 2nd Field RAM1
|
||
|
Field (\RAM1, ByteAcc, NoLock, WriteAsOnes)
|
||
|
{
|
||
|
BYTE, 8
|
||
|
} // End 3rd Field RAM1
|
||
|
Field (\RAM1, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
SMIC, 8,
|
||
|
SMID, 8
|
||
|
}
|
||
|
*/
|
||
|
Method (SMIX, 0, NotSerialized)
|
||
|
{
|
||
|
Return (BYTE) /* \_SB_.BYTE */
|
||
|
} /* End SMIX */
|
||
|
|
||
|
Method (EVNT, 0, NotSerialized)
|
||
|
{
|
||
|
Local0 = SMIX ()
|
||
|
Notify (\_SB, 0x29) // Reserved
|
||
|
If ((Local0 & 0x01))
|
||
|
{
|
||
|
Notify (\_SB.SMIS, 0x21) // Reserved
|
||
|
}
|
||
|
|
||
|
If ((Local0 & 0x02))
|
||
|
{
|
||
|
Notify (\_SB.SMIS, 0x22) // Reserved
|
||
|
}
|
||
|
|
||
|
If ((Local0 & 0x04))
|
||
|
{
|
||
|
Notify (\_SB.SMIS, 0x24) // Reserved
|
||
|
}
|
||
|
|
||
|
If ((Local0 & 0x08))
|
||
|
{
|
||
|
Notify (\_SB.SMIS, 0x28) // Reserved
|
||
|
}
|
||
|
} /* End Method EVNT */
|
||
|
|
||
|
Method (NTFY, 0, NotSerialized)
|
||
|
{
|
||
|
Notify (\_SB, 0x01) // Device Check
|
||
|
Notify (\_TZ.TZ1, 0x02) // Device Wake
|
||
|
Notify (\_PR.CPU0, 0x03) // Eject Request
|
||
|
Notify (\_SB, 0x81) // Information Change
|
||
|
Notify (\_TZ.TZ1, 0x82) // Thermal Device List Change
|
||
|
Notify (\_PR.CPU0, 0x83) // Guaranteed Change
|
||
|
}
|
||
|
|
||
|
Device (SMIS)
|
||
|
{
|
||
|
Method (BINK, 0, NotSerialized)
|
||
|
{
|
||
|
Local0 = 0x00 /* Zero out Local0 */
|
||
|
If ((SMID != 0x0D))
|
||
|
{
|
||
|
Local0 |= 0x80
|
||
|
}
|
||
|
|
||
|
If ((SMIC != 0x0C))
|
||
|
{
|
||
|
Local0 |= 0x40
|
||
|
}
|
||
|
|
||
|
If ((BYTE != 0x00))
|
||
|
{
|
||
|
Local0 |= 0x20
|
||
|
}
|
||
|
|
||
|
If ((WRD != 0x00))
|
||
|
{
|
||
|
Local0 |= 0x10
|
||
|
}
|
||
|
|
||
|
If ((LST2 != 0x00))
|
||
|
{
|
||
|
Local0 |= 0x08
|
||
|
}
|
||
|
|
||
|
If ((BI3T != 0x07))
|
||
|
{
|
||
|
Local0 |= 0x04
|
||
|
}
|
||
|
|
||
|
If ((BI2T != 0x03))
|
||
|
{
|
||
|
Local0 |= 0x02
|
||
|
}
|
||
|
|
||
|
If ((BI1T != 0x00))
|
||
|
{
|
||
|
Local0 |= 0x01
|
||
|
}
|
||
|
|
||
|
Return (Local0)
|
||
|
} /* End Method BINK */
|
||
|
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
Debug = "++++++++ SmiShare Test"
|
||
|
/* Expect EVNT to generate Notify value we just previously */
|
||
|
/* stored in BYTE */
|
||
|
BYTE = 0x20
|
||
|
EVNT ()
|
||
|
BYTE = 0x21
|
||
|
EVNT ()
|
||
|
BYTE = 0x22
|
||
|
EVNT ()
|
||
|
BYTE = 0x23
|
||
|
EVNT ()
|
||
|
NTFY ()
|
||
|
Return (0x00) /* pass */
|
||
|
} /* End Method TEST */
|
||
|
} /* Device SMIS */
|
||
|
|
||
|
Device (CNDT)
|
||
|
{
|
||
|
Method (TEST, 0, NotSerialized)
|
||
|
{
|
||
|
If (ECOK ())
|
||
|
{
|
||
|
Return ("Broken")
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return ("Works")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (ECOK, 0, NotSerialized)
|
||
|
{
|
||
|
Return (0x00)
|
||
|
}
|
||
|
}
|
||
|
} /* _SB system bus */
|
||
|
|
||
|
/* Test a very big buffer */
|
||
|
|
||
|
Name (WQAB, Buffer (0x1A64)
|
||
|
{
|
||
|
/* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
|
||
|
/* 0008 */ 0x54, 0x1A, 0x00, 0x00, 0xBA, 0xAD, 0x00, 0x00, // T.......
|
||
|
/* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
|
||
|
/* 0018 */ 0x98, 0xBD, 0x92, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
|
||
|
/* 0020 */ 0x10, 0x47, 0x10, 0x92, 0x46, 0x62, 0x02, 0x89, // .G..Fb..
|
||
|
/* 0028 */ 0x80, 0x90, 0x18, 0x18, 0x14, 0x81, 0x85, 0x00, // ........
|
||
|
/* 0030 */ 0x49, 0x02, 0x88, 0xC4, 0x41, 0xE1, 0x20, 0xD4, // I...A. .
|
||
|
/* 0038 */ 0x9F, 0x40, 0x7E, 0x05, 0x20, 0x74, 0x28, 0x40, // .@~. t(@
|
||
|
/* 0040 */ 0xA6, 0x00, 0x83, 0x02, 0x9C, 0x22, 0x88, 0xA0, // ....."..
|
||
|
/* 0048 */ 0x57, 0x01, 0x36, 0x05, 0x98, 0x14, 0x60, 0x51, // W.6...`Q
|
||
|
/* 0050 */ 0x80, 0x76, 0x01, 0x96, 0x05, 0xE8, 0x16, 0x20, // .v.....
|
||
|
/* 0058 */ 0x1D, 0x96, 0x88, 0x04, 0x47, 0x89, 0x01, 0x47, // ....G..G
|
||
|
/* 0060 */ 0xE9, 0xC4, 0x16, 0x6E, 0xD8, 0xE0, 0x85, 0xA2, // ...n....
|
||
|
/* 0068 */ 0x68, 0x06, 0x51, 0x12, 0x94, 0x8B, 0x20, 0x5D, // h.Q... ]
|
||
|
/* 0070 */ 0x10, 0x52, 0x2E, 0xC0, 0x37, 0x82, 0x06, 0x10, // .R..7...
|
||
|
/* 0078 */ 0xA5, 0x77, 0x01, 0xB6, 0x05, 0x98, 0x86, 0x27, // .w.....'
|
||
|
/* 0080 */ 0xD2, 0x20, 0xE4, 0x60, 0x08, 0x54, 0xCE, 0x80, // . .`.T..
|
||
|
/* 0088 */ 0x20, 0x69, 0x44, 0x21, 0x1E, 0xA7, 0x44, 0x08, // iD!..D.
|
||
|
/* 0090 */ 0x0A, 0x84, 0x90, 0xD4, 0xF1, 0xA0, 0xA0, 0x71, // .......q
|
||
|
/* 0098 */ 0x88, 0xAD, 0xCE, 0x46, 0x93, 0xA9, 0x74, 0x7E, // ...F..t~
|
||
|
/* 00A0 */ 0x48, 0x82, 0x70, 0xC6, 0x2A, 0x7E, 0x3A, 0x9A, // H.p.*~:.
|
||
|
/* 00A8 */ 0xD0, 0xD9, 0x9C, 0x60, 0xE7, 0x18, 0x72, 0x3C, // ...`..r<
|
||
|
/* 00B0 */ 0x48, 0xF4, 0x20, 0xB8, 0x00, 0x0F, 0x1C, 0x2C, // H. ....,
|
||
|
/* 00B8 */ 0x34, 0x84, 0x22, 0x6B, 0x80, 0xC1, 0x8C, 0xDD, // 4."k....
|
||
|
/* 00C0 */ 0x63, 0xB1, 0x0B, 0x4E, 0x0A, 0xEC, 0x61, 0xB3, // c..N..a.
|
||
|
/* 00C8 */ 0x01, 0x19, 0xA2, 0x24, 0x38, 0xD4, 0x11, 0xC0, // ...$8...
|
||
|
/* 00D0 */ 0x12, 0x05, 0x98, 0x1F, 0x87, 0x0C, 0x0F, 0x95, // ........
|
||
|
/* 00D8 */ 0x8C, 0x25, 0x24, 0x1B, 0xAB, 0x87, 0xC2, 0xA5, // .%$.....
|
||
|
/* 00E0 */ 0x40, 0x68, 0x6C, 0x27, 0xED, 0x19, 0x45, 0x2C, // @hl'..E,
|
||
|
/* 00E8 */ 0x79, 0x4A, 0x82, 0x49, 0xE0, 0x51, 0x44, 0x36, // yJ.I.QD6
|
||
|
/* 00F0 */ 0x1A, 0x27, 0x28, 0x1B, 0x1A, 0x25, 0x03, 0x42, // .'(..%.B
|
||
|
/* 00F8 */ 0x9E, 0x05, 0x58, 0x07, 0x26, 0x04, 0x76, 0x2F, // ..X.&.v/
|
||
|
/* 0100 */ 0xC0, 0x9A, 0x00, 0x73, 0xB3, 0x90, 0xB1, 0xB9, // ...s....
|
||
|
/* 0108 */ 0xE8, 0xFF, 0x0F, 0x71, 0xB0, 0x31, 0xDA, 0x9A, // ...q.1..
|
||
|
/* 0110 */ 0xAE, 0x90, 0xC2, 0xC4, 0x88, 0x12, 0x2C, 0x5E, // ......,^
|
||
|
/* 0118 */ 0xC5, 0xC3, 0x10, 0xCA, 0x93, 0x42, 0xA8, 0x48, // .....B.H
|
||
|
/* 0120 */ 0x95, 0xA1, 0x68, 0xB4, 0x51, 0x2A, 0x14, 0xE0, // ..h.Q*..
|
||
|
/* 0128 */ 0x4C, 0x80, 0x30, 0x5C, 0x1D, 0x03, 0x82, 0x46, // L.0\...F
|
||
|
/* 0130 */ 0x88, 0x15, 0x29, 0x56, 0xFB, 0x83, 0x20, 0xF1, // ..)V.. .
|
||
|
/* 0138 */ 0x2D, 0x40, 0x54, 0x01, 0xA2, 0x48, 0xA3, 0x41, // -@T..H.A
|
||
|
/* 0140 */ 0x9D, 0x03, 0x3C, 0x5C, 0x0F, 0xF5, 0xF0, 0x3D, // ..<\...=
|
||
|
/* 0148 */ 0xF6, 0x93, 0x0C, 0x72, 0x90, 0x67, 0xF1, 0xA8, // ...r.g..
|
||
|
/* 0150 */ 0x70, 0x9C, 0x06, 0x49, 0xE0, 0x0B, 0x80, 0x4F, // p..I...O
|
||
|
/* 0158 */ 0x08, 0x1E, 0x38, 0xDE, 0x35, 0xA0, 0x66, 0x7C, // ..8.5.f|
|
||
|
/* 0160 */ 0xBC, 0x4C, 0x10, 0x1C, 0x6A, 0x88, 0x1E, 0x68, // .L..j..h
|
||
|
/* 0168 */ 0xB8, 0x13, 0x38, 0x44, 0x06, 0xE8, 0x49, 0x3D, // ..8D..I=
|
||
|
/* 0170 */ 0x52, 0x60, 0x07, 0x77, 0x32, 0xEF, 0x01, 0xAF, // R`.w2...
|
||
|
/* 0178 */ 0x0A, 0xCD, 0x5E, 0x12, 0x08, 0xC1, 0xF1, 0xF8, // ..^.....
|
||
|
/* 0180 */ 0x7E, 0xC0, 0x26, 0x9C, 0xC0, 0xF2, 0x07, 0x81, // ~.&.....
|
||
|
/* 0188 */ 0x1A, 0x99, 0xA1, 0x3D, 0xCA, 0xD3, 0x8A, 0x19, // ...=....
|
||
|
/* 0190 */ 0xF2, 0x31, 0xC1, 0x04, 0x16, 0x0B, 0x21, 0x05, // .1....!.
|
||
|
/* 0198 */ 0x10, 0x1A, 0x0F, 0xF8, 0x6F, 0x00, 0x8F, 0x17, // ....o...
|
||
|
/* 01A0 */ 0xBE, 0x12, 0xC4, 0xF6, 0x80, 0x12, 0x0C, 0x0B, // ........
|
||
|
/* 01A8 */ 0x21, 0x23, 0xAB, 0xF0, 0x78, 0xE8, 0x28, 0x7C, // !#..x.(|
|
||
|
/* 01B0 */ 0x95, 0x38, 0x9C, 0xD3, 0x8A, 0x67, 0x82, 0xE1, // .8...g..
|
||
|
/* 01B8 */ 0x20, 0xF4, 0x05, 0x90, 0x00, 0x51, 0xE7, 0x0C, // ....Q..
|
||
|
/* 01C0 */ 0xD4, 0x61, 0xC1, 0xE7, 0x04, 0x76, 0x33, 0x38, // .a...v38
|
||
|
/* 01C8 */ 0x83, 0x47, 0x00, 0x8F, 0xE4, 0x84, 0xFC, 0x2B, // .G.....+
|
||
|
/* 01D0 */ 0xF1, 0xC0, 0xE0, 0x03, 0xE2, 0xEF, 0x1F, 0xA7, // ........
|
||
|
/* 01D8 */ 0xEC, 0x11, 0x9C, 0xA9, 0x01, 0x7D, 0x1C, 0xF0, // .....}..
|
||
|
/* 01E0 */ 0xFF, 0x7F, 0x28, 0x7C, 0x88, 0x1E, 0xDF, 0x29, // ..(|...)
|
||
|
/* 01E8 */ 0x1F, 0xAF, 0x4F, 0x17, 0x96, 0x35, 0x4E, 0xE8, // ..O..5N.
|
||
|
/* 01F0 */ 0x77, 0x08, 0x9F, 0x38, 0x7C, 0x64, 0x71, 0x44, // w..8|dqD
|
||
|
/* 01F8 */ 0x08, 0x39, 0x39, 0x05, 0xA0, 0x81, 0x4F, 0xF7, // .99...O.
|
||
|
/* 0200 */ 0xEC, 0x22, 0x9C, 0xAE, 0x27, 0xE5, 0x40, 0xC3, // ."..'.@.
|
||
|
/* 0208 */ 0xA0, 0xE3, 0x04, 0xC7, 0x79, 0x00, 0x1C, 0xE3, // ....y...
|
||
|
/* 0210 */ 0x84, 0x7F, 0x2E, 0x80, 0x3F, 0x40, 0x7E, 0xCA, // ....?@~.
|
||
|
/* 0218 */ 0x78, 0xC5, 0x48, 0xE0, 0x98, 0x23, 0x44, 0x9F, // x.H..#D.
|
||
|
/* 0220 */ 0x6B, 0x3C, 0x42, 0x2C, 0xFC, 0x53, 0x45, 0xE1, // k<B,.SE.
|
||
|
/* 0228 */ 0x03, 0x21, 0x63, 0x04, 0x17, 0xA0, 0xC7, 0x08, // .!c.....
|
||
|
/* 0230 */ 0x7C, 0x03, 0x8E, 0x11, 0x7D, 0x94, 0xE0, 0xEA, // |...}...
|
||
|
/* 0238 */ 0x0F, 0x1A, 0x74, 0x80, 0xB8, 0xFF, 0xFF, 0x00, // ..t.....
|
||
|
/* 0240 */ 0xE1, 0x83, 0x7A, 0x80, 0xC0, 0x37, 0xFA, 0xD1, // ..z..7..
|
||
|
/* 0248 */ 0x03, 0x3D, 0x2E, 0x8B, 0x3E, 0x0F, 0xC8, 0xF8, // .=..>...
|
||
|
/* 0250 */ 0x89, 0x46, 0xF3, 0xE2, 0xA7, 0x03, 0x7E, 0xF8, // .F....~.
|
||
|
/* 0258 */ 0x00, 0x0F, 0xA8, 0x87, 0x84, 0x03, 0xC5, 0x4C, // .......L
|
||
|
/* 0260 */ 0x9B, 0x83, 0x3E, 0xBB, 0x1C, 0x3A, 0x76, 0xB8, // ..>..:v.
|
||
|
/* 0268 */ 0xE0, 0x3F, 0x81, 0x80, 0x4B, 0xDE, 0x21, 0x0C, // .?..K.!.
|
||
|
/* 0270 */ 0x14, 0x23, 0xC6, 0x9F, 0x83, 0x7C, 0x0A, 0x03, // .#...|..
|
||
|
/* 0278 */ 0xFF, 0xFF, 0xFF, 0x14, 0x06, 0xFE, 0xE1, 0xF0, // ........
|
||
|
/* 0280 */ 0x20, 0x4F, 0x07, 0x9F, 0xB6, 0xA8, 0x74, 0x18, // O....t.
|
||
|
/* 0288 */ 0xD4, 0x81, 0x0B, 0xB0, 0x32, 0x89, 0x08, 0xCF, // ....2...
|
||
|
/* 0290 */ 0x12, 0xB5, 0x41, 0xE8, 0xD4, 0xF0, 0x36, 0xF1, // ..A...6.
|
||
|
/* 0298 */ 0xB6, 0xE5, 0x5B, 0x40, 0x9C, 0xD3, 0xEC, 0xED, // ..[@....
|
||
|
/* 02A0 */ 0xC0, 0x45, 0x30, 0x22, 0xD4, 0x0C, 0x45, 0x4E, // .E0"..EN
|
||
|
/* 02A8 */ 0x5A, 0x11, 0x63, 0x44, 0x79, 0xDC, 0x32, 0xCA, // Z.cDy.2.
|
||
|
/* 02B0 */ 0xDB, 0xD6, 0x0B, 0x40, 0xBC, 0x13, 0x7B, 0xDE, // ...@..{.
|
||
|
/* 02B8 */ 0x32, 0x46, 0xF0, 0xC8, 0x0F, 0x5C, 0x2C, 0xC6, // 2F...\,.
|
||
|
/* 02C0 */ 0xEA, 0xF5, 0x5F, 0xF3, 0x81, 0x0B, 0x70, 0xF6, // .._...p.
|
||
|
/* 02C8 */ 0xFF, 0x3F, 0x70, 0x01, 0x1C, 0x0A, 0x7A, 0x18, // .?p...z.
|
||
|
/* 02D0 */ 0x42, 0x0F, 0xC3, 0x53, 0x39, 0x97, 0x87, 0xC8, // B..S9...
|
||
|
/* 02D8 */ 0x53, 0x89, 0x18, 0x35, 0x4C, 0xD4, 0x67, 0x28, // S..5L.g(
|
||
|
/* 02E0 */ 0xDF, 0x2D, 0x7C, 0x20, 0x02, 0xDF, 0x99, 0x0B, // .-| ....
|
||
|
/* 02E8 */ 0xF8, 0xFD, 0xFF, 0x0F, 0x44, 0x70, 0x8E, 0x29, // ....Dp.)
|
||
|
/* 02F0 */ 0xB8, 0x33, 0x0D, 0x78, 0x7C, 0xCE, 0x40, 0x20, // .3.x|.@
|
||
|
/* 02F8 */ 0xA7, 0xE2, 0x43, 0x0D, 0x60, 0x41, 0xF4, 0x13, // ..C.`A..
|
||
|
/* 0300 */ 0xC2, 0x27, 0x1A, 0x2A, 0x13, 0x06, 0x75, 0xA8, // .'.*..u.
|
||
|
/* 0308 */ 0x01, 0xAC, 0x5C, 0x61, 0x9E, 0x46, 0xCF, 0xF9, // ..\a.F..
|
||
|
/* 0310 */ 0x59, 0xC6, 0xA7, 0x1A, 0x1F, 0x4A, 0x8D, 0x63, // Y....J.c
|
||
|
/* 0318 */ 0x88, 0x97, 0x99, 0x87, 0x1A, 0x1F, 0x0B, 0x5E, // .......^
|
||
|
/* 0320 */ 0x49, 0x7D, 0xA8, 0x31, 0x54, 0x9C, 0x87, 0x1A, // I}.1T...
|
||
|
/* 0328 */ 0x0F, 0x37, 0x50, 0xD4, 0x37, 0x9B, 0x67, 0x1B, // .7P.7.g.
|
||
|
/* 0330 */ 0xA3, 0xC7, 0xF7, 0x0D, 0xD5, 0x10, 0x0F, 0x35, // .......5
|
||
|
/* 0338 */ 0x4C, 0xF2, 0x4A, 0x35, 0x16, 0x1F, 0x6A, 0xC0, // L.J5..j.
|
||
|
/* 0340 */ 0xF1, 0xFF, 0x3F, 0xD4, 0x00, 0xFC, 0xFF, 0xFF, // ..?.....
|
||
|
/* 0348 */ 0x1F, 0x6A, 0x00, 0x47, 0x47, 0x03, 0x38, 0x47, // .j.GG.8G
|
||
|
/* 0350 */ 0x46, 0xDC, 0xD1, 0x00, 0x5C, 0x87, 0x52, 0xE0, // F...\.R.
|
||
|
/* 0358 */ 0x70, 0x34, 0x00, 0x1E, 0x47, 0x21, 0x30, 0x5F, // p4..G!0_
|
||
|
/* 0360 */ 0x68, 0x7C, 0x14, 0x02, 0x16, 0xFF, 0xFF, 0xA3, // h|......
|
||
|
/* 0368 */ 0x10, 0xF8, 0x65, 0x9F, 0x83, 0x50, 0x42, 0x8F, // ..e..PB.
|
||
|
/* 0370 */ 0x42, 0x80, 0xA0, 0xDB, 0xCF, 0x53, 0xC4, 0xB3, // B....S..
|
||
|
/* 0378 */ 0x8F, 0x2F, 0x3F, 0x0F, 0x04, 0x11, 0x5E, 0xF3, // ./?...^.
|
||
|
/* 0380 */ 0x7D, 0x0A, 0xF2, 0x21, 0xDF, 0x47, 0x21, 0x06, // }..!.G!.
|
||
|
/* 0388 */ 0x63, 0x28, 0x5F, 0x83, 0x7C, 0x14, 0x62, 0x50, // c(_.|.bP
|
||
|
/* 0390 */ 0xAF, 0x41, 0xBE, 0xEF, 0x1B, 0xE4, 0xF1, 0x22, // .A....."
|
||
|
/* 0398 */ 0x48, 0xEC, 0x67, 0x02, 0x1F, 0x85, 0x98, 0xE8, // H.g.....
|
||
|
/* 03A0 */ 0xA3, 0x10, 0xA0, 0xF0, 0xFF, 0x7F, 0x14, 0x02, // ........
|
||
|
/* 03A8 */ 0xF8, 0xFF, 0xFF, 0x3F, 0x0A, 0x01, 0xCE, 0x02, // ...?....
|
||
|
/* 03B0 */ 0x1C, 0x0D, 0x40, 0x37, 0xAD, 0x47, 0x21, 0xF0, // ..@7.G!.
|
||
|
/* 03B8 */ 0xDE, 0x59, 0x4E, 0xFB, 0x04, 0x7C, 0x16, 0x02, // .YN..|..
|
||
|
/* 03C0 */ 0xCC, 0xFE, 0xFF, 0xCF, 0x42, 0xC0, 0xEC, 0x28, // ....B..(
|
||
|
/* 03C8 */ 0x74, 0x14, 0x67, 0xF9, 0x2A, 0xF4, 0x04, 0xF0, // t.g.*...
|
||
|
/* 03D0 */ 0x02, 0x10, 0x23, 0xCC, 0x3B, 0xD0, 0x4B, 0x26, // ..#.;.K&
|
||
|
/* 03D8 */ 0xBB, 0x8B, 0x1B, 0xE7, 0xC9, 0xE5, 0x2C, 0x9E, // ......,.
|
||
|
/* 03E0 */ 0xC4, 0x7D, 0x09, 0xF2, 0x81, 0xE2, 0x59, 0xC8, // .}....Y.
|
||
|
/* 03E8 */ 0x50, 0xA7, 0x1B, 0xF4, 0x8D, 0xDC, 0x03, 0x8B, // P.......
|
||
|
/* 03F0 */ 0x19, 0x3F, 0xC4, 0xF3, 0x90, 0x21, 0x9E, 0x85, // .?...!..
|
||
|
/* 03F8 */ 0x00, 0x76, 0xFD, 0xFF, 0xCF, 0x42, 0x00, 0xFF, // .v...B..
|
||
|
/* 0400 */ 0xFF, 0xFF, 0x47, 0x03, 0xF8, 0x2F, 0x00, 0x9F, // ..G../..
|
||
|
/* 0408 */ 0x85, 0x80, 0xE7, 0x09, 0xE0, 0x41, 0xDB, 0x67, // .....A.g
|
||
|
/* 0410 */ 0x21, 0x80, 0x33, 0x87, 0xCB, 0xF3, 0x7F, 0x05, // !.3.....
|
||
|
/* 0418 */ 0x3A, 0x96, 0xF7, 0x08, 0xCF, 0xFA, 0x24, 0x5F, // :.....$_
|
||
|
/* 0420 */ 0x2F, 0x3D, 0xD3, 0x87, 0x82, 0x67, 0x21, 0x86, // /=...g!.
|
||
|
/* 0428 */ 0x75, 0x18, 0x3E, 0x0B, 0x31, 0x88, 0x17, 0x4D, // u.>.1..M
|
||
|
/* 0430 */ 0x43, 0xBC, 0x70, 0xFA, 0x30, 0xE0, 0xFF, 0x3F, // C.p.0..?
|
||
|
/* 0438 */ 0x5E, 0xE0, 0x57, 0x4E, 0x03, 0x05, 0x09, 0xF4, // ^.WN....
|
||
|
/* 0440 */ 0x2C, 0x04, 0x30, 0xFE, 0xFF, 0x7F, 0x16, 0x02, // ,.0.....
|
||
|
/* 0448 */ 0xC8, 0xB8, 0x46, 0x9D, 0x85, 0x80, 0xE5, 0x6D, // ..F....m
|
||
|
/* 0450 */ 0xE5, 0x19, 0xDB, 0xA7, 0x95, 0x04, 0xFF, 0xFF, // ........
|
||
|
/* 0458 */ 0x67, 0x21, 0xC0, 0x41, 0x2E, 0x23, 0x07, 0x21, // g!.A.#.!
|
||
|
/* 0460 */ 0x4C, 0xC4, 0x87, 0x83, 0x8F, 0x99, 0x80, 0x9E, // L.......
|
||
|
/* 0468 */ 0x29, 0xBE, 0xB8, 0x1B, 0xE3, 0x09, 0xE0, 0x45, // )......E
|
||
|
/* 0470 */ 0xE2, 0x31, 0x93, 0x1D, 0x35, 0x0D, 0xF3, 0x2C, // .1..5..,
|
||
|
/* 0478 */ 0x64, 0xBC, 0xB3, 0x78, 0x0D, 0x78, 0x82, 0xF7, // d..x.x..
|
||
|
/* 0480 */ 0xE4, 0x9F, 0x85, 0x18, 0xD8, 0x61, 0x05, 0x7B, // .....a.{
|
||
|
/* 0488 */ 0x14, 0x32, 0xA8, 0xC1, 0x63, 0x87, 0x08, 0x13, // .2..c...
|
||
|
/* 0490 */ 0xE8, 0x59, 0x88, 0xC5, 0x7D, 0xAE, 0xE8, 0x3C, // .Y..}..<
|
||
|
/* 0498 */ 0xE1, 0xB3, 0x10, 0xF0, 0xFE, 0xFF, 0x9F, 0x25, // .......%
|
||
|
/* 04A0 */ 0xE0, 0x5E, 0x0D, 0x9E, 0x85, 0x00, 0x13, 0x87, // .^......
|
||
|
/* 04A8 */ 0x0D, 0x9F, 0x35, 0xC0, 0x33, 0x7C, 0x8F, 0xEA, // ..5.3|..
|
||
|
/* 04B0 */ 0x1C, 0x1E, 0x8F, 0x81, 0x7F, 0x56, 0x1D, 0xE7, // .....V..
|
||
|
/* 04B8 */ 0x04, 0x96, 0x7B, 0xD1, 0xB2, 0x71, 0xA0, 0xA1, // ..{..q..
|
||
|
/* 04C0 */ 0x23, 0xB2, 0x3A, 0x20, 0x8D, 0x0D, 0x73, 0x29, // #.: ..s)
|
||
|
/* 04C8 */ 0x89, 0x7C, 0x72, 0x6C, 0xD4, 0x56, 0x04, 0xA7, // .|rl.V..
|
||
|
/* 04D0 */ 0x33, 0x93, 0x4F, 0x00, 0xD6, 0x42, 0x21, 0x05, // 3.O..B!.
|
||
|
/* 04D8 */ 0x34, 0x1A, 0x8B, 0xE1, 0x9D, 0xF9, 0xE8, 0x44, // 4......D
|
||
|
/* 04E0 */ 0x41, 0x0C, 0xE8, 0xE3, 0x90, 0x6D, 0x1C, 0x0A, // A....m..
|
||
|
/* 04E8 */ 0x50, 0x7B, 0xD1, 0x14, 0xC8, 0x39, 0x07, 0xA3, // P{...9..
|
||
|
/* 04F0 */ 0x7F, 0x76, 0x74, 0x36, 0xBE, 0x13, 0x70, 0x0D, // .vt6..p.
|
||
|
/* 04F8 */ 0x10, 0x3A, 0x25, 0x18, 0xDA, 0x6A, 0x04, 0xFC, // .:%..j..
|
||
|
/* 0500 */ 0xFF, 0x67, 0x89, 0x01, 0x33, 0xFE, 0x53, 0x8C, // .g..3.S.
|
||
|
/* 0508 */ 0x09, 0x7C, 0x8E, 0xC1, 0x1F, 0x0C, 0xF0, 0x03, // .|......
|
||
|
/* 0510 */ 0x7F, 0x31, 0xA8, 0xFA, 0x5E, 0xA0, 0xFB, 0x82, // .1..^...
|
||
|
/* 0518 */ 0xD5, 0xDD, 0x64, 0x20, 0xCC, 0xC8, 0x04, 0xF5, // ..d ....
|
||
|
/* 0520 */ 0x9D, 0x0E, 0x40, 0x01, 0xE4, 0x0B, 0x81, 0xCF, // ..@.....
|
||
|
/* 0528 */ 0x51, 0x0F, 0x05, 0x6C, 0x22, 0x21, 0xC2, 0x44, // Q..l"!.D
|
||
|
/* 0530 */ 0x33, 0x3A, 0x62, 0xC2, 0xA8, 0xE8, 0x13, 0xA6, // 3:b.....
|
||
|
/* 0538 */ 0x20, 0x9E, 0xB0, 0x63, 0x4D, 0x18, 0x3D, 0x13, // ..cM.=.
|
||
|
/* 0540 */ 0x5F, 0x74, 0xD8, 0x88, 0x31, 0x21, 0xAE, 0x1E, // _t..1!..
|
||
|
/* 0548 */ 0xD0, 0x26, 0x18, 0xD4, 0x97, 0x22, 0x58, 0x43, // .&..."XC
|
||
|
/* 0550 */ 0xE6, 0x63, 0xF1, 0x05, 0x02, 0x37, 0x65, 0x30, // .c...7e0
|
||
|
/* 0558 */ 0xCE, 0x89, 0x5D, 0x13, 0x7C, 0xD9, 0xC1, 0xCD, // ..].|...
|
||
|
/* 0560 */ 0x19, 0x8C, 0xF0, 0x98, 0xBB, 0x18, 0xBF, 0x3A, // .......:
|
||
|
/* 0568 */ 0x79, 0x74, 0xFC, 0xA0, 0xE0, 0x1B, 0x0E, 0xC3, // yt......
|
||
|
/* 0570 */ 0x7E, 0x32, 0xF3, 0x8C, 0xDE, 0xCB, 0x7C, 0x8D, // ~2....|.
|
||
|
/* 0578 */ 0xC3, 0xC0, 0x7A, 0xBC, 0x1C, 0xD6, 0x68, 0x61, // ..z...ha
|
||
|
/* 0580 */ 0x0F, 0xED, 0x3D, 0xC4, 0xFF, 0xFF, 0x43, 0x8C, // ..=...C.
|
||
|
/* 0588 */ 0xCF, 0x13, 0xC6, 0x08, 0xEB, 0xDB, 0x0B, 0x38, // .......8
|
||
|
/* 0590 */ 0xEE, 0x59, 0xF0, 0xEF, 0x1A, 0xE0, 0xB9, 0x84, // .Y......
|
||
|
/* 0598 */ 0xF8, 0xAE, 0x01, 0x30, 0xF0, 0xFF, 0x7F, 0xD7, // ...0....
|
||
|
/* 05A0 */ 0x00, 0x4E, 0xD7, 0x04, 0xDF, 0x35, 0x80, 0xF7, // .N...5..
|
||
|
/* 05A8 */ 0xD0, 0x7D, 0xD7, 0x00, 0xAE, 0xD9, 0xEF, 0x1A, // .}......
|
||
|
/* 05B0 */ 0xA8, 0x63, 0x80, 0x15, 0xDE, 0x35, 0xA0, 0x5D, // .c...5.]
|
||
|
/* 05B8 */ 0xD9, 0xDE, 0xD7, 0x9E, 0xB0, 0xAC, 0xE9, 0xB2, // ........
|
||
|
/* 05C0 */ 0x81, 0x52, 0x73, 0xD9, 0x00, 0x14, 0xFC, 0xFF, // .Rs.....
|
||
|
/* 05C8 */ 0x2F, 0x1B, 0x80, 0x01, 0x29, 0x13, 0x46, 0x85, // /...).F.
|
||
|
/* 05D0 */ 0x9F, 0x30, 0x05, 0xF1, 0x84, 0x1D, 0xEC, 0xB2, // .0......
|
||
|
/* 05D8 */ 0x01, 0x8A, 0x18, 0x97, 0x0D, 0xD0, 0x8F, 0xED, // ........
|
||
|
/* 05E0 */ 0x65, 0x03, 0x18, 0xDC, 0x13, 0xF8, 0x6D, 0x03, // e.....m.
|
||
|
/* 05E8 */ 0x78, 0x43, 0xFA, 0xB6, 0x01, 0xD6, 0xFF, 0xFF, // xC......
|
||
|
/* 05F0 */ 0x6D, 0x03, 0xAC, 0xF9, 0x6F, 0x1B, 0x28, 0x0E, // m...o.(.
|
||
|
/* 05F8 */ 0xAB, 0xBC, 0x6D, 0x40, 0x3C, 0xC9, 0x33, 0x02, // ..m@<.3.
|
||
|
/* 0600 */ 0xAB, 0xBA, 0x6E, 0xA0, 0xF4, 0x5C, 0x37, 0x00, // ..n..\7.
|
||
|
/* 0608 */ 0x12, 0x88, 0x99, 0x30, 0x2A, 0xFE, 0x84, 0x29, // ...0*..)
|
||
|
/* 0610 */ 0x88, 0x27, 0xEC, 0x68, 0xD7, 0x0D, 0x50, 0x04, // .'.h..P.
|
||
|
/* 0618 */ 0xB9, 0x6E, 0x80, 0x7E, 0x5E, 0x09, 0xFE, 0xFF, // .n.~^...
|
||
|
/* 0620 */ 0xAF, 0x1B, 0xC0, 0xE0, 0xA2, 0x80, 0xB9, 0x6F, // .......o
|
||
|
/* 0628 */ 0x00, 0x6F, 0x58, 0x7E, 0xDF, 0x00, 0x7C, 0xDC, // .oX~..|.
|
||
|
/* 0630 */ 0xC4, 0x31, 0xF7, 0x0D, 0xC0, 0xCC, 0xFF, 0xFF, // .1......
|
||
|
/* 0638 */ 0xBE, 0x01, 0xB0, 0xE7, 0xA2, 0x80, 0xBB, 0x6F, // .......o
|
||
|
/* 0640 */ 0x00, 0xEF, 0x8B, 0xB4, 0xEF, 0x1B, 0x60, 0xFE, // ......`.
|
||
|
/* 0648 */ 0xFF, 0xDF, 0x37, 0xC0, 0x28, 0x6D, 0xFD, 0x1E, // ..7.(m..
|
||
|
/* 0650 */ 0x1C, 0x3D, 0x21, 0x78, 0x7C, 0xB8, 0xFB, 0xA5, // .=!x|...
|
||
|
/* 0658 */ 0xC7, 0xE7, 0xBB, 0x39, 0x38, 0x06, 0x79, 0x8C, // ...98.y.
|
||
|
/* 0660 */ 0x87, 0x76, 0xC0, 0xAF, 0xEF, 0x9E, 0x98, 0xEF, // .v......
|
||
|
/* 0668 */ 0xE6, 0xC0, 0xFF, 0x4C, 0x70, 0x3C, 0x18, 0x68, // ...Lp<.h
|
||
|
/* 0670 */ 0x1C, 0x62, 0xAB, 0x97, 0x06, 0x72, 0x34, 0x38, // .b...r48
|
||
|
/* 0678 */ 0x3F, 0xDC, 0x19, 0x81, 0x61, 0x15, 0x7F, 0xF2, // ?...a...
|
||
|
/* 0680 */ 0x47, 0x38, 0xC7, 0xD0, 0xD9, 0xE1, 0x20, 0xB1, // G8.... .
|
||
|
/* 0688 */ 0x83, 0xE0, 0xC1, 0x56, 0x6D, 0x02, 0x85, 0x86, // ...Vm...
|
||
|
/* 0690 */ 0x50, 0x14, 0x18, 0x14, 0x8B, 0x0F, 0x18, 0xF8, // P.......
|
||
|
/* 0698 */ 0x61, 0xB3, 0xB3, 0x00, 0x93, 0x04, 0x87, 0x3A, // a......:
|
||
|
/* 06A0 */ 0x02, 0xF8, 0x3E, 0xD1, 0xFC, 0x38, 0x74, 0x37, // ..>..8t7
|
||
|
/* 06A8 */ 0x38, 0x54, 0x8F, 0xE5, 0xA1, 0x80, 0x9E, 0x01, // 8T......
|
||
|
/* 06B0 */ 0x71, 0xC7, 0x0C, 0x32, 0x69, 0xCF, 0x28, 0xE2, // q..2i.(.
|
||
|
/* 06B8 */ 0x53, 0xC2, 0x29, 0x85, 0x49, 0xE0, 0xF3, 0x03, // S.).I...
|
||
|
/* 06C0 */ 0x43, 0xE3, 0x04, 0xAF, 0x0D, 0xA1, 0xF9, 0xFF, // C.......
|
||
|
/* 06C8 */ 0xFF, 0xA4, 0xC0, 0x3C, 0xDF, 0x31, 0x04, 0x6C, // ...<.1.l
|
||
|
/* 06D0 */ 0x02, 0xBB, 0xBF, 0x64, 0xC8, 0xDA, 0xC0, 0x75, // ...d...u
|
||
|
/* 06D8 */ 0x4B, 0x32, 0x44, 0x6F, 0x38, 0xB2, 0x85, 0xA2, // K2Do8...
|
||
|
/* 06E0 */ 0xE9, 0x44, 0x79, 0xDF, 0x88, 0x62, 0x67, 0x08, // .Dy..bg.
|
||
|
/* 06E8 */ 0xC2, 0x88, 0x12, 0x2C, 0xC8, 0xA3, 0x42, 0xAC, // ...,..B.
|
||
|
/* 06F0 */ 0x28, 0x2F, 0x05, 0x46, 0x88, 0x18, 0xE2, 0x95, // (/.F....
|
||
|
/* 06F8 */ 0x23, 0xD0, 0x09, 0x87, 0x0F, 0xF2, 0xD8, 0x14, // #.......
|
||
|
/* 0700 */ 0xA7, 0xFD, 0x41, 0x90, 0x58, 0x4F, 0x02, 0x8D, // ..A.XO..
|
||
|
/* 0708 */ 0xC5, 0x91, 0x46, 0x83, 0x3A, 0x07, 0x78, 0xB8, // ..F.:.x.
|
||
|
/* 0710 */ 0x3E, 0xC4, 0x78, 0xF8, 0x0F, 0x21, 0x06, 0x39, // >.x..!.9
|
||
|
/* 0718 */ 0xC8, 0x73, 0x7B, 0x54, 0x38, 0x4E, 0x5F, 0x25, // .s{T8N_%
|
||
|
/* 0720 */ 0x4C, 0xF0, 0x02, 0xE0, 0x83, 0x0A, 0x1C, 0xD7, // L.......
|
||
|
/* 0728 */ 0x80, 0x9A, 0xF1, 0x33, 0x06, 0x58, 0x8E, 0xE3, // ...3.X..
|
||
|
/* 0730 */ 0x3E, 0xA9, 0xC0, 0x1D, 0x8F, 0xEF, 0x07, 0x6C, // >......l
|
||
|
/* 0738 */ 0xC2, 0x09, 0x2C, 0x7F, 0x10, 0xA8, 0xE3, 0x0C, // ..,.....
|
||
|
/* 0740 */ 0x9F, 0xE7, 0x0B, 0x8B, 0x21, 0x1F, 0x13, 0x4C, // ....!..L
|
||
|
/* 0748 */ 0x60, 0xB1, 0x27, 0x1B, 0x3A, 0x1E, 0xF0, 0xDF, // `.'.:...
|
||
|
/* 0750 */ 0x63, 0x1E, 0x2F, 0x7C, 0x32, 0xF1, 0x7C, 0x4D, // c./|2.|M
|
||
|
/* 0758 */ 0x30, 0x22, 0x84, 0x9C, 0x8C, 0x07, 0x7D, 0x87, // 0"....}.
|
||
|
/* 0760 */ 0xC0, 0x5C, 0x6F, 0xD8, 0xB9, 0x85, 0x8B, 0x3A, // .\o....:
|
||
|
/* 0768 */ 0x68, 0xA0, 0x4E, 0x0B, 0x3E, 0x28, 0xB0, 0x9B, // h.N.>(..
|
||
|
/* 0770 */ 0x11, 0xE6, 0xB8, 0xCE, 0xCF, 0x2A, 0x60, 0xF8, // .....*`.
|
||
|
/* 0778 */ 0xFF, 0x9F, 0x55, 0x60, 0x8F, 0x10, 0xFE, 0xED, // ..U`....
|
||
|
/* 0780 */ 0xC1, 0xF3, 0xF2, 0x95, 0xE1, 0xD5, 0x21, 0x81, // ......!.
|
||
|
/* 0788 */ 0x43, 0x8E, 0x10, 0x3D, 0x2E, 0x8F, 0x10, 0x73, // C..=...s
|
||
|
/* 0790 */ 0x3E, 0xC2, 0x0C, 0x11, 0x5C, 0x67, 0x01, 0x70, // >...\g.p
|
||
|
/* 0798 */ 0x0C, 0x11, 0xF8, 0x1C, 0x70, 0xC0, 0x71, 0x69, // ....p.qi
|
||
|
/* 07A0 */ 0xE2, 0x03, 0xF5, 0x01, 0x07, 0x70, 0x70, 0x4D, // .....ppM
|
||
|
/* 07A8 */ 0xC3, 0x1D, 0x70, 0xC0, 0x71, 0x16, 0x60, 0xFF, // ..p.q.`.
|
||
|
/* 07B0 */ 0xFF, 0xC3, 0x0D, 0x2C, 0x49, 0x26, 0x0E, 0x23, // ...,I&.#
|
||
|
/* 07B8 */ 0x18, 0x11, 0x30, 0x28, 0x02, 0x02, 0xA4, 0xB3, // ..0(....
|
||
|
/* 07C0 */ 0x80, 0x0F, 0x29, 0x00, 0x1F, 0xAE, 0x0C, 0x0F, // ..).....
|
||
|
/* 07C8 */ 0x29, 0xD8, 0x93, 0x86, 0x07, 0x8E, 0x1B, 0x85, // ).......
|
||
|
/* 07D0 */ 0x07, 0x8D, 0x0B, 0x30, 0x68, 0x7A, 0xE2, 0x80, // ...0hz..
|
||
|
/* 07D8 */ 0x7F, 0x4C, 0xF0, 0x19, 0x05, 0x1C, 0xE3, 0x06, // .L......
|
||
|
/* 07E0 */ 0xDF, 0x2A, 0x0C, 0xFC, 0xFF, 0x3F, 0x30, 0xCC, // .*...?0.
|
||
|
/* 07E8 */ 0xE1, 0xC2, 0x63, 0x39, 0x8A, 0xA0, 0x07, 0x1E, // ..c9....
|
||
|
/* 07F0 */ 0xD4, 0xF7, 0x8C, 0x33, 0xF7, 0x24, 0x8F, 0xD1, // ...3.$..
|
||
|
/* 07F8 */ 0x51, 0x0F, 0x27, 0xF4, 0xE4, 0x85, 0x3B, 0x57, // Q.'...;W
|
||
|
/* 0800 */ 0xF9, 0x0A, 0x71, 0x14, 0x18, 0xB8, 0x77, 0x29, // ..q...w)
|
||
|
/* 0808 */ 0x8F, 0xCF, 0x17, 0x2B, 0xC3, 0x63, 0x46, 0xFB, // ...+.cF.
|
||
|
/* 0810 */ 0x1E, 0x72, 0xD6, 0x11, 0x02, 0xE2, 0x2F, 0x75, // .r..../u
|
||
|
/* 0818 */ 0x6C, 0xC0, 0x60, 0x39, 0x18, 0x00, 0x87, 0x01, // l.`9....
|
||
|
/* 0820 */ 0xE3, 0x13, 0x0D, 0x58, 0x67, 0x1B, 0x3C, 0xF4, // ...Xg.<.
|
||
|
/* 0828 */ 0x69, 0x31, 0xC4, 0xE3, 0x0B, 0xFB, 0x56, 0x61, // i1....Va
|
||
|
/* 0830 */ 0x82, 0xEA, 0x41, 0x75, 0x12, 0xF4, 0xD0, 0xC0, // ..Au....
|
||
|
/* 0838 */ 0x01, 0xE8, 0xA1, 0xC1, 0x3F, 0xB9, 0x90, 0xFB, // ....?...
|
||
|
/* 0840 */ 0x2B, 0x1D, 0x82, 0xB5, 0xE2, 0x69, 0xDE, 0x47, // +....i.G
|
||
|
/* 0848 */ 0x1E, 0xF3, 0xDC, 0xA2, 0xBC, 0x0D, 0x3C, 0x07, // ......<.
|
||
|
/* 0850 */ 0xF0, 0xD3, 0x82, 0x87, 0xE3, 0x63, 0x81, 0xC7, // .....c..
|
||
|
/* 0858 */ 0xE9, 0x4B, 0x58, 0x82, 0xF7, 0x1A, 0x9F, 0x6C, // .KX....l
|
||
|
/* 0860 */ 0x1E, 0x5C, 0x58, 0xB2, 0x21, 0xA0, 0x06, 0xEB, // .\X.!...
|
||
|
/* 0868 */ 0x21, 0x60, 0xA6, 0x9A, 0xC0, 0x49, 0x46, 0x80, // !`...IF.
|
||
|
/* 0870 */ 0xCA, 0x00, 0xA1, 0x1B, 0xCB, 0xE9, 0x3E, 0x8B, // ......>.
|
||
|
/* 0878 */ 0x84, 0x38, 0xCD, 0x47, 0x99, 0xC7, 0x02, 0x8F, // .8.G....
|
||
|
/* 0880 */ 0xF5, 0xC1, 0xC0, 0xFF, 0x7F, 0xCD, 0x23, 0xD4, // ......#.
|
||
|
/* 0888 */ 0x7D, 0xCD, 0x33, 0x7B, 0x3A, 0xC0, 0xAC, 0x22, // }.3{:.."
|
||
|
/* 0890 */ 0xDC, 0x7B, 0xCE, 0x1B, 0x86, 0xD1, 0x9E, 0x2D, // .{.....-
|
||
|
/* 0898 */ 0x7C, 0xCD, 0x78, 0xD6, 0x34, 0x42, 0x38, 0x76, // |.x.4B8v
|
||
|
/* 08A0 */ 0x83, 0xF3, 0x48, 0x8C, 0xF0, 0x82, 0xC0, 0x4E, // ..H....N
|
||
|
/* 08A8 */ 0x0C, 0x0F, 0x30, 0xC6, 0x39, 0x79, 0xC3, 0xFA, // ..0.9y..
|
||
|
/* 08B0 */ 0xC2, 0xCB, 0x40, 0x83, 0x19, 0xDB, 0x97, 0x01, // ..@.....
|
||
|
/* 08B8 */ 0x36, 0x2A, 0xDF, 0x88, 0xC0, 0x97, 0xFC, 0x62, // 6*.....b
|
||
|
/* 08C0 */ 0x00, 0x65, 0x16, 0xBE, 0x9E, 0xF8, 0xA0, 0xC4, // .e......
|
||
|
/* 08C8 */ 0x2E, 0x06, 0x2C, 0xE5, 0xC5, 0x00, 0x54, 0x37, // ..,...T7
|
||
|
/* 08D0 */ 0x0C, 0x5F, 0x0C, 0xE0, 0x5F, 0x89, 0x5E, 0x0C, // ._.._.^.
|
||
|
/* 08D8 */ 0xC0, 0x70, 0x71, 0xF2, 0x3D, 0xC0, 0x1E, 0xEE, // .pq.=...
|
||
|
/* 08E0 */ 0xA3, 0x74, 0x9C, 0xBE, 0xFD, 0xBD, 0x19, 0xF8, // .t......
|
||
|
/* 08E8 */ 0x6C, 0xC0, 0x60, 0x3C, 0xC3, 0x30, 0xC6, 0x08, // l.`<.0..
|
||
|
/* 08F0 */ 0xE3, 0x51, 0x86, 0x31, 0xC1, 0xDC, 0xB7, 0x03, // .Q.1....
|
||
|
/* 08F8 */ 0xE8, 0x39, 0x87, 0x81, 0x4A, 0x78, 0x3B, 0x80, // .9..Jx;.
|
||
|
/* 0900 */ 0x72, 0x0E, 0xE8, 0xF2, 0x68, 0x42, 0x4F, 0x01, // r...hBO.
|
||
|
/* 0908 */ 0x4F, 0x07, 0x3E, 0x29, 0x1A, 0xA2, 0xAF, 0xB1, // O.>)....
|
||
|
/* 0910 */ 0x0A, 0x26, 0x50, 0xC4, 0x07, 0x0D, 0x3E, 0xB5, // .&P...>.
|
||
|
/* 0918 */ 0x28, 0x3E, 0x15, 0x78, 0x2D, 0xCF, 0x4E, 0xE1, // (>.x-.N.
|
||
|
/* 0920 */ 0xE2, 0x9C, 0x89, 0xA7, 0x6A, 0x38, 0x03, 0xBD, // ....j8..
|
||
|
/* 0928 */ 0xE6, 0x86, 0x63, 0xFF, 0x7F, 0x38, 0xFC, 0xA9, // ..c..8..
|
||
|
/* 0930 */ 0xE0, 0x35, 0x80, 0x1D, 0x24, 0x3D, 0x2D, 0x23, // .5..$=-#
|
||
|
/* 0938 */ 0xC2, 0x38, 0xA4, 0x3C, 0x32, 0xF8, 0xB6, 0x18, // .8.<2...
|
||
|
/* 0940 */ 0xC7, 0x90, 0x0F, 0x91, 0xBE, 0x13, 0x18, 0xF2, // ........
|
||
|
/* 0948 */ 0x21, 0xEF, 0x79, 0xC7, 0xC0, 0xAF, 0x08, 0x71, // !.y....q
|
||
|
/* 0950 */ 0x9E, 0xB2, 0x7C, 0x67, 0xF0, 0x65, 0x01, 0x7C, // ..|g.e.|
|
||
|
/* 0958 */ 0x91, 0x2E, 0x0B, 0x68, 0x68, 0x9F, 0x64, 0x7C, // ...hh.d|
|
||
|
/* 0960 */ 0x41, 0x30, 0xEC, 0x89, 0xB3, 0x00, 0x77, 0x05, // A0....w.
|
||
|
/* 0968 */ 0x50, 0x81, 0xFA, 0xAE, 0x00, 0xFF, 0x42, 0xF0, // P.....B.
|
||
|
/* 0970 */ 0xAE, 0x00, 0x86, 0x79, 0xF9, 0x56, 0xC0, 0x35, // ...y.V.5
|
||
|
/* 0978 */ 0x1D, 0x4A, 0xD0, 0x67, 0x12, 0x5F, 0x17, 0x70, // .J.g._.p
|
||
|
/* 0980 */ 0x53, 0x64, 0xA9, 0x8E, 0x0A, 0xD0, 0x53, 0x4C, // Sd....SL
|
||
|
/* 0988 */ 0x02, 0x75, 0x47, 0xF7, 0x51, 0x01, 0xC6, 0x4D, // .uG.Q..M
|
||
|
/* 0990 */ 0xD9, 0x07, 0x54, 0x76, 0x5A, 0x60, 0x67, 0x21, // ..TvZ`g!
|
||
|
/* 0998 */ 0x76, 0x1D, 0xC1, 0x5D, 0x49, 0x18, 0xCA, 0xB3, // v..]I...
|
||
|
/* 09A0 */ 0x81, 0x2F, 0x59, 0xFC, 0x70, 0x00, 0x03, 0xDC, // ./Y.p...
|
||
|
/* 09A8 */ 0xB3, 0x38, 0xC4, 0x08, 0xB1, 0xD9, 0x81, 0xEB, // .8......
|
||
|
/* 09B0 */ 0x75, 0xD2, 0x70, 0x2F, 0x44, 0xEC, 0xFF, 0x7F, // u.p/D...
|
||
|
/* 09B8 */ 0x32, 0x00, 0xE3, 0x51, 0x1B, 0x1C, 0x27, 0x9D, // 2..Q..'.
|
||
|
/* 09C0 */ 0xF0, 0x91, 0x9E, 0x59, 0xF8, 0x49, 0x19, 0x30, // ...Y.I.0
|
||
|
/* 09C8 */ 0x71, 0xF2, 0x03, 0xE3, 0xC9, 0x1A, 0xC6, 0x00, // q.......
|
||
|
/* 09D0 */ 0xB8, 0xBC, 0x57, 0x95, 0x81, 0xFC, 0x43, 0x90, // ..W...C.
|
||
|
/* 09D8 */ 0x20, 0x18, 0xD4, 0x29, 0x19, 0x38, 0x1C, 0xC5, // ..).8..
|
||
|
/* 09E0 */ 0x70, 0xA7, 0x64, 0x78, 0x50, 0xF8, 0xC3, 0x00, // p.dxP...
|
||
|
/* 09E8 */ 0xE6, 0x46, 0xE8, 0x7B, 0x82, 0xA1, 0xDE, 0x93, // .F.{....
|
||
|
/* 09F0 */ 0x0E, 0xE3, 0x91, 0xD0, 0x04, 0x3E, 0x2D, 0xC3, // .....>-.
|
||
|
/* 09F8 */ 0xFA, 0xFF, 0x9F, 0x96, 0x81, 0xD5, 0xB1, 0xDD, // ........
|
||
|
/* 0A00 */ 0x43, 0xF6, 0x59, 0x01, 0x77, 0x76, 0x80, 0x3B, // C.Y.wv.;
|
||
|
/* 0A08 */ 0x3D, 0x7E, 0x7A, 0x00, 0x9C, 0x00, 0x3D, 0x3D, // =~z...==
|
||
|
/* 0A10 */ 0x80, 0xED, 0xBC, 0x01, 0xF7, 0x40, 0x80, 0x38, // .....@.8
|
||
|
/* 0A18 */ 0xFE, 0xA3, 0x82, 0x5F, 0x59, 0x28, 0x1C, 0x3F, // ..._Y(.?
|
||
|
/* 0A20 */ 0xB6, 0xF3, 0x63, 0x09, 0xEE, 0x70, 0xE0, 0x23, // ..c..p.#
|
||
|
/* 0A28 */ 0x83, 0x0F, 0x90, 0xB8, 0xA1, 0xF8, 0x50, 0x81, // ......P.
|
||
|
/* 0A30 */ 0x3C, 0x0B, 0x80, 0x62, 0xF4, 0x6C, 0x04, 0xEC, // <..b.l..
|
||
|
/* 0A38 */ 0x06, 0xF3, 0xD2, 0x12, 0xE5, 0xFF, 0xFF, 0xDE, // ........
|
||
|
/* 0A40 */ 0xC0, 0x4E, 0x29, 0xB8, 0x83, 0x00, 0xF8, 0x8E, // .N).....
|
||
|
/* 0A48 */ 0x01, 0xE0, 0x1D, 0x0C, 0x97, 0x35, 0x66, 0x94, // .....5f.
|
||
|
/* 0A50 */ 0x10, 0x18, 0x8D, 0x19, 0x77, 0x08, 0xE1, 0x27, // ....w..'
|
||
|
/* 0A58 */ 0x02, 0xDC, 0x98, 0x3D, 0x6E, 0x8F, 0x19, 0x77, // ...=n..w
|
||
|
/* 0A60 */ 0x9C, 0xE5, 0xA3, 0x7A, 0xCA, 0x08, 0xE5, 0x03, // ...z....
|
||
|
/* 0A68 */ 0x07, 0x3B, 0x67, 0xBC, 0x11, 0xF0, 0xA1, 0x03, // .;g.....
|
||
|
/* 0A70 */ 0x8F, 0x03, 0x0C, 0xEE, 0x48, 0x01, 0xC6, 0xCB, // ....H...
|
||
|
/* 0A78 */ 0x01, 0x1B, 0x3B, 0xB8, 0x83, 0x90, 0x53, 0x20, // ..;...S
|
||
|
/* 0A80 */ 0x4B, 0x87, 0xD1, 0xD8, 0x71, 0xB2, 0x81, 0x74, // K...q..t
|
||
|
/* 0A88 */ 0x8C, 0xF1, 0x21, 0xD7, 0x63, 0xC7, 0x0D, 0xD6, // ..!.c...
|
||
|
/* 0A90 */ 0x63, 0xC7, 0x1D, 0x5F, 0xB0, 0xFF, 0xFF, 0xE3, // c.._....
|
||
|
/* 0A98 */ 0x0B, 0x18, 0xC6, 0xC0, 0xC5, 0x0F, 0x03, 0x7D, // .......}
|
||
|
/* 0AA0 */ 0xF3, 0xF3, 0xE8, 0x0C, 0xEE, 0x61, 0xFB, 0x04, // .....a..
|
||
|
/* 0AA8 */ 0x13, 0xE3, 0xF9, 0x25, 0xC4, 0x23, 0xCC, 0x8B, // ...%.#..
|
||
|
/* 0AB0 */ 0x4B, 0x84, 0xA3, 0x08, 0xF2, 0xE6, 0x12, 0xE7, // K.......
|
||
|
/* 0AB8 */ 0xD5, 0x20, 0xCC, 0x63, 0x4B, 0x94, 0x10, 0x11, // . .cK...
|
||
|
/* 0AC0 */ 0x0E, 0x26, 0xCE, 0x13, 0x8C, 0x11, 0x0E, 0x3C, // .&.....<
|
||
|
/* 0AC8 */ 0x8A, 0x21, 0x22, 0x9C, 0x40, 0x88, 0x93, 0x3E, // .!".@..>
|
||
|
/* 0AD0 */ 0xD9, 0x20, 0xE1, 0x63, 0x84, 0x8D, 0xF6, 0x04, // . .c....
|
||
|
/* 0AD8 */ 0xC3, 0xC7, 0xC2, 0xCF, 0x2B, 0x1E, 0x3C, 0x3F, // ....+.<?
|
||
|
/* 0AE0 */ 0xAD, 0xF9, 0x2E, 0xE8, 0xC9, 0x9C, 0xE3, 0x43, // .......C
|
||
|
/* 0AE8 */ 0x96, 0xA7, 0xF6, 0x38, 0xE9, 0xC3, 0x2C, 0x6E, // ...8..,n
|
||
|
/* 0AF0 */ 0x50, 0x0F, 0x8E, 0xEC, 0xAE, 0xE3, 0xE3, 0x35, // P......5
|
||
|
/* 0AF8 */ 0xF6, 0x14, 0xE4, 0x21, 0xF0, 0x13, 0x81, 0x2F, // ...!.../
|
||
|
/* 0B00 */ 0x88, 0x9E, 0xAC, 0xEF, 0x7A, 0xEC, 0x5E, 0x66, // ....z.^f
|
||
|
/* 0B08 */ 0x8C, 0xEA, 0xA7, 0x80, 0x3A, 0xA6, 0x9C, 0xC1, // ....:...
|
||
|
/* 0B10 */ 0x2B, 0x04, 0xBB, 0xE7, 0xF9, 0x90, 0xED, 0xBB, // +.......
|
||
|
/* 0B18 */ 0x24, 0x1B, 0x05, 0xEE, 0x90, 0xE0, 0x33, 0x12, // $.....3.
|
||
|
/* 0B20 */ 0x3F, 0x55, 0x78, 0x18, 0x1E, 0x05, 0x8C, 0x19, // ?Ux.....
|
||
|
/* 0B28 */ 0xBC, 0x23, 0x1C, 0x5A, 0x88, 0x03, 0x7E, 0xDF, // .#.Z..~.
|
||
|
/* 0B30 */ 0x65, 0x43, 0x8D, 0x71, 0x7A, 0x3E, 0x7F, 0xB0, // eC.qz>..
|
||
|
/* 0B38 */ 0x41, 0xC0, 0x87, 0x3A, 0x54, 0x0F, 0xF3, 0xA8, // A..:T...
|
||
|
/* 0B40 */ 0x5E, 0x0A, 0x19, 0xCE, 0xD9, 0xC1, 0x1D, 0x04, // ^.......
|
||
|
/* 0B48 */ 0xF6, 0xF8, 0xE1, 0x41, 0xF0, 0x9B, 0x25, 0x1F, // ...A..%.
|
||
|
/* 0B50 */ 0x04, 0x3B, 0xDF, 0xBC, 0xC1, 0x19, 0xE4, 0xFF, // .;......
|
||
|
/* 0B58 */ 0x7F, 0x0C, 0xB0, 0xCF, 0x54, 0x3E, 0x9A, 0x20, // ....T>.
|
||
|
/* 0B60 */ 0x8E, 0x80, 0xE8, 0xF3, 0x87, 0xC7, 0xF0, 0x26, // .......&
|
||
|
/* 0B68 */ 0xC7, 0x87, 0x83, 0x3D, 0x7A, 0xE0, 0x4E, 0x22, // ...=z.N"
|
||
|
/* 0B70 */ 0x70, 0x8F, 0x5D, 0x07, 0xED, 0x6B, 0x9C, 0x2F, // p.]..k./
|
||
|
/* 0B78 */ 0x5A, 0x30, 0xEE, 0x7B, 0xCF, 0x22, 0xE0, 0xC7, // Z0.{."..
|
||
|
/* 0B80 */ 0x78, 0x6C, 0x01, 0xC7, 0xA1, 0x04, 0xDC, 0xC1, // xl......
|
||
|
/* 0B88 */ 0x8E, 0x6B, 0x1C, 0x42, 0x51, 0x60, 0x74, 0x28, // .k.BQ`t(
|
||
|
/* 0B90 */ 0xC1, 0xC5, 0x00, 0x12, 0x8C, 0x63, 0x9C, 0xD1, // .....c..
|
||
|
/* 0B98 */ 0xD0, 0x97, 0x48, 0x1F, 0xD2, 0xE0, 0x0C, 0x1A, // ..H.....
|
||
|
/* 0BA0 */ 0xF6, 0x3C, 0x9F, 0x50, 0xB8, 0x3D, 0x01, 0x8A, // .<.P.=..
|
||
|
/* 0BA8 */ 0x4E, 0x28, 0x20, 0xC3, 0x7D, 0x06, 0xC1, 0x9E, // N( .}...
|
||
|
/* 0BB0 */ 0x10, 0xF8, 0x19, 0x84, 0xFD, 0xFF, 0x0F, 0x8E, // ........
|
||
|
/* 0BB8 */ 0x1E, 0xF7, 0x7B, 0xA3, 0x4F, 0x8D, 0x6C, 0xEE, // ..{.O.l.
|
||
|
/* 0BC0 */ 0x0F, 0x01, 0x27, 0x70, 0xEE, 0xEC, 0xD4, 0x8C, // ..'p....
|
||
|
/* 0BC8 */ 0x3B, 0x33, 0x60, 0xCF, 0x1F, 0x1E, 0x02, 0x3F, // ;3`....?
|
||
|
/* 0BD0 */ 0x17, 0x78, 0xF8, 0x1E, 0x02, 0x7E, 0xF0, 0x0F, // .x...~..
|
||
|
/* 0BD8 */ 0xCC, 0x06, 0x07, 0xE3, 0x29, 0xC2, 0xD7, 0x0E, // ....)...
|
||
|
/* 0BE0 */ 0x0E, 0xCE, 0x4F, 0x03, 0x06, 0xE7, 0xAF, 0x50, // ..O....P
|
||
|
/* 0BE8 */ 0x9F, 0xE7, 0x19, 0x38, 0xF6, 0xD4, 0xEB, 0x7B, // ...8...{
|
||
|
/* 0BF0 */ 0x87, 0xE7, 0xEB, 0x43, 0x05, 0xFE, 0xA6, 0xE7, // ...C....
|
||
|
/* 0BF8 */ 0x43, 0x05, 0x38, 0x0E, 0x0F, 0xFC, 0xB0, 0xC2, // C.8.....
|
||
|
/* 0C00 */ 0x86, 0xF0, 0x28, 0x80, 0x3F, 0xB5, 0xF8, 0xF8, // ..(.?...
|
||
|
/* 0C08 */ 0x17, 0xE7, 0x29, 0x82, 0xDD, 0x46, 0xB0, 0x87, // ..)..F..
|
||
|
/* 0C10 */ 0x0B, 0xC0, 0x51, 0xB4, 0xB3, 0x18, 0x2A, 0xCC, // ..Q...*.
|
||
|
/* 0C18 */ 0x59, 0x8C, 0xFC, 0xFF, 0xCF, 0x51, 0xA8, 0xB3, // Y....Q..
|
||
|
/* 0C20 */ 0x18, 0x3D, 0x5C, 0x00, 0x2E, 0x04, 0x1F, 0x0F, // .=\.....
|
||
|
/* 0C28 */ 0x40, 0x73, 0x10, 0x78, 0x5C, 0xF0, 0x85, 0xE0, // @s.x\...
|
||
|
/* 0C30 */ 0x48, 0x0E, 0xE4, 0xE9, 0x00, 0xF0, 0x19, 0x4A, // H......J
|
||
|
/* 0C38 */ 0xC3, 0xA1, 0x09, 0x13, 0x03, 0x06, 0x75, 0x3E, // ......u>
|
||
|
/* 0C40 */ 0xF0, 0x09, 0xC5, 0xC7, 0x0E, 0x7E, 0x36, 0xF0, // .....~6.
|
||
|
/* 0C48 */ 0x8D, 0xDC, 0x43, 0xE5, 0xA7, 0x66, 0x5F, 0xF2, // ..C..f_.
|
||
|
/* 0C50 */ 0x11, 0xE0, 0x02, 0x75, 0xA0, 0x61, 0xA0, 0x46, // ...u.a.F
|
||
|
/* 0C58 */ 0xE4, 0x23, 0xD2, 0xFF, 0xFF, 0xB9, 0x0D, 0x1B, // .#......
|
||
|
/* 0C60 */ 0x60, 0x68, 0xF4, 0x1C, 0x0E, 0xE3, 0x80, 0xEB, // `h......
|
||
|
/* 0C68 */ 0x73, 0x38, 0x76, 0x40, 0x3E, 0x87, 0xC3, 0x3F, // s8v@>..?
|
||
|
/* 0C70 */ 0x47, 0xC3, 0x1F, 0x1B, 0x3B, 0xDD, 0xF3, 0x81, // G...;...
|
||
|
/* 0C78 */ 0xC1, 0xBA, 0x7E, 0x63, 0x06, 0x06, 0xB6, 0x6F, // ..~c...o
|
||
|
/* 0C80 */ 0x91, 0x07, 0x06, 0x1C, 0x51, 0xCF, 0xC6, 0x57, // ....Q..W
|
||
|
/* 0C88 */ 0x08, 0x0F, 0x0C, 0x6C, 0x80, 0x1E, 0x18, 0xF0, // ...l....
|
||
|
/* 0C90 */ 0x89, 0x05, 0x21, 0x27, 0x03, 0x43, 0x9D, 0x32, // ..!'.C.2
|
||
|
/* 0C98 */ 0x8C, 0x1C, 0xF3, 0x89, 0xC3, 0xC3, 0xF0, 0xA1, // ........
|
||
|
/* 0CA0 */ 0x22, 0xEA, 0x33, 0xC0, 0x23, 0x1E, 0x1B, 0x1B, // ".3.#...
|
||
|
/* 0CA8 */ 0xFB, 0xFF, 0x8F, 0x0D, 0x2C, 0xC7, 0x16, 0x8F, // ....,...
|
||
|
/* 0CB0 */ 0x0D, 0xFC, 0x47, 0x78, 0xFC, 0xD8, 0xE0, 0x8C, // ..Gx....
|
||
|
/* 0CB8 */ 0xE5, 0xD1, 0xC4, 0x97, 0x99, 0x23, 0x3B, 0x8D, // .....#;.
|
||
|
/* 0CC0 */ 0x33, 0x7B, 0x0D, 0xF1, 0xD1, 0xEE, 0xF1, 0xDB, // 3{......
|
||
|
/* 0CC8 */ 0x63, 0x03, 0x97, 0x85, 0xB1, 0x01, 0xA5, 0x90, // c.......
|
||
|
/* 0CD0 */ 0x63, 0x43, 0x1F, 0x52, 0x7C, 0x0A, 0xB0, 0x71, // cC.R|..q
|
||
|
/* 0CD8 */ 0x54, 0x32, 0x0F, 0x1F, 0xAF, 0x7C, 0x62, 0x38, // T2...|b8
|
||
|
/* 0CE0 */ 0xBA, 0x20, 0x6F, 0xE8, 0xBE, 0x5C, 0xF8, 0x48, // . o..\.H
|
||
|
/* 0CE8 */ 0x63, 0x30, 0x5F, 0x5A, 0x7C, 0x06, 0xE5, 0x43, // c0_Z|..C
|
||
|
/* 0CF0 */ 0x04, 0xD7, 0x57, 0xC5, 0x43, 0x04, 0x3E, 0xA1, // ..W.C.>.
|
||
|
/* 0CF8 */ 0x86, 0x88, 0x1E, 0xCF, 0xFF, 0xFF, 0x11, 0xCC, // ........
|
||
|
/* 0D00 */ 0x43, 0x64, 0x43, 0x03, 0xAF, 0x87, 0xA1, 0x01, // CdC.....
|
||
|
/* 0D08 */ 0xA5, 0x98, 0xC0, 0x5E, 0x85, 0x87, 0x46, 0x4F, // ...^..FO
|
||
|
/* 0D10 */ 0x3F, 0x3E, 0x04, 0x30, 0x08, 0xDF, 0x06, 0xD8, // ?>.0....
|
||
|
/* 0D18 */ 0x55, 0xC0, 0x57, 0x21, 0x83, 0x24, 0x18, 0xE7, // U.W!.$..
|
||
|
/* 0D20 */ 0x64, 0x41, 0x07, 0x07, 0x8E, 0x21, 0x79, 0x70, // dA...!yp
|
||
|
/* 0D28 */ 0xF0, 0x07, 0xE3, 0x21, 0x70, 0x60, 0xCF, 0xE0, // ...!p`..
|
||
|
/* 0D30 */ 0xB9, 0xE8, 0x31, 0xD8, 0xA7, 0x1D, 0x9F, 0x4A, // ..1....J
|
||
|
/* 0D38 */ 0xC0, 0x77, 0xE6, 0x04, 0xC7, 0xE9, 0x1D, 0x7B, // .w.....{
|
||
|
/* 0D40 */ 0x29, 0xF0, 0x08, 0x1E, 0xAD, 0x3C, 0x02, 0x7E, // )....<.~
|
||
|
/* 0D48 */ 0xB4, 0x02, 0x66, 0xFF, 0xFF, 0xA3, 0x15, 0x30, // ..f....0
|
||
|
/* 0D50 */ 0x09, 0x7A, 0xE6, 0xA4, 0x03, 0x77, 0x34, 0x18, // .z...w4.
|
||
|
/* 0D58 */ 0xD4, 0xD1, 0x0A, 0x5C, 0x11, 0xC0, 0x75, 0xDC, // ...\..u.
|
||
|
/* 0D60 */ 0xF0, 0xD1, 0x02, 0xCE, 0x50, 0x0F, 0xDA, 0x07, // ....P...
|
||
|
/* 0D68 */ 0x65, 0xCF, 0xDA, 0x97, 0x21, 0x76, 0xB4, 0x00, // e...!v..
|
||
|
/* 0D70 */ 0x97, 0x89, 0x43, 0x08, 0xD0, 0x04, 0x3E, 0x89, // ..C...>.
|
||
|
/* 0D78 */ 0x67, 0xEF, 0x43, 0x03, 0xB3, 0x8A, 0xA1, 0x01, // g.C.....
|
||
|
/* 0D80 */ 0xA5, 0xA3, 0x01, 0xEE, 0x44, 0x81, 0xFD, 0xFF, // ....D...
|
||
|
/* 0D88 */ 0x9F, 0x28, 0x60, 0xDE, 0x30, 0x70, 0x07, 0x0A, // .(`.0p..
|
||
|
/* 0D90 */ 0xC0, 0xCD, 0xE9, 0xDB, 0xE3, 0xE2, 0xD0, 0x38, // .......8
|
||
|
/* 0D98 */ 0xC4, 0xE7, 0xA7, 0x73, 0xF6, 0xD1, 0xE8, 0x4C, // ...s...L
|
||
|
/* 0DA0 */ 0x71, 0x67, 0x11, 0x30, 0x9C, 0x7D, 0x11, 0x8F, // qg.0.}..
|
||
|
/* 0DA8 */ 0x18, 0x03, 0xF9, 0x81, 0x21, 0x59, 0x30, 0x28, // ....!Y0(
|
||
|
/* 0DB0 */ 0x16, 0x0F, 0xC5, 0x07, 0x03, 0x0E, 0xEC, 0x23, // .......#
|
||
|
/* 0DB8 */ 0x02, 0x3B, 0x17, 0xB0, 0x73, 0xAD, 0xE1, 0xF8, // .;..s...
|
||
|
/* 0DC0 */ 0x59, 0xC0, 0xA7, 0x84, 0xB7, 0xA6, 0x17, 0x7B, // Y......{
|
||
|
/* 0DC8 */ 0x9F, 0xD7, 0x7D, 0xD6, 0x08, 0xC9, 0xCE, 0xF4, // ..}.....
|
||
|
/* 0DD0 */ 0x3E, 0x89, 0xE2, 0x0E, 0xA2, 0x70, 0x4E, 0x9F, // >....pN.
|
||
|
/* 0DD8 */ 0xE0, 0x22, 0xF0, 0x65, 0xDF, 0xA3, 0xE0, 0xA7, // .".e....
|
||
|
/* 0DE0 */ 0x07, 0xCF, 0xF1, 0x8D, 0xC1, 0xA7, 0x07, 0xE6, // ........
|
||
|
/* 0DE8 */ 0x7E, 0xF8, 0x9A, 0xF1, 0x33, 0xC3, 0xE3, 0x43, // ~...3..C
|
||
|
/* 0DF0 */ 0x88, 0x27, 0xE2, 0xDA, 0xA6, 0x20, 0x5B, 0x18, // .'... [.
|
||
|
/* 0DF8 */ 0x42, 0x09, 0xF4, 0xFF, 0x8F, 0x10, 0xE5, 0x6D, // B......m
|
||
|
/* 0E00 */ 0x20, 0xCA, 0x29, 0x44, 0x88, 0x12, 0xA4, 0xB1, // .)D....
|
||
|
/* 0E08 */ 0xC9, 0x0B, 0x35, 0xCA, 0xD9, 0x45, 0x6E, 0x6D, // ..5..Enm
|
||
|
/* 0E10 */ 0xF6, 0x82, 0x0B, 0x14, 0x2A, 0x66, 0x9C, 0x28, // ....*f.(
|
||
|
/* 0E18 */ 0xEF, 0x10, 0xB1, 0xDA, 0x1F, 0x04, 0x91, 0xF4, // ........
|
||
|
/* 0E20 */ 0x32, 0xD0, 0x71, 0xC9, 0x91, 0x0E, 0x7D, 0xE8, // 2.q...}.
|
||
|
/* 0E28 */ 0x61, 0xFB, 0x04, 0x8C, 0x3F, 0x48, 0xE2, 0xAE, // a...?H..
|
||
|
/* 0E30 */ 0x2A, 0x3E, 0x28, 0xF8, 0x00, 0x80, 0x77, 0x09, // *>(...w.
|
||
|
/* 0E38 */ 0xA8, 0x5B, 0x9D, 0xC7, 0xED, 0xF3, 0x06, 0xF8, // .[......
|
||
|
/* 0E40 */ 0xAF, 0x17, 0x58, 0x82, 0xF2, 0x07, 0x81, 0x1A, // ..X.....
|
||
|
/* 0E48 */ 0x99, 0xA1, 0x3D, 0xCC, 0xB7, 0x19, 0x43, 0xBE, // ..=...C.
|
||
|
/* 0E50 */ 0x07, 0x1C, 0x16, 0x3B, 0x27, 0xF9, 0xF0, 0x08, // ...;'...
|
||
|
/* 0E58 */ 0x1C, 0x8E, 0x01, 0x4F, 0x1B, 0xBE, 0x51, 0x7B, // ...O..Q{
|
||
|
/* 0E60 */ 0xBE, 0x3E, 0x62, 0x01, 0x8E, 0xFE, 0xFF, 0x47, // .>b....G
|
||
|
/* 0E68 */ 0x2C, 0x30, 0x9D, 0xDF, 0x7D, 0x82, 0x01, 0xC7, // ,0..}...
|
||
|
/* 0E70 */ 0xCD, 0x82, 0x9F, 0x61, 0x00, 0x67, 0x40, 0xCF, // ...a.g@.
|
||
|
/* 0E78 */ 0x30, 0x60, 0x1F, 0x2A, 0x6E, 0x08, 0x5C, 0xEE, // 0`.*n.\.
|
||
|
/* 0E80 */ 0x8A, 0x28, 0x90, 0x05, 0xC2, 0xA0, 0x0E, 0xFD, // .(......
|
||
|
/* 0E88 */ 0xE4, 0x08, 0x42, 0xCF, 0x9C, 0x70, 0x86, 0x72, // ..B..p.r
|
||
|
/* 0E90 */ 0xB2, 0xBD, 0x5F, 0x1D, 0xC8, 0x2D, 0xC2, 0x43, // .._..-.C
|
||
|
/* 0E98 */ 0x3D, 0x8B, 0xC7, 0x04, 0x76, 0xDA, 0x02, 0x36, // =...v..6
|
||
|
/* 0EA0 */ 0xFF, 0xFF, 0xE3, 0x29, 0xB0, 0x98, 0xF7, 0xD3, // ...)....
|
||
|
/* 0EA8 */ 0x69, 0x84, 0x63, 0x03, 0xFB, 0x71, 0x0B, 0x38, // i.c..q.8
|
||
|
/* 0EB0 */ 0x1D, 0xCC, 0xE0, 0xDC, 0x7F, 0xD8, 0x2D, 0x1A, // ......-.
|
||
|
/* 0EB8 */ 0x37, 0x34, 0xB0, 0x0D, 0xCC, 0x43, 0x03, 0x3E, // 74...C.>
|
||
|
/* 0EC0 */ 0x27, 0x47, 0x30, 0x9E, 0x98, 0xF8, 0x55, 0xE2, // 'G0...U.
|
||
|
/* 0EC8 */ 0xE1, 0x89, 0x1F, 0x43, 0xC0, 0xFA, 0xFF, 0x3F, // ...C...?
|
||
|
/* 0ED0 */ 0x99, 0x01, 0xF6, 0x84, 0x1E, 0xCB, 0x50, 0xD2, // ......P.
|
||
|
/* 0ED8 */ 0x4E, 0x66, 0x80, 0xC0, 0xFB, 0xD8, 0x3B, 0xC3, // Nf....;.
|
||
|
/* 0EE0 */ 0x4B, 0x83, 0xE7, 0x74, 0xD2, 0xCF, 0x62, 0x3E, // K..t..b>
|
||
|
/* 0EE8 */ 0x99, 0x19, 0x21, 0x0A, 0xBB, 0x8F, 0x19, 0xAD, // ..!.....
|
||
|
/* 0EF0 */ 0x37, 0x14, 0xCD, 0x3C, 0xE8, 0x3B, 0x99, 0x51, // 7..<.;.Q
|
||
|
/* 0EF8 */ 0x62, 0x46, 0x6A, 0x0E, 0x4C, 0x48, 0x11, 0x0F, // bFj.LH..
|
||
|
/* 0F00 */ 0x27, 0x4A, 0x88, 0x60, 0xAF, 0x13, 0x6F, 0x67, // 'J.`..og
|
||
|
/* 0F08 */ 0x4F, 0x66, 0x4C, 0xD6, 0xC9, 0x0C, 0x24, 0xFF, // OfL...$.
|
||
|
/* 0F10 */ 0xFF, 0x93, 0x19, 0x98, 0x5C, 0x9F, 0xCC, 0x80, // ....\...
|
||
|
/* 0F18 */ 0xCA, 0x39, 0x0A, 0x7F, 0x32, 0x03, 0x78, 0x74, // .9..2.xt
|
||
|
/* 0F20 */ 0xC0, 0xC2, 0x9D, 0xCC, 0xC0, 0xF2, 0xFF, 0x3F, // .......?
|
||
|
/* 0F28 */ 0xC4, 0x00, 0xCE, 0xC7, 0x0A, 0x63, 0x0C, 0x3C, // .....c.<
|
||
|
/* 0F30 */ 0xDA, 0xC1, 0x0C, 0x15, 0xE6, 0x6C, 0x86, 0x0E, // .....l..
|
||
|
/* 0F38 */ 0x72, 0x08, 0xA1, 0xC1, 0x0E, 0x21, 0x50, 0xE6, // r....!P.
|
||
|
/* 0F40 */ 0x72, 0xA0, 0xA7, 0xF0, 0x9A, 0xE0, 0x73, 0x14, // r.....s.
|
||
|
/* 0F48 */ 0xD8, 0x0F, 0x67, 0xC0, 0xE1, 0xD4, 0x80, 0x0F, // ..g.....
|
||
|
/* 0F50 */ 0x74, 0xE2, 0x42, 0x8F, 0xC2, 0x23, 0x0E, 0x58, // t.B..#.X
|
||
|
/* 0F58 */ 0xFD, 0xC0, 0xC8, 0xFF, 0xFF, 0x64, 0x06, 0x18, // .....d..
|
||
|
/* 0F60 */ 0x78, 0x6A, 0xF8, 0x40, 0x82, 0x63, 0x31, 0xEA, // xj.@.c1.
|
||
|
/* 0F68 */ 0x1B, 0xC4, 0x21, 0xBE, 0x8D, 0xF8, 0xE8, 0xFE, // ..!.....
|
||
|
/* 0F70 */ 0x6A, 0xE2, 0x4B, 0x00, 0xE6, 0x42, 0xE2, 0xD3, // j.K..B..
|
||
|
/* 0F78 */ 0x09, 0xB3, 0x70, 0x38, 0x03, 0x5A, 0x43, 0x60, // ..p8.ZC`
|
||
|
/* 0F80 */ 0x57, 0x26, 0xCF, 0x9C, 0x0F, 0xE1, 0x6C, 0x3C, // W&....l<
|
||
|
/* 0F88 */ 0x7A, 0xDC, 0xE9, 0x04, 0xDE, 0x38, 0x7C, 0x3A, // z....8|:
|
||
|
/* 0F90 */ 0x01, 0x5E, 0x07, 0x0C, 0xCC, 0x0C, 0xC2, 0x3F, // .^.....?
|
||
|
/* 0F98 */ 0x84, 0xB0, 0x21, 0x9C, 0xAA, 0xC7, 0x70, 0xEE, // ..!...p.
|
||
|
/* 0FA0 */ 0xAF, 0x38, 0x3E, 0x9D, 0x80, 0xF3, 0xFF, 0x7F, // .8>.....
|
||
|
/* 0FA8 */ 0x62, 0x03, 0x0C, 0x0A, 0x7E, 0x32, 0xF8, 0xB8, // b...~2..
|
||
|
/* 0FB0 */ 0x46, 0x25, 0xC2, 0xA0, 0x8E, 0xE6, 0x80, 0x7B, // F%.....{
|
||
|
/* 0FB8 */ 0x98, 0x27, 0x36, 0x26, 0x6F, 0xC5, 0x1A, 0x8B, // .'6&o...
|
||
|
/* 0FC0 */ 0x4F, 0x6C, 0x30, 0xFF, 0xFF, 0x27, 0x36, 0x80, // Ol0..'6.
|
||
|
/* 0FC8 */ 0xD1, 0x87, 0x20, 0xB0, 0xFD, 0xFF, 0x0F, 0x41, // .. ....A
|
||
|
/* 0FD0 */ 0x60, 0x1C, 0xA0, 0x0F, 0x41, 0x80, 0x9B, 0xD3, // `...A...
|
||
|
/* 0FD8 */ 0x09, 0xEE, 0xC4, 0x07, 0xB6, 0x63, 0x10, 0x60, // .....c.`
|
||
|
/* 0FE0 */ 0x6D, 0xE8, 0x3E, 0x06, 0x81, 0xF9, 0xFF, 0x3F, // m.>....?
|
||
|
/* 0FE8 */ 0x5A, 0x98, 0xA3, 0xE0, 0xC2, 0x8E, 0x7C, 0x28, // Z.....|(
|
||
|
/* 0FF0 */ 0x29, 0xA7, 0x3E, 0xB4, 0x0C, 0x20, 0x69, 0x38, // ).>.. i8
|
||
|
/* 0FF8 */ 0xC9, 0x01, 0x9D, 0xD3, 0x3D, 0x70, 0x92, 0x75, // ....=p.u
|
||
|
/* 1000 */ 0xEA, 0x40, 0x8F, 0xC7, 0xA0, 0xAF, 0x1C, 0xBE, // .@......
|
||
|
/* 1008 */ 0x12, 0xF0, 0x23, 0x07, 0x93, 0x00, 0xAA, 0x41, // ..#....A
|
||
|
/* 1010 */ 0xFA, 0xCC, 0x07, 0x9C, 0x8E, 0x1C, 0xE0, 0x38, // .......8
|
||
|
/* 1018 */ 0x26, 0x05, 0xC6, 0xDE, 0x0E, 0xDE, 0x22, 0x3D, // &....."=
|
||
|
/* 1020 */ 0x89, 0xA7, 0xA1, 0xE3, 0x0C, 0x51, 0x38, 0x26, // .....Q8&
|
||
|
/* 1028 */ 0x39, 0x18, 0x44, 0x7A, 0x95, 0x62, 0x03, 0x7C, // 9.Dz.b.|
|
||
|
/* 1030 */ 0xAB, 0xF1, 0xD9, 0xC8, 0x07, 0x10, 0x78, 0xE3, // ......x.
|
||
|
/* 1038 */ 0xF6, 0xD8, 0x61, 0xFF, 0xFF, 0x0F, 0x75, 0xC0, // ..a...u.
|
||
|
/* 1040 */ 0x01, 0xE2, 0xA4, 0xF8, 0x21, 0xC3, 0x98, 0x67, // ....!..g
|
||
|
/* 1048 */ 0xC5, 0x0F, 0x75, 0x80, 0xF5, 0x18, 0x27, 0x3A, // ..u...':
|
||
|
/* 1050 */ 0x94, 0xF0, 0x43, 0x1D, 0x20, 0xE8, 0xFF, 0x7F, // ..C. ...
|
||
|
/* 1058 */ 0xA8, 0x03, 0x86, 0x38, 0x6F, 0x24, 0xD1, 0x1E, // ...8o$..
|
||
|
/* 1060 */ 0xEA, 0x98, 0xE8, 0x43, 0x1D, 0x40, 0xC8, 0xFF, // ...C.@..
|
||
|
/* 1068 */ 0xFF, 0xA1, 0x0E, 0x18, 0x9E, 0x87, 0x00, 0xAE, // ........
|
||
|
/* 1070 */ 0x9C, 0xEF, 0xC0, 0x7C, 0x22, 0x02, 0xEF, 0xFF, // ...|"...
|
||
|
/* 1078 */ 0xFF, 0x7C, 0x07, 0xB8, 0x1B, 0x2D, 0xCC, 0x51, // .|...-.Q
|
||
|
/* 1080 */ 0x70, 0x41, 0xAF, 0x0E, 0x03, 0x51, 0x09, 0x30, // pA...Q.0
|
||
|
/* 1088 */ 0x28, 0x02, 0xC7, 0x5F, 0x9B, 0x60, 0x1C, 0xEA, // (.._.`..
|
||
|
/* 1090 */ 0x7C, 0x87, 0x3E, 0x2F, 0x78, 0xD8, 0x4F, 0x05, // |.>/x.O.
|
||
|
/* 1098 */ 0x9E, 0xC4, 0xA9, 0xFA, 0x5A, 0x70, 0x14, 0x4F, // ....Zp.O
|
||
|
/* 10A0 */ 0x00, 0x3E, 0xE1, 0x01, 0xFF, 0xA1, 0xC1, 0x9A, // .>......
|
||
|
/* 10A8 */ 0x44, 0xF1, 0x43, 0x03, 0xF5, 0x11, 0xE4, 0xFF, // D.C.....
|
||
|
/* 10B0 */ 0x7F, 0x68, 0xC0, 0x28, 0xEA, 0xF9, 0x06, 0x7D, // .h.(...}
|
||
|
/* 10B8 */ 0xCC, 0xF2, 0xD9, 0x20, 0xE6, 0x0B, 0x48, 0x84, // ... ..H.
|
||
|
/* 10C0 */ 0x07, 0x10, 0x5F, 0x1F, 0xD8, 0x71, 0xD2, 0x67, // .._..q.g
|
||
|
/* 10C8 */ 0xA0, 0x40, 0x51, 0xDE, 0x37, 0xF8, 0x09, 0x07, // .@Q.7...
|
||
|
/* 10D0 */ 0x5C, 0x83, 0xF3, 0x09, 0x07, 0xBC, 0x87, 0x23, // \......#
|
||
|
/* 10D8 */ 0x1F, 0x4B, 0xC0, 0x77, 0xD0, 0x84, 0x73, 0x81, // .K.w..s.
|
||
|
/* 10E0 */ 0xF1, 0x8D, 0x8D, 0x9D, 0x06, 0xC0, 0x76, 0x00, // ......v.
|
||
|
/* 10E8 */ 0x06, 0xDF, 0x69, 0x00, 0x1C, 0xC7, 0x24, 0x7E, // ..i...$~
|
||
|
/* 10F0 */ 0x3A, 0x04, 0x13, 0xCC, 0xC1, 0xBC, 0x34, 0xFB, // :.....4.
|
||
|
/* 10F8 */ 0xFF, 0xEF, 0xFD, 0x94, 0x43, 0xCF, 0x86, 0x80, // ....C...
|
||
|
/* 1100 */ 0x75, 0x49, 0x07, 0x43, 0x94, 0x88, 0xB3, 0x21, // uI.C...!
|
||
|
/* 1108 */ 0x20, 0xFD, 0xFF, 0x7F, 0x36, 0xC4, 0x20, 0xC4, // ...6. .
|
||
|
/* 1110 */ 0x09, 0xFC, 0x12, 0xD1, 0xDC, 0xD9, 0x90, 0xAE, // ........
|
||
|
/* 1118 */ 0xD8, 0x67, 0x43, 0x80, 0xE1, 0xFF, 0xFF, 0x23, // .gC....#
|
||
|
/* 1120 */ 0x00, 0xF6, 0x7C, 0x04, 0x38, 0x3D, 0x64, 0x83, // ..|.8=d.
|
||
|
/* 1128 */ 0xE7, 0x14, 0x08, 0xE3, 0xE4, 0x03, 0x38, 0xFE, // ......8.
|
||
|
/* 1130 */ 0xFF, 0x8F, 0x15, 0xE6, 0x18, 0x78, 0xEA, 0x97, // .....x..
|
||
|
/* 1138 */ 0x9B, 0x8F, 0x03, 0x54, 0xD4, 0x2B, 0xC2, 0x30, // ...T.+.0
|
||
|
/* 1140 */ 0x94, 0xC5, 0x87, 0x05, 0x1F, 0x11, 0xF8, 0x61, // .......a
|
||
|
/* 1148 */ 0xC1, 0x23, 0xA8, 0x78, 0x9C, 0xF4, 0x74, 0xE3, // .#.x..t.
|
||
|
/* 1150 */ 0x33, 0x21, 0x3B, 0x24, 0x38, 0xFC, 0x20, 0xE9, // 3!;$8. .
|
||
|
/* 1158 */ 0x41, 0x13, 0x3C, 0xE7, 0x23, 0x78, 0xB7, 0x1E, // A.<.#x..
|
||
|
/* 1160 */ 0x38, 0xA7, 0x02, 0xC0, 0x4D, 0xAE, 0x27, 0xA3, // 8...M.'.
|
||
|
/* 1168 */ 0x4E, 0x17, 0x0E, 0x70, 0x8E, 0x92, 0x8D, 0x63, // N..p...c
|
||
|
/* 1170 */ 0x08, 0xE5, 0x70, 0xCC, 0xB7, 0x87, 0xA6, 0xC9, // ..p.....
|
||
|
/* 1178 */ 0x4E, 0x56, 0x30, 0x63, 0x41, 0xEA, 0x24, 0xE0, // NV0cA.$.
|
||
|
/* 1180 */ 0x01, 0x38, 0x10, 0x8C, 0xB4, 0x93, 0x68, 0x34, // .8....h4
|
||
|
/* 1188 */ 0x86, 0xB3, 0x5A, 0x18, 0xC1, 0x19, 0xC4, 0xC7, // ..Z.....
|
||
|
/* 1190 */ 0x11, 0xE7, 0x3A, 0x19, 0xA1, 0x3F, 0x07, 0x3E, // ..:..?.>
|
||
|
/* 1198 */ 0x15, 0x61, 0x82, 0xDC, 0x4B, 0xE8, 0xBC, 0x7D, // .a..K..}
|
||
|
/* 11A0 */ 0x37, 0xE0, 0x57, 0x61, 0x8F, 0xC5, 0xFF, 0x7F, // 7.Wa....
|
||
|
/* 11A8 */ 0x60, 0xDF, 0x4E, 0xC0, 0x31, 0x17, 0xAB, 0x01, // `.N.1...
|
||
|
/* 11B0 */ 0x45, 0x0D, 0xC0, 0x68, 0x98, 0x53, 0xC0, 0x53, // E..h.S.S
|
||
|
/* 11B8 */ 0x09, 0xB8, 0x82, 0xCD, 0x0D, 0x7D, 0x61, 0xB1, // .....}a.
|
||
|
/* 11C0 */ 0xD6, 0xA9, 0xE8, 0x14, 0xF4, 0x3E, 0x70, 0x70, // .....>pp
|
||
|
/* 11C8 */ 0xC0, 0x63, 0xF6, 0x1E, 0x1C, 0x2C, 0x34, 0x0F, // .c...,4.
|
||
|
/* 11D0 */ 0x0E, 0x6C, 0xD9, 0x06, 0x87, 0x56, 0x72, 0x17, // .l...Vr.
|
||
|
/* 11D8 */ 0x21, 0x87, 0x0F, 0xFC, 0xEC, 0x80, 0x03, 0xA0, // !.......
|
||
|
/* 11E0 */ 0x67, 0x07, 0x0B, 0xC9, 0xB3, 0x03, 0x9B, 0xBE, // g.......
|
||
|
/* 11E8 */ 0xB3, 0x08, 0x28, 0x70, 0xFE, 0xFF, 0x11, 0xDE, // ..(p....
|
||
|
/* 11F0 */ 0x3B, 0x7C, 0x6E, 0x79, 0xF6, 0x60, 0x63, 0x78, // ;|ny.`cx
|
||
|
/* 11F8 */ 0x74, 0x31, 0x9A, 0xD1, 0xB9, 0xA6, 0xDB, 0x04, // t1......
|
||
|
/* 1200 */ 0x4A, 0xC5, 0x6D, 0x82, 0x82, 0xF8, 0x06, 0xE0, // J.m.....
|
||
|
/* 1208 */ 0x84, 0x34, 0xBA, 0x75, 0xE2, 0x66, 0x62, 0xFC, // .4.u.fb.
|
||
|
/* 1210 */ 0x47, 0x0C, 0x1F, 0x11, 0x0E, 0xE9, 0x6C, 0x4D, // G.....lM
|
||
|
/* 1218 */ 0x30, 0x0F, 0xA4, 0x9E, 0x81, 0xBE, 0xB3, 0xE1, // 0.......
|
||
|
/* 1220 */ 0x67, 0x1F, 0xF2, 0xC1, 0xC5, 0xD3, 0xF0, 0xF5, // g.......
|
||
|
/* 1228 */ 0x86, 0xDC, 0x3B, 0xE8, 0xB4, 0x7D, 0x66, 0xC0, // ..;..}f.
|
||
|
/* 1230 */ 0x1C, 0x74, 0x7D, 0x9D, 0x7A, 0x83, 0x27, 0x57, // .t}.z.'W
|
||
|
/* 1238 */ 0x09, 0xEA, 0xE1, 0x02, 0x42, 0x2F, 0x34, 0xBE, // ....B/4.
|
||
|
/* 1240 */ 0xDC, 0x25, 0x78, 0xE0, 0xF4, 0xE9, 0xEE, 0xBD, // .%x.....
|
||
|
/* 1248 */ 0x84, 0x9D, 0xF1, 0x12, 0xBC, 0xE0, 0x25, 0x98, // ......%.
|
||
|
/* 1250 */ 0x77, 0x10, 0xA8, 0x51, 0x79, 0x10, 0x98, 0xAB, // w..Qy...
|
||
|
/* 1258 */ 0x3C, 0xCB, 0x37, 0x06, 0x54, 0xB2, 0x8B, 0x16, // <.7.T...
|
||
|
/* 1260 */ 0x3D, 0xC3, 0xBC, 0xC3, 0xF8, 0x92, 0xE0, 0xEB, // =.......
|
||
|
/* 1268 */ 0x87, 0xCF, 0x2D, 0x5E, 0xC0, 0xEB, 0x16, 0x0C, // ..-^....
|
||
|
/* 1270 */ 0x82, 0x67, 0xA0, 0x57, 0x17, 0xDF, 0xD9, 0x0D, // .g.W....
|
||
|
/* 1278 */ 0xFC, 0x2A, 0xF0, 0x46, 0x13, 0x22, 0x98, 0x61, // .*.F.".a
|
||
|
/* 1280 */ 0x0F, 0xFF, 0xDD, 0xDD, 0xA8, 0xBE, 0xE9, 0x18, // ........
|
||
|
/* 1288 */ 0xEB, 0x75, 0xC4, 0x23, 0xE5, 0xC7, 0x96, 0x03, // .u.#....
|
||
|
/* 1290 */ 0x8A, 0xF4, 0xF2, 0xE6, 0x09, 0xF8, 0x2C, 0xE3, // ......,.
|
||
|
/* 1298 */ 0x53, 0xDD, 0x49, 0xF9, 0x7A, 0x68, 0xF4, 0x57, // S.I.zh.W
|
||
|
/* 12A0 */ 0x08, 0x1F, 0x7E, 0x8C, 0xEC, 0x73, 0x0E, 0x3B, // ..~..s.;
|
||
|
/* 12A8 */ 0xDF, 0xB1, 0x41, 0x71, 0xC4, 0x07, 0x86, 0x97, // ..Aq....
|
||
|
/* 12B0 */ 0x1A, 0x4F, 0x85, 0x9D, 0xBB, 0x60, 0x1C, 0x1C, // .O...`..
|
||
|
/* 12B8 */ 0xD8, 0xB1, 0x08, 0x73, 0x7C, 0x05, 0xD7, 0xC9, // ...s|...
|
||
|
/* 12C0 */ 0xE6, 0xFF, 0xFF, 0xE4, 0x00, 0x6E, 0x78, 0xCC, // .....nx.
|
||
|
/* 12C8 */ 0xC1, 0xD7, 0xE7, 0x0D, 0xDF, 0x0C, 0x3C, 0x2E, // ......<.
|
||
|
/* 12D0 */ 0x7E, 0xE4, 0xF0, 0x49, 0xE3, 0xA5, 0xD3, 0xD8, // ~..I....
|
||
|
/* 12D8 */ 0xA7, 0xE9, 0xA3, 0xD1, 0xCB, 0x9B, 0x4F, 0x2F, // ......O/
|
||
|
/* 12E0 */ 0x18, 0x58, 0x5F, 0x1A, 0x38, 0xAC, 0xD1, 0xC2, // .X_.8...
|
||
|
/* 12E8 */ 0x3E, 0x06, 0x9C, 0xB9, 0x2F, 0x44, 0xB8, 0xC3, // >.../D..
|
||
|
/* 12F0 */ 0x23, 0x58, 0x00, 0xF1, 0xB7, 0x92, 0x47, 0x0E, // #X....G.
|
||
|
/* 12F8 */ 0x4F, 0xC0, 0x80, 0x4C, 0xD3, 0xBA, 0x74, 0x20, // O..L..t
|
||
|
/* 1300 */ 0xE2, 0xA7, 0x3C, 0x2B, 0x5F, 0x99, 0x2E, 0x43, // ..<+_..C
|
||
|
/* 1308 */ 0x0C, 0xE3, 0xA9, 0xF2, 0xF1, 0xC3, 0xB3, 0xF1, // ........
|
||
|
/* 1310 */ 0x51, 0xC0, 0xC7, 0x28, 0xCF, 0xFC, 0x8C, 0x22, // Q..(..."
|
||
|
/* 1318 */ 0xBD, 0x32, 0x10, 0x50, 0x9D, 0x88, 0xB8, 0x42, // .2.P...B
|
||
|
/* 1320 */ 0x18, 0x89, 0xA1, 0xD1, 0x9D, 0x83, 0xC7, 0x1F, // ........
|
||
|
/* 1328 */ 0x22, 0x05, 0x31, 0xA0, 0x6F, 0x2E, 0xC0, 0xF4, // ".1.o...
|
||
|
/* 1330 */ 0x4C, 0x04, 0x5C, 0xFE, 0xFF, 0x37, 0x17, 0x80, // L.\..7..
|
||
|
/* 1338 */ 0xFF, 0xFF, 0xFF, 0x9B, 0x0B, 0xE0, 0xE6, 0xFE, // ........
|
||
|
/* 1340 */ 0xE0, 0x9B, 0x0B, 0x70, 0x8D, 0xB4, 0x2A, 0x7A, // ...p..*z
|
||
|
/* 1348 */ 0x61, 0x77, 0x08, 0x18, 0xD4, 0x9D, 0x1D, 0x70, // aw.....p
|
||
|
/* 1350 */ 0x78, 0x2B, 0x78, 0x67, 0x87, 0xF5, 0xFF, 0xBF, // x+xg....
|
||
|
/* 1358 */ 0xB3, 0xC3, 0xC3, 0x8C, 0x13, 0xE5, 0x85, 0x21, // .......!
|
||
|
/* 1360 */ 0xC6, 0x3B, 0x3B, 0x0B, 0xF0, 0x26, 0xD0, 0x51, // .;;..&.Q
|
||
|
/* 1368 */ 0xC6, 0x77, 0x76, 0x80, 0x1F, 0x67, 0xD8, 0x77, // .wv..g.w
|
||
|
/* 1370 */ 0x69, 0xF0, 0x5E, 0x75, 0x81, 0xF5, 0xFF, 0xFF, // i.^u....
|
||
|
/* 1378 */ 0xAA, 0x0B, 0x3C, 0x04, 0xDF, 0xA7, 0x41, 0x3E, // ..<...A>
|
||
|
/* 1380 */ 0x5E, 0x30, 0x8C, 0x83, 0x2B, 0x27, 0xA1, 0xC7, // ^0..+'..
|
||
|
/* 1388 */ 0x02, 0x6B, 0x85, 0x41, 0xDD, 0xA9, 0xC1, 0xA5, // .k.A....
|
||
|
/* 1390 */ 0x09, 0x5C, 0x17, 0x5F, 0x1F, 0x6A, 0x7C, 0xA4, // .\._.j|.
|
||
|
/* 1398 */ 0xC5, 0x9F, 0x2F, 0x70, 0x01, 0x86, 0x4C, 0x4F, // ../p..LO
|
||
|
/* 13A0 */ 0x65, 0x30, 0xAE, 0x29, 0x3E, 0x95, 0x61, 0xEE, // e0.)>.a.
|
||
|
/* 13A8 */ 0x0E, 0x1E, 0x90, 0x8F, 0x18, 0xC0, 0x67, 0x15, // ......g.
|
||
|
/* 13B0 */ 0x1E, 0x18, 0xEE, 0xB4, 0xE0, 0x9B, 0x92, 0x41, // .......A
|
||
|
/* 13B8 */ 0xCF, 0x31, 0xA8, 0x8F, 0x3C, 0x27, 0xEF, 0x7B, // .1..<'.{
|
||
|
/* 13C0 */ 0xC2, 0xE3, 0x84, 0xA3, 0x9E, 0x83, 0xE8, 0xD8, // ........
|
||
|
/* 13C8 */ 0xC0, 0x71, 0xDC, 0xC0, 0xFD, 0xFF, 0xC7, 0x06, // .q......
|
||
|
/* 13D0 */ 0xEF, 0x70, 0x83, 0x3B, 0xE8, 0xF8, 0x62, 0x70, // .p.;..bp
|
||
|
/* 13D8 */ 0x5C, 0x18, 0xB8, 0xE7, 0x02, 0x0F, 0xC3, 0x37, // \......7
|
||
|
/* 13E0 */ 0x1D, 0x8F, 0x08, 0x33, 0xFE, 0xD7, 0x3F, 0x23, // ...3..?#
|
||
|
/* 13E8 */ 0x04, 0xC4, 0x5F, 0x8C, 0xD8, 0x80, 0xC1, 0x78, // .._....x
|
||
|
/* 13F0 */ 0x6B, 0xF3, 0xF5, 0x0D, 0x37, 0x60, 0x5F, 0x1D, // k...7`_.
|
||
|
/* 13F8 */ 0x7C, 0xC1, 0xF0, 0x09, 0xCC, 0xE8, 0x2F, 0x30, // |...../0
|
||
|
/* 1400 */ 0x4F, 0x62, 0x3E, 0x36, 0x90, 0x0B, 0x1C, 0x1D, // Ob>6....
|
||
|
/* 1408 */ 0x30, 0x38, 0x00, 0x3D, 0x60, 0xF8, 0x87, 0x8B, // 08.=`...
|
||
|
/* 1410 */ 0x77, 0x39, 0x30, 0x5C, 0x05, 0x7D, 0x5C, 0xF0, // w90\.}\.
|
||
|
/* 1418 */ 0xB1, 0xC7, 0x8A, 0xEE, 0x72, 0xE8, 0x9B, 0x9C, // ....r...
|
||
|
/* 1420 */ 0x61, 0xE2, 0x18, 0xE2, 0x0D, 0x8C, 0xDD, 0x25, // a......%
|
||
|
/* 1428 */ 0xC8, 0x61, 0x0E, 0xEA, 0x5D, 0xC2, 0x73, 0xE0, // .a..].s.
|
||
|
/* 1430 */ 0x67, 0x0B, 0x9F, 0xE0, 0x7C, 0xF3, 0x09, 0x71, // g...|..q
|
||
|
/* 1438 */ 0xAA, 0x8F, 0x56, 0xEF, 0x01, 0x3E, 0x7A, 0xBC, // ..V..>z.
|
||
|
/* 1440 */ 0x77, 0xF9, 0xEC, 0xC4, 0x2E, 0x02, 0x3E, 0x72, // w.....>r
|
||
|
/* 1448 */ 0x19, 0xC7, 0xD3, 0xF4, 0x15, 0xD0, 0x43, 0x36, // ......C6
|
||
|
/* 1450 */ 0xD8, 0xAB, 0x86, 0x4F, 0x60, 0x3E, 0xBA, 0xE1, // ...O`>..
|
||
|
/* 1458 */ 0x8E, 0x51, 0x9E, 0x89, 0xA7, 0xEF, 0x3B, 0x08, // .Q....;.
|
||
|
/* 1460 */ 0x3B, 0x92, 0x1C, 0x75, 0xA8, 0x6B, 0x7A, 0x44, // ;..u.kzD
|
||
|
/* 1468 */ 0xF9, 0xFF, 0x9F, 0xD0, 0x81, 0xF8, 0xD6, 0x06, // ........
|
||
|
/* 1470 */ 0xCE, 0x68, 0xF7, 0x0F, 0xF4, 0x36, 0x3D, 0x32, // .h...6=2
|
||
|
/* 1478 */ 0xCC, 0xD1, 0x00, 0xD6, 0x25, 0x04, 0x5C, 0x77, // ....%.\w
|
||
|
/* 1480 */ 0x0C, 0x5F, 0x42, 0x80, 0x4F, 0xD0, 0x4B, 0x04, // ._B.O.K.
|
||
|
/* 1488 */ 0xFA, 0x9A, 0xE1, 0xD1, 0x3D, 0x02, 0x60, 0xAE, // ....=.`.
|
||
|
/* 1490 */ 0x18, 0xEC, 0x58, 0xE0, 0xC3, 0x86, 0xAF, 0x01, // ..X.....
|
||
|
/* 1498 */ 0xEC, 0x5E, 0xE0, 0x30, 0xF7, 0x08, 0x50, 0x81, // .^.0..P.
|
||
|
/* 14A0 */ 0x7A, 0x78, 0xF0, 0xD5, 0xDE, 0x23, 0x40, 0x71, // zx...#@q
|
||
|
/* 14A8 */ 0xB2, 0xF4, 0xA1, 0xC1, 0x03, 0xB5, 0xAA, 0x33, // .......3
|
||
|
/* 14B0 */ 0x26, 0x94, 0x23, 0x26, 0x3F, 0x9B, 0xF9, 0x26, // &.#&?..&
|
||
|
/* 14B8 */ 0x81, 0xB9, 0x5D, 0xFA, 0x26, 0x01, 0x37, 0xCF, // ..].&.7.
|
||
|
/* 14C0 */ 0x2C, 0x50, 0x49, 0x20, 0xF4, 0xFF, 0xBF, 0x49, // ,PI ...I
|
||
|
/* 14C8 */ 0xC0, 0x85, 0xE9, 0xF2, 0x32, 0x43, 0xE7, 0x7F, // ....2C..
|
||
|
/* 14D0 */ 0xE0, 0xBE, 0xD5, 0x79, 0x84, 0x3E, 0x44, 0x30, // ...y.>D0
|
||
|
/* 14D8 */ 0x94, 0xF7, 0x3C, 0x9F, 0xC2, 0xF8, 0x19, 0xC2, // ..<.....
|
||
|
/* 14E0 */ 0x07, 0x4C, 0x76, 0xA6, 0xE0, 0x67, 0x4D, 0xDC, // .Lv..gM.
|
||
|
/* 14E8 */ 0x1D, 0xC0, 0x28, 0x6F, 0x9E, 0x9E, 0x00, 0x3B, // ..(o...;
|
||
|
/* 14F0 */ 0x7F, 0x1A, 0xF9, 0xDD, 0xE0, 0x5D, 0xC0, 0xD3, // .....]..
|
||
|
/* 14F8 */ 0xF7, 0xBD, 0x88, 0x9F, 0x28, 0xC0, 0x17, 0xEC, // ....(...
|
||
|
/* 1500 */ 0x4E, 0x07, 0x05, 0xFA, 0x84, 0x3C, 0x22, 0xA3, // N....<".
|
||
|
/* 1508 */ 0xFA, 0x88, 0xC0, 0x2F, 0x49, 0x60, 0x3C, 0x92, // .../I`<.
|
||
|
/* 1510 */ 0xF8, 0x40, 0x01, 0x84, 0xEE, 0x05, 0xA8, 0xD3, // .@......
|
||
|
/* 1518 */ 0x07, 0x47, 0x3D, 0xE3, 0x17, 0x54, 0x63, 0xBE, // .G=..Tc.
|
||
|
/* 1520 */ 0x5B, 0x3D, 0xC2, 0x79, 0x72, 0x98, 0xCB, 0x01, // [=.yr...
|
||
|
/* 1528 */ 0x8B, 0x73, 0x4D, 0x02, 0xD5, 0x71, 0x97, 0x8F, // .sM..q..
|
||
|
/* 1530 */ 0x0E, 0xEE, 0xB5, 0x15, 0xFB, 0xFF, 0x27, 0x38, // ......'8
|
||
|
/* 1538 */ 0xB8, 0x77, 0x96, 0x77, 0x3E, 0x43, 0x79, 0x90, // .w.w>Cy.
|
||
|
/* 1540 */ 0xE0, 0xBB, 0xB6, 0x82, 0xE3, 0xAA, 0x06, 0xE3, // ........
|
||
|
/* 1548 */ 0xD8, 0xC2, 0x2F, 0x79, 0x80, 0x9D, 0x61, 0x71, // ../y..aq
|
||
|
/* 1550 */ 0xC1, 0x7F, 0x0F, 0x03, 0x51, 0x89, 0x30, 0x28, // ....Q.0(
|
||
|
/* 1558 */ 0x02, 0xCB, 0xBB, 0xB7, 0x52, 0xF8, 0x43, 0x06, // ....R.C.
|
||
|
/* 1560 */ 0xE3, 0x4D, 0x81, 0x4F, 0x1A, 0x3B, 0x6A, 0xE0, // .M.O.;j.
|
||
|
/* 1568 */ 0xFB, 0xFF, 0x1F, 0x35, 0xD8, 0x86, 0x8A, 0xBB, // ...5....
|
||
|
/* 1570 */ 0x29, 0x82, 0x75, 0xAA, 0x98, 0x21, 0xF0, 0x60, // ).u..!.`
|
||
|
/* 1578 */ 0x0F, 0x00, 0x9F, 0xAF, 0x7C, 0x06, 0x50, 0x14, // ....|.P.
|
||
|
/* 1580 */ 0x18, 0xD4, 0xA1, 0x1D, 0xCE, 0x6D, 0x18, 0x70, // .....m.p
|
||
|
/* 1588 */ 0x30, 0x62, 0xDC, 0xA5, 0x10, 0xEE, 0x94, 0xDF, // 0b......
|
||
|
/* 1590 */ 0x51, 0x62, 0x3F, 0x97, 0xB3, 0xE9, 0xE2, 0xAE, // Qb?.....
|
||
|
/* 1598 */ 0xE6, 0x3E, 0x9D, 0xB0, 0x0B, 0x32, 0x8C, 0xB3, // .>...2..
|
||
|
/* 15A0 */ 0xC0, 0x23, 0xC0, 0xAB, 0x39, 0xBF, 0x20, 0x3F, // .#..9. ?
|
||
|
/* 15A8 */ 0x17, 0xBF, 0x10, 0x3C, 0x26, 0x85, 0x78, 0x53, // ...<&.xS
|
||
|
/* 15B0 */ 0x7A, 0x25, 0x36, 0xC6, 0x93, 0x71, 0x73, 0xB7, // z%6..qs.
|
||
|
/* 15B8 */ 0x62, 0x72, 0xDE, 0x79, 0x41, 0x36, 0xC6, 0xD1, // br.yA6..
|
||
|
/* 15C0 */ 0x44, 0x8C, 0x72, 0x6E, 0x0F, 0x03, 0x91, 0x5F, // D.rn..._
|
||
|
/* 15C8 */ 0x90, 0x7D, 0x3F, 0x79, 0x21, 0x88, 0x18, 0xCD, // .}?y!...
|
||
|
/* 15D0 */ 0x10, 0x41, 0x9F, 0x97, 0x8D, 0x15, 0x28, 0xDE, // .A....(.
|
||
|
/* 15D8 */ 0x0B, 0x32, 0x13, 0xF8, 0x56, 0xD0, 0xC1, 0xC5, // .2..V...
|
||
|
/* 15E0 */ 0x17, 0x64, 0xEC, 0xFF, 0xFF, 0x82, 0x0C, 0x30, // .d.....0
|
||
|
/* 15E8 */ 0xE2, 0x64, 0x04, 0xF8, 0x3C, 0x71, 0xE0, 0xCE, // .d..<q..
|
||
|
/* 15F0 */ 0x35, 0x30, 0xFE, 0xFF, 0x97, 0x6A, 0xD8, 0x27, // 50...j.'
|
||
|
/* 15F8 */ 0x1B, 0xC0, 0xD9, 0xD0, 0x7D, 0xB2, 0x01, 0xF7, // ....}...
|
||
|
/* 1600 */ 0x68, 0xE1, 0x1D, 0x4D, 0x10, 0x27, 0x1B, 0x0A, // h..M.'..
|
||
|
/* 1608 */ 0xE4, 0xE0, 0xEB, 0xA2, 0x70, 0x3C, 0xF4, 0x49, // ....p<.I
|
||
|
/* 1610 */ 0x84, 0x1E, 0x9D, 0x7C, 0x94, 0xC4, 0x9D, 0x19, // ...|....
|
||
|
/* 1618 */ 0x3C, 0x91, 0x77, 0x16, 0x8F, 0xE2, 0x65, 0xD0, // <.w...e.
|
||
|
/* 1620 */ 0xF7, 0x82, 0x13, 0x79, 0x7D, 0xB0, 0x9C, 0x63, // ...y}..c
|
||
|
/* 1628 */ 0x24, 0xA8, 0x46, 0xE2, 0xE3, 0x03, 0xFC, 0xEB, // $.F.....
|
||
|
/* 1630 */ 0x8B, 0x8F, 0x91, 0xF0, 0xF9, 0xFC, 0xC3, 0xF2, // ........
|
||
|
/* 1638 */ 0x60, 0x0C, 0xF9, 0xFF, 0x7F, 0x8A, 0xC4, 0x80, // `.......
|
||
|
/* 1640 */ 0x3C, 0xBB, 0x3C, 0x86, 0xF0, 0x0B, 0x24, 0xDC, // <.<...$.
|
||
|
/* 1648 */ 0xD3, 0xCC, 0x01, 0x60, 0x64, 0x5D, 0x1E, 0xD1, // ...`d]..
|
||
|
/* 1650 */ 0x67, 0x47, 0x8E, 0x11, 0xD7, 0x17, 0x45, 0x5F, // gG....E_
|
||
|
/* 1658 */ 0x81, 0x7D, 0x10, 0x38, 0x9F, 0xE7, 0x44, 0xB0, // .}.8..D.
|
||
|
/* 1660 */ 0x8E, 0x9A, 0x1F, 0x6D, 0xF8, 0xF8, 0x39, 0xF8, // ...m..9.
|
||
|
/* 1668 */ 0x5B, 0xC1, 0x03, 0xA5, 0x8F, 0x45, 0x21, 0x1E, // [....E!.
|
||
|
/* 1670 */ 0x91, 0xF8, 0x39, 0x11, 0x5C, 0x26, 0xCE, 0x89, // ..9.\&..
|
||
|
/* 1678 */ 0x40, 0xE2, 0xD0, 0x0B, 0xE3, 0xB4, 0x80, 0x1B, // @.......
|
||
|
/* 1680 */ 0x88, 0xCF, 0x94, 0xD8, 0x29, 0x9F, 0x08, 0x3B, // ....)..;
|
||
|
/* 1688 */ 0x97, 0x60, 0x46, 0x07, 0xAE, 0xCB, 0xBD, 0x47, // .`F....G
|
||
|
/* 1690 */ 0x07, 0xFE, 0x93, 0x00, 0x1E, 0xEB, 0xFF, 0xFF, // ........
|
||
|
/* 1698 */ 0x78, 0x07, 0xBE, 0x93, 0xBA, 0xEF, 0x26, 0xBE, // x.....&.
|
||
|
/* 16A0 */ 0xC8, 0xF8, 0x50, 0xF4, 0x7C, 0x07, 0xF8, 0x0F, // ..P.|...
|
||
|
/* 16A8 */ 0x77, 0xB8, 0x43, 0xC5, 0x39, 0xDF, 0x01, 0xD2, // w.C.9...
|
||
|
/* 16B0 */ 0xFE, 0xFF, 0xE7, 0x3B, 0x60, 0x79, 0xB6, 0x7E, // ...;`y.~
|
||
|
/* 16B8 */ 0xBE, 0x03, 0xBB, 0xC8, 0xF3, 0x1D, 0x40, 0xAC, // ......@.
|
||
|
/* 16C0 */ 0xFF, 0xFF, 0xF9, 0x0E, 0xB0, 0x73, 0x46, 0xC3, // .....sF.
|
||
|
/* 16C8 */ 0x9D, 0xEF, 0xC0, 0x76, 0xB4, 0x01, 0xCC, 0x4D, // ...v...M
|
||
|
/* 16D0 */ 0xE3, 0xD1, 0x06, 0xDC, 0xC3, 0x85, 0x3D, 0x0C, // ......=.
|
||
|
/* 16D8 */ 0xAE, 0xD0, 0xA6, 0x4F, 0x8D, 0x46, 0xAD, 0x1A, // ...O.F..
|
||
|
/* 16E0 */ 0x94, 0xA9, 0x51, 0xE6, 0xFF, 0xDF, 0xA0, 0x56, // ..Q....V
|
||
|
/* 16E8 */ 0x9F, 0x4A, 0x8D, 0x19, 0xCB, 0x0E, 0xA5, 0x80, // .J......
|
||
|
/* 16F0 */ 0x8F, 0x0A, 0x8D, 0xCD, 0xF2, 0x28, 0x04, 0x62, // .....(.b
|
||
|
/* 16F8 */ 0x31, 0xAF, 0x06, 0x81, 0x38, 0x2C, 0x08, 0x8D, // 1...8,..
|
||
|
/* 1700 */ 0xF4, 0xCA, 0x11, 0x88, 0x25, 0x3F, 0xFB, 0x05, // ....%?..
|
||
|
/* 1708 */ 0x62, 0xB9, 0x6F, 0x06, 0x81, 0x38, 0xE0, 0x1B, // b.o..8..
|
||
|
/* 1710 */ 0x4C, 0xE0, 0xE4, 0x61, 0x25, 0x70, 0xF2, 0x6E, // L..a%p.n
|
||
|
/* 1718 */ 0x10, 0x88, 0x23, 0x83, 0x50, 0xA1, 0x3A, 0x40, // ..#.P.:@
|
||
|
/* 1720 */ 0x58, 0x4C, 0x10, 0x1A, 0xCA, 0x07, 0x08, 0x93, // XL......
|
||
|
/* 1728 */ 0xFE, 0x48, 0x10, 0x20, 0x31, 0x02, 0xC2, 0xC2, // .H. 1...
|
||
|
/* 1730 */ 0xBD, 0xBF, 0x04, 0x62, 0x69, 0xEF, 0x09, 0x81, // ...bi...
|
||
|
/* 1738 */ 0x58, 0x88, 0x15, 0x10, 0x16, 0x17, 0x84, 0x86, // X.......
|
||
|
/* 1740 */ 0xD3, 0x02, 0xC2, 0x24, 0x99, 0x01, 0x61, 0x81, // ...$..a.
|
||
|
/* 1748 */ 0x40, 0xA8, 0x7C, 0x35, 0x20, 0x4C, 0xA4, 0x1B, // @.|5 L..
|
||
|
/* 1750 */ 0x40, 0xBA, 0x7A, 0x81, 0x38, 0x88, 0x1E, 0x10, // @.z.8...
|
||
|
/* 1758 */ 0x26, 0xC3, 0x0F, 0x08, 0x0B, 0x0D, 0x42, 0xA3, // &.....B.
|
||
|
/* 1760 */ 0x3D, 0x30, 0x04, 0x48, 0x0C, 0x81, 0xB0, 0xF8, // =0.H....
|
||
|
/* 1768 */ 0x8E, 0x40, 0x98, 0xF8, 0x57, 0x91, 0x40, 0x9C, // .@..W.@.
|
||
|
/* 1770 */ 0xDF, 0x12, 0xC4, 0x4D, 0x69, 0x88, 0x35, 0x01, // ...Mi.5.
|
||
|
/* 1778 */ 0x31, 0x0D, 0x9E, 0x80, 0x98, 0x22, 0x10, 0x01, // 1...."..
|
||
|
/* 1780 */ 0x39, 0xF6, 0xD3, 0x43, 0x40, 0xD6, 0x60, 0x0A, // 9..C@.`.
|
||
|
/* 1788 */ 0x88, 0x45, 0x07, 0x11, 0x90, 0x85, 0xA8, 0x02, // .E......
|
||
|
/* 1790 */ 0x62, 0x79, 0x5D, 0x01, 0xB1, 0xF0, 0x20, 0x02, // by]... .
|
||
|
/* 1798 */ 0x72, 0xE6, 0x97, 0x9F, 0x80, 0xAC, 0xE0, 0xA5, // r.......
|
||
|
/* 17A0 */ 0xF3, 0x10, 0xC0, 0xDE, 0x10, 0x81, 0x48, 0x72, // ......Hr
|
||
|
/* 17A8 */ 0x10, 0x01, 0x39, 0xB0, 0x2F, 0x20, 0x16, 0x1F, // ..9./ ..
|
||
|
/* 17B0 */ 0x44, 0x40, 0xCE, 0xFA, 0x28, 0x14, 0x90, 0x83, // D@..(...
|
||
|
/* 17B8 */ 0x83, 0x68, 0x10, 0xE4, 0x6B, 0x26, 0x20, 0xA7, // .h..k& .
|
||
|
/* 17C0 */ 0x07, 0x11, 0x10, 0xF9, 0x04, 0x05, 0x21, 0x6A, // ......!j
|
||
|
/* 17C8 */ 0xBD, 0x81, 0x30, 0x3D, 0x8F, 0x42, 0x0D, 0x85, // ..0=.B..
|
||
|
/* 17D0 */ 0x80, 0x50, 0xE5, 0xEA, 0xCE, 0x31, 0x2C, 0x07, // .P...1,.
|
||
|
/* 17D8 */ 0x08, 0xCD, 0x05, 0x22, 0x30, 0xAB, 0x70, 0x07, // ..."0.p.
|
||
|
/* 17E0 */ 0xC4, 0x54, 0x81, 0x08, 0xC8, 0x09, 0x80, 0xC8, // .T......
|
||
|
/* 17E8 */ 0xFF, 0x9F, 0x60, 0x2A, 0x10, 0x9A, 0x12, 0x8C, // ..`*....
|
||
|
/* 17F0 */ 0xEA, 0x92, 0x07, 0xC4, 0x12, 0x80, 0xD0, 0x54, // .......T
|
||
|
/* 17F8 */ 0x20, 0x34, 0x25, 0x88, 0x00, 0xAD, 0xCA, 0x1E, // 4%.....
|
||
|
/* 1800 */ 0x10, 0x53, 0x0A, 0x42, 0x95, 0x83, 0xD0, 0x74, // .S.B...t
|
||
|
/* 1808 */ 0x20, 0x54, 0xB6, 0xBE, 0xC3, 0x02, 0x05, 0x11, // T......
|
||
|
/* 1810 */ 0x90, 0xA3, 0x83, 0x50, 0xE1, 0xFE, 0x40, 0x98, // ...P..@.
|
||
|
/* 1818 */ 0xDE, 0x97, 0x86, 0x00, 0x9D, 0x0E, 0x44, 0x40, // ......D@
|
||
|
/* 1820 */ 0x4E, 0x0C, 0x42, 0x15, 0x7C, 0x32, 0x82, 0x10, // N.B.|2..
|
||
|
/* 1828 */ 0xB1, 0x20, 0x54, 0xC1, 0x27, 0x23, 0x28, 0xD1, // . T.'#(.
|
||
|
/* 1830 */ 0xF2, 0xB2, 0x13, 0x90, 0xF5, 0x81, 0x50, 0xBD, // ......P.
|
||
|
/* 1838 */ 0x20, 0x02, 0x73, 0x36, 0x20, 0x9A, 0x17, 0x84, // .s6 ...
|
||
|
/* 1840 */ 0xE6, 0x07, 0xA3, 0x5A, 0x8D, 0x02, 0x31, 0xFD, // ...Z..1.
|
||
|
/* 1848 */ 0x20, 0x34, 0x0F, 0x88, 0xC0, 0xAC, 0xE0, 0xF9, // 4......
|
||
|
/* 1850 */ 0x71, 0xC0, 0x0C, 0x84, 0xAA, 0x04, 0x11, 0x98, // q.......
|
||
|
/* 1858 */ 0x73, 0x01, 0xD1, 0xAC, 0x20, 0x34, 0x3B, 0x18, // s... 4;.
|
||
|
/* 1860 */ 0xD5, 0xFE, 0x0F, 0xD1, 0x00, 0x08, 0x08, 0xCD, // ........
|
||
|
/* 1868 */ 0x07, 0xA2, 0xC3, 0x00, 0x79, 0x96, 0x09, 0xC8, // ....y...
|
||
|
/* 1870 */ 0x1A, 0x41, 0xA8, 0x66, 0x10, 0x81, 0x39, 0x27, // .A.f..9'
|
||
|
/* 1878 */ 0x10, 0xCD, 0x0E, 0x42, 0x95, 0xFD, 0x4D, 0x82, // ...B..M.
|
||
|
/* 1880 */ 0x91, 0x8C, 0x0F, 0xD0, 0x40, 0x24, 0x37, 0x08, // ....@$7.
|
||
|
/* 1888 */ 0xD5, 0xF1, 0x0C, 0x0A, 0x46, 0x74, 0x83, 0x08, // ....Ft..
|
||
|
/* 1890 */ 0xC8, 0x59, 0x40, 0x68, 0x36, 0x30, 0x9A, 0x4C, // .Y@h60.L
|
||
|
/* 1898 */ 0xED, 0x91, 0x80, 0xBA, 0x05, 0x61, 0xE9, 0x41, // .....a.A
|
||
|
/* 18A0 */ 0x68, 0x3A, 0xBB, 0x83, 0xA7, 0x20, 0x54, 0x81, // h:... T.
|
||
|
/* 18A8 */ 0x5E, 0x30, 0xA6, 0x19, 0x44, 0x87, 0x05, 0x02, // ^0..D...
|
||
|
/* 18B0 */ 0x42, 0x73, 0x81, 0x51, 0x1D, 0xAF, 0x96, 0x40, // Bs.Q...@
|
||
|
/* 18B8 */ 0x44, 0x1B, 0x08, 0xD5, 0x0A, 0xA2, 0x81, 0x93, // D.......
|
||
|
/* 18C0 */ 0x1F, 0x53, 0x10, 0x92, 0x14, 0x84, 0xFC, 0xFF, // .S......
|
||
|
/* 18C8 */ 0x07, 0xAA, 0xC7, 0x9C, 0x40, 0xAC, 0xFA, 0x5B, // ....@..[
|
||
|
/* 18D0 */ 0x25, 0x50, 0x27, 0x01, 0xA1, 0xC9, 0x40, 0x74, // %P'...@t
|
||
|
/* 18D8 */ 0x7C, 0x20, 0x0F, 0xB8, 0x83, 0x64, 0x20, 0x54, // | ...d T
|
||
|
/* 18E0 */ 0x29, 0x88, 0xC0, 0xAC, 0xF4, 0x63, 0xA4, 0x23, // )....c.#
|
||
|
/* 18E8 */ 0x05, 0x51, 0x7D, 0xBC, 0xA0, 0x20, 0x34, 0xD1, // .Q}.. 4.
|
||
|
/* 18F0 */ 0x3B, 0x2C, 0x08, 0x7B, 0xB8, 0x69, 0xA8, 0xE4, // ;,.{.i..
|
||
|
/* 18F8 */ 0x59, 0xA5, 0xA1, 0x12, 0x10, 0x9A, 0x0D, 0x44, // Y......D
|
||
|
/* 1900 */ 0xC7, 0x04, 0xF2, 0xAA, 0x79, 0x4C, 0x60, 0x20, // ....yL`
|
||
|
/* 1908 */ 0x54, 0x2F, 0x08, 0xCD, 0x01, 0x42, 0x13, 0x83, // T/...B..
|
||
|
/* 1910 */ 0x08, 0xD4, 0xA9, 0xBF, 0x37, 0x1A, 0x2A, 0xF9, // ....7.*.
|
||
|
/* 1918 */ 0x5B, 0x09, 0xC4, 0xCA, 0x5E, 0x69, 0x02, 0xB1, // [...^i..
|
||
|
/* 1920 */ 0xDE, 0xA7, 0x4E, 0x20, 0xE6, 0x1D, 0x98, 0xA9, // ..N ....
|
||
|
/* 1928 */ 0x05, 0xA1, 0xEA, 0x41, 0x04, 0xE6, 0xB4, 0x40, // ...A...@
|
||
|
/* 1930 */ 0x54, 0x81, 0x78, 0x10, 0xA6, 0x08, 0x44, 0x60, // T.x...D`
|
||
|
/* 1938 */ 0x4E, 0x02, 0x44, 0xD3, 0x81, 0xD0, 0xEC, 0x60, // N.D....`
|
||
|
/* 1940 */ 0x54, 0xE7, 0xA3, 0x4D, 0x40, 0xD6, 0x0E, 0x42, // T..M@..B
|
||
|
/* 1948 */ 0xB3, 0x80, 0x08, 0xCC, 0x59, 0x1E, 0x69, 0x02, // ....Y.i.
|
||
|
/* 1950 */ 0xB1, 0x92, 0x2F, 0x9D, 0x0E, 0x24, 0x04, 0x84, // ../..$..
|
||
|
/* 1958 */ 0x26, 0xD3, 0x7F, 0x68, 0xA1, 0x05, 0x80, 0x99, // &..h....
|
||
|
/* 1960 */ 0x84, 0x04, 0x20, 0x4C, 0x16, 0x88, 0x0E, 0x27, // .. L...'
|
||
|
/* 1968 */ 0xD6, 0x08, 0x22, 0x40, 0xC7, 0x01, 0xA3, 0xD1, // .."@....
|
||
|
/* 1970 */ 0x40, 0x68, 0x5C, 0x40, 0x9A, 0x1D, 0x90, 0x2A, // @h\@...*
|
||
|
/* 1978 */ 0x6D, 0x00, 0xC6, 0x54, 0x83, 0xD0, 0x24, 0x20, // m..T..$
|
||
|
/* 1980 */ 0x02, 0x74, 0x2C, 0x10, 0x01, 0x5A, 0x74, 0x04, // .t,..Zt.
|
||
|
/* 1988 */ 0x30, 0x16, 0x01, 0x84, 0x46, 0x05, 0xA1, 0xC9, // 0...F...
|
||
|
/* 1990 */ 0x2A, 0x80, 0xB2, 0x9C, 0x20, 0x1A, 0x20, 0xC9, // *... . .
|
||
|
/* 1998 */ 0x30, 0x60, 0x0A, 0x42, 0x33, 0x81, 0xD0, 0x8C, // 0`.B3...
|
||
|
/* 19A0 */ 0x20, 0x54, 0x7C, 0x07, 0x10, 0x16, 0x04, 0x84, // T|.....
|
||
|
/* 19A8 */ 0x86, 0x03, 0xD1, 0x00, 0xFE, 0xFF, 0x8F, 0x0C, // ........
|
||
|
/* 19B0 */ 0x02, 0xD1, 0x00, 0x9C, 0x23, 0xC4, 0x61, 0x85, // ....#.a.
|
||
|
/* 19B8 */ 0x82, 0xD0, 0xF4, 0x20, 0x34, 0x6C, 0x09, 0x50, // ... 4l.P
|
||
|
/* 19C0 */ 0x16, 0x1D, 0x44, 0xC7, 0x23, 0x92, 0x02, 0x8C, // ..D.#...
|
||
|
/* 19C8 */ 0x05, 0x02, 0xA1, 0x31, 0x41, 0x68, 0x6C, 0x10, // ...1Ahl.
|
||
|
/* 19D0 */ 0x1A, 0x29, 0x06, 0x28, 0x13, 0x54, 0xE3, 0x50, // .).(.T.P
|
||
|
/* 19D8 */ 0x44, 0x7B, 0x80, 0x31, 0x99, 0x20, 0x54, 0x36, // D{.1. T6
|
||
|
/* 19E0 */ 0x88, 0xC0, 0x1C, 0x14, 0x88, 0x86, 0x07, 0xA1, // ........
|
||
|
/* 19E8 */ 0x62, 0x82, 0x00, 0x52, 0x10, 0x01, 0x12, 0x20, // b..R...
|
||
|
/* 19F0 */ 0x1A, 0x1E, 0x84, 0x8A, 0x29, 0x32, 0x74, 0x0A, // ....)2t.
|
||
|
/* 19F8 */ 0x42, 0x55, 0x24, 0x39, 0x9A, 0x50, 0x10, 0x1D, // BU$9.P..
|
||
|
/* 1A00 */ 0x4D, 0x08, 0x08, 0xCD, 0x07, 0x46, 0x75, 0x35, // M....Fu5
|
||
|
/* 1A08 */ 0x39, 0x6E, 0x50, 0x10, 0xAA, 0x1D, 0x84, 0x06, // 9nP.....
|
||
|
/* 1A10 */ 0x05, 0xA1, 0x39, 0xA2, 0x80, 0xB2, 0xEC, 0x20, // ..9....
|
||
|
/* 1A18 */ 0x02, 0xB2, 0x9E, 0x2A, 0x87, 0x0A, 0x0A, 0x22, // ...*..."
|
||
|
/* 1A20 */ 0x30, 0xA7, 0x02, 0xA2, 0x49, 0x41, 0xA8, 0x8E, // 0...IA..
|
||
|
/* 1A28 */ 0x2C, 0x47, 0x0A, 0x9A, 0x06, 0x84, 0x25, 0x06, // ,G....%.
|
||
|
/* 1A30 */ 0xA1, 0xC9, 0xDA, 0x80, 0xB0, 0x0C, 0x75, 0x0E, // ......u.
|
||
|
/* 1A38 */ 0x24, 0x14, 0x84, 0xE6, 0x04, 0xA1, 0x4A, 0xF2, // $.....J.
|
||
|
/* 1A40 */ 0x0C, 0x8F, 0x82, 0xE8, 0x38, 0x42, 0x80, 0x68, // ....8B.h
|
||
|
/* 1A48 */ 0x7A, 0x10, 0xAA, 0xA6, 0xCF, 0x00, 0x28, 0x88, // z.....(.
|
||
|
/* 1A50 */ 0x06, 0x40, 0x40, 0x68, 0x4E, 0x30, 0xAA, 0xA8, // .@@hN0..
|
||
|
/* 1A58 */ 0xD1, 0xD1, 0x84, 0x82, 0x50, 0xDD, 0x2F, 0x4E, // ....P./N
|
||
|
/* 1A60 */ 0x81, 0xF8, 0xFF, 0x0F // ....
|
||
|
}) /* END MBUF */
|
||
|
} /*end DefinitionBlock */
|
||
|
|