xref: /dflybsd-src/sys/contrib/dev/acpica/tests/misc/badcode.asl (revision e5412f1ebe2d447394820f2dbf054bbb6a3e20e6)
10d02842fSSascha Wildner/*
20d02842fSSascha Wildner * badcode.asl
30d02842fSSascha Wildner *
40d02842fSSascha Wildner * This file contains examples of the extended error checking and
50d02842fSSascha Wildner * typechecking capabilities of the iASL compiler. Other ASL compilers
60d02842fSSascha Wildner * may ignore these errors completely. Note - this is not an exhaustive
70d02842fSSascha Wildner * list of errors detected by iASL, it shows many of the errors that
80d02842fSSascha Wildner * are not detected by other ASL compilers.
90d02842fSSascha Wildner *
100d02842fSSascha Wildner * To compile, use:
110d02842fSSascha Wildner * iasl badcode.asl
120d02842fSSascha Wildner *
130d02842fSSascha Wildner * Output:
14*e5412f1eSSascha Wildner * Compilation complete. 45 Errors, 28 Warnings, 11 Remarks, 14 Optimizations
150d02842fSSascha Wildner *
160d02842fSSascha Wildner */
170d02842fSSascha WildnerDefinitionBlock ("badcode.aml", "DSDT", 1, "Intel", "Example", 0x00000001)
180d02842fSSascha Wildner{
190d02842fSSascha Wildner    Name (INT1, 0)
200d02842fSSascha Wildner    Name (BUF1, Buffer() {0,1,2,3})
210d02842fSSascha Wildner    Event (EVT1)
220d02842fSSascha Wildner
230d02842fSSascha Wildner    // Invalid SyncLevel in Mutex declaration
240d02842fSSascha Wildner
250d02842fSSascha Wildner    Mutex (MTX1, 32)
260d02842fSSascha Wildner
270d02842fSSascha Wildner    // Integer beyond the table integer size (32 bits)
280d02842fSSascha Wildner
290d02842fSSascha Wildner    Name (BIG, 0x1234567887654321)
300d02842fSSascha Wildner
310d02842fSSascha Wildner    // CPackage length does not match initializer list length
320d02842fSSascha Wildner
330d02842fSSascha Wildner    Name (PKG1, Package(5) {0,1})
340d02842fSSascha Wildner
350d02842fSSascha Wildner    // Inadvertent use of single backslash in a string
360d02842fSSascha Wildner
370d02842fSSascha Wildner    Name (PATH, Buffer() {"\_SB_.PCI2._CRS"})
380d02842fSSascha Wildner
390d02842fSSascha Wildner    // Invalid hex escape sequence
400d02842fSSascha Wildner
410d02842fSSascha Wildner    Name (ESC1, "abcdefg\x00hijklmn")
420d02842fSSascha Wildner
430d02842fSSascha Wildner    // Field access beyond region bounds
440d02842fSSascha Wildner
450d02842fSSascha Wildner    OperationRegion (OPR1, SystemMemory, 0x2000, 6)
460d02842fSSascha Wildner    Field (OPR1, DWordAcc, NoLock, Preserve)
470d02842fSSascha Wildner    {
480d02842fSSascha Wildner        Offset (4),
490d02842fSSascha Wildner        FLD1, 8
500d02842fSSascha Wildner    }
510d02842fSSascha Wildner
520d02842fSSascha Wildner    // Some address spaces support only ByteAcc or BufferAcc
530d02842fSSascha Wildner
540d02842fSSascha Wildner    OperationRegion (OPR2, EmbeddedControl, 0x4000, 8)
550d02842fSSascha Wildner    Field (OPR2, DWordAcc, NoLock, Preserve)
560d02842fSSascha Wildner    {
570d02842fSSascha Wildner        FLD2, 8
580d02842fSSascha Wildner    }
590d02842fSSascha Wildner    OperationRegion (OPR3, SMBus, 0x8000, 16)
600d02842fSSascha Wildner    Field (OPR3, WordAcc, NoLock, Preserve)
610d02842fSSascha Wildner    {
620d02842fSSascha Wildner        FLD3, 8
630d02842fSSascha Wildner    }
640d02842fSSascha Wildner
650d02842fSSascha Wildner    // Invalid SyncLevel in method declaration
660d02842fSSascha Wildner
670d02842fSSascha Wildner    Method (MTH1, 0, NotSerialized, 32)
680d02842fSSascha Wildner    {
690d02842fSSascha Wildner        // Invalid arguments and uninitialized locals
700d02842fSSascha Wildner
710d02842fSSascha Wildner        Store (Arg3, Local0)
720d02842fSSascha Wildner        Store (Local1, Local2)
730d02842fSSascha Wildner
740d02842fSSascha Wildner        // Parameter typechecking (MTX1 is invalid type)
750d02842fSSascha Wildner
760d02842fSSascha Wildner        Subtract (MTX1, 4, Local3)
770d02842fSSascha Wildner
780d02842fSSascha Wildner        // Various invalid parameters
790d02842fSSascha Wildner
800d02842fSSascha Wildner        CreateField (BUF1, 0, Subtract (4, 4), FLD1)
810d02842fSSascha Wildner
820d02842fSSascha Wildner        // Unchecked mutex and event timeouts
830d02842fSSascha Wildner
840d02842fSSascha Wildner        Acquire (MTX1, 100)
850d02842fSSascha Wildner        Wait (EVT1, 1)
860d02842fSSascha Wildner
870d02842fSSascha Wildner        // Result from operation is not used - statement has no effect
880d02842fSSascha Wildner
890d02842fSSascha Wildner        Add (INT1, 8)
900d02842fSSascha Wildner
910d02842fSSascha Wildner        // Unreachable code
920d02842fSSascha Wildner
930d02842fSSascha Wildner        Return (0)
940d02842fSSascha Wildner        Store (5, INT1)
950d02842fSSascha Wildner    }
960d02842fSSascha Wildner
970d02842fSSascha Wildner    Method (MTH2)
980d02842fSSascha Wildner    {
990d02842fSSascha Wildner        // Switch with no Case statements
1000d02842fSSascha Wildner
1010d02842fSSascha Wildner        Switch (ToInteger (INT1))
1020d02842fSSascha Wildner        {
1030d02842fSSascha Wildner            Default
1040d02842fSSascha Wildner            {
1050d02842fSSascha Wildner            }
1060d02842fSSascha Wildner        }
1070d02842fSSascha Wildner
1080d02842fSSascha Wildner        if (LEqual (INT1, 0))
1090d02842fSSascha Wildner        {
1100d02842fSSascha Wildner            Return (INT1)
1110d02842fSSascha Wildner        }
1120d02842fSSascha Wildner
1130d02842fSSascha Wildner        // Fallthrough exit path does not return a value
1140d02842fSSascha Wildner    }
1150d02842fSSascha Wildner
1160d02842fSSascha Wildner    Method (MTH3)
1170d02842fSSascha Wildner    {
1180d02842fSSascha Wildner        // Method MTH2 above does not always return a value
1190d02842fSSascha Wildner
1200d02842fSSascha Wildner        Store (MTH2 (), Local0)
1210d02842fSSascha Wildner    }
1220d02842fSSascha Wildner
1230d02842fSSascha Wildner    // Method MTH4 does not explicitly return a value
1240d02842fSSascha Wildner
1250d02842fSSascha Wildner    Method (MTH4) {}
1260d02842fSSascha Wildner    Method (MTH5) {Store (MTH4(), Local0)}
1270d02842fSSascha Wildner
1280d02842fSSascha Wildner    // Invalid _HID values
1290d02842fSSascha Wildner
1300d02842fSSascha Wildner    Device (H1)
1310d02842fSSascha Wildner    {
1320d02842fSSascha Wildner        Name (_HID, "*PNP0C0A")     // Illegal leading asterisk
1330d02842fSSascha Wildner    }
1340d02842fSSascha Wildner    Device (H2)
1350d02842fSSascha Wildner    {
1360d02842fSSascha Wildner        Name (_HID, "PNP")          // Too short, must be 7 or 8 chars
1370d02842fSSascha Wildner    }
1380d02842fSSascha Wildner    Device (H3)
1390d02842fSSascha Wildner    {
1400d02842fSSascha Wildner        Name (_HID, "MYDEVICE01")   // Too long, must be 7 or 8 chars
1410d02842fSSascha Wildner    }
1420d02842fSSascha Wildner    Device (H4)
1430d02842fSSascha Wildner    {
1440d02842fSSascha Wildner        Name (_HID, "acpi0001")     // non-hex chars must be uppercase
1450d02842fSSascha Wildner    }
1460d02842fSSascha Wildner    Device (H5)
1470d02842fSSascha Wildner    {
1480d02842fSSascha Wildner        Name (_HID, "PNP-123")      // HID must be alphanumeric
1490d02842fSSascha Wildner    }
1500d02842fSSascha Wildner    Device (H6)
1510d02842fSSascha Wildner    {
1520d02842fSSascha Wildner        Name (_HID, "")             // Illegal Null HID
1530d02842fSSascha Wildner        Name (_CID, "")             // Illegal Null CID
1540d02842fSSascha Wildner    }
1550d02842fSSascha Wildner
1560d02842fSSascha Wildner    // Predefined Name typechecking
1570d02842fSSascha Wildner
1580d02842fSSascha Wildner    Name (_PRW, 4)
1590d02842fSSascha Wildner    Name (_FDI, Buffer () {0})
1600d02842fSSascha Wildner
1610d02842fSSascha Wildner    // Predefined Name argument count validation
1620d02842fSSascha Wildner    // and return value validation
1630d02842fSSascha Wildner
1640d02842fSSascha Wildner    Method (_OSC, 5)
1650d02842fSSascha Wildner    {
1660d02842fSSascha Wildner    }
1670d02842fSSascha Wildner
1680d02842fSSascha Wildner    // Predefined Names that must be implemented as control methods
1690d02842fSSascha Wildner
1700d02842fSSascha Wildner    Name (_L01, 1)
1710d02842fSSascha Wildner    Name (_E02, 2)
1720d02842fSSascha Wildner    Name (_Q03, 3)
1730d02842fSSascha Wildner    Name (_ON,  0)
1740d02842fSSascha Wildner    Name (_INI, 1)
1750d02842fSSascha Wildner    Name (_PTP, 2)
1760d02842fSSascha Wildner
1770d02842fSSascha Wildner    // GPE methods that cause type collision (L vs. E)
1780d02842fSSascha Wildner
1790d02842fSSascha Wildner    Scope (\_GPE)
1800d02842fSSascha Wildner    {
1810d02842fSSascha Wildner        Method (_L1D)
1820d02842fSSascha Wildner        {
1830d02842fSSascha Wildner        }
1840d02842fSSascha Wildner        Method (_E1D)
1850d02842fSSascha Wildner        {
1860d02842fSSascha Wildner        }
1870d02842fSSascha Wildner    }
1880d02842fSSascha Wildner
1890d02842fSSascha Wildner    // Predefined names that should not have a return value
1900d02842fSSascha Wildner
1910d02842fSSascha Wildner    Method (_FDM, 1)
1920d02842fSSascha Wildner    {
1930d02842fSSascha Wildner        Return (Buffer(1){0x33})
1940d02842fSSascha Wildner    }
1950d02842fSSascha Wildner    Method (_Q22)
1960d02842fSSascha Wildner    {
1970d02842fSSascha Wildner        Return ("Unexpected Return Value")
1980d02842fSSascha Wildner    }
1990d02842fSSascha Wildner
2000d02842fSSascha Wildner    // _REG must have a corresponding Operation Region declaration
2010d02842fSSascha Wildner    // within the same scope
2020d02842fSSascha Wildner
2030d02842fSSascha Wildner    Device (EC)
2040d02842fSSascha Wildner    {
2050d02842fSSascha Wildner        Method (_REG, 2)
2060d02842fSSascha Wildner        {
2070d02842fSSascha Wildner        }
2080d02842fSSascha Wildner    }
2090d02842fSSascha Wildner
2100d02842fSSascha Wildner    /*
2110d02842fSSascha Wildner     * Resource Descriptor error checking
2120d02842fSSascha Wildner     */
2130d02842fSSascha Wildner    Name (RSC1, ResourceTemplate ()
2140d02842fSSascha Wildner    {
2150d02842fSSascha Wildner        // Illegal nested StartDependent macros
2160d02842fSSascha Wildner
2170d02842fSSascha Wildner        StartDependentFn (0, 0)
2180d02842fSSascha Wildner        {
2190d02842fSSascha Wildner            StartDependentFn (0, 0)
2200d02842fSSascha Wildner            {
2210d02842fSSascha Wildner            }
2220d02842fSSascha Wildner        }
2230d02842fSSascha Wildner
2240d02842fSSascha Wildner        // Missing EndDependentFn macro
2250d02842fSSascha Wildner    })
2260d02842fSSascha Wildner
2270d02842fSSascha Wildner    Name (RSC2, ResourceTemplate ()
2280d02842fSSascha Wildner    {
2290d02842fSSascha Wildner        // AddressMin is larger than AddressMax
2300d02842fSSascha Wildner        IO (Decode16,
2310d02842fSSascha Wildner            0x07D0,             // Range Minimum
2320d02842fSSascha Wildner            0x03E8,             // Range Maximum
2330d02842fSSascha Wildner            0x01,               // Alignment
2340d02842fSSascha Wildner            0x20,               // Length
2350d02842fSSascha Wildner            )
2360d02842fSSascha Wildner
2370d02842fSSascha Wildner        // Length larger than Min/Max window size
2380d02842fSSascha Wildner        Memory32 (ReadOnly,
2390d02842fSSascha Wildner            0x00001000,         // Range Minimum
2400d02842fSSascha Wildner            0x00002000,         // Range Maximum
2410d02842fSSascha Wildner            0x00000004,         // Alignment
2420d02842fSSascha Wildner            0x00002000,         // Length
2430d02842fSSascha Wildner            )
2440d02842fSSascha Wildner
2450d02842fSSascha Wildner        // Min and Max not multiples of alignment value
2460d02842fSSascha Wildner        Memory32 (ReadOnly,
2470d02842fSSascha Wildner            0x00001001,         // Range Minimum
2480d02842fSSascha Wildner            0x00002002,         // Range Maximum
2490d02842fSSascha Wildner            0x00000004,         // Alignment
2500d02842fSSascha Wildner            0x00000200,         // Length
2510d02842fSSascha Wildner            )
2520d02842fSSascha Wildner
2530d02842fSSascha Wildner        // 10-bit ISA I/O address has a max of 0x3FF
2540d02842fSSascha Wildner        FixedIO (
2550d02842fSSascha Wildner            0xFFFF,             // Address
2560d02842fSSascha Wildner            0x20,               // Length
2570d02842fSSascha Wildner            )
2580d02842fSSascha Wildner
2590d02842fSSascha Wildner        // Invalid AccessSize parameter
2600d02842fSSascha Wildner        Register (SystemIO,
2610d02842fSSascha Wildner            0x08,               // Bit Width
2620d02842fSSascha Wildner            0x00,               // Bit Offset
2630d02842fSSascha Wildner            0x0000000000000100, // Address
2640d02842fSSascha Wildner            0x05                // Access Size
2650d02842fSSascha Wildner            )
2660d02842fSSascha Wildner
2670d02842fSSascha Wildner        // Invalid ResourceType (0xB0)
2680d02842fSSascha Wildner        QWordSpace (0xB0, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
2690d02842fSSascha Wildner            0x0000,             // Granularity
2700d02842fSSascha Wildner            0xA000,             // Range Minimum
2710d02842fSSascha Wildner            0xBFFF,             // Range Maximum
2720d02842fSSascha Wildner            0x0000,             // Translation Offset
2730d02842fSSascha Wildner            0x2000,             // Length
2740d02842fSSascha Wildner            ,, )
2750d02842fSSascha Wildner
2760d02842fSSascha Wildner        // AddressMin is larger than AddressMax
2770d02842fSSascha Wildner        WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2780d02842fSSascha Wildner            0x0000,             // Granularity
2790d02842fSSascha Wildner            0x0200,             // Range Minimum
2800d02842fSSascha Wildner            0x0100,             // Range Maximum
2810d02842fSSascha Wildner            0x0000,             // Translation Offset
2820d02842fSSascha Wildner            0x0100,             // Length
2830d02842fSSascha Wildner            ,, , TypeStatic)
2840d02842fSSascha Wildner
2850d02842fSSascha Wildner        // Length larger than Min/Max window size
2860d02842fSSascha Wildner        DWordSpace (0xC3, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
2870d02842fSSascha Wildner            0x00000000,         // Granularity
2880d02842fSSascha Wildner            0x000C8000,         // Range Minimum
2890d02842fSSascha Wildner            0x000C9000,         // Range Maximum
2900d02842fSSascha Wildner            0x00000000,         // Translation Offset
2910d02842fSSascha Wildner            0x00001002,         // Length
2920d02842fSSascha Wildner            ,, )
2930d02842fSSascha Wildner
2940d02842fSSascha Wildner        // Granularity must be (power-of-two -1)
2950d02842fSSascha Wildner        DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxNotFixed, NonCacheable, ReadWrite,
2960d02842fSSascha Wildner            0x00000010,
2970d02842fSSascha Wildner            0x40000000,
2980d02842fSSascha Wildner            0xFED9FFFF,
2990d02842fSSascha Wildner            0x00000000,
3000d02842fSSascha Wildner            0xBECA0000)
3010d02842fSSascha Wildner
3020d02842fSSascha Wildner        // Address Min (with zero length) not on granularity boundary
3030d02842fSSascha Wildner        QWordIO (ResourceProducer, MinFixed, MaxNotFixed, PosDecode, EntireRange,
3040d02842fSSascha Wildner            0x0000000000000003, // Granularity
3050d02842fSSascha Wildner            0x0000000000000B02, // Range Minimum
3060d02842fSSascha Wildner            0x0000000000000C00, // Range Maximum
3070d02842fSSascha Wildner            0x0000000000000000, // Translation Offset
3080d02842fSSascha Wildner            0x0000000000000000, // Length
3090d02842fSSascha Wildner            ,, , TypeStatic)
3100d02842fSSascha Wildner
3110d02842fSSascha Wildner        // Address Max (with zero length) not on (granularity boundary -1)
3120d02842fSSascha Wildner        QWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, Cacheable, ReadWrite,
3130d02842fSSascha Wildner            0x0000000000000001, // Granularity
3140d02842fSSascha Wildner            0x0000000000100000, // Range Minimum
3150d02842fSSascha Wildner            0x00000000002FFFFE, // Range Maximum
3160d02842fSSascha Wildner            0x0000000000000000, // Translation Offset
3170d02842fSSascha Wildner            0x0000000000000000, // Length
3180d02842fSSascha Wildner            ,, , AddressRangeMemory, TypeStatic)
3190d02842fSSascha Wildner
3200d02842fSSascha Wildner        // Invalid combination: zero length, both Min and Max are fixed
3210d02842fSSascha Wildner        DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
3220d02842fSSascha Wildner            0x00000000,         // Granularity
3230d02842fSSascha Wildner            0x000C8000,         // Range Minimum
3240d02842fSSascha Wildner            0x000C8FFF,         // Range Maximum
3250d02842fSSascha Wildner            0x00000000,         // Translation Offset
3260d02842fSSascha Wildner            0x00000000,         // Length
3270d02842fSSascha Wildner            ,, )
3280d02842fSSascha Wildner
3290d02842fSSascha Wildner        // Invalid combination: non-zero length, Min Fixed, Max not fixed
3300d02842fSSascha Wildner        DWordIO (ResourceProducer, MinFixed, MaxNotFixed, PosDecode, EntireRange,
3310d02842fSSascha Wildner            0x00000001,         // Granularity
3320d02842fSSascha Wildner            0x000C8000,         // Range Minimum
3330d02842fSSascha Wildner            0x000C8FFF,         // Range Maximum
3340d02842fSSascha Wildner            0x00000000,         // Translation Offset
3350d02842fSSascha Wildner            0x00000100,         // Length
3360d02842fSSascha Wildner            ,, )
3370d02842fSSascha Wildner
3380d02842fSSascha Wildner        // Invalid combination: non-zero length, Min not Fixed, Max fixed
3390d02842fSSascha Wildner        DWordIO (ResourceProducer, MinNotFixed, MaxFixed, PosDecode, EntireRange,
3400d02842fSSascha Wildner            0x00000001,         // Granularity
3410d02842fSSascha Wildner            0x000C8000,         // Range Minimum
3420d02842fSSascha Wildner            0x000C8FFF,         // Range Maximum
3430d02842fSSascha Wildner            0x00000000,         // Translation Offset
3440d02842fSSascha Wildner            0x00000200,         // Length
3450d02842fSSascha Wildner            ,, )
3460d02842fSSascha Wildner
3470d02842fSSascha Wildner        // Granularity must be zero if non-zero length, min/max fixed
3480d02842fSSascha Wildner        DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
3490d02842fSSascha Wildner            0x0000000F,         // Granularity
3500d02842fSSascha Wildner            0x000C8000,         // Range Minimum
3510d02842fSSascha Wildner            0x000C8FFF,         // Range Maximum
3520d02842fSSascha Wildner            0x00000000,         // Translation Offset
3530d02842fSSascha Wildner            0x00001000,         // Length
3540d02842fSSascha Wildner            ,, )
3550d02842fSSascha Wildner
3560d02842fSSascha Wildner        // Null descriptor (intended to be modified at runtime) must
3570d02842fSSascha Wildner        // have a resource tag (to allow it to be modified at runtime)
3580d02842fSSascha Wildner        DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
3590d02842fSSascha Wildner            0x00000000,         // Granularity
3600d02842fSSascha Wildner            0x00000000,         // Range Minimum
3610d02842fSSascha Wildner            0x00000000,         // Range Maximum
3620d02842fSSascha Wildner            0x00000000,         // Translation Offset
3630d02842fSSascha Wildner            0x00000000,         // Length
3640d02842fSSascha Wildner            ,, )
3650d02842fSSascha Wildner
3660d02842fSSascha Wildner        // Missing StartDependentFn macro
3670d02842fSSascha Wildner
3680d02842fSSascha Wildner        EndDependentFn ()
3690d02842fSSascha Wildner    })
3700d02842fSSascha Wildner
3710d02842fSSascha Wildner    // Test descriptor for CreateXxxxField operators in REM1 below
3720d02842fSSascha Wildner
3730d02842fSSascha Wildner    Name (RSC3, ResourceTemplate ()
3740d02842fSSascha Wildner    {
3750d02842fSSascha Wildner        DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
3760d02842fSSascha Wildner            0x00000000,         // Granularity
3770d02842fSSascha Wildner            0x000C8000,         // Range Minimum
3780d02842fSSascha Wildner            0x000C8FFF,         // Range Maximum
3790d02842fSSascha Wildner            0x00000000,         // Translation Offset
3800d02842fSSascha Wildner            0x00001000,         // Length
3810d02842fSSascha Wildner            ,, DWI1)
3820d02842fSSascha Wildner    })
3830d02842fSSascha Wildner
3840d02842fSSascha Wildner    Method (REM1)
3850d02842fSSascha Wildner    {
3860d02842fSSascha Wildner        // Tagged resource field larger than field being created
3870d02842fSSascha Wildner
3880d02842fSSascha Wildner        CreateWordField (RSC3, \DWI1._LEN, LEN)
3890d02842fSSascha Wildner        CreateByteField (RSC3, \DWI1._MIN, MIN)
3900d02842fSSascha Wildner        CreateBitField (RSC3, \DWI1._RNG, RNG1)
3910d02842fSSascha Wildner
3920d02842fSSascha Wildner        // Tagged resource field smaller than field being created
3930d02842fSSascha Wildner
3940d02842fSSascha Wildner        CreateQWordField (RSC3, \DWI1._MAX, MAX)
3950d02842fSSascha Wildner        CreateBitField (RSC3, \DWI1._GRA, GRA)
3960d02842fSSascha Wildner        CreateField (RSC3, \DWI1._MIF, 5, MIF)
3970d02842fSSascha Wildner        CreateField (RSC3, \DWI1._RNG, 3, RNG2)
3980d02842fSSascha Wildner    }
399267c04fdSSascha Wildner
400267c04fdSSascha Wildner    Method (L100)
401267c04fdSSascha Wildner    {
402267c04fdSSascha Wildner        /* Method Local is set but never used */
403267c04fdSSascha Wildner
404267c04fdSSascha Wildner        Store (40, Local0)
405267c04fdSSascha Wildner    }
4060d02842fSSascha Wildner}
407