mirror of
https://github.com/taigrr/gopher-os
synced 2025-01-18 04:43:13 -08:00
acpi: test the parser against actual AML dumps
All dumps are located in the tabletest package. The DSDT/SSDT dumps were obtained by running an aml dump tool inside a virtualbox instance. The dumps were disassembled using the iasl tool (version 20180105) from Intel's reference ACPICA implementation. The parser-testsuite dumps were written by hand to ensure that all possible happy-paths in the parser were followed and then compiled into AML using the same iasl tool. The added TestParser function attempts to parse various sets of AML dumps and then uses the object tree pretty-printer to obtain a dump of the tree. The dump is then compared to an expected value (.exp files are also placed in the tabletest package). The test code supports passing the "-aml-regenerate-parser-exp-files" flag to update the exp files: go test -run TestParser -aml-regenerate-parser-exp-files
This commit is contained in:
parent
9dd9ab9add
commit
d7028ed73d
@ -2,14 +2,94 @@ package aml
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"flag"
|
||||
"fmt"
|
||||
"gopheros/device/acpi/table"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"runtime"
|
||||
"strings"
|
||||
"testing"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
var (
|
||||
regenExpFiles = flag.Bool("aml-regenerate-parser-exp-files", false, "Regenerate the expected output files for AML parser tests against real AML files")
|
||||
)
|
||||
|
||||
func TestParser(t *testing.T) {
|
||||
flag.Parse()
|
||||
|
||||
pathToDumps := pkgDir() + "/../table/tabletest/"
|
||||
|
||||
specs := []struct {
|
||||
expTreeContentFile string
|
||||
tableFiles []string
|
||||
}{
|
||||
{
|
||||
"DSDT-SSDT.exp",
|
||||
[]string{"DSDT.aml", "SSDT.aml"},
|
||||
},
|
||||
{
|
||||
"parser-testsuite-DSDT.exp",
|
||||
[]string{"parser-testsuite-DSDT.aml"},
|
||||
},
|
||||
}
|
||||
|
||||
for _, spec := range specs {
|
||||
t.Run(fmt.Sprintf("parse [%s]", strings.Join(spec.tableFiles, ", ")), func(t *testing.T) {
|
||||
var resolver = mockResolver{
|
||||
pathToDumps: pathToDumps,
|
||||
tableFiles: spec.tableFiles,
|
||||
}
|
||||
|
||||
tree := NewObjectTree()
|
||||
tree.CreateDefaultScopes(42)
|
||||
|
||||
p := NewParser(&testWriter{t: t}, tree)
|
||||
for tableIndex, tableFile := range spec.tableFiles {
|
||||
tableName := strings.Replace(tableFile, ".aml", "", -1)
|
||||
if err := p.ParseAML(uint8(tableIndex), tableName, resolver.LookupTable(tableName)); err != nil {
|
||||
t.Errorf("[%s]: %v", tableName, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// Pretty-print tree
|
||||
var treeDump bytes.Buffer
|
||||
tree.PrettyPrint(&treeDump)
|
||||
|
||||
// Check if we need to rebuild the exp files
|
||||
pathToExpFile := filepath.Join(pathToDumps, spec.expTreeContentFile)
|
||||
if *regenExpFiles {
|
||||
f, err := os.Create(pathToExpFile)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer func() { _ = f.Close() }()
|
||||
|
||||
if _, err = treeDump.WriteTo(f); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Logf("regenerated exp file contents: %s", pathToExpFile)
|
||||
return
|
||||
}
|
||||
|
||||
// Read the exp file and compare its contents to the generated dump
|
||||
expDump, err := ioutil.ReadFile(pathToExpFile)
|
||||
if err != nil {
|
||||
t.Fatalf("error opening exp file: %s; try running tests with -aml-regenerate-parser-exp-files", pathToExpFile)
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(expDump, treeDump.Bytes()) {
|
||||
t.Fatal("parsed tree content does not match expected content")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAMLErrors(t *testing.T) {
|
||||
t.Run("parseObjectList failed", func(t *testing.T) {
|
||||
p, resolver := parserForMockPayload(t, []byte{uint8(pOpBuffer)})
|
||||
@ -903,3 +983,30 @@ func (m mockByteDataResolver) LookupTable(string) *table.SDTHeader {
|
||||
|
||||
return header
|
||||
}
|
||||
|
||||
func pkgDir() string {
|
||||
_, f, _, _ := runtime.Caller(1)
|
||||
return filepath.Dir(f)
|
||||
}
|
||||
|
||||
type mockResolver struct {
|
||||
pathToDumps string
|
||||
tableFiles []string
|
||||
}
|
||||
|
||||
func (m mockResolver) LookupTable(name string) *table.SDTHeader {
|
||||
for _, f := range m.tableFiles {
|
||||
if !strings.Contains(f, name) {
|
||||
continue
|
||||
}
|
||||
|
||||
data, err := ioutil.ReadFile(filepath.Join(m.pathToDumps, f))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
return (*table.SDTHeader)(unsafe.Pointer(&data[0]))
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
3594
src/gopheros/device/acpi/table/tabletest/DSDT-SSDT.exp
Normal file
3594
src/gopheros/device/acpi/table/tabletest/DSDT-SSDT.exp
Normal file
File diff suppressed because it is too large
Load Diff
3332
src/gopheros/device/acpi/table/tabletest/DSDT.dsl
Normal file
3332
src/gopheros/device/acpi/table/tabletest/DSDT.dsl
Normal file
File diff suppressed because it is too large
Load Diff
431
src/gopheros/device/acpi/table/tabletest/SSDT.dsl
Normal file
431
src/gopheros/device/acpi/table/tabletest/SSDT.dsl
Normal file
@ -0,0 +1,431 @@
|
||||
/*
|
||||
* Intel ACPI Component Architecture
|
||||
* AML/ASL+ Disassembler version 20180105 (64-bit version)
|
||||
* Copyright (c) 2000 - 2018 Intel Corporation
|
||||
*
|
||||
* Disassembling to symbolic ASL+ operators
|
||||
*
|
||||
* Disassembly of SSDT.aml, Tue Jan 30 08:22:57 2018
|
||||
*
|
||||
* Original Table Header:
|
||||
* Signature "SSDT"
|
||||
* Length 0x000001CC (460)
|
||||
* Revision 0x01
|
||||
* Checksum 0x9D
|
||||
* OEM ID "VBOX "
|
||||
* OEM Table ID "VBOXCPUT"
|
||||
* OEM Revision 0x00000002 (2)
|
||||
* Compiler ID "INTL"
|
||||
* Compiler Version 0x20100528 (537920808)
|
||||
*/
|
||||
DefinitionBlock ("", "SSDT", 1, "VBOX ", "VBOXCPUT", 0x00000002)
|
||||
{
|
||||
Scope (\_PR)
|
||||
{
|
||||
Processor (CPU0, 0x00, 0x00000000, 0x00){}
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
Noop
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
@ -0,0 +1,255 @@
|
||||
// DSDT-parser-testsuite
|
||||
//
|
||||
// This file contains various ASL constructs to ensure that the AML parser
|
||||
// properly handles all possible ASL opcodes it may encounter. This test file
|
||||
// is used in addition to the DSDT.aml file obtained by running acpidump inside
|
||||
// virtualbox.
|
||||
DefinitionBlock ("parser-testsuite-DSDT.aml", "DSDT", 2, "GOPHER", "GOPHEROS", 0x00000002)
|
||||
{
|
||||
OperationRegion (DBG0, SystemIO, 0x3000, 0x04)
|
||||
Field (DBG0, ByteAcc, NoLock, Preserve)
|
||||
{
|
||||
DHE1, 8
|
||||
}
|
||||
|
||||
Device (DRV0)
|
||||
{
|
||||
Name (_ADR, Ones)
|
||||
|
||||
// named entity containing qword const
|
||||
Name (H15F, 0xBADC0FEEDEADC0DE)
|
||||
Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
|
||||
{
|
||||
Return (H15F)
|
||||
}
|
||||
}
|
||||
|
||||
// example from p. 268 of ACPI 6.2 spec
|
||||
Scope(\_SB){
|
||||
OperationRegion(TOP1, GenericSerialBus, 0x00, 0x100) // GenericSerialBus device at command offset 0x00
|
||||
|
||||
Name (SDB0, ResourceTemplate() {})
|
||||
Field(TOP1, BufferAcc, NoLock, Preserve){
|
||||
Connection(SDB0), // Use the Resource Descriptor defined above
|
||||
AccessAs(BufferAcc, AttribWord),
|
||||
FLD0, 8,
|
||||
FLD1, 8
|
||||
}
|
||||
|
||||
Field(TOP1, BufferAcc, NoLock, Preserve){
|
||||
Connection(I2cSerialBus(0x5b,,100000,, "\\_SB",,,,RawDataBuffer(){3,9})),
|
||||
AccessAs(BufferAcc, AttribBytes(4)),
|
||||
FLD2, 8,
|
||||
AccessAs(BufferAcc, AttribRawBytes(3)),
|
||||
FLD3, 8,
|
||||
AccessAs(BufferAcc, AttribRawProcessBytes(2)),
|
||||
FLD4, 8
|
||||
}
|
||||
}
|
||||
|
||||
// Buffer whose size is given by a nested method invocation which is
|
||||
// evaluated at load-time
|
||||
Method(BLE1, 1, Serialized)
|
||||
{
|
||||
Return(Arg0 + 1)
|
||||
}
|
||||
|
||||
Name(BUFZ, Buffer(BLEN(BLE1(0xff), 0x0f)){0x48, 0x49, 0x21} )
|
||||
|
||||
Method(BLEN, 2, Serialized)
|
||||
{
|
||||
Return(Arg0 + Arg1 + 12)
|
||||
}
|
||||
|
||||
// Load time assignment
|
||||
FET0 = 1
|
||||
|
||||
// A buffer whose length is given by a named object
|
||||
Name(BUFL, One)
|
||||
Name(BUFF, Buffer(BUFL){})
|
||||
|
||||
// Other entity types
|
||||
Event(HLO0)
|
||||
Mutex(MUT0,1)
|
||||
Signal(HLO0)
|
||||
|
||||
// Other executable bits
|
||||
Method (EXE0, 1, Serialized)
|
||||
{
|
||||
// AML interpreter revision
|
||||
Local0 = Revision
|
||||
|
||||
// NameString target
|
||||
Local1 = SizeOf(GLB1)
|
||||
|
||||
Local0 = "my-handle"
|
||||
Load(DBG0, Local0)
|
||||
Unload(Local0)
|
||||
|
||||
// CreateXXXField
|
||||
CreateBitField(Arg0, 0, WFL0)
|
||||
if(Arg0==0){
|
||||
Return(WFL0)
|
||||
}
|
||||
|
||||
CreateByteField(Arg0, 0, WFL1)
|
||||
if(Arg0==1){
|
||||
Return(WFL1)
|
||||
}
|
||||
|
||||
CreateWordField(Arg0, 0, WFL2)
|
||||
if(Arg0==2){
|
||||
Return(WFL2)
|
||||
}
|
||||
|
||||
CreateDwordField(Arg0, 0, WFL3)
|
||||
if(Arg0==3){
|
||||
Return(WFL3)
|
||||
}
|
||||
|
||||
CreateQwordField(Arg0, 0, WFL4)
|
||||
if(Arg0==4){
|
||||
Return(WFL4)
|
||||
}
|
||||
|
||||
CreateField(Arg0, 0, 13, WFL5)
|
||||
if(Arg0==5){
|
||||
Return(WFL5)
|
||||
}
|
||||
|
||||
// Example from p. 951 of the spec
|
||||
Store (
|
||||
LoadTable ("OEM1", "MYOEM", "TABLE1", "\\_SB.PCI0","MYD", Package () {0,"\\_SB.PCI0"}),
|
||||
Local0
|
||||
)
|
||||
|
||||
// Various Assignments
|
||||
Local0 = 0xff
|
||||
Local0 = 0xffff
|
||||
Local0 = 0xffffffff
|
||||
Local0 = 0xffffffffffffffff
|
||||
Local0 = Zero
|
||||
Local0 = One
|
||||
Local0 = Ones
|
||||
Local0 = "FOO"
|
||||
|
||||
// Conversions
|
||||
FromBCD(9, Arg0)
|
||||
ToBCD(Arg0, Local1)
|
||||
|
||||
// Debugging and error handling
|
||||
Breakpoint
|
||||
Debug = "test"
|
||||
Fatal(0xf0, 0xdeadc0de, 1)
|
||||
|
||||
// Mutex support
|
||||
Acquire(MUT0, 0xffff) // no timeout
|
||||
Release(MUT0)
|
||||
|
||||
// Signal/Wait
|
||||
Reset(HLO0)
|
||||
Wait(HLO0, 0xffff)
|
||||
|
||||
// Get monotonic timer value
|
||||
Local0 = Timer
|
||||
|
||||
CopyObject(Local0, Local1)
|
||||
Return(ObjectType(Local1))
|
||||
}
|
||||
|
||||
// BankField example from p. 910 of the spec
|
||||
// Define a 256-byte operational region in SystemIO space and name it GIO0
|
||||
OperationRegion (GIO0, SystemIO, 0x125, 0x100)
|
||||
Field (GIO0, ByteAcc, NoLock, Preserve) {
|
||||
GLB1, 1,
|
||||
GLB2, 1,
|
||||
Offset (1), // Move to offset for byte 1
|
||||
BNK1, 4
|
||||
}
|
||||
|
||||
BankField (GIO0, BNK1, 0, ByteAcc, Lock, WriteAsOnes) {
|
||||
Offset (0x30),
|
||||
FET0, 1,
|
||||
FET1, 1,
|
||||
}
|
||||
|
||||
// SMBus fields access types
|
||||
OperationRegion(SMBD, SMBus, 0x4200, 0x100)
|
||||
Field(SMBD, BufferAcc, NoLock, WriteAsZeros){
|
||||
AccessAs(BufferAcc, SMBByte),
|
||||
SFL0, 8,
|
||||
AccessAs(BufferAcc, SMBWord),
|
||||
SFL1, 8,
|
||||
AccessAs(BufferAcc, SMBBlock),
|
||||
SFL2, 8,
|
||||
AccessAs(BufferAcc, SMBQuick),
|
||||
SFL3, 8,
|
||||
AccessAs(BufferAcc, SMBSendReceive),
|
||||
SFL4, 8,
|
||||
AccessAs(BufferAcc, SMBProcessCall),
|
||||
SFL5, 8,
|
||||
AccessAs(BufferAcc, SMBBlockProcessCall),
|
||||
SFL6, 8,
|
||||
AccessAs(BufferAcc, AttribBytes(0x12)),
|
||||
SFL7, 8,
|
||||
AccessAs(BufferAcc, AttribRawBytes(0x13)),
|
||||
SFL8, 8,
|
||||
AccessAs(BufferAcc, AttribRawProcessBytes(0x14)),
|
||||
SFL9, 8,
|
||||
//
|
||||
AccessAs(AnyAcc),
|
||||
SF10, 8,
|
||||
AccessAs(ByteAcc),
|
||||
SF11, 8,
|
||||
AccessAs(WordAcc),
|
||||
SF12, 8,
|
||||
AccessAs(DwordAcc),
|
||||
SF13, 8,
|
||||
AccessAs(QwordAcc),
|
||||
SF14, 8,
|
||||
}
|
||||
|
||||
// Data Region
|
||||
DataTableRegion (REG0, "FOOF", "BAR", "BAZ")
|
||||
|
||||
// Other resources
|
||||
Processor(CPU0, 1, 0x120, 6){}
|
||||
PowerResource(PWR0, 0, 0){}
|
||||
ThermalZone(TZ0){}
|
||||
|
||||
// Method with various logic/flow changing opcodes
|
||||
Method (FLOW, 2, NotSerialized)
|
||||
{
|
||||
While(Arg0 < Arg1)
|
||||
{
|
||||
Arg0++
|
||||
|
||||
If( Arg0 < 5 ) {
|
||||
Continue
|
||||
} Else {
|
||||
If ( Arg1 == 0xff ) {
|
||||
Break
|
||||
} Else {
|
||||
Arg0 = Arg0 + 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Return(Arg0)
|
||||
}
|
||||
|
||||
// Forward declaration to SCP0
|
||||
Scope(\_SB) {
|
||||
ThermalZone(^THRM){
|
||||
Name(DEF0, Ones)
|
||||
}
|
||||
}
|
||||
|
||||
Scope(\THRM){
|
||||
Name(DEF1, Zero)
|
||||
}
|
||||
|
||||
Method(\THRM.MTH0, 0, NotSerialized){
|
||||
Return(1)
|
||||
}
|
||||
}
|
@ -0,0 +1,346 @@
|
||||
+- [ScopeBlock, name: "\", table: 42, index: 0, offset: 0x0]
|
||||
+- [ScopeBlock, name: "_GPE", table: 42, index: 1, offset: 0x0]
|
||||
+- [ScopeBlock, name: "_PR_", table: 42, index: 2, offset: 0x0]
|
||||
+- [ScopeBlock, name: "_SB_", table: 42, index: 3, offset: 0x0]
|
||||
| +- [OpRegion, name: "TOP1", table: 0, index: 33, offset: 0x6c]
|
||||
| | +- [NamePath, table: 0, index: 34, offset: 0x6e] -> [namepath: "TOP1"]
|
||||
| | +- [BytePrefix, table: 0, index: 35, offset: 0x72] -> [num value; dec: 9, hex: 0x9]
|
||||
| | +- [BytePrefix, table: 0, index: 36, offset: 0x73] -> [num value; dec: 0, hex: 0x0]
|
||||
| | +- [WordPrefix, table: 0, index: 37, offset: 0x75] -> [num value; dec: 256, hex: 0x100]
|
||||
| +- [Name, name: "SDB0", table: 0, index: 38, offset: 0x78]
|
||||
| | +- [NamePath, table: 0, index: 39, offset: 0x79] -> [namepath: "SDB0"]
|
||||
| | +- [Buffer, table: 0, index: 40, offset: 0x7d]
|
||||
| | +- [BytePrefix, table: 0, index: 316, offset: 0x7f] -> [num value; dec: 2, hex: 0x2]
|
||||
| | +- [ByteList, table: 0, index: 318, offset: 0x3cb] -> [bytelist value; len: 2; data: [0x79, 0x0]]
|
||||
| +- [Field, table: 0, index: 41, offset: 0x83]
|
||||
| | +- [NamePath, table: 0, index: 42, offset: 0x86] -> [namepath: "TOP1"]
|
||||
| | +- [BytePrefix, table: 0, index: 43, offset: 0x8a] -> [num value; dec: 5, hex: 0x5]
|
||||
| | +- [Connection, table: 0, index: 44, offset: 0x0]
|
||||
| | +- [NamePath, table: 0, index: 45, offset: 0x8c] -> [namepath: "SDB0"]
|
||||
| +- [NamedField, name: "FLD0", table: 0, index: 46, offset: 0x93] -> [field index: 41, offset(bytes): 0x0, width(bits): 0x8, accType: Buffer, accAttr: Word, lockType: NoLock, updateType: Preserve, connection: index 44]
|
||||
| +- [NamedField, name: "FLD1", table: 0, index: 47, offset: 0x98] -> [field index: 41, offset(bytes): 0x8, width(bits): 0x8, accType: Buffer, accAttr: Word, lockType: NoLock, updateType: Preserve, connection: index 44]
|
||||
| +- [Field, table: 0, index: 48, offset: 0x9d]
|
||||
| | +- [NamePath, table: 0, index: 49, offset: 0xa0] -> [namepath: "TOP1"]
|
||||
| | +- [BytePrefix, table: 0, index: 50, offset: 0xa4] -> [num value; dec: 5, hex: 0x5]
|
||||
| | +- [Connection, table: 0, index: 51, offset: 0x0]
|
||||
| | +- [ByteList, table: 0, index: 52, offset: 0xa7] -> [bytelist value; len: 25; data: [0x8e, 0x16, 0x0, 0x1, 0x0, 0x1, 0x2, 0x0, 0x0, 0x1, 0x8, 0x0, 0xa0, 0x86, 0x1, 0x0, 0x5b, 0x0, 0x3, 0x9, 0x5c, 0x5f, 0x53, 0x42, 0x0]]
|
||||
| +- [NamedField, name: "FLD2", table: 0, index: 53, offset: 0xc7] -> [field index: 48, offset(bytes): 0x0, width(bits): 0x8, accType: Buffer, accAttr: Bytes(0x4), lockType: NoLock, updateType: Preserve, connection: index 51]
|
||||
| +- [NamedField, name: "FLD3", table: 0, index: 54, offset: 0xd0] -> [field index: 48, offset(bytes): 0x8, width(bits): 0x8, accType: Buffer, accAttr: RawBytes(0x3), lockType: NoLock, updateType: Preserve, connection: index 51]
|
||||
| +- [NamedField, name: "FLD4", table: 0, index: 55, offset: 0xd9] -> [field index: 48, offset(bytes): 0x10, width(bits): 0x8, accType: Buffer, accAttr: RawProcessBytes(0x2), lockType: NoLock, updateType: Preserve, connection: index 51]
|
||||
+- [ScopeBlock, name: "_SI_", table: 42, index: 4, offset: 0x0]
|
||||
+- [ScopeBlock, name: "_TZ_", table: 42, index: 5, offset: 0x0]
|
||||
+- [OpRegion, name: "DBG0", table: 0, index: 6, offset: 0x24]
|
||||
| +- [NamePath, table: 0, index: 7, offset: 0x26] -> [namepath: "DBG0"]
|
||||
| +- [BytePrefix, table: 0, index: 8, offset: 0x2a] -> [num value; dec: 1, hex: 0x1]
|
||||
| +- [WordPrefix, table: 0, index: 9, offset: 0x2b] -> [num value; dec: 12288, hex: 0x3000]
|
||||
| +- [BytePrefix, table: 0, index: 10, offset: 0x2e] -> [num value; dec: 4, hex: 0x4]
|
||||
+- [Field, table: 0, index: 11, offset: 0x30]
|
||||
| +- [NamePath, table: 0, index: 12, offset: 0x33] -> [namepath: "DBG0"]
|
||||
| +- [BytePrefix, table: 0, index: 13, offset: 0x37] -> [num value; dec: 1, hex: 0x1]
|
||||
+- [NamedField, name: "DHE1", table: 0, index: 14, offset: 0x38] -> [field index: 11, offset(bytes): 0x0, width(bits): 0x8, accType: Byte, lockType: NoLock, updateType: Preserve, connection: -]
|
||||
+- [Device, name: "DRV0", table: 0, index: 15, offset: 0x3d]
|
||||
| +- [NamePath, table: 0, index: 16, offset: 0x40] -> [namepath: "DRV0"]
|
||||
| +- [ScopeBlock, table: 0, index: 17, offset: 0x44]
|
||||
| +- [Name, name: "_ADR", table: 0, index: 18, offset: 0x44]
|
||||
| | +- [NamePath, table: 0, index: 19, offset: 0x45] -> [namepath: "_ADR"]
|
||||
| | +- [Ones, table: 0, index: 20, offset: 0x49]
|
||||
| +- [Name, name: "H15F", table: 0, index: 21, offset: 0x4a]
|
||||
| | +- [NamePath, table: 0, index: 22, offset: 0x4b] -> [namepath: "H15F"]
|
||||
| | +- [QwordPrefix, table: 0, index: 23, offset: 0x4f] -> [num value; dec: 13464654504543502558, hex: 0xbadc0feedeadc0de]
|
||||
| +- [Method, name: "_GTF", argCount: 0, table: 0, index: 24, offset: 0x58]
|
||||
| +- [NamePath, table: 0, index: 25, offset: 0x5a] -> [namepath: "_GTF"]
|
||||
| +- [BytePrefix, table: 0, index: 26, offset: 0x5e] -> [num value; dec: 0, hex: 0x0]
|
||||
| +- [ScopeBlock, table: 0, index: 27, offset: 0x5f]
|
||||
| +- [Return, table: 0, index: 28, offset: 0x5f]
|
||||
| +- [ResolvedNamePath, table: 0, index: 29, offset: 0x60] -> [resolved to "H15F", table: 0, index: 21, offset: 0x4a]
|
||||
+- [Method, name: "BLE1", argCount: 1, table: 0, index: 56, offset: 0xde]
|
||||
| +- [NamePath, table: 0, index: 57, offset: 0xe0] -> [namepath: "BLE1"]
|
||||
| +- [BytePrefix, table: 0, index: 58, offset: 0xe4] -> [num value; dec: 9, hex: 0x9]
|
||||
| +- [ScopeBlock, table: 0, index: 59, offset: 0xe5]
|
||||
| +- [Return, table: 0, index: 60, offset: 0xe5]
|
||||
| +- [Add, table: 0, index: 61, offset: 0xe6]
|
||||
| +- [Arg0, table: 0, index: 62, offset: 0xe7]
|
||||
| +- [BytePrefix, table: 0, index: 63, offset: 0xe8] -> [num value; dec: 1, hex: 0x1]
|
||||
| +- [Zero, table: 0, index: 64, offset: 0xea]
|
||||
+- [Name, name: "BUFZ", table: 0, index: 65, offset: 0xeb]
|
||||
| +- [NamePath, table: 0, index: 66, offset: 0xec] -> [namepath: "BUFZ"]
|
||||
| +- [Buffer, table: 0, index: 67, offset: 0xf0]
|
||||
| +- [MethodCall, table: 0, index: 317, offset: 0xf2] -> [call to "BLEN", argCount: 2, table: 0, index: 68, offset: 0x101]
|
||||
| | +- [MethodCall, table: 0, index: 307, offset: 0xf6] -> [call to "BLE1", argCount: 1, table: 0, index: 56, offset: 0xde]
|
||||
| | | +- [BytePrefix, table: 0, index: 309, offset: 0xfa] -> [num value; dec: 255, hex: 0xff]
|
||||
| | +- [BytePrefix, table: 0, index: 308, offset: 0xfc] -> [num value; dec: 15, hex: 0xf]
|
||||
| +- [ByteList, table: 0, index: 30, offset: 0x64] -> [bytelist value; len: 3; data: [0x48, 0x49, 0x21]]
|
||||
+- [Method, name: "BLEN", argCount: 2, table: 0, index: 68, offset: 0x101]
|
||||
| +- [NamePath, table: 0, index: 69, offset: 0x103] -> [namepath: "BLEN"]
|
||||
| +- [BytePrefix, table: 0, index: 70, offset: 0x107] -> [num value; dec: 10, hex: 0xa]
|
||||
| +- [ScopeBlock, table: 0, index: 71, offset: 0x108]
|
||||
| +- [Return, table: 0, index: 72, offset: 0x108]
|
||||
| +- [Add, table: 0, index: 73, offset: 0x109]
|
||||
| +- [Add, table: 0, index: 74, offset: 0x10a]
|
||||
| | +- [Arg0, table: 0, index: 75, offset: 0x10b]
|
||||
| | +- [Arg1, table: 0, index: 76, offset: 0x10c]
|
||||
| | +- [Zero, table: 0, index: 77, offset: 0x10d]
|
||||
| +- [BytePrefix, table: 0, index: 78, offset: 0x10e] -> [num value; dec: 12, hex: 0xc]
|
||||
| +- [Zero, table: 0, index: 79, offset: 0x110]
|
||||
+- [Store, table: 0, index: 80, offset: 0x111]
|
||||
| +- [BytePrefix, table: 0, index: 81, offset: 0x112] -> [num value; dec: 1, hex: 0x1]
|
||||
| +- [ResolvedNamePath, table: 0, index: 82, offset: 0x114] -> [resolved to "FET0", table: 0, index: 332, offset: 0x2b9]
|
||||
+- [Name, name: "BUFL", table: 0, index: 83, offset: 0x118]
|
||||
| +- [NamePath, table: 0, index: 84, offset: 0x119] -> [namepath: "BUFL"]
|
||||
| +- [One, table: 0, index: 85, offset: 0x11d]
|
||||
+- [Name, name: "BUFF", table: 0, index: 86, offset: 0x11e]
|
||||
| +- [NamePath, table: 0, index: 87, offset: 0x11f] -> [namepath: "BUFF"]
|
||||
| +- [Buffer, table: 0, index: 88, offset: 0x123]
|
||||
| +- [ResolvedNamePath, table: 0, index: 32, offset: 0x125] -> [resolved to "BUFL", table: 0, index: 83, offset: 0x118]
|
||||
| +- [ByteList, table: 0, index: 31, offset: 0x67] -> [bytelist value; len: 0; data: []]
|
||||
+- [Event, name: "HLO0", table: 0, index: 89, offset: 0x129]
|
||||
| +- [NamePath, table: 0, index: 90, offset: 0x12b] -> [namepath: "HLO0"]
|
||||
+- [Mutex, name: "MUT0", table: 0, index: 91, offset: 0x12f]
|
||||
| +- [NamePath, table: 0, index: 92, offset: 0x131] -> [namepath: "MUT0"]
|
||||
| +- [BytePrefix, table: 0, index: 93, offset: 0x135] -> [num value; dec: 1, hex: 0x1]
|
||||
+- [Signal, table: 0, index: 94, offset: 0x136]
|
||||
| +- [ResolvedNamePath, table: 0, index: 95, offset: 0x138] -> [resolved to "HLO0", table: 0, index: 89, offset: 0x129]
|
||||
+- [Method, name: "EXE0", argCount: 1, table: 0, index: 96, offset: 0x13c]
|
||||
| +- [NamePath, table: 0, index: 97, offset: 0x13f] -> [namepath: "EXE0"]
|
||||
| +- [BytePrefix, table: 0, index: 98, offset: 0x143] -> [num value; dec: 9, hex: 0x9]
|
||||
| +- [ScopeBlock, table: 0, index: 99, offset: 0x144]
|
||||
| +- [Store, table: 0, index: 100, offset: 0x144]
|
||||
| | +- [Revision, table: 0, index: 101, offset: 0x145]
|
||||
| | +- [Local0, table: 0, index: 102, offset: 0x147]
|
||||
| +- [Store, table: 0, index: 103, offset: 0x148]
|
||||
| | +- [SizeOf, table: 0, index: 104, offset: 0x149]
|
||||
| | | +- [NamePath, table: 0, index: 105, offset: 0x14a] -> [namepath: "GLB1"]
|
||||
| | +- [Local1, table: 0, index: 106, offset: 0x14e]
|
||||
| +- [Store, table: 0, index: 107, offset: 0x14f]
|
||||
| | +- [StringPrefix, table: 0, index: 108, offset: 0x150] -> [string value: "my-handle"]
|
||||
| | +- [Local0, table: 0, index: 109, offset: 0x15b]
|
||||
| +- [Load, table: 0, index: 110, offset: 0x15c]
|
||||
| | +- [NamePath, table: 0, index: 111, offset: 0x15e] -> [namepath: "DBG0"]
|
||||
| | +- [Local0, table: 0, index: 112, offset: 0x162]
|
||||
| +- [Unload, table: 0, index: 113, offset: 0x163]
|
||||
| | +- [Local0, table: 0, index: 114, offset: 0x165]
|
||||
| +- [CreateBitField, table: 0, index: 115, offset: 0x166]
|
||||
| | +- [Arg0, table: 0, index: 116, offset: 0x167]
|
||||
| | +- [BytePrefix, table: 0, index: 117, offset: 0x168] -> [num value; dec: 0, hex: 0x0]
|
||||
| | +- [NamePath, table: 0, index: 118, offset: 0x16a] -> [namepath: "WFL0"]
|
||||
| +- [If, table: 0, index: 119, offset: 0x16e]
|
||||
| | +- [LEqual, table: 0, index: 120, offset: 0x170]
|
||||
| | | +- [Arg0, table: 0, index: 121, offset: 0x171]
|
||||
| | | +- [BytePrefix, table: 0, index: 122, offset: 0x172] -> [num value; dec: 0, hex: 0x0]
|
||||
| | +- [Return, table: 0, index: 123, offset: 0x174]
|
||||
| | +- [NamePath, table: 0, index: 124, offset: 0x175] -> [namepath: "WFL0"]
|
||||
| +- [CreateByteField, table: 0, index: 125, offset: 0x179]
|
||||
| | +- [Arg0, table: 0, index: 126, offset: 0x17a]
|
||||
| | +- [BytePrefix, table: 0, index: 127, offset: 0x17b] -> [num value; dec: 0, hex: 0x0]
|
||||
| | +- [NamePath, table: 0, index: 128, offset: 0x17d] -> [namepath: "WFL1"]
|
||||
| +- [If, table: 0, index: 129, offset: 0x181]
|
||||
| | +- [LEqual, table: 0, index: 130, offset: 0x183]
|
||||
| | | +- [Arg0, table: 0, index: 131, offset: 0x184]
|
||||
| | | +- [BytePrefix, table: 0, index: 132, offset: 0x185] -> [num value; dec: 1, hex: 0x1]
|
||||
| | +- [Return, table: 0, index: 133, offset: 0x187]
|
||||
| | +- [NamePath, table: 0, index: 134, offset: 0x188] -> [namepath: "WFL1"]
|
||||
| +- [CreateWordField, table: 0, index: 135, offset: 0x18c]
|
||||
| | +- [Arg0, table: 0, index: 136, offset: 0x18d]
|
||||
| | +- [BytePrefix, table: 0, index: 137, offset: 0x18e] -> [num value; dec: 0, hex: 0x0]
|
||||
| | +- [NamePath, table: 0, index: 138, offset: 0x190] -> [namepath: "WFL2"]
|
||||
| +- [If, table: 0, index: 139, offset: 0x194]
|
||||
| | +- [LEqual, table: 0, index: 140, offset: 0x196]
|
||||
| | | +- [Arg0, table: 0, index: 141, offset: 0x197]
|
||||
| | | +- [BytePrefix, table: 0, index: 142, offset: 0x198] -> [num value; dec: 2, hex: 0x2]
|
||||
| | +- [Return, table: 0, index: 143, offset: 0x19a]
|
||||
| | +- [NamePath, table: 0, index: 144, offset: 0x19b] -> [namepath: "WFL2"]
|
||||
| +- [CreateDWordField, table: 0, index: 145, offset: 0x19f]
|
||||
| | +- [Arg0, table: 0, index: 146, offset: 0x1a0]
|
||||
| | +- [BytePrefix, table: 0, index: 147, offset: 0x1a1] -> [num value; dec: 0, hex: 0x0]
|
||||
| | +- [NamePath, table: 0, index: 148, offset: 0x1a3] -> [namepath: "WFL3"]
|
||||
| +- [If, table: 0, index: 149, offset: 0x1a7]
|
||||
| | +- [LEqual, table: 0, index: 150, offset: 0x1a9]
|
||||
| | | +- [Arg0, table: 0, index: 151, offset: 0x1aa]
|
||||
| | | +- [BytePrefix, table: 0, index: 152, offset: 0x1ab] -> [num value; dec: 3, hex: 0x3]
|
||||
| | +- [Return, table: 0, index: 153, offset: 0x1ad]
|
||||
| | +- [NamePath, table: 0, index: 154, offset: 0x1ae] -> [namepath: "WFL3"]
|
||||
| +- [CreateQWordField, table: 0, index: 155, offset: 0x1b2]
|
||||
| | +- [Arg0, table: 0, index: 156, offset: 0x1b3]
|
||||
| | +- [BytePrefix, table: 0, index: 157, offset: 0x1b4] -> [num value; dec: 0, hex: 0x0]
|
||||
| | +- [NamePath, table: 0, index: 158, offset: 0x1b6] -> [namepath: "WFL4"]
|
||||
| +- [If, table: 0, index: 159, offset: 0x1ba]
|
||||
| | +- [LEqual, table: 0, index: 160, offset: 0x1bc]
|
||||
| | | +- [Arg0, table: 0, index: 161, offset: 0x1bd]
|
||||
| | | +- [BytePrefix, table: 0, index: 162, offset: 0x1be] -> [num value; dec: 4, hex: 0x4]
|
||||
| | +- [Return, table: 0, index: 163, offset: 0x1c0]
|
||||
| | +- [NamePath, table: 0, index: 164, offset: 0x1c1] -> [namepath: "WFL4"]
|
||||
| +- [CreateField, table: 0, index: 165, offset: 0x1c5]
|
||||
| | +- [Arg0, table: 0, index: 166, offset: 0x1c7]
|
||||
| | +- [BytePrefix, table: 0, index: 167, offset: 0x1c8] -> [num value; dec: 0, hex: 0x0]
|
||||
| | +- [BytePrefix, table: 0, index: 168, offset: 0x1ca] -> [num value; dec: 13, hex: 0xd]
|
||||
| | +- [NamePath, table: 0, index: 169, offset: 0x1cc] -> [namepath: "WFL5"]
|
||||
| +- [If, table: 0, index: 170, offset: 0x1d0]
|
||||
| | +- [LEqual, table: 0, index: 171, offset: 0x1d2]
|
||||
| | | +- [Arg0, table: 0, index: 172, offset: 0x1d3]
|
||||
| | | +- [BytePrefix, table: 0, index: 173, offset: 0x1d4] -> [num value; dec: 5, hex: 0x5]
|
||||
| | +- [Return, table: 0, index: 174, offset: 0x1d6]
|
||||
| | +- [NamePath, table: 0, index: 175, offset: 0x1d7] -> [namepath: "WFL5"]
|
||||
| +- [Store, table: 0, index: 176, offset: 0x1db]
|
||||
| | +- [LoadTable, table: 0, index: 177, offset: 0x1dc]
|
||||
| | | +- [StringPrefix, table: 0, index: 178, offset: 0x1de] -> [string value: "OEM1"]
|
||||
| | | +- [StringPrefix, table: 0, index: 179, offset: 0x1e4] -> [string value: "MYOEM"]
|
||||
| | | +- [StringPrefix, table: 0, index: 180, offset: 0x1eb] -> [string value: "TABLE1"]
|
||||
| | | +- [StringPrefix, table: 0, index: 181, offset: 0x1f3] -> [string value: "\_SB.PCI0"]
|
||||
| | | +- [StringPrefix, table: 0, index: 182, offset: 0x1fe] -> [string value: "MYD"]
|
||||
| | | +- [Package, table: 0, index: 183, offset: 0x203]
|
||||
| | | | +- [BytePrefix, table: 0, index: 184, offset: 0x205] -> [num value; dec: 2, hex: 0x2]
|
||||
| | | | +- [ScopeBlock, table: 0, index: 185, offset: 0x206]
|
||||
| | | | +- [BytePrefix, table: 0, index: 186, offset: 0x206] -> [num value; dec: 0, hex: 0x0]
|
||||
| | | | +- [StringPrefix, table: 0, index: 187, offset: 0x208] -> [string value: "\_SB.PCI0"]
|
||||
| | | +- [Local0, table: 0, index: 188, offset: 0x213]
|
||||
| | +- [Store, table: 0, index: 189, offset: 0x214]
|
||||
| | +- [BytePrefix, table: 0, index: 190, offset: 0x215] -> [num value; dec: 255, hex: 0xff]
|
||||
| | +- [Local0, table: 0, index: 191, offset: 0x217]
|
||||
| +- [Store, table: 0, index: 192, offset: 0x218]
|
||||
| | +- [WordPrefix, table: 0, index: 193, offset: 0x219] -> [num value; dec: 65535, hex: 0xffff]
|
||||
| | +- [Local0, table: 0, index: 194, offset: 0x21c]
|
||||
| +- [Store, table: 0, index: 195, offset: 0x21d]
|
||||
| | +- [DwordPrefix, table: 0, index: 196, offset: 0x21e] -> [num value; dec: 4294967295, hex: 0xffffffff]
|
||||
| | +- [Local0, table: 0, index: 197, offset: 0x223]
|
||||
| +- [Store, table: 0, index: 198, offset: 0x224]
|
||||
| | +- [QwordPrefix, table: 0, index: 199, offset: 0x225] -> [num value; dec: 18446744073709551615, hex: 0xffffffffffffffff]
|
||||
| | +- [Local0, table: 0, index: 200, offset: 0x22e]
|
||||
| +- [Store, table: 0, index: 201, offset: 0x22f]
|
||||
| | +- [Zero, table: 0, index: 202, offset: 0x230]
|
||||
| | +- [Local0, table: 0, index: 203, offset: 0x231]
|
||||
| +- [Store, table: 0, index: 204, offset: 0x232]
|
||||
| | +- [One, table: 0, index: 205, offset: 0x233]
|
||||
| | +- [Local0, table: 0, index: 206, offset: 0x234]
|
||||
| +- [Store, table: 0, index: 207, offset: 0x235]
|
||||
| | +- [Ones, table: 0, index: 208, offset: 0x236]
|
||||
| | +- [Local0, table: 0, index: 209, offset: 0x237]
|
||||
| +- [Store, table: 0, index: 210, offset: 0x238]
|
||||
| | +- [StringPrefix, table: 0, index: 211, offset: 0x239] -> [string value: "FOO"]
|
||||
| | +- [Local0, table: 0, index: 212, offset: 0x23e]
|
||||
| +- [FromBCD, table: 0, index: 213, offset: 0x23f]
|
||||
| | +- [BytePrefix, table: 0, index: 214, offset: 0x241] -> [num value; dec: 9, hex: 0x9]
|
||||
| | +- [Arg0, table: 0, index: 215, offset: 0x243]
|
||||
| +- [ToBCD, table: 0, index: 216, offset: 0x244]
|
||||
| | +- [Arg0, table: 0, index: 217, offset: 0x246]
|
||||
| | +- [Local1, table: 0, index: 218, offset: 0x247]
|
||||
| +- [BreakPoint, table: 0, index: 219, offset: 0x248]
|
||||
| +- [Store, table: 0, index: 220, offset: 0x249]
|
||||
| | +- [StringPrefix, table: 0, index: 221, offset: 0x24a] -> [string value: "test"]
|
||||
| | +- [Debug, table: 0, index: 222, offset: 0x250]
|
||||
| +- [Fatal, table: 0, index: 223, offset: 0x252]
|
||||
| | +- [BytePrefix, table: 0, index: 224, offset: 0x254] -> [num value; dec: 240, hex: 0xf0]
|
||||
| | +- [DwordPrefix, table: 0, index: 225, offset: 0x255] -> [num value; dec: 3735929054, hex: 0xdeadc0de]
|
||||
| | +- [BytePrefix, table: 0, index: 226, offset: 0x259] -> [num value; dec: 1, hex: 0x1]
|
||||
| +- [Acquire, table: 0, index: 227, offset: 0x25b]
|
||||
| | +- [NamePath, table: 0, index: 228, offset: 0x25d] -> [namepath: "MUT0"]
|
||||
| | +- [WordPrefix, table: 0, index: 229, offset: 0x261] -> [num value; dec: 65535, hex: 0xffff]
|
||||
| +- [Release, table: 0, index: 230, offset: 0x263]
|
||||
| | +- [NamePath, table: 0, index: 231, offset: 0x265] -> [namepath: "MUT0"]
|
||||
| +- [Reset, table: 0, index: 232, offset: 0x269]
|
||||
| | +- [NamePath, table: 0, index: 233, offset: 0x26b] -> [namepath: "HLO0"]
|
||||
| +- [Wait, table: 0, index: 234, offset: 0x26f]
|
||||
| | +- [NamePath, table: 0, index: 235, offset: 0x271] -> [namepath: "HLO0"]
|
||||
| | +- [WordPrefix, table: 0, index: 236, offset: 0x275] -> [num value; dec: 65535, hex: 0xffff]
|
||||
| +- [Store, table: 0, index: 237, offset: 0x278]
|
||||
| | +- [Timer, table: 0, index: 238, offset: 0x279]
|
||||
| | +- [Local0, table: 0, index: 239, offset: 0x27b]
|
||||
| +- [CopyObject, table: 0, index: 240, offset: 0x27c]
|
||||
| | +- [Local0, table: 0, index: 241, offset: 0x27d]
|
||||
| | +- [Local1, table: 0, index: 242, offset: 0x27e]
|
||||
| +- [Return, table: 0, index: 243, offset: 0x27f]
|
||||
| +- [ObjectType, table: 0, index: 244, offset: 0x280]
|
||||
| +- [Local1, table: 0, index: 245, offset: 0x281]
|
||||
+- [OpRegion, name: "GIO0", table: 0, index: 246, offset: 0x282]
|
||||
| +- [NamePath, table: 0, index: 247, offset: 0x284] -> [namepath: "GIO0"]
|
||||
| +- [BytePrefix, table: 0, index: 248, offset: 0x288] -> [num value; dec: 1, hex: 0x1]
|
||||
| +- [WordPrefix, table: 0, index: 249, offset: 0x289] -> [num value; dec: 293, hex: 0x125]
|
||||
| +- [WordPrefix, table: 0, index: 250, offset: 0x28c] -> [num value; dec: 256, hex: 0x100]
|
||||
+- [Field, table: 0, index: 251, offset: 0x28f]
|
||||
| +- [NamePath, table: 0, index: 252, offset: 0x292] -> [namepath: "GIO0"]
|
||||
| +- [BytePrefix, table: 0, index: 253, offset: 0x296] -> [num value; dec: 1, hex: 0x1]
|
||||
+- [NamedField, name: "GLB1", table: 0, index: 254, offset: 0x297] -> [field index: 251, offset(bytes): 0x0, width(bits): 0x1, accType: Byte, lockType: NoLock, updateType: Preserve, connection: -]
|
||||
+- [NamedField, name: "GLB2", table: 0, index: 255, offset: 0x29c] -> [field index: 251, offset(bytes): 0x1, width(bits): 0x1, accType: Byte, lockType: NoLock, updateType: Preserve, connection: -]
|
||||
+- [NamedField, name: "BNK1", table: 0, index: 256, offset: 0x2a3] -> [field index: 251, offset(bytes): 0x8, width(bits): 0x4, accType: Byte, lockType: NoLock, updateType: Preserve, connection: -]
|
||||
+- [BankField, table: 0, index: 257, offset: 0x2a8]
|
||||
| +- [NamePath, table: 0, index: 328, offset: 0x2ab] -> [namepath: "GIO0"]
|
||||
| +- [NamePath, table: 0, index: 329, offset: 0x2af] -> [namepath: "BNK1"]
|
||||
| +- [BytePrefix, table: 0, index: 330, offset: 0x2b3] -> [num value; dec: 0, hex: 0x0]
|
||||
| +- [BytePrefix, table: 0, index: 331, offset: 0x2b5] -> [num value; dec: 49, hex: 0x31]
|
||||
+- [NamedField, name: "FET0", table: 0, index: 332, offset: 0x2b9] -> [field index: 257, offset(bytes): 0x180, width(bits): 0x1, accType: Byte, lockType: Lock, updateType: WriteAsOnes, connection: -]
|
||||
+- [NamedField, name: "FET1", table: 0, index: 333, offset: 0x2be] -> [field index: 257, offset(bytes): 0x181, width(bits): 0x1, accType: Byte, lockType: Lock, updateType: WriteAsOnes, connection: -]
|
||||
+- [OpRegion, name: "SMBD", table: 0, index: 258, offset: 0x2c3]
|
||||
| +- [NamePath, table: 0, index: 259, offset: 0x2c5] -> [namepath: "SMBD"]
|
||||
| +- [BytePrefix, table: 0, index: 260, offset: 0x2c9] -> [num value; dec: 4, hex: 0x4]
|
||||
| +- [WordPrefix, table: 0, index: 261, offset: 0x2ca] -> [num value; dec: 16896, hex: 0x4200]
|
||||
| +- [WordPrefix, table: 0, index: 262, offset: 0x2cd] -> [num value; dec: 256, hex: 0x100]
|
||||
+- [Field, table: 0, index: 263, offset: 0x2d0]
|
||||
| +- [NamePath, table: 0, index: 264, offset: 0x2d4] -> [namepath: "SMBD"]
|
||||
| +- [BytePrefix, table: 0, index: 265, offset: 0x2d8] -> [num value; dec: 69, hex: 0x45]
|
||||
+- [NamedField, name: "SFL0", table: 0, index: 266, offset: 0x2dc] -> [field index: 263, offset(bytes): 0x0, width(bits): 0x8, accType: Buffer, accAttr: Byte, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SFL1", table: 0, index: 267, offset: 0x2e4] -> [field index: 263, offset(bytes): 0x8, width(bits): 0x8, accType: Buffer, accAttr: Word, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SFL2", table: 0, index: 268, offset: 0x2ec] -> [field index: 263, offset(bytes): 0x10, width(bits): 0x8, accType: Buffer, accAttr: Block, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SFL3", table: 0, index: 269, offset: 0x2f4] -> [field index: 263, offset(bytes): 0x18, width(bits): 0x8, accType: Buffer, accAttr: Quick, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SFL4", table: 0, index: 270, offset: 0x2fc] -> [field index: 263, offset(bytes): 0x20, width(bits): 0x8, accType: Buffer, accAttr: SendReceive, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SFL5", table: 0, index: 271, offset: 0x304] -> [field index: 263, offset(bytes): 0x28, width(bits): 0x8, accType: Buffer, accAttr: ProcessCall, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SFL6", table: 0, index: 272, offset: 0x30c] -> [field index: 263, offset(bytes): 0x30, width(bits): 0x8, accType: Buffer, accAttr: BlockProcessCall, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SFL7", table: 0, index: 273, offset: 0x315] -> [field index: 263, offset(bytes): 0x38, width(bits): 0x8, accType: Buffer, accAttr: Bytes(0x12), lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SFL8", table: 0, index: 274, offset: 0x31e] -> [field index: 263, offset(bytes): 0x40, width(bits): 0x8, accType: Buffer, accAttr: RawBytes(0x13), lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SFL9", table: 0, index: 275, offset: 0x327] -> [field index: 263, offset(bytes): 0x48, width(bits): 0x8, accType: Buffer, accAttr: RawProcessBytes(0x14), lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SF10", table: 0, index: 276, offset: 0x32f] -> [field index: 263, offset(bytes): 0x50, width(bits): 0x8, accType: Any, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SF11", table: 0, index: 277, offset: 0x337] -> [field index: 263, offset(bytes): 0x58, width(bits): 0x8, accType: Byte, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SF12", table: 0, index: 278, offset: 0x33f] -> [field index: 263, offset(bytes): 0x60, width(bits): 0x8, accType: Word, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SF13", table: 0, index: 279, offset: 0x347] -> [field index: 263, offset(bytes): 0x68, width(bits): 0x8, accType: Dword, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [NamedField, name: "SF14", table: 0, index: 280, offset: 0x34f] -> [field index: 263, offset(bytes): 0x70, width(bits): 0x8, accType: Qword, lockType: NoLock, updateType: WriteAsZeroes, connection: -]
|
||||
+- [DataRegion, name: "REG0", table: 0, index: 281, offset: 0x354]
|
||||
| +- [NamePath, table: 0, index: 282, offset: 0x356] -> [namepath: "REG0"]
|
||||
| +- [StringPrefix, table: 0, index: 283, offset: 0x35a] -> [string value: "FOOF"]
|
||||
| +- [StringPrefix, table: 0, index: 284, offset: 0x360] -> [string value: "BAR"]
|
||||
| +- [StringPrefix, table: 0, index: 285, offset: 0x365] -> [string value: "BAZ"]
|
||||
+- [Processor, name: "CPU0", table: 0, index: 286, offset: 0x36a]
|
||||
| +- [NamePath, table: 0, index: 287, offset: 0x36d] -> [namepath: "CPU0"]
|
||||
| +- [BytePrefix, table: 0, index: 288, offset: 0x371] -> [num value; dec: 1, hex: 0x1]
|
||||
| +- [DwordPrefix, table: 0, index: 289, offset: 0x372] -> [num value; dec: 288, hex: 0x120]
|
||||
| +- [BytePrefix, table: 0, index: 290, offset: 0x376] -> [num value; dec: 6, hex: 0x6]
|
||||
| +- [ScopeBlock, table: 0, index: 291, offset: 0x377]
|
||||
+- [PowerRes, name: "PWR0", table: 0, index: 292, offset: 0x377]
|
||||
| +- [NamePath, table: 0, index: 293, offset: 0x37a] -> [namepath: "PWR0"]
|
||||
| +- [BytePrefix, table: 0, index: 294, offset: 0x37e] -> [num value; dec: 0, hex: 0x0]
|
||||
| +- [WordPrefix, table: 0, index: 295, offset: 0x37f] -> [num value; dec: 0, hex: 0x0]
|
||||
| +- [ScopeBlock, table: 0, index: 296, offset: 0x381]
|
||||
+- [ThermalZone, name: "TZ0_", table: 0, index: 297, offset: 0x381]
|
||||
| +- [NamePath, table: 0, index: 298, offset: 0x384] -> [namepath: "TZ0_"]
|
||||
| +- [ScopeBlock, table: 0, index: 299, offset: 0x388]
|
||||
+- [Method, name: "FLOW", argCount: 2, table: 0, index: 300, offset: 0x388]
|
||||
| +- [NamePath, table: 0, index: 301, offset: 0x38a] -> [namepath: "FLOW"]
|
||||
| +- [BytePrefix, table: 0, index: 302, offset: 0x38e] -> [num value; dec: 2, hex: 0x2]
|
||||
| +- [ScopeBlock, table: 0, index: 303, offset: 0x38f]
|
||||
| +- [While, table: 0, index: 304, offset: 0x38f]
|
||||
| | +- [LLess, table: 0, index: 334, offset: 0x391]
|
||||
| | | +- [Arg0, table: 0, index: 335, offset: 0x392]
|
||||
| | | +- [Arg1, table: 0, index: 336, offset: 0x393]
|
||||
| | +- [ScopeBlock, table: 0, index: 337, offset: 0x394]
|
||||
| | +- [Increment, table: 0, index: 338, offset: 0x394]
|
||||
| | | +- [Arg0, table: 0, index: 339, offset: 0x395]
|
||||
| | +- [If, table: 0, index: 340, offset: 0x396]
|
||||
| | +- [LLess, table: 0, index: 341, offset: 0x398]
|
||||
| | | +- [Arg0, table: 0, index: 342, offset: 0x399]
|
||||
| | | +- [BytePrefix, table: 0, index: 343, offset: 0x39a] -> [num value; dec: 5, hex: 0x5]
|
||||
| | +- [ScopeBlock, table: 0, index: 344, offset: 0x39c]
|
||||
| | +- [Continue, table: 0, index: 345, offset: 0x39c]
|
||||
| +- [Return, table: 0, index: 305, offset: 0x3ad]
|
||||
| +- [Arg0, table: 0, index: 306, offset: 0x3ae]
|
||||
+- [ThermalZone, name: "THRM", table: 0, index: 310, offset: 0x3b6]
|
||||
+- [NamePath, table: 0, index: 311, offset: 0x3b9] -> [namepath: "THRM"]
|
||||
+- [ScopeBlock, table: 0, index: 312, offset: 0x3be]
|
||||
+- [Name, name: "DEF0", table: 0, index: 313, offset: 0x3be]
|
||||
| +- [NamePath, table: 0, index: 314, offset: 0x3bf] -> [namepath: "DEF0"]
|
||||
| +- [Ones, table: 0, index: 315, offset: 0x3c3]
|
||||
+- [Method, name: "MTH0", argCount: 0, table: 0, index: 322, offset: 0x3d1]
|
||||
| +- [NamePath, table: 0, index: 323, offset: 0x3d3] -> [namepath: "MTH0"]
|
||||
| +- [BytePrefix, table: 0, index: 324, offset: 0x3dd] -> [num value; dec: 0, hex: 0x0]
|
||||
| +- [ScopeBlock, table: 0, index: 325, offset: 0x3de]
|
||||
| +- [Return, table: 0, index: 326, offset: 0x3de]
|
||||
| +- [BytePrefix, table: 0, index: 327, offset: 0x3df] -> [num value; dec: 1, hex: 0x1]
|
||||
+- [Name, name: "DEF1", table: 0, index: 319, offset: 0x3cb]
|
||||
+- [NamePath, table: 0, index: 320, offset: 0x3cc] -> [namepath: "DEF1"]
|
||||
+- [Zero, table: 0, index: 321, offset: 0x3d0]
|
Loading…
x
Reference in New Issue
Block a user