|
Al Stone |
69fdad |
/*
|
|
Al Stone |
69fdad |
* Some or all of this work - Copyright (c) 2006 - 2018, Intel Corp.
|
|
Al Stone |
69fdad |
* All rights reserved.
|
|
Al Stone |
69fdad |
*
|
|
Al Stone |
69fdad |
* Redistribution and use in source and binary forms, with or without modification,
|
|
Al Stone |
69fdad |
* are permitted provided that the following conditions are met:
|
|
Al Stone |
69fdad |
*
|
|
Al Stone |
69fdad |
* Redistributions of source code must retain the above copyright notice,
|
|
Al Stone |
69fdad |
* this list of conditions and the following disclaimer.
|
|
Al Stone |
69fdad |
* Redistributions in binary form must reproduce the above copyright notice,
|
|
Al Stone |
69fdad |
* this list of conditions and the following disclaimer in the documentation
|
|
Al Stone |
69fdad |
* and/or other materials provided with the distribution.
|
|
Al Stone |
69fdad |
* Neither the name of Intel Corporation nor the names of its contributors
|
|
Al Stone |
69fdad |
* may be used to endorse or promote products derived from this software
|
|
Al Stone |
69fdad |
* without specific prior written permission.
|
|
Al Stone |
69fdad |
*
|
|
Al Stone |
69fdad |
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
Al Stone |
69fdad |
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
Al Stone |
69fdad |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
Al Stone |
69fdad |
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
Al Stone |
69fdad |
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
Al Stone |
69fdad |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
Al Stone |
69fdad |
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
Al Stone |
69fdad |
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
Al Stone |
69fdad |
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
Al Stone |
69fdad |
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
Al Stone |
69fdad |
*/
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// Grammar.asl - Minimally excercises most ASL constructs
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// NOTE -- use: iasl -f -of grammar.asl to compile
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// This 1) Ignores errors (checks compiler error handling)
|
|
Al Stone |
69fdad |
// 2) Disables constant folding
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/*******************************************************************************
|
|
Al Stone |
69fdad |
Compilation should look like this:
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
C:\acpica\tests\misc>iasl -f -of grammar.asl
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Intel ACPI Component Architecture
|
|
Al Stone |
69fdad |
ASL Optimizing Compiler version 20090422 [Apr 22 2009]
|
|
Al Stone |
69fdad |
Copyright (C) 2000 - 2009 Intel Corporation
|
|
Al Stone |
69fdad |
Supports ACPI Specification Revision 3.0a
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 187: Name (_NPK, Package (8)
|
|
Al Stone |
69fdad |
Warning 1098 - ^ Unknown reserved name (_NPK)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 510: NAME (ESC1, "abcdefg\x00hijklmn")
|
|
Al Stone |
69fdad |
Warning 1042 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 511: NAME (ESC2, "abcdefg\000hijklmn")
|
|
Al Stone |
69fdad |
Warning 1042 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 601: Method (RCIV, 1)
|
|
Al Stone |
69fdad |
Warning 1087 - ^ Not all control paths return a value (RCIV)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 608: RCIV (Subtract (Arg0, 1))
|
|
Al Stone |
69fdad |
Remark 5073 - ^ Recursive method call (RCIV)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 937: Method (_ERR, 2)
|
|
Al Stone |
69fdad |
Warning 1077 - ^ Reserved method has too few arguments (_ERR requires 3)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 1377: Store (0x1234567887654321, QWD2)
|
|
Al Stone |
69fdad |
Warning 1032 - ^ 64-bit integer in 32-bit table, truncating
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 1379: if (LNotEqual (Local0, 0x1234567887654321))
|
|
Al Stone |
69fdad |
Warning 1032 - 64-bit integer in 32-bit table, truncating ^
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 1459: SizeOf (BUFO)
|
|
Al Stone |
69fdad |
Warning 1105 - ^ Result is not used, operator has no effect
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 1485: Acquire (MTX2, 1)
|
|
Al Stone |
69fdad |
Warning 1104 - ^ Possible operator timeout is ignored
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 1633: Add (Local0, Local1)
|
|
Al Stone |
69fdad |
Warning 1105 - ^ Result is not used, operator has no effect
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 1804: Method (COND)
|
|
Al Stone |
69fdad |
Warning 1087 - ^ Not all control paths return a value (COND)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 6010: Name (_HID, "*PNP0A06")
|
|
Al Stone |
69fdad |
Error 4001 - ^ String must be entirely alphanumeric (*PNP0A06)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 6461: Name (_CRS, Buffer(26) {"\_SB_.PCI2._CRS..........."})
|
|
Al Stone |
69fdad |
Warning 1038 - Invalid or unknown escape sequence ^
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 6800: And (Local0, 1, Local0) // Local0 &= 1
|
|
Al Stone |
69fdad |
Error 4050 - ^ Method local variable is not initialized (Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
grammar.asl 6886: Name (_HID, "*PNP0C0A") // Control Method Battey ID
|
|
Al Stone |
69fdad |
Error 4001 - ^ String must be entirely alphanumeric (*PNP0C0A)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
ASL Input: grammar.asl - 10254 lines, 322162 bytes, 4810 keywords
|
|
Al Stone |
69fdad |
AML Output: grammar.aml - 43392 bytes, 669 named objects, 4141 executable opcodes
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Compilation complete. 3 Errors, 12 Warnings, 1 Remarks, 1101 Optimizations
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
***************************************************************************************************/
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
DefinitionBlock (
|
|
Al Stone |
69fdad |
"grammar.aml", //Output filename
|
|
Al Stone |
69fdad |
"DSDT", //Signature
|
|
Al Stone |
69fdad |
0x01, //DSDT Revision ---> 32-bit table
|
|
Al Stone |
69fdad |
"Intel", //OEMID
|
|
Al Stone |
69fdad |
"GRMTEST", //TABLE ID
|
|
Al Stone |
69fdad |
0x20090511 //OEM Revision
|
|
Al Stone |
69fdad |
)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
External (\ABCD, UnknownObj)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Device with _STA and _INI */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (A1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Method (_STA)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (0x0F)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_INI)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Device with no _STA, has _INI */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (A2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Method (_INI)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Device with _STA, no _INI */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (A3)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Method (_STA)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (0x0F)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Device with _STA and _INI, but not present */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (A4)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Method (_STA)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (Zero)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_INI)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Resource descriptors */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (IRES)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (PRT0, ResourceTemplate ()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
IRQ (Edge, ActiveHigh, Exclusive) {3,4,5,6,7,9,10,11,14,15}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
StartDependentFn (1,1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
IRQNoFlags () {0,1,2}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
EndDependentFn ()
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_CRS, 0, NotSerialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("_CRS:", Debug)
|
|
Al Stone |
69fdad |
Store (PRT0, Debug)
|
|
Al Stone |
69fdad |
Return (PRT0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_SRS, 1, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("_SRS:", Debug)
|
|
Al Stone |
69fdad |
Store (Arg0, Debug)
|
|
Al Stone |
69fdad |
Return (Zero)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name (_NPK, Package ()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x1111,
|
|
Al Stone |
69fdad |
0x2222,
|
|
Al Stone |
69fdad |
0x3333,
|
|
Al Stone |
69fdad |
0x4444
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (RES)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (_PRT, Package (0x04)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Package (0x04)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x0002FFFF,
|
|
Al Stone |
69fdad |
Zero,
|
|
Al Stone |
69fdad |
Zero,
|
|
Al Stone |
69fdad |
Zero
|
|
Al Stone |
69fdad |
},
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Package (0x04)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x0002FFFF,
|
|
Al Stone |
69fdad |
One,
|
|
Al Stone |
69fdad |
Zero,
|
|
Al Stone |
69fdad |
Zero
|
|
Al Stone |
69fdad |
},
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Package (0x04)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x000AFFFF,
|
|
Al Stone |
69fdad |
Zero,
|
|
Al Stone |
69fdad |
Zero,
|
|
Al Stone |
69fdad |
Zero
|
|
Al Stone |
69fdad |
},
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Package (0x04)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x000BFFFF,
|
|
Al Stone |
69fdad |
Zero,
|
|
Al Stone |
69fdad |
Zero,
|
|
Al Stone |
69fdad |
Zero
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_CRS, 0, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (PRT0, ResourceTemplate ()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
|
|
Al Stone |
69fdad |
0x0000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0xFFF2, // Address Range Minimum
|
|
Al Stone |
69fdad |
0xFFF3, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0032, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x0002,,,)
|
|
Al Stone |
69fdad |
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
|
|
Al Stone |
69fdad |
0x0000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x0000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x00FF, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x0100,,,)
|
|
Al Stone |
69fdad |
WordSpace (0xC3, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
|
|
Al Stone |
69fdad |
0x0000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0xA000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0xBFFF, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x2000,,,)
|
|
Al Stone |
69fdad |
IO (Decode16, 0x0CF8, 0x0CFF, 0x01, 0x08)
|
|
Al Stone |
69fdad |
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
|
Al Stone |
69fdad |
0x0000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x0000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x0CF7, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x0CF8,,,
|
|
Al Stone |
69fdad |
, TypeStatic)
|
|
Al Stone |
69fdad |
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
|
Al Stone |
69fdad |
0x0000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x0D00, // Address Range Minimum
|
|
Al Stone |
69fdad |
0xFFFF, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0xF300,,,
|
|
Al Stone |
69fdad |
, TypeStatic)
|
|
Al Stone |
69fdad |
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
|
Al Stone |
69fdad |
0x00000000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x00000000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x00000CF7, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x00000000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x00000CF8,,,
|
|
Al Stone |
69fdad |
, TypeStatic)
|
|
Al Stone |
69fdad |
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
|
|
Al Stone |
69fdad |
0x00000000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x000C8000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x000EFFFF, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x00000000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x00028000,,,
|
|
Al Stone |
69fdad |
, AddressRangeMemory, TypeStatic)
|
|
Al Stone |
69fdad |
DWordSpace (0xC3, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
|
|
Al Stone |
69fdad |
0x00000000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x000C8000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x000EFFFF, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x00000000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x00028000,,,)
|
|
Al Stone |
69fdad |
QWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x0000000000000CF7, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x0000000000000CF8, 0x44, "This is a ResouceSource string",
|
|
Al Stone |
69fdad |
, TypeStatic)
|
|
Al Stone |
69fdad |
QWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x0000000000000CF7, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x0000000000000CF8,,,
|
|
Al Stone |
69fdad |
, TypeStatic)
|
|
Al Stone |
69fdad |
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x0000000000100000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x00000000FFDFFFFF, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x00000000FFD00000,,,
|
|
Al Stone |
69fdad |
, AddressRangeMemory, TypeStatic)
|
|
Al Stone |
69fdad |
QWordSpace (0xC3, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x0000000000000CF7, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x0000000000000CF8,,,)
|
|
Al Stone |
69fdad |
ExtendedIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x0000000000000CF7, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x0000000000000CF8, // Address Length
|
|
Al Stone |
69fdad |
0x0000000000000000, // Type Specific Attributes
|
|
Al Stone |
69fdad |
, TypeStatic)
|
|
Al Stone |
69fdad |
ExtendedMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x0000000000100000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x00000000FFDFFFFF, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x00000000FFD00000, // Address Length
|
|
Al Stone |
69fdad |
0x0000000000000000, // Type Specific Attributes
|
|
Al Stone |
69fdad |
, AddressRangeMemory, TypeStatic)
|
|
Al Stone |
69fdad |
ExtendedSpace (0xC3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0xA3,
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Space Granularity
|
|
Al Stone |
69fdad |
0x0000000000100000, // Address Range Minimum
|
|
Al Stone |
69fdad |
0x00000000FFDFFFFF, // Address Range Maximum
|
|
Al Stone |
69fdad |
0x0000000000000000, // Address Translation Offset
|
|
Al Stone |
69fdad |
0x00000000FFD00000, // Address Length
|
|
Al Stone |
69fdad |
0x0000000000000000) // Type Specific Attributes
|
|
Al Stone |
69fdad |
IO (Decode16, 0x0010, 0x0020, 0x01, 0x10)
|
|
Al Stone |
69fdad |
IO (Decode16, 0x0090, 0x00A0, 0x01, 0x10)
|
|
Al Stone |
69fdad |
FixedIO (0x0061, 0x01)
|
|
Al Stone |
69fdad |
IRQNoFlags () {2}
|
|
Al Stone |
69fdad |
DMA (Compatibility, BusMaster, Transfer8_16) {4}
|
|
Al Stone |
69fdad |
DMA (Compatibility, BusMaster, Transfer8) {2,5,7}
|
|
Al Stone |
69fdad |
Memory32Fixed (ReadWrite, 0x00100000, 0x00000000)
|
|
Al Stone |
69fdad |
Memory32Fixed (ReadOnly, 0xFFFE0000, 0x00020000)
|
|
Al Stone |
69fdad |
Memory32 (ReadOnly, 0x00020000, 0xFFFE0000, 0x00000004, 0x00000200)
|
|
Al Stone |
69fdad |
Memory24 (ReadOnly, 0x1111, 0x2222, 0x0004, 0x0200)
|
|
Al Stone |
69fdad |
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, 0xE, "\\_SB_.TEST")
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x00000E01,
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, 0x6, "xxxx")
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x00000601,
|
|
Al Stone |
69fdad |
0x00000003,
|
|
Al Stone |
69fdad |
0x00000002,
|
|
Al Stone |
69fdad |
0x00000001,
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Interrupt (ResourceProducer, Edge, ActiveHigh, Exclusive)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0xFFFF0000,
|
|
Al Stone |
69fdad |
0x00000003,
|
|
Al Stone |
69fdad |
0x00000002,
|
|
Al Stone |
69fdad |
0x00000001,
|
|
Al Stone |
69fdad |
0x00000005,
|
|
Al Stone |
69fdad |
0x00000007,
|
|
Al Stone |
69fdad |
0x00000009,
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
VendorShort () {0x01, 0x02, 0x03}
|
|
Al Stone |
69fdad |
VendorLong ()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
|
|
Al Stone |
69fdad |
0x09
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Register (SystemIO, 0x08, 0x00, 0x00000000000000B2, , R000)
|
|
Al Stone |
69fdad |
Register (SystemMemory, 0x08, 0x00, 0x00000000000000B2)
|
|
Al Stone |
69fdad |
StartDependentFnNoPri ()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
IRQNoFlags () {0,1,2}
|
|
Al Stone |
69fdad |
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,14,15}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
EndDependentFn ()
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
CreateWordField (PRT0, 0x08, BMIN)
|
|
Al Stone |
69fdad |
CreateByteField (PRT0, R000._ASZ, RSIZ)
|
|
Al Stone |
69fdad |
Store (0x03, BMIN)
|
|
Al Stone |
69fdad |
Return (PRT0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_PRS, 0, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (BUF0, ResourceTemplate ()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
StartDependentFn (0x01, 0x02)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
IO (Decode16, 0x03D8, 0x03F8, 0x01, 0x08)
|
|
Al Stone |
69fdad |
IRQNoFlags () {4}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
StartDependentFn (0x02, 0x01)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
IO (Decode16, 0x03D8, 0x03E8, 0x01, 0x08)
|
|
Al Stone |
69fdad |
IRQNoFlags () {4}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
StartDependentFn (0x00, 0x02)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
IO (Decode16, 0x02E8, 0x02F8, 0x01, 0x08)
|
|
Al Stone |
69fdad |
IRQNoFlags () {3}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
StartDependentFn (0x00, 0x02)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
IO (Decode16, 0x02D8, 0x02E8, 0x01, 0x08)
|
|
Al Stone |
69fdad |
IRQNoFlags () {3}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
StartDependentFn (0x02, 0x00)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
IO (Decode16, 0x0100, 0x03F8, 0x08, 0x08)
|
|
Al Stone |
69fdad |
IRQNoFlags () {1,3,4,5,6,7,8,10,11,12,13,14,15}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
EndDependentFn ()
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
Return (BUF0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_SRS, 1, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (Zero)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name(\_S0,Package(0x04){
|
|
Al Stone |
69fdad |
0x00,
|
|
Al Stone |
69fdad |
0x00,
|
|
Al Stone |
69fdad |
0x00,
|
|
Al Stone |
69fdad |
0x00
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
Name(\_S3,Package(0x04){
|
|
Al Stone |
69fdad |
0x05,
|
|
Al Stone |
69fdad |
0x05,
|
|
Al Stone |
69fdad |
0x00,
|
|
Al Stone |
69fdad |
0x00
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
Name(\_S4,Package(0x04){
|
|
Al Stone |
69fdad |
0x06,
|
|
Al Stone |
69fdad |
0x06,
|
|
Al Stone |
69fdad |
0x00,
|
|
Al Stone |
69fdad |
0x00
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
Name(\_S5,Package(0x04){
|
|
Al Stone |
69fdad |
0x07,
|
|
Al Stone |
69fdad |
0x07,
|
|
Al Stone |
69fdad |
0x00,
|
|
Al Stone |
69fdad |
0x00
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Examine this table header (DSDT) */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/*
|
|
Al Stone |
69fdad |
DataTableRegion (HDR, "DSDT", "", "")
|
|
Al Stone |
69fdad |
Field (HDR, AnyAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
SIG, 32,
|
|
Al Stone |
69fdad |
LENG, 32,
|
|
Al Stone |
69fdad |
REV, 8,
|
|
Al Stone |
69fdad |
SUM, 8,
|
|
Al Stone |
69fdad |
OID, 48,
|
|
Al Stone |
69fdad |
OTID, 64,
|
|
Al Stone |
69fdad |
OREV, 32,
|
|
Al Stone |
69fdad |
CID, 32,
|
|
Al Stone |
69fdad |
CREV, 32
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (SIZE)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
If (LLess (REV, 2))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("32-bit table", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("64-bit table", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Return (0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
*/
|
|
Al Stone |
69fdad |
Name (SIZE, 0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Custom operation region */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
OperationRegion(MYOP,0x80,0xFD60,0x6)
|
|
Al Stone |
69fdad |
Field(MYOP,ByteAcc,NoLock,Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
MFLD,8
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (TCOP,, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (_STR, Unicode ("test"))
|
|
Al Stone |
69fdad |
Store (4, MFLD)
|
|
Al Stone |
69fdad |
Store (MFLD, Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name (ERRS, 0x0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Warning should be issued for premature string termination */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
NAME (ESC1, "abcdefg\x00hijklmn")
|
|
Al Stone |
69fdad |
NAME (ESC2, "abcdefg\000hijklmn")
|
|
Al Stone |
69fdad |
Name (ESC3, "abc\a\bdef\f\n\r\t\v\x03ffff\432")
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name(CRSA,ResourceTemplate()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
WORDBusNumber(ResourceProducer,MinFixed,MaxFixed,PosDecode,0x0000,0x0019,0x001D,0x0000,0x0005)
|
|
Al Stone |
69fdad |
WORDIO(ResourceProducer,MinFixed,MaxFixed,PosDecode,NonISAOnlyRanges,0x0000,0xC000,0xCFFF,0x0000,0x1000)
|
|
Al Stone |
69fdad |
DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,NonCacheable,ReadWrite,0x00000000,0xD8000000,0xDBFFFFFF,0x00000000,0x04000000)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
Name(CRSB,ResourceTemplate()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,NonCacheable,ReadWrite,0x00000000,0xD8000000,0xDBFFFFFF,0x00000000,0x04000000)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name(CRSC,ResourceTemplate()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
VendorShort () {0x1, 0x2, 0x3}
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
Name(CRSD,ResourceTemplate()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
VendorLong (VNDL) {0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9}
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name(CRSE,ResourceTemplate()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
IRQNoFlags(){3,4,10,11}
|
|
Al Stone |
69fdad |
IRQNoFlags(xxxt){3,4,10,11}
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
Name(CRSR, Buffer (Add (SizeOf(CRSA),SizeOf(CRSB))){})
|
|
Al Stone |
69fdad |
Method(_CRS,0,NotSerialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return(CRSR)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// Unnamed scope
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
Scope (\)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name(Bxxx,0xFFFFFFFF)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name (LANS, 0x0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
PowerResource(LANP,1,0)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Method(_STA){
|
|
Al Stone |
69fdad |
If(LEqual(And(LANS,0x30),0x30)){
|
|
Al Stone |
69fdad |
Return(One)
|
|
Al Stone |
69fdad |
} Else {
|
|
Al Stone |
69fdad |
Return(Zero)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Method(_ON){
|
|
Al Stone |
69fdad |
If(LNot(_STA())){
|
|
Al Stone |
69fdad |
Store (0x30, LANS)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Method(_OFF){
|
|
Al Stone |
69fdad |
If(_STA()){
|
|
Al Stone |
69fdad |
Store (0, LANS)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Can a method define another method? */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/**********************************
|
|
Al Stone |
69fdad |
Method (TASK, 2, SERIALIZED)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Sleep (100)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (TAS2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Sleep (100)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
TAS2()
|
|
Al Stone |
69fdad |
Return
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
************************************/
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* A recursive method */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (RCIV, 1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (Arg0, Debug)
|
|
Al Stone |
69fdad |
If (Lequal (Arg0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return ()
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
RCIV (Subtract (Arg0, 1))
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (RTOP)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
RCIV (100)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Scope(\_PR)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Processor(CPU0,0x0,0xFFFFFFFF,0x0) {}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name(B1TP,0xFFFFFFFF)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name(B2TP,0xFFFFFFFF)
|
|
Al Stone |
69fdad |
Name(ADPS,0xFFFFFFFF)
|
|
Al Stone |
69fdad |
Name(B1PS,0xFFFFFFFF)
|
|
Al Stone |
69fdad |
Name(B1RS,0xFFFFFFFF)
|
|
Al Stone |
69fdad |
Name(B1CS,0xFFFFFFFF)
|
|
Al Stone |
69fdad |
Name(B2PS,0xFFFFFFFF)
|
|
Al Stone |
69fdad |
Name(B2RS,0xFFFFFFFF)
|
|
Al Stone |
69fdad |
Name(B2CS,0xFFFFFFFF)
|
|
Al Stone |
69fdad |
Name(B1DC,3000)
|
|
Al Stone |
69fdad |
Name(B2DC,2600)
|
|
Al Stone |
69fdad |
Name(B1LF,3000)
|
|
Al Stone |
69fdad |
Name(B2LF,2600)
|
|
Al Stone |
69fdad |
Name(BPIF,0)
|
|
Al Stone |
69fdad |
Name(PBLL,0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name(RBIF,Package()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x1,
|
|
Al Stone |
69fdad |
2200,
|
|
Al Stone |
69fdad |
2200,
|
|
Al Stone |
69fdad |
0x1,
|
|
Al Stone |
69fdad |
10800,
|
|
Al Stone |
69fdad |
0,
|
|
Al Stone |
69fdad |
0,
|
|
Al Stone |
69fdad |
1,
|
|
Al Stone |
69fdad |
1,
|
|
Al Stone |
69fdad |
"CA54200-5003/5",
|
|
Al Stone |
69fdad |
"1",
|
|
Al Stone |
69fdad |
"LION",
|
|
Al Stone |
69fdad |
"Fujitsu"
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method(SMWE, 4)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
return(ONES)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method(SMRE, 4)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
return(ONES)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/*
|
|
Al Stone |
69fdad |
Method(RDBT,0,Serialized){
|
|
Al Stone |
69fdad |
If(LNot(SMWE(0x09,0x15,1,1))){
|
|
Al Stone |
69fdad |
Store(0x18,Local2)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
*/
|
|
Al Stone |
69fdad |
Scope(_SB)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name (SBUF, Buffer (128) {})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
CreateBitField (SBUF, 3, BITY)
|
|
Al Stone |
69fdad |
CreateByteField (SBUF, 1, BYTY)
|
|
Al Stone |
69fdad |
CreateWordField (SBUF, 2, WRDZ)
|
|
Al Stone |
69fdad |
CreateDwordField (SBUF, 4, DWDZ)
|
|
Al Stone |
69fdad |
CreateQwordField (SBUF, 8, QWDZ)
|
|
Al Stone |
69fdad |
CreateField (SBUF, 128, 12, FLDZ)
|
|
Al Stone |
69fdad |
CreateField (SBUF, 148, 96, FLDY)
|
|
Al Stone |
69fdad |
CreateField (SBUF, 148, 96, \_SB_.FLDW)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_INI)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
CreateField (\_SB_.SBUF, 148, 96, FLDV)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device(PCI0)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name(_HID,EISAID("PNP0A03"))
|
|
Al Stone |
69fdad |
Name(_ADR,0x0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method(_CRS,, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name(PRT0, ResourceTemplate() {
|
|
Al Stone |
69fdad |
WORDBusNumber( // Bus number resource(0)
|
|
Al Stone |
69fdad |
ResourceConsumer, // bit 0 of general flags is 1
|
|
Al Stone |
69fdad |
MinFixed, // Range is notfixed
|
|
Al Stone |
69fdad |
MaxFixed, // Range is not fixed
|
|
Al Stone |
69fdad |
SubDecode, // SubDecode
|
|
Al Stone |
69fdad |
0x0000, // Granularity
|
|
Al Stone |
69fdad |
0xfff1, // Min
|
|
Al Stone |
69fdad |
0xfff2, // Max
|
|
Al Stone |
69fdad |
0x0032, // Translation
|
|
Al Stone |
69fdad |
0x0002,,, // Range Length
|
|
Al Stone |
69fdad |
BUS0
|
|
Al Stone |
69fdad |
) } )// PRT0
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
CreateWordField(PRT0, BUS0._MIN, BMIN) //Minimum bus number suported under this bridge.
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store(3, BMIN)
|
|
Al Stone |
69fdad |
Return(PRT0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
} // _CRS
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method(_SRS)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return ()
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device(EIO)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
OperationRegion(FJIO,SystemIO,0xFD60,0x6)
|
|
Al Stone |
69fdad |
Field(FJIO,ByteAcc,NoLock,Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
GIDX,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
GDTA,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
PIDX,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
PDTA,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
SIDX,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
SDTA,8
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
IndexField(GIDX,GDTA,ByteAcc,NoLock,Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Offset(0x2),
|
|
Al Stone |
69fdad |
,5,
|
|
Al Stone |
69fdad |
VGAS,2,
|
|
Al Stone |
69fdad |
Offset(0x4),
|
|
Al Stone |
69fdad |
,4,
|
|
Al Stone |
69fdad |
DCKE,1,
|
|
Al Stone |
69fdad |
Offset(0x5),
|
|
Al Stone |
69fdad |
,6,
|
|
Al Stone |
69fdad |
ACPW,1,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Offset(0xA),
|
|
Al Stone |
69fdad |
B1P,1,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B2P,1,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B1C,1,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B2C,1,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B1ER,1,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B2ER,1,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Offset(0xB),
|
|
Al Stone |
69fdad |
B1CP,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B2CP,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
BCP,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B1VH,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B1VL,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B2VH,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B2VL,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B1TM,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B2TM,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B1CH,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B1CL,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B2CH,8,
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
B2CL,8
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method(RDBT,3,Serialized){
|
|
Al Stone |
69fdad |
Store(0x1FFF,Local1)
|
|
Al Stone |
69fdad |
If( Arg0 ){
|
|
Al Stone |
69fdad |
Store(0x2FFF,Local1)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Store(0x18,Local2)
|
|
Al Stone |
69fdad |
If( Arg1 ){
|
|
Al Stone |
69fdad |
Store(0x10,Local2)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
If(LNot(SMRE(0x09,0x15,1,RefOf(Local0)))){
|
|
Al Stone |
69fdad |
If(LNot(SMWE(0x08,0x14,1,Local1))){
|
|
Al Stone |
69fdad |
If(LNot(SMRE(0x09,0x17,Local2,RefOf(Local3)))){
|
|
Al Stone |
69fdad |
Store(Local1,Arg2)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Or(Local0,0xFFF,Local0)
|
|
Al Stone |
69fdad |
SMWE(0x08,0x14,1,Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Method(MKWD,2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
If(And(Arg1,0x80)) {
|
|
Al Stone |
69fdad |
Or(0xFFFF0000,Arg0,Local0)
|
|
Al Stone |
69fdad |
Or(Local0,ShiftLeft(Arg1,8),Local0)
|
|
Al Stone |
69fdad |
Subtract(Zero,Local0,Local0)
|
|
Al Stone |
69fdad |
} else {
|
|
Al Stone |
69fdad |
Store(Arg0,Local0)
|
|
Al Stone |
69fdad |
Or(Local0,ShiftLeft(Arg1,8),Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device(CMB1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name(_HID,EISAID("PNP0C0A"))
|
|
Al Stone |
69fdad |
Name(_UID,0x1)
|
|
Al Stone |
69fdad |
Alias(\_SB.PCI0.EIO.B1P,\_SB_.PCI0.XXXX)
|
|
Al Stone |
69fdad |
Alias(\_SB.PCI0.EIO.B1P,B1P)
|
|
Al Stone |
69fdad |
Alias(\_SB.PCI0.EIO.B1C,B1C)
|
|
Al Stone |
69fdad |
Alias(\_SB.PCI0.EIO.B1CH,B1CH)
|
|
Al Stone |
69fdad |
Alias(\_SB.PCI0.EIO.B1CL,B1CL)
|
|
Al Stone |
69fdad |
Alias(\_SB.PCI0.EIO.B1VH,B1VH)
|
|
Al Stone |
69fdad |
Alias(\_SB.PCI0.EIO.B1VL,B1VL)
|
|
Al Stone |
69fdad |
Alias(\_SB.PCI0.EIO.B1CP,B1CP)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method(_INI)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store(B1P, B1PS)
|
|
Al Stone |
69fdad |
Store(B1CP,B1RS)
|
|
Al Stone |
69fdad |
Store(B1C, B1CS)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method(_BIF){
|
|
Al Stone |
69fdad |
RDBT(Zero,Zero,RefOf(B1DC))
|
|
Al Stone |
69fdad |
RDBT(Zero,One,RefOf(B1LF))
|
|
Al Stone |
69fdad |
Store(B1DC,Index(RBIF,1))
|
|
Al Stone |
69fdad |
Store(B1LF,Index(RBIF,2))
|
|
Al Stone |
69fdad |
Store("CA54200-5003/5",Index(RBIF,9))
|
|
Al Stone |
69fdad |
Store("1",Index(RBIF,10))
|
|
Al Stone |
69fdad |
Return(RBIF)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method(_BST,, Serialized) {
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
_INI()
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store(Zero,Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
if (LAnd(B1P,LNot(B1C))){
|
|
Al Stone |
69fdad |
Or(Local0,1,Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
if (LAnd(B1P,B1C)) {
|
|
Al Stone |
69fdad |
Or(Local0,2,Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
if (LLessEqual(B1CP,1)) {
|
|
Al Stone |
69fdad |
Or(Local0,4,Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store(MKWD(B1CL,B1CH),Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store(Divide(Add(Multiply(B1CP,B1LF),99),100),Local2)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store(MKWD(B1VL,B1VH),Local3)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name(STAT,Package(4){})
|
|
Al Stone |
69fdad |
Store(Local0,Index(STAT,0))
|
|
Al Stone |
69fdad |
Store(Local1,Index(STAT,1))
|
|
Al Stone |
69fdad |
Store(Local2,Index(STAT,2))
|
|
Al Stone |
69fdad |
Store(Local3,Index(STAT,3))
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
If(LNot(BPIF)){
|
|
Al Stone |
69fdad |
// \_SB.PCI0.EIO.EC0.IECT()
|
|
Al Stone |
69fdad |
// \_SB.PCI0.EIO.EC0.SECT()
|
|
Al Stone |
69fdad |
Store(One,BPIF)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
return(STAT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (DEV1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Scope(\_TZ)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ThermalZone(TZ1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name(_PSL,Package()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
\_PR.CPU0
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (TZ2, 0, SERIALIZED)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name(_PSL,Package()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
\_PR.CPU0
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (_PSL)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
ThermalZone (THM1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (NOTI)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Notify (\DEV1, 0)
|
|
Al Stone |
69fdad |
Notify (\THM1, 0)
|
|
Al Stone |
69fdad |
Notify (\_PR.CPU0, 0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_ERR, 3)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Increment (ERRS)
|
|
Al Stone |
69fdad |
Store ("Run-time exception:", Debug)
|
|
Al Stone |
69fdad |
Store (Arg0, Debug)
|
|
Al Stone |
69fdad |
Store (Arg1, Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (0) // Map error to AE_OK
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (DIV0)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (1, Local0)
|
|
Al Stone |
69fdad |
Store (0, Local1)
|
|
Al Stone |
69fdad |
Divide (Local0, Local1, Local3)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("DIV0 - noabort", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (ERR_, 2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Local0 = ToDecimalString (Arg1)
|
|
Al Stone |
69fdad |
if (LEqual (Arg0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Printf ("+*+*+*+* MTHD_ERROR at line %o: Results not equal!", Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
if (LEqual (Arg0, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Printf ("+*+*+*+* MTHD_ERROR at line %o: Numeric result is incorrect!", Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
if (LEqual (Arg0, 2))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Printf ("+*+*+*+* MTHD_ERROR at line %o: Operand was clobbered!", Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Notify (DEV1, Arg0)
|
|
Al Stone |
69fdad |
Increment (ERRS)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (R226, 2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Method (R225, 2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
R226 (Arg0, Arg1)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Method (R224, 2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
R225 (Arg1, Arg0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Method (R223, 2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
R224 (Arg0, Arg1)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Method (R222, 2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
R223 (Arg1, Arg0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Method (R111)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (0x01010101, Local0)
|
|
Al Stone |
69fdad |
R222 (0xABAB, Local0)
|
|
Al Stone |
69fdad |
Store (Local0, Local1)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (MAIN)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// SIZE()
|
|
Al Stone |
69fdad |
Store (NUM1(), Local0)
|
|
Al Stone |
69fdad |
\CMB1._BST()
|
|
Al Stone |
69fdad |
RDBT(1,2,3)
|
|
Al Stone |
69fdad |
OBJ1(1)
|
|
Al Stone |
69fdad |
OBJ2(2)
|
|
Al Stone |
69fdad |
CHEK()
|
|
Al Stone |
69fdad |
RETZ()
|
|
Al Stone |
69fdad |
BITZ()
|
|
Al Stone |
69fdad |
LOGS()
|
|
Al Stone |
69fdad |
REFS()
|
|
Al Stone |
69fdad |
COND()
|
|
Al Stone |
69fdad |
TZ2()
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// iPCO tests added
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
Store (\IFEL.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\NOSV.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\IDXF.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\_SB_.NSTL.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\RTBF.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\_SB_.RTLV.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\_SB_.RETP.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\WHLR.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\ANDO.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\BRKP.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\ADSU.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\INDC.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\LOPS.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\FDSO.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\MLDV.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\NBIT.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\SHFT.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\XORD.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\CRBF.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\IDX4.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\EVNT.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\SZLV.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\_SB_.BYTF.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\DWDF.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\DVAX.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\IDX6.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\IDX5.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\_SB_.IDX0.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\_SB_.IDX3.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\IDX7.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\MTCH.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\WHLB.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\_SB_.IDX2.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\SIZO.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (\_SB_.SMIS.TEST(), Local0)
|
|
Al Stone |
69fdad |
if (LGreater (Local0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
Return(Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
if (LGreater (ERRS, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("****** There were errors during the execution of the test ******", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Flush all notifies
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Sleep (250)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// Last Test
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return(0) // Success
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (OBJ1, 1, SERIALIZED)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (3, Local0)
|
|
Al Stone |
69fdad |
Name(BUFR, Buffer (Local0) {})
|
|
Al Stone |
69fdad |
Name(BUF1, Buffer (4) {1,2,3,4})
|
|
Al Stone |
69fdad |
Name(BUF2, Buffer (4) {})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (BUF1, BUF2)
|
|
Al Stone |
69fdad |
Mutex (MTX1, 4)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Alias (MTX1, MTX2)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Mutex (MTXT, 0)
|
|
Al Stone |
69fdad |
Mutex (MTXX, 0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/*
|
|
Al Stone |
69fdad |
* Field Creation
|
|
Al Stone |
69fdad |
*/
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (FLDS,, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Creating BufferFields", Debug)
|
|
Al Stone |
69fdad |
Name (BUF2, Buffer (128) {})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
CreateBitField (BUF2, 3, BIT2)
|
|
Al Stone |
69fdad |
CreateByteField (BUF2, 1, BYT2)
|
|
Al Stone |
69fdad |
CreateWordField (BUF2, 2, WRD2)
|
|
Al Stone |
69fdad |
CreateDwordField (BUF2, 4, DWD2)
|
|
Al Stone |
69fdad |
CreateQwordField (BUF2, 8, QWD2)
|
|
Al Stone |
69fdad |
CreateField (BUF2, 128, 12, FLD2)
|
|
Al Stone |
69fdad |
CreateField (BUF2, 148, 96, FLD3)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (0x1, BIT2)
|
|
Al Stone |
69fdad |
Store (BIT2, Local0)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 0x1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (DerefOf (Index (BUF2, 0)), Local0)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 0x08))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Bit BufferField I/O PASS", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (0x1A, BYT2)
|
|
Al Stone |
69fdad |
Store (BYT2, Local0)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 0x1A))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Byte BufferField I/O PASS", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (0x1234, WRD2)
|
|
Al Stone |
69fdad |
Store (WRD2, Local0)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 0x1234))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Word BufferField I/O PASS", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (0x123, FLD2)
|
|
Al Stone |
69fdad |
Store (FLD2, Local0)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 0x123))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ 12-bit BufferField I/O PASS", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (0x12345678, DWD2)
|
|
Al Stone |
69fdad |
Store (DWD2, Local0)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 0x12345678))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Dword BufferField I/O PASS", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (0x1234567887654321, QWD2)
|
|
Al Stone |
69fdad |
Store (QWD2, Local0)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 0x1234567887654321))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Qword BufferField I/O PASS", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Field execution */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (FLDX,, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Field (\_SB_.MEM.SMEM, AnyAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{ // Field: SMEM overlay using 32-bit field elements
|
|
Al Stone |
69fdad |
SMD0, 32, // 32-bits
|
|
Al Stone |
69fdad |
SMD1, 32, // 32-bits
|
|
Al Stone |
69fdad |
SMD2, 32, // 32-bits
|
|
Al Stone |
69fdad |
SMD3, 32 // 32-bits
|
|
Al Stone |
69fdad |
} // Field: SMEM overlay using 32-bit field elements
|
|
Al Stone |
69fdad |
Field (\_SB_.MEM.SMEM, AnyAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{ // Field: SMEM overlay using greater than 32-bit field elements
|
|
Al Stone |
69fdad |
SME0, 69, // larger than an integer (32 or 64)
|
|
Al Stone |
69fdad |
SME1, 97 // larger than an integer
|
|
Al Stone |
69fdad |
} // Field: SMEM overlay using greater than 32-bit field elements
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (MTX_, )
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
/* Test "Force release" of mutex on method exit */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Acquire (MTXT, 0xFFFF)
|
|
Al Stone |
69fdad |
Acquire (MTXX, 0xFFFF)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Acquiring Mutex MTX2", Debug)
|
|
Al Stone |
69fdad |
Acquire (_GL_, 0xFFFF)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Releasing Mutex MTX2", Debug)
|
|
Al Stone |
69fdad |
Release (_GL_)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (OBJ2, 1, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Creating Buffer BUFO", Debug)
|
|
Al Stone |
69fdad |
Name (BUFO, Buffer (32) {})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Creating OpRegion OPR2", Debug)
|
|
Al Stone |
69fdad |
OperationRegion (OPR2, SystemMemory, Arg0, 256)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Creating Field(s) in OpRegion OPR2", Debug)
|
|
Al Stone |
69fdad |
Field (OPR2, ByteAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
IDX2, 8,
|
|
Al Stone |
69fdad |
DAT2, 8,
|
|
Al Stone |
69fdad |
BNK2, 4
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Creating BankField BNK2 in OpRegion OPR2", Debug)
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// mcw 3/20/00 - changed FET0, 4, FET1, 3 to FET0, 1, FET1, 1
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
BankField (OPR2, BNK2, 0, ByteAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
FET0, 4,
|
|
Al Stone |
69fdad |
FET1, 3
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Creating IndexField", Debug)
|
|
Al Stone |
69fdad |
IndexField (IDX2, DAT2, ByteAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
FET2, 4,
|
|
Al Stone |
69fdad |
FET3, 3
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ SizeOf (BUFO)", Debug)
|
|
Al Stone |
69fdad |
SizeOf (BUFO)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (SizeOf (BUFO), Local0)", Debug)
|
|
Al Stone |
69fdad |
Store (SizeOf (BUFO), Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Concatenate (\"abd\", \"def\", Local0)", Debug)
|
|
Al Stone |
69fdad |
Concatenate ("abd", "def", Local0)
|
|
Al Stone |
69fdad |
Store (Local0, Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Concatenate (\"abd\", 0x7B, Local0)", Debug)
|
|
Al Stone |
69fdad |
Concatenate ("abd", 0x7B, Local0)
|
|
Al Stone |
69fdad |
Store (Local0, Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Creating Event EVT2", Debug)
|
|
Al Stone |
69fdad |
Event (EVT2)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Creating Mutex MTX2", Debug)
|
|
Al Stone |
69fdad |
Mutex (MTX2, 0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Creating Alias MTXA to MTX2", Debug)
|
|
Al Stone |
69fdad |
Alias (MTX2, MTXA)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Acquiring Mutex MTX2", Debug)
|
|
Al Stone |
69fdad |
Acquire (MTX2, 0xFFFF)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Acquiring Mutex MTX2 (2nd acquire)", Debug)
|
|
Al Stone |
69fdad |
Acquire (MTX2, 1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Releasing Mutex MTX2", Debug)
|
|
Al Stone |
69fdad |
Release (MTX2)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Type 1 opcodes
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Signalling Event EVT2", Debug)
|
|
Al Stone |
69fdad |
Signal (EVT2)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Resetting Event EVT2", Debug)
|
|
Al Stone |
69fdad |
Reset (EVT2)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Signalling Event EVT2", Debug)
|
|
Al Stone |
69fdad |
Signal (EVT2)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Waiting Event EVT2", Debug)
|
|
Al Stone |
69fdad |
Wait (EVT2, 0xFFFF)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Sleep", Debug)
|
|
Al Stone |
69fdad |
Sleep (100)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Stall", Debug)
|
|
Al Stone |
69fdad |
Stall (254)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ NoOperation", Debug)
|
|
Al Stone |
69fdad |
Noop
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Type 2 Opcodes
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Return from Method OBJ2", Debug)
|
|
Al Stone |
69fdad |
return (4)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (NUM1, 0)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
/* ADD */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Add (0x12345678, 0x11111111, Local0)", Debug)
|
|
Al Stone |
69fdad |
Add (0x12345678, 0x11111111, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (Add (0x12345678, 0x11111111), Local1)", Debug)
|
|
Al Stone |
69fdad |
Store (Add (0x12345678, 0x11111111), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Checking result from ADD", Debug)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, Local1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (0, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* SUBTRACT */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Subtract (0x87654321, 0x11111111, Local4)", Debug)
|
|
Al Stone |
69fdad |
Subtract (0x87654321, 0x11111111, Local4)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (Subtract (0x87654321, 0x11111111), Local5)", Debug)
|
|
Al Stone |
69fdad |
Store (Subtract (0x87654321, 0x11111111), Local5)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Checking result from SUBTRACT", Debug)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local4, Local5))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (0, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* MULTIPLY */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Multiply (33, 10, Local6)", Debug)
|
|
Al Stone |
69fdad |
Multiply (33, 10, Local6)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (Multiply (33, 10), Local7)", Debug)
|
|
Al Stone |
69fdad |
Store (Multiply (33, 10), Local7)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Checking result from MULTIPLY", Debug)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local6, Local7))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (0, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* DIVIDE */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Divide (100, 9, Local1, Local2)", Debug)
|
|
Al Stone |
69fdad |
Divide (100, 9, Local1, Local2)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (Divide (100, 9), Local3)", Debug)
|
|
Al Stone |
69fdad |
Store (Divide (100, 9), Local3)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Checking (quotient) result from DIVIDE", Debug)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local2, Local3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (0, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* INCREMENT */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Increment (Local0)", Debug)
|
|
Al Stone |
69fdad |
Store (1, Local0)
|
|
Al Stone |
69fdad |
Store (2, Local1)
|
|
Al Stone |
69fdad |
Increment (Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Checking result from INCREMENT", Debug)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, Local1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (0, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* DECREMENT */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Decrement (Local0)", Debug)
|
|
Al Stone |
69fdad |
Store (2, Local0)
|
|
Al Stone |
69fdad |
Store (1, Local1)
|
|
Al Stone |
69fdad |
Decrement (Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Checking result from DECREMENT", Debug)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, Local1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (0, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* TOBCD */
|
|
Al Stone |
69fdad |
/* FROMBCD */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ ToBCD (0x1234, Local5)", Debug)
|
|
Al Stone |
69fdad |
ToBCD (0x1234, Local5)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ FromBCD (Local5, Local6)", Debug)
|
|
Al Stone |
69fdad |
FromBCD (Local5, Local6)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Return (Local6)", Debug)
|
|
Al Stone |
69fdad |
Return (Local6)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (CHEK)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (3, Local0)
|
|
Al Stone |
69fdad |
Store (3, Debug)
|
|
Al Stone |
69fdad |
Store (Local0, Debug)
|
|
Al Stone |
69fdad |
Store (7, Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Add (Local0, Local1)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
if (LNotEqual (Local1, 7))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Add (Local0, Local1, Local2)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
if (LNotEqual (Local1, 7))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (RET1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (3, Local0)
|
|
Al Stone |
69fdad |
Return (Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (RET2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (RET1())
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (RETZ)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
RET2 ()
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (BITZ)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ FindSetLeftBit (0x00100100, Local0)", Debug)
|
|
Al Stone |
69fdad |
FindSetLeftBit (0x00100100, Local0)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 21))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ FindSetRightBit (0x00100100, Local1)", Debug)
|
|
Al Stone |
69fdad |
FindSetRightBit (0x00100100, Local1)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local1, 9))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ And (0xF0F0F0F0, 0x11111111, Local2)", Debug)
|
|
Al Stone |
69fdad |
And (0xF0F0F0F0, 0x11111111, Local2)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local2, 0x10101010))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ NAnd (0xF0F0F0F0, 0x11111111, Local3)", Debug)
|
|
Al Stone |
69fdad |
NAnd (0xF0F0F0F0, 0x11111111, Local3)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local3, 0xEFEFEFEF))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Or (0x11111111, 0x22222222, Local4)", Debug)
|
|
Al Stone |
69fdad |
Or (0x11111111, 0x22222222, Local4)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local4, 0x33333333))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ NOr (0x11111111, 0x22222222, Local5)", Debug)
|
|
Al Stone |
69fdad |
NOr (0x11111111, 0x22222222, Local5)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local5, 0xCCCCCCCC))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ XOr (0x11113333, 0x22222222, Local6)", Debug)
|
|
Al Stone |
69fdad |
XOr (0x11113333, 0x22222222, Local6)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local6, 0x33331111))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ ShiftLeft (0x11112222, 2, Local7)", Debug)
|
|
Al Stone |
69fdad |
ShiftLeft (0x11112222, 2, Local7)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local7, 0x44448888))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ ShiftRight (Local7, 2, Local7)", Debug)
|
|
Al Stone |
69fdad |
ShiftRight (Local7, 2, Local7)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local7, 0x11112222))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Not (Local0, Local1)", Debug)
|
|
Al Stone |
69fdad |
Store (0x22224444, Local0)
|
|
Al Stone |
69fdad |
Not (Local0, Local1)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 0x22224444))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
if (LNotEqual (Local1, 0xDDDDBBBB))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (Local7)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (LOGS)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (LAnd (0xFFFFFFFF, 0x11111111), Local0)", Debug)
|
|
Al Stone |
69fdad |
Store (LAnd (0xFFFFFFFF, 0x11111111), Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (LEqual (0xFFFFFFFF, 0x11111111), Local)", Debug)
|
|
Al Stone |
69fdad |
Store (LEqual (0xFFFFFFFF, 0x11111111), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (LGreater (0xFFFFFFFF, 0x11111111), Local2)", Debug)
|
|
Al Stone |
69fdad |
Store (LGreater (0xFFFFFFFF, 0x11111111), Local2)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (LGreaterEqual (0xFFFFFFFF, 0x11111111), Local3)", Debug)
|
|
Al Stone |
69fdad |
Store (LGreaterEqual (0xFFFFFFFF, 0x11111111), Local3)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (LLess (0xFFFFFFFF, 0x11111111), Local4)", Debug)
|
|
Al Stone |
69fdad |
Store (LLess (0xFFFFFFFF, 0x11111111), Local4)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)", Debug)
|
|
Al Stone |
69fdad |
Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (LNot (0x31313131), Local6)", Debug)
|
|
Al Stone |
69fdad |
Store (0x00001111, Local6)
|
|
Al Stone |
69fdad |
Store (LNot (Local6), Local7)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local6, 0x00001111))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
if (LNotEqual (Local7, 0x0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (1, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (LNotEqual (0xFFFFFFFF, 0x11111111), Local7)", Debug)
|
|
Al Stone |
69fdad |
Store (LNotEqual (0xFFFFFFFF, 0x11111111), Local7)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Lor (0x0, 0x1)", Debug)
|
|
Al Stone |
69fdad |
if (Lor (0x0, 0x1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("+_+_+_+_+ Lor (0x0, 0x1) returned TRUE", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
return (Local7)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (COND)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (0x4, Local0)", Debug)
|
|
Al Stone |
69fdad |
Store (0x4, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ While (Local0)", Debug)
|
|
Al Stone |
69fdad |
While (Local0)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Decrement (Local0)", Debug)
|
|
Al Stone |
69fdad |
Decrement (Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ Store (0x3, Local6)", Debug)
|
|
Al Stone |
69fdad |
Store (0x3, Local6)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ While (Subtract (Local6, 1))", Debug)
|
|
Al Stone |
69fdad |
While (Subtract (Local6, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Decrement (Local6)", Debug)
|
|
Al Stone |
69fdad |
Decrement (Local6)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ [LVL1] If (LGreater (0x2, 0x1))", Debug)
|
|
Al Stone |
69fdad |
If (LGreater (0x2, 0x1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ [LVL2] If (LEqual (0x11111111, 0x22222222))", Debug)
|
|
Al Stone |
69fdad |
If (LEqual (0x11111111, 0x22222222))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ ERROR: If (LEqual (0x11111111, 0x22222222)) returned TRUE", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ [LVL3] If (LNot (0x0))", Debug)
|
|
Al Stone |
69fdad |
If (LNot (0x0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ [LVL4] If (LAnd (0xEEEEEEEE, 0x2))", Debug)
|
|
Al Stone |
69fdad |
If (LAnd (0xEEEEEEEE, 0x2))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ [LVL5] If (LLess (0x44444444, 0x3))", Debug)
|
|
Al Stone |
69fdad |
If (LLess (0x44444444, 0x3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ ERROR: If (LLess (0x44444444, 0x3)) returned TRUE", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Exiting from nested IF/ELSE statements", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store ("++++++++ [LVL1] If (LGreater (0x2, 0x1))", Debug)
|
|
Al Stone |
69fdad |
If (LGreater (0x2, 0x1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ [LVL2] If (LEqual (0x11111111, 0x22222222))", Debug)
|
|
Al Stone |
69fdad |
If (LEqual (0x11111111, 0x22222222))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ ERROR: If (LEqual (0x11111111, 0x22222222)) returned TRUE", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ [LVL3] If (LNot (0x0))", Debug)
|
|
Al Stone |
69fdad |
If (LNot (0x0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ [LVL4] If (LAnd (0xEEEEEEEE, 0x2))", Debug)
|
|
Al Stone |
69fdad |
If (LAnd (0xEEEEEEEE, 0x2))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ [LVL5] If (LLess (0x44444444, 0x3))", Debug)
|
|
Al Stone |
69fdad |
If (LLess (0x44444444, 0x3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ ERROR: If (LLess (0x44444444, 0x3)) returned TRUE", Debug)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ Returning from nested IF/ELSE statements", Debug)
|
|
Al Stone |
69fdad |
Return (Local6)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (REFS,, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (BBUF, Buffer() {0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name (NEST, Package ()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Package ()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x01, 0x02, 0x03, 0x04, 0x05, 0x06
|
|
Al Stone |
69fdad |
},
|
|
Al Stone |
69fdad |
Package ()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
0x11, 0x12, 0x12, 0x14, 0x15, 0x16
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (RefOf (MAIN), Local5)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// For this to work, ABCD must NOT exist.
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (CondRefOf (ABCD, Local0), Local1)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local1, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (CondRefOf (BBUF, Local0), Local1)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local1, Ones))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (DeRefOf (Index (BBUF, 3)), Local6)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local6, 0xB3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (DeRefOf (Index (DeRefOf (Index (NEST, 1)), 3)), Local0)
|
|
Al Stone |
69fdad |
if (LNotEqual (Local0, 0x14))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (0x11223344, Local0)
|
|
Al Stone |
69fdad |
Store (RefOf (Local0), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (DerefOf (Local1), Local2)
|
|
Al Stone |
69fdad |
If (LNotEqual (Local2, 0x11223344))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
ERR_ (2, __LINE__)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
/* Parser thinks this is a method invocation!! */
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// RefOf (MAIN)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// RefOf (R___)
|
|
Al Stone |
69fdad |
// RefOf (BBUF)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Store (RefOf (Local0), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// CondRefOf (BBUF, Local2)
|
|
Al Stone |
69fdad |
// CondRefOf (R___, Local3)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Store (DerefOf (Local1), Local4)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Return (Local4)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (INDX, 0, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name(STAT,Package(4){})
|
|
Al Stone |
69fdad |
Store(0x44443333,Index(STAT,0))
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//=================================================================
|
|
Al Stone |
69fdad |
//=================================================================
|
|
Al Stone |
69fdad |
//===================== iPCO TESTS ================================
|
|
Al Stone |
69fdad |
//=================================================================
|
|
Al Stone |
69fdad |
//=================================================================
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// test IfElseOp.asl
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// test for IfOp and ElseOp, including validation of object stack cleanup
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
Device (IFEL)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (DWRD, 1)
|
|
Al Stone |
69fdad |
Name (RSLT, 0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// IFNR control method executes IfOp branch with NO nested Return
|
|
Al Stone |
69fdad |
// and no Else branch
|
|
Al Stone |
69fdad |
Method (IFNR)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (DWRD, RSLT)
|
|
Al Stone |
69fdad |
If (LEqual (DWRD, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (0, RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
} // IFNR
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// NINR control method does not execute If branch and has no Else branch
|
|
Al Stone |
69fdad |
Method (NINR)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (0, RSLT)
|
|
Al Stone |
69fdad |
If (LNotEqual (DWRD, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (DWRD, RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
} // NINR
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// IENR control method executes IfOp branch with NO nested Return
|
|
Al Stone |
69fdad |
Method (IENR)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
If (LEqual (DWRD, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (0, RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (DWRD, RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
} // IENR
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// ELNR control method executes ElseOp branch with NO nested Return
|
|
Al Stone |
69fdad |
Method (ELNR)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
If (LNotEqual (DWRD, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (DWRD, RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (0, RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
} // ELNR
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// IFRT control method executes IfOp branch with nested Return with
|
|
Al Stone |
69fdad |
// no Else branch
|
|
Al Stone |
69fdad |
Method (IFRT)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
If (LEqual (DWRD, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Return (DWRD)
|
|
Al Stone |
69fdad |
} // IFRT
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// IERT control method executes IfOp branch with nested Return with
|
|
Al Stone |
69fdad |
// Else branch
|
|
Al Stone |
69fdad |
Method (IERT)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
If (LEqual (DWRD, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (DWRD)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
} // IERT
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// ELRT control method executes ElseOp branch with nested Return
|
|
Al Stone |
69fdad |
Method (ELRT)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
If (LNotEqual (DWRD, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (DWRD)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
} // ELRT
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (TEST)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ IfElseOp Test", Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// IfOp with NO return value
|
|
Al Stone |
69fdad |
IFNR()
|
|
Al Stone |
69fdad |
If (LNotEqual (RSLT, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// IfOp with NO return value
|
|
Al Stone |
69fdad |
NINR()
|
|
Al Stone |
69fdad |
If (LNotEqual (RSLT, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// IfOp with NO return value
|
|
Al Stone |
69fdad |
IENR()
|
|
Al Stone |
69fdad |
If (LNotEqual (RSLT, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// ElseOp with NO return value
|
|
Al Stone |
69fdad |
ELNR()
|
|
Al Stone |
69fdad |
If (LNotEqual (RSLT, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// IfOp with return value
|
|
Al Stone |
69fdad |
Store (IFRT, RSLT)
|
|
Al Stone |
69fdad |
If (LNotEqual (RSLT, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// IfOp with return value
|
|
Al Stone |
69fdad |
Store (IERT, RSLT)
|
|
Al Stone |
69fdad |
If (LNotEqual (RSLT, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// ElseOp with return value
|
|
Al Stone |
69fdad |
Store (ELRT, RSLT)
|
|
Al Stone |
69fdad |
If (LNotEqual (RSLT, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (0)
|
|
Al Stone |
69fdad |
} // TEST
|
|
Al Stone |
69fdad |
} // IFEL
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// test NoSave.asl
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// Internal test cases to validate IfOp (Operator (,,)) where Operator
|
|
Al Stone |
69fdad |
// target is ZeroOp to throw away the results.
|
|
Al Stone |
69fdad |
// Includes internal test cases for logical operators with no destination
|
|
Al Stone |
69fdad |
// operands.
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
Device (NOSV)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Method (TEST,, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ NoSave Test", Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name (WRD, 0x1234)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// Begin test of nested operators without saving results
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (And ()) with no save of And result
|
|
Al Stone |
69fdad |
If (And (3, 1, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (1, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (And ()) with no save of And result
|
|
Al Stone |
69fdad |
If (And (4, 1, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (2) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (2, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (NAnd ()) with no save of NAnd result
|
|
Al Stone |
69fdad |
If (NAnd (3, 1, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (3, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (3) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (NAnd ()) with no save of NAnd result
|
|
Al Stone |
69fdad |
If (NAnd (0xFFFFFFFF, 0xFFFFFFFF, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (4) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (4, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (NOr ()) with no save of NOr result
|
|
Al Stone |
69fdad |
If (NOr (0, 1, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (5, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (5) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (NOr ()) with no save of NOr result
|
|
Al Stone |
69fdad |
If (NOr (0xFFFFFFFE, 1, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (6) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (6, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (Not ()) with no save of Not result
|
|
Al Stone |
69fdad |
If (Not (1, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (7, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (7) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (Not ()) with no save of Not result
|
|
Al Stone |
69fdad |
If (Not (0xFFFFFFFF, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (8) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (8, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (Or ()) with no save of Or result
|
|
Al Stone |
69fdad |
If (Or (3, 1, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (9, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (9) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (Or ()) with no save of Or result
|
|
Al Stone |
69fdad |
If (Or (0, 0, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (10) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (10, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (XOr ()) with no save of XOr result
|
|
Al Stone |
69fdad |
If (XOr (3, 1, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (11, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (11) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (XOr ()) with no save of XOr result
|
|
Al Stone |
69fdad |
If (XOr (3, 3, ))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (12) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (12, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// Begin test of logical operators with no destination operands
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LAnd ()) with no save of LAnd result
|
|
Al Stone |
69fdad |
If (LAnd (3, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (21, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (21) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LAnd ()) with no save of LAnd result
|
|
Al Stone |
69fdad |
If (LAnd (3, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (22) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (22, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LAnd ()) with no save of LAnd result
|
|
Al Stone |
69fdad |
If (LAnd (0, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (23) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (23, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LAnd ()) with no save of LAnd result
|
|
Al Stone |
69fdad |
If (LAnd (0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (24) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (24, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LEqual ()) with no save of LEqual result
|
|
Al Stone |
69fdad |
If (LEqual (3, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (31, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (31) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LEqual ()) with no save of LEqual result
|
|
Al Stone |
69fdad |
If (LEqual (1, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (32) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (32, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LGreater ()) with no save of LGreater result
|
|
Al Stone |
69fdad |
If (LGreater (3, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (41, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (41) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LGreater ()) with no save of LGreater result
|
|
Al Stone |
69fdad |
If (LGreater (4, 4))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (42) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (42, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LGreater ()) with no save of LGreater result
|
|
Al Stone |
69fdad |
If (LGreater (1, 4))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (43) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (43, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LGreaterEqual ()) with no save of LGreaterEqual result
|
|
Al Stone |
69fdad |
If (LGreaterEqual (3, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (44, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (44) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LGreaterEqual ()) with no save of LGreaterEqual result
|
|
Al Stone |
69fdad |
If (LGreaterEqual (3, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (45, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (45) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LGreaterEqual ()) with no save of LGreaterEqual result
|
|
Al Stone |
69fdad |
If (LGreaterEqual (3, 4))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (46) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (46, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LLess ()) with no save of LLess result
|
|
Al Stone |
69fdad |
If (LLess (1, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (51, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (51) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LLess ()) with no save of LLess result
|
|
Al Stone |
69fdad |
If (LLess (2, 2))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (52) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (52, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LLess ()) with no save of LLess result
|
|
Al Stone |
69fdad |
If (LLess (4, 2))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (53) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (53, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LLessEqual ()) with no save of LLessEqual result
|
|
Al Stone |
69fdad |
If (LLessEqual (1, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (54, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (54) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LLessEqual ()) with no save of LLessEqual result
|
|
Al Stone |
69fdad |
If (LLessEqual (2, 2))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (55, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (55) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LLessEqual ()) with no save of LLessEqual result
|
|
Al Stone |
69fdad |
If (LLessEqual (4, 2))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (56) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (56, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LNot ()) with no save of LNot result
|
|
Al Stone |
69fdad |
If (LNot (0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (61, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (61) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LNot ()) with no save of LNot result
|
|
Al Stone |
69fdad |
If (LNot (1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (62) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (62, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LNotEqual ()) with no save of LNotEqual result
|
|
Al Stone |
69fdad |
If (LNotEqual (3, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (63) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (63, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LNotEqual ()) with no save of LNotEqual result
|
|
Al Stone |
69fdad |
If (LNotEqual (1, 3))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (64, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (64) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LOr ()) with no save of LOr result
|
|
Al Stone |
69fdad |
If (LOr (3, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (71, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (71) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LOr ()) with no save of LOr result
|
|
Al Stone |
69fdad |
If (LOr (0, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (72, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (72) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LOr ()) with no save of LOr result
|
|
Al Stone |
69fdad |
If (LOr (3, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (73, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (73) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// Test If (LOr ()) with no save of LOr result
|
|
Al Stone |
69fdad |
If (LOr (0, 0))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (74) // fail
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (74, WRD) // pass -- just do something
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (0)
|
|
Al Stone |
69fdad |
} // TEST
|
|
Al Stone |
69fdad |
} // NOSV
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// test IndxFld.asl
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// IndexFld test
|
|
Al Stone |
69fdad |
// This is just a subset of the many RegionOp/Index Field test cases.
|
|
Al Stone |
69fdad |
// Tests index field element AccessAs macro.
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
Device (IDXF)
|
|
Al Stone |
69fdad |
{ // Test device name
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
OperationRegion (SIO, SystemIO, 0x100, 2)
|
|
Al Stone |
69fdad |
Field (SIO, ByteAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
INDX, 8,
|
|
Al Stone |
69fdad |
DATA, 8
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
IndexField (INDX, DATA, AnyAcc, NoLock, WriteAsOnes)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
AccessAs (ByteAcc, 0),
|
|
Al Stone |
69fdad |
IFE0, 8,
|
|
Al Stone |
69fdad |
IFE1, 8,
|
|
Al Stone |
69fdad |
IFE2, 8,
|
|
Al Stone |
69fdad |
IFE3, 8,
|
|
Al Stone |
69fdad |
IFE4, 8,
|
|
Al Stone |
69fdad |
IFE5, 8,
|
|
Al Stone |
69fdad |
IFE6, 8,
|
|
Al Stone |
69fdad |
IFE7, 8,
|
|
Al Stone |
69fdad |
IFE8, 8,
|
|
Al Stone |
69fdad |
IFE9, 8,
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (TEST)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ IndxFld Test", Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (IFE0, Local0)
|
|
Al Stone |
69fdad |
Store (IFE1, Local1)
|
|
Al Stone |
69fdad |
Store (IFE2, Local2)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (0)
|
|
Al Stone |
69fdad |
} // TEST
|
|
Al Stone |
69fdad |
} // IDXF
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// test NestdLor.asl
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
Scope (\_SB) // System Bus
|
|
Al Stone |
69fdad |
{ // _SB system bus
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name (ZER0, 0)
|
|
Al Stone |
69fdad |
Name (ZER1, 0)
|
|
Al Stone |
69fdad |
Name (ZER2, 0)
|
|
Al Stone |
69fdad |
Name (ONE0, 1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (NSTL)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Method (TEST)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ NestdLor Test", Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
If (Lor (ZER0, Lor (ZER1, Lor (ZER2, ONE0))))
|
|
Al Stone |
69fdad |
{ // Indicate Pass
|
|
Al Stone |
69fdad |
Store (0x00, Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Else
|
|
Al Stone |
69fdad |
{ // Indicate Fail
|
|
Al Stone |
69fdad |
Store (0x01, Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (Local0)
|
|
Al Stone |
69fdad |
} // End Method TEST
|
|
Al Stone |
69fdad |
} // Device NSTL
|
|
Al Stone |
69fdad |
} // _SB system bus
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// test RetBuf.asl
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// Test ReturnOp(Buffer)
|
|
Al Stone |
69fdad |
// This is required to support Control Method Batteries on
|
|
Al Stone |
69fdad |
// Dell Latitude Laptops (e.g., CP1-A)
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
Device (RTBF)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Method (SUBR, 1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (Arg0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (RBUF,, Serialized)
|
|
Al Stone |
69fdad |
{ // RBUF: Return Buffer from local variable
|
|
Al Stone |
69fdad |
Name (ABUF, Buffer() {"ARBITRARY_BUFFER"})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// store local buffer ABUF into Local0
|
|
Al Stone |
69fdad |
Store (ABUF, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// save Local0 object type value into Local1
|
|
Al Stone |
69fdad |
Store (ObjectType (Local0), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// validate Local0 is a Buffer
|
|
Al Stone |
69fdad |
If (LNotEqual (Local1, 3)) // Buffer type is 3
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// store value returned by control method SUBR into Local0
|
|
Al Stone |
69fdad |
Store (SUBR (ABUF), Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// save Local0 object type value into Local1
|
|
Al Stone |
69fdad |
Store (ObjectType (Local0), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// validate Local0 is a Buffer
|
|
Al Stone |
69fdad |
If (LNotEqual (Local1, 3)) // Buffer type is 3
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (2) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// allocate buffer using Local1 as buffer size (run-time evaluation)
|
|
Al Stone |
69fdad |
Store (5, Local1)
|
|
Al Stone |
69fdad |
Name (BUFR, Buffer(Local1) {})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// store value returned by control method SUBR into Local0
|
|
Al Stone |
69fdad |
Store (SUBR (BUFR), Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// save Local0 object type value into Local1
|
|
Al Stone |
69fdad |
Store (ObjectType (Local0), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// validate Local0 is a Buffer
|
|
Al Stone |
69fdad |
If (LNotEqual (Local1, 3)) // Buffer type is 3
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (3) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// store BUFR Buffer into Local0
|
|
Al Stone |
69fdad |
Store (BUFR, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// save Local0 object type value into Local1
|
|
Al Stone |
69fdad |
Store (ObjectType (Local0), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// validate Local0 is a Buffer
|
|
Al Stone |
69fdad |
If (LNotEqual (Local1, 3)) // Buffer type is 3
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (4) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// return Local0 Buffer
|
|
Al Stone |
69fdad |
Return (Local0)
|
|
Al Stone |
69fdad |
} // RBUF
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (TEST)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ RetBuf Test", Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// store RBUF Buffer return value into Local0
|
|
Al Stone |
69fdad |
Store (RBUF, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// save Local0 object type value into Local1
|
|
Al Stone |
69fdad |
Store (ObjectType (Local0), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// validate Local0 is a Buffer
|
|
Al Stone |
69fdad |
If (LNotEqual (Local1, 3)) // Buffer type is 3
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (10) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Else
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (0) // success
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
} // TEST
|
|
Al Stone |
69fdad |
} // RTBF
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// test RetLVal.asl
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// Test ReturnOp(Lvalue)
|
|
Al Stone |
69fdad |
// This is required to support _PSR on IBM ThinkPad 560D and
|
|
Al Stone |
69fdad |
// _DCK on Toshiba Tecra 8000.
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (GPE2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Method (_L03)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("Method GPE2._L03 invoked", Debug)
|
|
Al Stone |
69fdad |
Return ()
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_E05)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("Method GPE2._E05 invoked", Debug)
|
|
Al Stone |
69fdad |
Return ()
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (PRW2)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (_PRW, Package(2) {Package(2){\GPE2, 0x05}, 3})
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Scope (\_GPE)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (ACST, 0xFF)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_L08)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("Method _GPE._L08 invoked", Debug)
|
|
Al Stone |
69fdad |
Return ()
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_E09)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("Method _GPE._E09 invoked", Debug)
|
|
Al Stone |
69fdad |
Return ()
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_E11)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("Method _GPE._E11 invoked", Debug)
|
|
Al Stone |
69fdad |
Notify (\PRW1, 2)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_L22)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("Method _GPE._L22 invoked", Debug)
|
|
Al Stone |
69fdad |
Return ()
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_L33)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("Method _GPE._L33 invoked", Debug)
|
|
Al Stone |
69fdad |
Return ()
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_E64)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("Method _GPE._E64 invoked", Debug)
|
|
Al Stone |
69fdad |
Return ()
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
} // _GPE
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (PRW1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (_PRW, Package(2) {0x11, 3})
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (PWRB)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (_HID, EISAID("PNP0C0C"))
|
|
Al Stone |
69fdad |
Name (_PRW, Package(2) {0x33, 3})
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Scope (\_SB) // System Bus
|
|
Al Stone |
69fdad |
{ // _SB system bus
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (ACAD)
|
|
Al Stone |
69fdad |
{ // ACAD: AC adapter device
|
|
Al Stone |
69fdad |
Name (_HID, "ACPI0003") // AC adapter device
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name (_PCL, Package () {\_SB})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
OperationRegion (AREG, SystemIO, 0x0372, 2)
|
|
Al Stone |
69fdad |
Field (AREG, ByteAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
AIDX, 8,
|
|
Al Stone |
69fdad |
ADAT, 8
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
IndexField (AIDX, ADAT, ByteAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
, 1, // skips
|
|
Al Stone |
69fdad |
ACIN, 1,
|
|
Al Stone |
69fdad |
, 2, // skips
|
|
Al Stone |
69fdad |
CHAG, 1,
|
|
Al Stone |
69fdad |
, 3, // skips
|
|
Al Stone |
69fdad |
, 7, // skips
|
|
Al Stone |
69fdad |
ABAT, 1,
|
|
Al Stone |
69fdad |
} // IndexField
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_PSR)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (\_GPE.ACST, Local0)
|
|
Al Stone |
69fdad |
Store (ACIN, Local1)
|
|
Al Stone |
69fdad |
If (LNotEqual (\_GPE.ACST, Local1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (Local1, \_GPE.ACST)
|
|
Al Stone |
69fdad |
// This Notify is commented because it causes a
|
|
Al Stone |
69fdad |
// method error when running on a system without the
|
|
Al Stone |
69fdad |
// specific device.
|
|
Al Stone |
69fdad |
// Notify (\_SB_.ACAD, 0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Return (Local0)
|
|
Al Stone |
69fdad |
} // _PSR
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_STA)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (0x0F)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (_INI)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (ACIN, \_GPE.ACST)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
} // ACAD: AC adapter device
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// test implicit return from control method
|
|
Al Stone |
69fdad |
Method (DIS_, 1)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store (Arg0, Local0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (RTLV)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
// test implicit return inside nested if with explicit return of Lvalue
|
|
Al Stone |
69fdad |
Method (_DCK, 1)
|
|
Al Stone |
69fdad |
// Arg0: 1 == dock, 0 == undock
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
If (Arg0)
|
|
Al Stone |
69fdad |
{ // dock
|
|
Al Stone |
69fdad |
Store (0x87, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
If (Local0)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
DIS_ (0x23)
|
|
Al Stone |
69fdad |
Return (1)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (0)
|
|
Al Stone |
69fdad |
} // dock
|
|
Al Stone |
69fdad |
Else
|
|
Al Stone |
69fdad |
{ // undock
|
|
Al Stone |
69fdad |
Store (Arg0, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
If (Local0)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
DIS_ (0x23)
|
|
Al Stone |
69fdad |
Return (1)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (0)
|
|
Al Stone |
69fdad |
} // undock
|
|
Al Stone |
69fdad |
} // _DCK control method
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (TEST)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ RetLVal Test", Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// store _PSR return value into Local0
|
|
Al Stone |
69fdad |
Store (\_SB_.ACAD._PSR, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// save Local0 object type value into Local1
|
|
Al Stone |
69fdad |
Store (ObjectType (Local0), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// validate Local0 is a Number
|
|
Al Stone |
69fdad |
If (LNotEqual (Local1, 1)) // Number/Integer type is 1
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// test implicit return inside nested if with explicit return of Lvalue
|
|
Al Stone |
69fdad |
Store (_DCK (1), Local2)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// save Local2 object type value into Local3
|
|
Al Stone |
69fdad |
Store (ObjectType (Local2), Local3)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// validate Local2 is a Number
|
|
Al Stone |
69fdad |
If (LNotEqual (Local3, 1)) // Number/Integer type is 1
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (2) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
If (LNotEqual (Local2, 1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (3) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (0) // success
|
|
Al Stone |
69fdad |
} // TEST
|
|
Al Stone |
69fdad |
} // RTLV
|
|
Al Stone |
69fdad |
} // _SB system bus
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// test RetPkg.asl
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// Test ReturnOp(Package)
|
|
Al Stone |
69fdad |
// This is required to support _PRT on Dell Optiplex Workstations (e.g. GX1)
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Scope (\_SB) // System Bus
|
|
Al Stone |
69fdad |
{ // _SB system bus
|
|
Al Stone |
69fdad |
Device(LNKA)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
|
|
Al Stone |
69fdad |
Name (_UID, 1)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Device(LNKB)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
|
|
Al Stone |
69fdad |
Name (_UID, 2)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Device(LNKC)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
|
|
Al Stone |
69fdad |
Name (_UID, 3)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
Device(LNKD)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
|
|
Al Stone |
69fdad |
Name (_UID, 4)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (PCI1)
|
|
Al Stone |
69fdad |
{ // PCI1: Root PCI Bus
|
|
Al Stone |
69fdad |
Name (_HID, "PNP0A03") // Need _HID for root device (String format)
|
|
Al Stone |
69fdad |
Name (_ADR,0x00000000)
|
|
Al Stone |
69fdad |
Name (_CRS,0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name (_PRT, Package ()
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Package () {0x0004ffff, 0, LNKA, 0}, // Slot 1, INTA
|
|
Al Stone |
69fdad |
Package () {0x0004ffff, 1, LNKB, 0}, // Slot 1, INTB
|
|
Al Stone |
69fdad |
Package () {0x0004ffff, 2, LNKC, 0}, // Slot 1, INTC
|
|
Al Stone |
69fdad |
Package () {0x0004ffff, 3, LNKD, 0}, // Slot 1, INTD
|
|
Al Stone |
69fdad |
Package () {0x0005ffff, 0, \_SB_.LNKB, 0}, // Slot 2, INTA
|
|
Al Stone |
69fdad |
Package () {0x0005ffff, 1, \_SB_.LNKC, 0}, // Slot 2, INTB
|
|
Al Stone |
69fdad |
Package () {0x0005ffff, 2, \_SB_.LNKD, 0}, // Slot 2, INTC
|
|
Al Stone |
69fdad |
Package () {0x0006ffff, 3, \_SB_.LNKA, 0}, // Slot 2, INTD
|
|
Al Stone |
69fdad |
Package () {0x0006ffff, 0, LNKC, 0}, // Slot 3, INTA
|
|
Al Stone |
69fdad |
Package () {0x0006ffff, 1, LNKD, 0}, // Slot 3, INTB
|
|
Al Stone |
69fdad |
Package () {0x0006ffff, 2, LNKA, 0}, // Slot 3, INTC
|
|
Al Stone |
69fdad |
Package () {0x0006ffff, 3, LNKB, 0}, // Slot 3, INTD
|
|
Al Stone |
69fdad |
})
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (PX40)
|
|
Al Stone |
69fdad |
{ // Map f0 space, Start PX40
|
|
Al Stone |
69fdad |
Name (_ADR,0x00070000) // Address+function.
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
} // PCI0: Root PCI Bus
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Device (RETP)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Method (RPKG)
|
|
Al Stone |
69fdad |
{ // RPKG: Return Package from local variable
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// store _PRT package into Local0
|
|
Al Stone |
69fdad |
Store (\_SB_.PCI1._PRT, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// return Local0 Package
|
|
Al Stone |
69fdad |
Return (Local0)
|
|
Al Stone |
69fdad |
} // RPKG
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (TEST)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ RetPkg Test", Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// store RPKG package return value into Local0
|
|
Al Stone |
69fdad |
Store (RPKG, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// save Local0 object type value into Local1
|
|
Al Stone |
69fdad |
Store (ObjectType (Local0), Local1)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
// validate Local0 is a Package
|
|
Al Stone |
69fdad |
If (LNotEqual (Local1, 4)) // Package type is 4
|
|
Al Stone |
69fdad |
{ Return (1) } // failure
|
|
Al Stone |
69fdad |
Else
|
|
Al Stone |
69fdad |
{ Return (0) } // success
|
|
Al Stone |
69fdad |
} // TEST
|
|
Al Stone |
69fdad |
} // RETP
|
|
Al Stone |
69fdad |
} // _SB_
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// test WhileRet.asl
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// WhileRet.asl tests a ReturnOp nested in a IfOp nested in a WhileOp.
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
Device (WHLR)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Name (LCNT, 0)
|
|
Al Stone |
69fdad |
Method (WIR)
|
|
Al Stone |
69fdad |
{ // WIR: control method that returns inside of IfOp inside of WhileOp
|
|
Al Stone |
69fdad |
While (LLess (LCNT, 4))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
If (LEqual (LCNT, 2))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (0)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Increment (LCNT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (LCNT)
|
|
Al Stone |
69fdad |
} // WIR: control method that returns inside of IfOp inside of WhileOp
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (TEST)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ WhileRet Test", Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (WIR, Local0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return (Local0)
|
|
Al Stone |
69fdad |
} // TEST
|
|
Al Stone |
69fdad |
} // WHLR
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// test AndOrOp.asl
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
//This code tests the bitwise AndOp and OrOp Operator terms
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
//Syntax of Andop term
|
|
Al Stone |
69fdad |
//And - Bitwise And
|
|
Al Stone |
69fdad |
//AndTerm := And(
|
|
Al Stone |
69fdad |
// Source1, //TermArg=>Integer
|
|
Al Stone |
69fdad |
// Source2, //TermArg=>Integer
|
|
Al Stone |
69fdad |
// Result //Nothing | SuperName
|
|
Al Stone |
69fdad |
//) => Integer
|
|
Al Stone |
69fdad |
//Source1 and Source2 are evaluated as integer data types,
|
|
Al Stone |
69fdad |
// a bit-wise AND is performed, and the result is optionally
|
|
Al Stone |
69fdad |
//stored into Result.
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
//Syntax of OrOp
|
|
Al Stone |
69fdad |
//Or - Bit-wise Or
|
|
Al Stone |
69fdad |
//OrTerm := Or(
|
|
Al Stone |
69fdad |
// Source1, //TermArg=>Integer
|
|
Al Stone |
69fdad |
// Source2 //TermArg=>Integer
|
|
Al Stone |
69fdad |
// Result //Nothing | SuperName
|
|
Al Stone |
69fdad |
//) => Integer
|
|
Al Stone |
69fdad |
//Source1 and Source2 are evaluated as integer data types,
|
|
Al Stone |
69fdad |
// a bit-wide OR is performed, and the result is optionally
|
|
Al Stone |
69fdad |
//stored in Result
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
Device (ANDO)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
OperationRegion (TMEM, SystemMemory, 0xC4, 0x02)
|
|
Al Stone |
69fdad |
Field (TMEM, ByteAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
, 3,
|
|
Al Stone |
69fdad |
TOUD, 13
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Create System Memory Operation Region and field overlays
|
|
Al Stone |
69fdad |
OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
|
|
Al Stone |
69fdad |
Field (RAM, AnyAcc, NoLock, Preserve)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
SMDW, 32, // 32-bit DWORD
|
|
Al Stone |
69fdad |
SMWD, 16, // 16-bit WORD
|
|
Al Stone |
69fdad |
SMBY, 8, // 8-bit BYTE
|
|
Al Stone |
69fdad |
}// Field(RAM)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//And with Byte Data
|
|
Al Stone |
69fdad |
Name (BYT1, 0xff)
|
|
Al Stone |
69fdad |
Name (BYT2, 0xff)
|
|
Al Stone |
69fdad |
Name (BRSL, 0x00)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//And with Word Data
|
|
Al Stone |
69fdad |
Name (WRD1, 0xffff)
|
|
Al Stone |
69fdad |
Name (WRD2, 0xffff)
|
|
Al Stone |
69fdad |
Name (WRSL, 0x0000)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//And with DWord Data
|
|
Al Stone |
69fdad |
Name (DWD1, 0xffffffff)
|
|
Al Stone |
69fdad |
Name (DWD2, 0xffffffff)
|
|
Al Stone |
69fdad |
Name (DRSL, 0x00000000)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (ANDP)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
//Check with 1 And 1 on byte data
|
|
Al Stone |
69fdad |
And(BYT1, BYT2, BRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(BRSL,0xff))
|
|
Al Stone |
69fdad |
{Return(1)}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 And 1 on Word data
|
|
Al Stone |
69fdad |
And(WRD1, WRD2, WRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(WRSL,0xffff))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 And 1 Dword
|
|
Al Stone |
69fdad |
And(DWD1, DWD2, DRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(DRSL,0xffffffff))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 0 And 0 on byte data
|
|
Al Stone |
69fdad |
Store(0x00,BYT1)
|
|
Al Stone |
69fdad |
Store(0x00,BYT2)
|
|
Al Stone |
69fdad |
Store(0x00,BRSL)
|
|
Al Stone |
69fdad |
And(BYT1, BYT2, BRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(BRSL,0x00))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 0 And 0 on Word data
|
|
Al Stone |
69fdad |
Store (0x0000,WRD1)
|
|
Al Stone |
69fdad |
Store (0x0000,WRD2)
|
|
Al Stone |
69fdad |
Store (0x0000,WRSL)
|
|
Al Stone |
69fdad |
And(WRD1, WRD2, WRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(WRSL,0x0000))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 0 And 0 Dword
|
|
Al Stone |
69fdad |
Store (0x00000000,DWD1)
|
|
Al Stone |
69fdad |
Store (0x00000000,DWD2)
|
|
Al Stone |
69fdad |
Store (0x00000000,DRSL)
|
|
Al Stone |
69fdad |
And(DWD1, DWD2, DRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(DRSL,0x00000000))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 And 0 on byte data
|
|
Al Stone |
69fdad |
Store(0x55,BYT1)
|
|
Al Stone |
69fdad |
Store(0xAA,BYT2)
|
|
Al Stone |
69fdad |
Store(0x00,BRSL)
|
|
Al Stone |
69fdad |
And(BYT1, BYT2, BRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(BRSL,0x00))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 And 0 on Word data
|
|
Al Stone |
69fdad |
Store (0x5555,WRD1)
|
|
Al Stone |
69fdad |
Store (0xAAAA,WRD2)
|
|
Al Stone |
69fdad |
Store (0x0000,WRSL)
|
|
Al Stone |
69fdad |
And(WRD1, WRD2, WRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(WRSL,0x0000))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 And 0 on Dword
|
|
Al Stone |
69fdad |
Store (0x55555555,DWD1)
|
|
Al Stone |
69fdad |
Store (0xAAAAAAAA,DWD2)
|
|
Al Stone |
69fdad |
Store (0x00000000,DRSL)
|
|
Al Stone |
69fdad |
And(DWD1, DWD2, DRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(DRSL,0x00000000))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Store (0x1FFF, TOUD)
|
|
Al Stone |
69fdad |
Store (TOUD, Local0)
|
|
Al Stone |
69fdad |
if(LNotEqual(Local0,0x1FFF))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//TBD- Do We need to check for system memory data also for each test case ??
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return(0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
}//ANDP
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method (OROP)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 Ored with 1 on byte data
|
|
Al Stone |
69fdad |
Store(0xff,BYT1)
|
|
Al Stone |
69fdad |
Store(0xff,BYT2)
|
|
Al Stone |
69fdad |
Store(0x00,BRSL)
|
|
Al Stone |
69fdad |
Or(BYT1, BYT2, BRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(BRSL,0xff))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 Ored with 1 on Word data
|
|
Al Stone |
69fdad |
Store(0xffff,WRD1)
|
|
Al Stone |
69fdad |
Store(0xffff,WRD2)
|
|
Al Stone |
69fdad |
Store(0x0000,WRSL)
|
|
Al Stone |
69fdad |
Or(WRD1, WRD2, WRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(WRSL,0xffff))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 Ored with 1 on Dword data
|
|
Al Stone |
69fdad |
Store(0xffffffff,DWD1)
|
|
Al Stone |
69fdad |
Store(0xffffffff,DWD2)
|
|
Al Stone |
69fdad |
Store(0x00000000,DRSL)
|
|
Al Stone |
69fdad |
Or(DWD1, DWD2, DRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(DRSL,0xffffffff))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 0 Ored with 0 on byte data
|
|
Al Stone |
69fdad |
Store(0x00,BYT1)
|
|
Al Stone |
69fdad |
Store(0x00,BYT2)
|
|
Al Stone |
69fdad |
Store(0x00,BRSL)
|
|
Al Stone |
69fdad |
Or(BYT1, BYT2, BRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(BRSL,0x00))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 0 Ored with 0 on Word data
|
|
Al Stone |
69fdad |
Store (0x0000,WRD1)
|
|
Al Stone |
69fdad |
Store (0x0000,WRD2)
|
|
Al Stone |
69fdad |
Store (0x0000,WRSL)
|
|
Al Stone |
69fdad |
Or(WRD1, WRD2, WRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(WRSL,0x0000))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 0 Ored with 0 Dword data
|
|
Al Stone |
69fdad |
Store (0x00000000,DWD1)
|
|
Al Stone |
69fdad |
Store (0x00000000,DWD2)
|
|
Al Stone |
69fdad |
Store (0x00000000,DRSL)
|
|
Al Stone |
69fdad |
Or(DWD1, DWD2, DRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(DRSL,0x00000000))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 Ored with 0 on byte data
|
|
Al Stone |
69fdad |
Store(0x55,BYT1)
|
|
Al Stone |
69fdad |
Store(0xAA,BYT2)
|
|
Al Stone |
69fdad |
Store(0x00,BRSL)
|
|
Al Stone |
69fdad |
Or(BYT1, BYT2, BRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(BRSL,0xff))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 Ored with 0 on Word data
|
|
Al Stone |
69fdad |
Store (0x5555,WRD1)
|
|
Al Stone |
69fdad |
Store (0xAAAA,WRD2)
|
|
Al Stone |
69fdad |
Store (0x0000,WRSL)
|
|
Al Stone |
69fdad |
Or(WRD1, WRD2, WRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(WRSL,0xffff))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Check with 1 Ored with 0 on Dword data
|
|
Al Stone |
69fdad |
Store (0x55555555,DWD1)
|
|
Al Stone |
69fdad |
Store (0xAAAAAAAA,DWD2)
|
|
Al Stone |
69fdad |
Store (0x00000000,DRSL)
|
|
Al Stone |
69fdad |
Or(DWD1, DWD2, DRSL)
|
|
Al Stone |
69fdad |
if(LNotEqual(DRSL,0xffffffff))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (1) // failure
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//TBD - Do We need to check for system memory data also for each test case ??
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Return(0)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
}//OROP
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Method(TEST,, Serialized)
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Store ("++++++++ AndOrOp Test", Debug)
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
Name(RSLT,1)
|
|
Al Stone |
69fdad |
//Call Andop method
|
|
Al Stone |
69fdad |
Store(ANDP,RSLT)
|
|
Al Stone |
69fdad |
if(LEqual(RSLT,1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return (RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//Call OrOp Method
|
|
Al Stone |
69fdad |
Store(OROP,RSLT)
|
|
Al Stone |
69fdad |
if(LEqual(RSLT,1))
|
|
Al Stone |
69fdad |
{
|
|
Al Stone |
69fdad |
Return(RSLT)
|
|
Al Stone |
69fdad |
}
|
|
Al Stone |
69fdad |
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
// Return original conditions to allow iterative execution
|
|
Al Stone |
69fdad |
//
|
|
Al Stone |
69fdad |
Store(0xff,BYT1)
|
|
Al Stone |
69fdad |
Store(0xff,BYT2)
|
|
Al Stone |
69fdad |
Store(0x00,BRSL)
|
|
Al Stone |
69fdad |
Store (0xffff,WRD1)
|
|
Al Stone |
69fdad |
Store (0xffff,WRD2)
|
|
Al Stone |
69fdad |
Store (0x0000,WRSL)
|
|
Al Stone |
69fdad |
Store (0xffffffff,DWD1)
|
|
|