Date: Thu, 15 Nov 2001 17:17:20 +0300 From: "Vladimir B. Grebenschikov" <vova@express.ru> To: Simon Dick <simond@irrelevant.org> Cc: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>, juriy@aviaport.ru, freebsd-mobile@freebsd.org Subject: Re: for VAIO users Message-ID: <15347.52848.538116.218014@vbook.express.ru> In-Reply-To: <20011115110509.C2668@irrelevant.org> References: <20011115065250.GA940@aviaport.ru> <20011115.194001.07645712.iwasaki@jp.FreeBSD.org> <20011115110509.C2668@irrelevant.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Simon Dick writes:
> If acpidump output is wanted from Vaios, here's one from my F807K :)
It is from my Z505S
[-- Attachment #2 --]
/*
RSD PTR: Checksum=130, OEMID=PTLTD, RsdtAddress=0x0bffd0dd
*/
/*
RSDT: Length=40, Revision=1, Checksum=148,
OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x0,
Creator ID= LTP, Creator Revision=0x0
*/
/*
Entries={ 0x0bfffb8c }
*/
/*
DSDT=0xbffd105
INT_MODEL=PIC
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0xf2
PM1a_EVT_BLK=0x8000-0x8003
PM1a_CNT_BLK=0x8042-0x8043
PM2_TMR_BLK=0x8008-0x800b
PM2_GPE0_BLK=0x800c-0x800f
P_LVL2_LAT=10ms, P_LVL3_LAT=20ms
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=3
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
Flags={WBINVD,SLP_BUTTON}
*/
/*
DSDT: Length=10887, Revision=1, Checksum=244,
OEMID=SONY, OEM Table ID=, OEM Revision=0x0,
Creator ID=MSFT, Creator Revision=0x1000007
*/
DefinitionBlock (
"acpi_dsdt.aml", //Output filename
"DSDT", //Signature
0x1, //DSDT Revision
"SONY", //OEMID
"", //TABLE ID
0x0 //OEM Revision
)
{
Scope(_PR_) {
Processor(CPU0, 0, 0x8010, 0x6) {
}
}
Name(_S0_, Package(0x2) {
0x5,
0x5,
})
Name(_S1_, Package(0x2) {
0x4,
0x4,
})
Name(_S3_, Package(0x2) {
0x1,
0x1,
})
Name(_S4_, Package(0x2) {
0x0,
0x0,
})
Name(_S5_, Package(0x2) {
0x0,
0x0,
})
OperationRegion(GPO_, SystemIO, 0x8034, 0x4)
Field(GPO_, DWordAcc, NoLock, Preserve) {
GO00, 1,
GO01, 1,
GO02, 1,
GO03, 1,
GO04, 1,
GO05, 1,
GO06, 1,
GO07, 1,
GO08, 1,
GO09, 1,
GO10, 1,
GO11, 1,
GO12, 1,
GO13, 1,
GO14, 1,
GO15, 1,
GO16, 1,
GO17, 1,
GO18, 1,
GO19, 1,
GO20, 1,
GO21, 1,
GO22, 1,
GO23, 1,
GO24, 1,
GO25, 1,
GO26, 1,
GO27, 1,
GO28, 1,
GO29, 1,
GO30, 1,
GO31, 1
}
Mutex(MLAT, 0)
Method(GLAT) {
Acquire(MLAT, 0xffff)
Store(One, GO14)
Store(Zero, GO14)
Release(MLAT)
}
OperationRegion(GLBL, SystemIO, 0x8028, 0x4)
Field(GLBL, DWordAcc, NoLock, Preserve) {
Offset(0x3),
, 1,
LPOL, 1
}
OperationRegion(SMI0, SystemMemory, 0x0bfffdbc, 0x00000200)
Field(SMI0, AnyAcc, NoLock, Preserve) {
BCMD, 8,
DID_, 32,
INFO, 4000
}
Field(SMI0, AnyAcc, NoLock, Preserve) {
Offset(0x5),
INFB, 8
}
Field(SMI0, AnyAcc, NoLock, Preserve) {
Offset(0x5),
INFD, 32
}
OperationRegion(SMI1, SystemIO, 0x00008040, 0x00000002)
Field(SMI1, AnyAcc, NoLock, Preserve) {
SMIC, 8
}
Mutex(MPHS, 0)
Method(PHS0, 1) {
Store(Arg0, BCMD)
Store(Zero, SMIC)
While(LEqual(BCMD, Arg0)) {
}
Store(0x0, BCMD)
}
Method(PHS_, 1, Serialized) {
Acquire(MPHS, 0xffff)
Store(0x0, DID_)
PHS0(Arg0)
Store(INFD, Local0)
Release(MPHS)
Return(Local0)
}
Method(PHSB, 2, Serialized) {
Acquire(MPHS, 0xffff)
Store(0x0, DID_)
Store(Arg1, INFB)
PHS0(Arg0)
Store(INFB, Local0)
Release(MPHS)
Return(Local0)
}
Method(PSCS, 1, Serialized) {
Acquire(MPHS, 0xffff)
Store(Arg0, DID_)
PHS0(0x0)
Store(INFO, Local0)
Release(MPHS)
Return(Local0)
}
Method(PSSS, 2, Serialized) {
Acquire(MPHS, 0xffff)
Store(Arg0, DID_)
Store(Arg1, INFO)
PHS0(0x1)
Release(MPHS)
}
Method(PSPS, 1, Serialized) {
Acquire(MPHS, 0xffff)
Store(Arg0, DID_)
PHS0(0x2)
Store(INFO, Local0)
Release(MPHS)
Return(Local0)
}
Method(PSDI, 1, Serialized) {
Acquire(MPHS, 0xffff)
Store(Arg0, DID_)
PHS0(0x3)
Release(MPHS)
}
Method(PSST, 1, Serialized) {
Acquire(MPHS, 0xffff)
Store(Arg0, DID_)
PHS0(0x4)
Store(INFB, Local0)
Release(MPHS)
Return(Local0)
}
Scope(\_GPE) {
Method(_E09) {
\_SB_.PCI0.ISA_.EC__.SCID()
}
Method(_L0A) {
Store("Generated SWI", Debug)
Notify(\_SB_.PCI0, 0x2)
}
Name(_PRW, Package(0x2) {
0xb,
0x4,
})
}
Scope(_SB_) {
Device(PWRB) {
Name(_HID, 0x0c0cd041)
Name(_PRW, Package(0x2) {
0xb,
0x4,
})
Method(_STA) {
Return(0xf)
}
Method(_PS3) {
Store(One, GO11)
}
}
Device(PCI0) {
Name(_HID, 0x030ad041)
Name(_ADR, 0x0)
Name(_BBN, 0x0)
Name(_PRT, Package(0x7) {
Package(0x4) {
0x0007ffff,
0x3,
LNKD,
0x0,
},
Package(0x4) {
0x0008ffff,
0x0,
LNKA,
0x0,
},
Package(0x4) {
0x0009ffff,
0x0,
LNKC,
0x0,
},
Package(0x4) {
0x000affff,
0x0,
LNKB,
0x0,
},
Package(0x4) {
0x000bffff,
0x0,
LNKA,
0x0,
},
Package(0x4) {
0x0008ffff,
0x1,
LNKB,
0x0,
},
Package(0x4) {
0x0006ffff,
0x0,
LNKA,
0x0,
},
})
OperationRegion(REGS, PCI_Config, 0x40, 0xc0)
Field(REGS, DWordAcc, NoLock, Preserve) {
Offset(0x19),
PAM0, 8,
PAM1, 8,
PAM2, 8,
PAM3, 8,
PAM4, 8,
PAM5, 8,
PAM6, 8,
DRB0, 8,
DRB1, 8,
DRB2, 8,
DRB3, 8,
DRB4, 8,
DRB5, 8,
DRB6, 8,
DRB7, 8,
, 6,
HEN_, 2,
Offset(0x33),
T_EN, 1,
T_SZ, 2,
Offset(0x3a),
CRST, 1
}
Name(RSRC, Buffer(0x01d2) {0x88, 0xe, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xe, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x88, 0xe, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x79, 0x0 })
Method(_CRS, 0, Serialized) {
Store(Zero, Local1)
If(T_EN) {
ShiftLeft(0x1, Add(T_SZ, 0x11, ), Local1)
}
CreateDWordField(RSRC, 0x017a, BTMN)
CreateDWordField(RSRC, 0x017e, BTMX)
CreateDWordField(RSRC, 0x0186, BTLN)
Multiply(DRB7, 0x00800000, Local0)
If(T_EN) {
Subtract(Local0, Local1, Local2)
Store(Local2, BTMN)
Subtract(Add(Local0, 0x10000000, ), BTMN, BTLN)
}
Else {
Store(Local0, BTMN)
Subtract(0xffe00000, Local0, BTLN)
Subtract(Add(BTMN, BTLN, ), 0x1, BTMX)
}
CreateDWordField(RSRC, 0x0195, ATMN)
CreateDWordField(RSRC, 0x0199, ATMX)
CreateDWordField(RSRC, 0x01a1, ATLN)
If(T_EN) {
Add(Add(BTMN, BTLN, ), Local1, ATMN)
Subtract(0xffe00000, ATMN, ATLN)
Subtract(Add(ATMN, ATLN, ), 0x1, ATMX)
}
Else {
Store(Zero, ATLN)
}
CreateBitField(RSRC, 0x0188, C0RW)
CreateDWordField(RSRC, 0x36, C0MN)
CreateDWordField(RSRC, 0x3a, C0MX)
CreateDWordField(RSRC, 0x42, C0LN)
Store(One, C0RW)
If(LEqual(And(PAM1, 0x3, ), 0x1)) {
Store(Zero, C0RW)
}
Store(Zero, C0LN)
If(LNot(And(PAM1, 0x3, ))) {
Store(0x4000, C0LN)
}
CreateBitField(RSRC, 0x0260, C4RW)
CreateDWordField(RSRC, 0x51, C4MN)
CreateDWordField(RSRC, 0x55, C4MX)
CreateDWordField(RSRC, 0x5d, C4LN)
Store(One, C4RW)
If(LEqual(And(PAM1, 0x30, ), 0x10)) {
Store(Zero, C4RW)
}
Store(Zero, C4LN)
If(LNot(And(PAM1, 0x30, ))) {
Store(0x4000, C4LN)
}
CreateBitField(RSRC, 0x0338, C8RW)
CreateDWordField(RSRC, 0x6c, C8MN)
CreateDWordField(RSRC, 0x70, C8MX)
CreateDWordField(RSRC, 0x78, C8LN)
Store(One, C8RW)
If(LEqual(And(PAM2, 0x3, ), 0x1)) {
Store(Zero, C8RW)
}
Store(Zero, C8LN)
If(LNot(And(PAM2, 0x3, ))) {
Store(0x4000, C8LN)
}
CreateBitField(RSRC, 0x0410, CCRW)
CreateDWordField(RSRC, 0x87, CCMN)
CreateDWordField(RSRC, 0x8b, CCMX)
CreateDWordField(RSRC, 0x93, CCLN)
Store(One, CCRW)
If(LEqual(And(PAM2, 0x30, ), 0x10)) {
Store(Zero, CCRW)
}
Store(Zero, CCLN)
If(LNot(And(PAM2, 0x30, ))) {
Store(0x4000, CCLN)
}
CreateBitField(RSRC, 0x04e8, D0RW)
CreateDWordField(RSRC, 0xa2, D0MN)
CreateDWordField(RSRC, 0xa6, D0MX)
CreateDWordField(RSRC, 0xae, D0LN)
Store(One, D0RW)
If(LEqual(And(PAM3, 0x3, ), 0x1)) {
Store(Zero, D0RW)
}
Store(Zero, D0LN)
If(LNot(And(PAM3, 0x3, ))) {
Store(0x4000, D0LN)
}
CreateBitField(RSRC, 0x05c0, D4RW)
CreateDWordField(RSRC, 0xbd, D4MN)
CreateDWordField(RSRC, 0xc1, D4MX)
CreateDWordField(RSRC, 0xc9, D4LN)
Store(One, D4RW)
If(LEqual(And(PAM3, 0x30, ), 0x10)) {
Store(Zero, D4RW)
}
Store(Zero, D4LN)
If(LNot(And(PAM3, 0x30, ))) {
Store(0x4000, D4LN)
}
CreateBitField(RSRC, 0x0698, D8RW)
CreateDWordField(RSRC, 0xd8, D8MN)
CreateDWordField(RSRC, 0xdc, D8MX)
CreateDWordField(RSRC, 0xe4, D8LN)
Store(One, D8RW)
If(LEqual(And(PAM4, 0x3, ), 0x1)) {
Store(Zero, D8RW)
}
Store(Zero, D8LN)
If(LNot(And(PAM4, 0x3, ))) {
Store(0x4000, D8LN)
}
CreateBitField(RSRC, 0x0770, DCRW)
CreateDWordField(RSRC, 0xf3, DCMN)
CreateDWordField(RSRC, 0xf7, DCMX)
CreateDWordField(RSRC, 0xff, DCLN)
Store(One, DCRW)
If(LEqual(And(PAM4, 0x30, ), 0x10)) {
Store(Zero, DCRW)
}
Store(Zero, DCLN)
If(LNot(And(PAM4, 0x30, ))) {
Store(0x4000, DCLN)
}
CreateBitField(RSRC, 0x0848, E0RW)
CreateDWordField(RSRC, 0x010e, E0MN)
CreateDWordField(RSRC, 0x0112, E0MX)
CreateDWordField(RSRC, 0x011a, E0LN)
Store(One, E0RW)
If(LEqual(And(PAM5, 0x3, ), 0x1)) {
Store(Zero, E0RW)
}
Store(Zero, E0LN)
If(LNot(And(PAM5, 0x3, ))) {
Store(0x4000, E0LN)
}
CreateBitField(RSRC, 0x0920, E4RW)
CreateDWordField(RSRC, 0x0129, E4MN)
CreateDWordField(RSRC, 0x012d, E4MX)
CreateDWordField(RSRC, 0x0135, E4LN)
Store(One, E4RW)
If(LEqual(And(PAM5, 0x30, ), 0x10)) {
Store(Zero, E4RW)
}
Store(Zero, E4LN)
If(LNot(And(PAM5, 0x30, ))) {
Store(0x4000, E4LN)
}
CreateBitField(RSRC, 0x09f8, E8RW)
CreateDWordField(RSRC, 0x0144, E8MN)
CreateDWordField(RSRC, 0x0148, E8MX)
CreateDWordField(RSRC, 0x0150, E8LN)
Store(One, E8RW)
If(LEqual(And(PAM6, 0x3, ), 0x1)) {
Store(Zero, E8RW)
}
Store(Zero, E8LN)
If(LNot(And(PAM6, 0x3, ))) {
Store(0x4000, E8LN)
}
CreateBitField(RSRC, 0x0ad0, ECRW)
CreateDWordField(RSRC, 0x015f, ECMN)
CreateDWordField(RSRC, 0x0163, ECMX)
CreateDWordField(RSRC, 0x016b, ECLN)
Store(One, ECRW)
If(LEqual(And(PAM6, 0x30, ), 0x10)) {
Store(Zero, ECRW)
}
Store(Zero, ECLN)
If(LNot(And(PAM6, 0x30, ))) {
Store(0x4000, ECLN)
}
Return(RSRC)
}
Device(USB0) {
Name(_ADR, 0x00070002)
OperationRegion(CFG2, PCI_Config, 0x0, 0x0100)
Field(CFG2, DWordAcc, NoLock, Preserve) {
Offset(0x20),
USBB, 16
}
Method(_STA) {
And(USBB, 0xffe0, Local0)
If(LEqual(Local0, 0x0)) {
Return(0x0)
}
Else {
Return(0xf)
}
}
Name(_PSC, 0x0)
Method(_PS0) {
If(LEqual(_PSC, 0x3)) {
PHS_(0xf2)
Store(0x0, _PSC)
}
}
Method(_PS3) {
If(LEqual(_PSC, 0x0)) {
PHS_(0xf1)
Store(0x3, _PSC)
}
}
}
Device(PWR_) {
Name(_ADR, 0x00070003)
OperationRegion(PCI_, PCI_Config, 0x50, 0x28)
Field(PCI_, DWordAcc, NoLock, Preserve) {
Offset(0x1),
, 4,
FDCM, 1,
, 1,
U1M_, 1,
Offset(0x2),
U2M_, 1,
, 1,
LPTM, 1,
Offset(0xc),
MDIE, 1,
MDIA, 2,
SBE_, 1,
GME_, 1,
SBA_, 2,
MSSE, 1,
MSSA, 2,
Offset(0xf),
, 1,
AUDM, 1,
, 2,
KBCM, 1,
G12M, 1,
G13M, 1,
LPTE, 1,
G09A, 16,
G09L, 4,
, 1,
G09M, 1,
G09E, 1,
Offset(0x13),
, 1,
LPTA, 2,
, 1,
FDCA, 1,
FDCE, 1,
KBCE, 1,
GMM_, 1,
G10A, 16,
G10L, 4,
, 1,
G10M, 1,
G10E, 1,
G10C, 1,
U1A_, 3,
U1E_, 1,
U2A_, 3,
U2E_, 1,
G12A, 16,
G12L, 4,
G12E, 1,
Offset(0x20),
G13A, 16,
G13L, 4,
G13E, 1
}
}
Device(IDE_) {
Name(_ADR, 0x00070001)
OperationRegion(PCI_, PCI_Config, 0x40, 0x10)
Field(PCI_, DWordAcc, NoLock, Preserve) {
Offset(0x3),
, 7,
SIDE, 1
}
Field(PCI_, DWordAcc, NoLock, Preserve) {
R40_, 32,
Offset(0x8),
R48_, 32
}
Device(PRIM) {
Name(_ADR, 0x0)
Method(_STA) {
Return(0xf)
}
Method(_STM, 2) {
}
Device(MAST) {
Name(_ADR, 0x0)
Method(_STA) {
Return(PHSB(0xe3, 0x0))
}
Name(_PSC, 0x0)
}
}
Device(SECN) {
Name(_ADR, 0x1)
Method(_STA) {
Return(0xf)
}
Method(_STM, 2) {
}
Device(MAST) {
Name(_ADR, 0x0)
Method(_STA) {
Return(PHSB(0xe3, 0x1))
}
Name(_PSC, 0x0)
}
}
Name(_PSC, 0x0)
Name(IDET, 0x0)
Name(UDMA, 0x0)
Method(_PS0) {
If(LEqual(_PSC, 0x3)) {
Store(IDET, R40_)
Store(UDMA, R48_)
PHS_(0xf0)
PHS_(0xf9)
}
Store(0x0, _PSC)
}
Method(_PS3) {
Store(R40_, IDET)
Store(R48_, UDMA)
Store(0x3, _PSC)
}
}
Device(VID0) {
Name(_ADR, 0x00080000)
Method(_STA) {
Return(0xf)
}
}
Device(AUD0) {
Name(_ADR, 0x00080001)
Name(_STA, 0xf)
Name(_PSC, 0x0)
Method(_PS0) {
Store(Zero, GO11)
Store(0x0, _PSC)
}
Method(_PS3) {
Store(One, GO11)
Store(0x3, _PSC)
}
}
Device(SD94) {
Name(_ADR, 0x00090000)
Name(_STA, 0xf)
OperationRegion(SPCI, PCI_Config, 0x0, 0x0100)
Field(SPCI, DWordAcc, NoLock, Preserve) {
Offset(0x4),
COMD, 8,
Offset(0xc),
CALS, 8,
LATI, 8,
Offset(0x10),
MADR, 32,
Offset(0x2c),
SSID, 32,
Offset(0x3c),
IRQN, 8,
Offset(0x4c),
ESID, 8,
Offset(0xe0),
PWST, 8
}
Name(SSAV, Package(0x3) {
})
Name(_PSC, 0x0)
Method(_PS0) {
Store(0x0, PWST)
Sleep(0x1)
Store(0x8, CALS)
Store(0x40, LATI)
Store(0x1, ESID)
Store(0x8054104d, SSID)
Store(0x0, ESID)
If(LEqual(_PSC, 0x3)) {
Store(DerefOf(Index(SSAV, 0x0, )), COMD)
Store(DerefOf(Index(SSAV, 0x1, )), MADR)
Store(DerefOf(Index(SSAV, 0x2, )), IRQN)
}
Store(0x0, _PSC)
}
Method(_PS3) {
If(LEqual(_PSC, 0x0)) {
Store(COMD, Index(SSAV, 0x0, ))
Store(MADR, Index(SSAV, 0x1, ))
Store(IRQN, Index(SSAV, 0x2, ))
}
Store(0x3, _PSC)
}
}
Device(CRD0) {
Name(_ADR, 0x000a0000)
Name(_PRW, Package(0x2) {
0xa,
0x3,
})
OperationRegion(CCRD, PCI_Config, 0x0, 0xe4)
Field(CCRD, DWordAcc, NoLock, Preserve) {
Offset(0x4),
CD04, 32,
Offset(0x3e),
CD3E, 32,
Offset(0x44),
CD44, 32,
Offset(0x82),
CD82, 8,
Offset(0xe0),
CDE0, 8,
CDE1, 8
}
OperationRegion(EXCA, SystemIO, 0x03e0, 0x2)
Field(EXCA, ByteAcc, NoLock, Preserve) {
INDX, 8,
DATA, 8
}
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
Offset(0x3),
, 7,
ERIB, 1
}
Method(_INI) {
Store(Zero, CDE0)
Store(Zero, CD04)
Store(Zero, CD3E)
Store(One, CD44)
}
Method(_STA) {
Return(0xf)
}
Name(_PSC, 0x0)
Method(PSX_, 1) {
Store(0x0, CDE0)
Store(0x03e0, CD44)
Store(One, ERIB)
Store(0x0, CD44)
Store(Arg0, CDE0)
Store(Arg0, _PSC)
}
Method(_PS0) {
Store(0x0, _PSC)
}
Method(_PS1) {
PSX_(0x1)
Or(CDE1, 0x1, CDE1)
}
Method(_PS2) {
PSX_(0x2)
Or(CDE1, 0x1, CDE1)
}
Method(_PS3) {
PSX_(0x3)
Or(CDE1, 0x1, CDE1)
}
Method(_PSW, 1) {
If(Arg0) {
Store(0x0, GO03)
}
Else {
Store(0x1, GO03)
}
GLAT()
}
}
Device(MODE) {
Name(_ADR, 0x000b0000)
Name(_STA, 0xf)
Name(_PRW, Package(0x2) {
0xa,
0x4,
})
}
Device(ETHR) {
Name(_ADR, 0x00060000)
OperationRegion(EPCI, PCI_Config, 0x0, 0x0100)
Field(EPCI, DWordAcc, NoLock, Preserve) {
Offset(0x4),
ET04, 8,
Offset(0xc),
ET0C, 16,
Offset(0xe0),
Z000, 16
}
Method(_STA) {
Return(0xf)
}
Name(_PSC, 0x0)
Method(_PS0) {
Store(0x0, Z000)
Store(0x0, _PSC)
Store(0x17, ET04)
Store(0x4208, ET0C)
}
Method(_PS3) {
Store(0x3, _PSC)
}
}
Name(_PRW, Package(0x2) {
0xa,
0x4,
})
Device(ISA_) {
Name(_ADR, 0x00070000)
OperationRegion(PIRX, PCI_Config, 0x60, 0x4)
Field(PIRX, ByteAcc, NoLock, Preserve) {
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
Device(MOTH) {
Name(_HID, 0x020cd041)
Name(_CRS, Buffer(0x32) {0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x1, 0x47, 0x1, 0xb2, 0x0, 0xb2, 0x0, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x80, 0x21, 0x80, 0x21, 0x1, 0x10, 0x47, 0x1, 0x0, 0x80, 0x0, 0x80, 0x1, 0x50, 0x47, 0x1, 0x72, 0x0, 0x72, 0x0, 0x1, 0x2, 0x79, 0x0 })
}
Device(MEM_) {
Name(_HID, 0x010cd041)
Name(MSRC, Buffer(0x3e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x2, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0x0, 0x0, 0x8, 0x0, 0x79, 0x0 })
Method(_CRS) {
CreateDWordField(MSRC, 0x8, MEMS)
If(LNot(MEMS)) {
Store(PHS_(0xef), MEMS)
}
Return(MSRC)
}
Method(_STA) {
Return(0xf)
}
}
Device(DMAC) {
Name(_HID, 0x0002d041)
Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x0, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(RTC_) {
Name(_HID, 0x000bd041)
Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x2, 0x22, 0x0, 0x1, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(PIC_) {
Name(_HID, 0xd041)
Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(FPU_) {
Name(_HID, 0x040cd041)
Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(TMR_) {
Name(_HID, 0x0001d041)
Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(SPKR) {
Name(_HID, 0x0008d041)
Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(KBC_) {
Name(_HID, 0x0303d041)
Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(MOUE) {
Name(_HID, 0x130fd041)
Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
}
Device(EC__) {
Name(_HID, 0x050ad041)
OperationRegion(SMC1, SystemIO, 0x0370, 0x2)
Field(SMC1, ByteAcc, NoLock, Preserve) {
INDX, 8,
DATA, 8
}
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
Offset(0x2),
CFG_, 8,
Offset(0x7),
LDN_, 8,
Offset(0x22),
PCFD, 1,
, 2,
PCPP, 1,
PCU1, 1,
PCU2, 1,
Offset(0x23),
Offset(0x30),
ACTR, 8,
Offset(0x60),
IOAH, 8,
IOAL, 8,
FIRH, 8,
FIRL, 8,
Offset(0x70),
INTR, 8,
INT1, 8,
Offset(0x74),
DMCH, 8,
Offset(0xc0),
GP40, 8,
Offset(0xf0),
OPT1, 8,
OPT2, 8,
OPT3, 8
}
Mutex(MUIO, 0)
Method(ENFG) {
Acquire(MUIO, 0xffff)
Store(0x55, INDX)
}
Method(EXFG) {
Store(0xaa, INDX)
Release(MUIO)
}
Name(_PRW, Package(0x2) {
0xb,
0x4,
})
Method(_PSW, 1) {
OperationRegion(GPO_, SystemIO, 0x800e, 0x2)
Field(GPO_, ByteAcc, NoLock, Preserve) {
, 10,
RIEN, 1
}
Store(Arg0, RIEN)
}
Method(RDMB, 1) {
ENFG()
Store(0x7, LDN_)
Store(Arg0, INDX)
Store(DATA, Local0)
EXFG()
Return(Local0)
}
Method(WRMB, 2) {
ENFG()
Store(0x7, LDN_)
Store(Arg0, INDX)
Store(Arg1, DATA)
EXFG()
}
Method(WIBE) {
While(RDMB(0x82)) {
}
}
Method(WOBF) {
Store(Zero, Local0)
While(LNot(Local0)) {
And(RDMB(0x86), 0x2, Local0)
}
}
Mutex(MSCI, 0)
Method(SCID) {
Store("SCI generated", Debug)
Store(Ones, Local7)
While(Local7) {
And(RDMB(0x86), 0x1, Local0)
If(Local0) {
Acquire(MSCI, 0xffff)
WIBE()
WRMB(0x82, 0x84)
WOBF()
Store(RDMB(0x83), Local0)
Store(RDMB(0x86), Local1)
And(Local1, 0xfd, Local1)
WRMB(0x86, Local1)
Release(MSCI)
Store(Local0, Debug)
QREC(Local0)
}
Else {
Store(Zero, Local7)
}
}
}
Name(LCDT, Ones)
Name(LID_, One)
Method(QREC, 1) {
If(LEqual(Arg0, 0x51)) {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xa0)
}
Else {
If(LEqual(Arg0, 0x53)) {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xac)
}
Else {
If(LEqual(Arg0, 0x54)) {
EXCD(0x20)
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xa2)
}
Else {
If(LEqual(Arg0, 0x55)) {
EXCD(0x1f)
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xa3)
}
Else {
If(LEqual(Arg0, 0x56)) {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xb3)
}
Else {
If(LEqual(Arg0, 0x57)) {
Store(RDMB(0x8e), Local0)
Store(RDMB(0x8f), Local1)
WRMB(0x8f, Local0)
XOr(Local0, Local1, Local2)
If(And(Local2, 0x1, )) {
Notify(BAT1, 0x81)
}
If(And(Local2, 0x20, )) {
Notify(ACAD, 0x80)
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xba)
}
If(And(Local2, 0x80, )) {
If(And(Local0, 0x80, )) {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xb7)
Store(Zero, LID_)
}
Else {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xb9)
Store(One, LID_)
}
}
}
Else {
If(LEqual(Arg0, 0x58)) {
EXCD(0x1f)
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xa4)
}
Else {
If(LEqual(Arg0, 0x59)) {
EXCD(0x1f)
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xa5)
}
Else {
If(LEqual(Arg0, 0x5a)) {
If(LEqual(LCDT, Ones)) {
Store(PHSB(0xee, 0x0), LCDT)
}
If(LEqual(LCDT, 0x0)) {
EXCD(0x1f)
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xa6)
}
}
Else {
If(LEqual(Arg0, 0x5b)) {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xb6)
}
Else {
If(LEqual(Arg0, 0x5f)) {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xad)
}
Else {
If(LEqual(Arg0, 0x61)) {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xb1)
}
Else {
If(LEqual(Arg0, 0x64)) {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xb0)
}
Else {
If(LEqual(Arg0, 0x65)) {
EXCD(0x21)
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xb4)
}
Else {
If(LEqual(Arg0, 0x66)) {
EXCD(0x21)
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xb5)
}
Else {
If(LEqual(Arg0, 0x67)) {
}
Else {
If(LEqual(Arg0, 0x68)) {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xb8)
}
Else {
If(LEqual(Arg0, 0x76)) {
Store(Zero, \_SB_.PCI0.ISA_.EC__.SNC_.PPST)
Notify(\_SB_.PWRB, 0x80)
}
Else {
If(LEqual(Arg0, 0x78)) {
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0x90)
}
Else {
If(LEqual(Arg0, 0x79)) {
EXCD(0x20)
Notify(\_SB_.PCI0.ISA_.EC__.SNC_, 0xbb)
}
Else {
If(LEqual(Arg0, 0x80)) {
Notify(\_TZ_.ATF0, 0x80)
}
Else {
If(LEqual(Arg0, 0x81)) {
Notify(\_TZ_.ATF0, 0x81)
}
Else {
Add(Arg0, 0x30, Local0)
PHS_(Local0)
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Mutex(MEEC, 0)
Method(EXCD, 1) {
Store("Notify State to EC", Debug)
Acquire(MEEC, 0xffff)
WIBE()
WRMB(0x84, Arg0)
WRMB(0x82, 0x87)
WOBF()
And(RDMB(0x86), 0xfd, Local0)
WRMB(0x86, Local0)
Release(MEEC)
}
Method(EXRD, 1) {
Store("extended command to EC", Debug)
Acquire(MEEC, 0xffff)
WIBE()
WRMB(0x84, Arg0)
WRMB(0x82, 0x87)
WOBF()
Add(Multiply(RDMB(0x84), 0x0100, Local0), Store(RDMB(0x83), Local1), Local2)
And(RDMB(0x86), 0xfd, Local0)
WRMB(0x86, Local0)
Release(MEEC)
Return(Local2)
}
Method(EXWT, 2) {
Store("extended write command to EC", Debug)
Acquire(MEEC, 0xffff)
WIBE()
WRMB(0x84, Arg0)
WRMB(0x85, Arg1)
WRMB(0x82, 0x87)
WOBF()
And(RDMB(0x86), 0xfd, Local0)
WRMB(0x86, Local0)
Release(MEEC)
}
Method(PPK_) {
Store("PPK_STATUS", Debug)
Store(RDMB(0x8c), Local1)
If(LEqual(And(Local1, 0x2, Local0), 0x2)) {
Store(One, Local0)
}
Else {
If(LEqual(And(Local1, 0x4, Local0), 0x4)) {
Store(0x2, Local0)
}
Else {
If(LEqual(And(Local1, 0x8, Local0), 0x8)) {
Store(0x3, Local0)
}
Else {
If(LEqual(And(Local1, 0x20, Local0), 0x20)) {
Store(0x10, Local0)
}
Else {
Store(Zero, Local0)
}
}
}
}
Return(Local0)
}
Device(BAT1) {
Name(_HID, 0x0a0cd041)
Name(_UID, 0x1)
Name(_PCL, Package(0x1) {
\_SB_,
})
Name(BATI, Package(0xd) {
0x0,
0xffffffff,
0xffffffff,
0x0,
0x39d0,
0x0,
0x78,
0x0,
0xa,
"",
"",
"LION",
"Sony Corp.",
})
Name(BATS, Package(0x4) {
0x2,
0xffffffff,
0x0d7a,
0x3840,
})
Method(_STA) {
Store("BAT1 _STA", Debug)
If(And(RDMB(0x8f), 0x1, )) {
Store(0xf, Local0)
}
Else {
Store(0x1f, Local0)
}
Store(Local0, Debug)
Return(Local0)
}
Method(_BIF) {
Store("BAT1 _BIF", Debug)
If(And(RDMB(0x8f), 0x1, )) {
}
Else {
Multiply(EXRD(0x31), 0xa, Local0)
Store(Local0, Index(BATI, 0x1, ))
Store(Local0, Index(BATI, 0x2, ))
}
Return(BATI)
}
Method(_BST) {
Store("BAT1 _BST", Debug)
Store(EXRD(0xc), Index(BATS, 0x0, ))
Store(EXRD(0xd), Index(BATS, 0x1, ))
Multiply(EXRD(0xe), 0xa, Index(BATS, 0x2, ))
Store(EXRD(0xf), Index(BATS, 0x3, ))
Return(BATS)
}
}
Device(ACAD) {
Name(_HID, "ACPI0003")
Name(_PCL, Package(0x1) {
\_SB_,
})
Method(_PSR) {
Store(RDMB(0x8f), Local0)
If(And(Local0, 0x20, )) {
Return(0x0)
}
Return(0x1)
}
Method(_STA) {
Return(0xf)
}
}
Device(SNC_) {
Name(_HID, 0x0150d94d)
Name(PPST, 0x0)
Method(PWAK) {
Store(\_SB_.PCI0.ISA_.EC__.PPK_(), Local0)
Store(Local0, PPST)
\_SB_.PCI0.ISA_.EC__.EXCD(0x1c)
Return(PPST)
}
Method(STCS, 1) {
\_SB_.PCI0.ISA_.EC__.EXWT(0xb, Arg0)
Notify(\_TZ_.ATF0, 0x81)
}
Method(GBRT) {
Return(PHSB(0xe6, 0x0))
}
Method(SBRT, 1) {
Store(PHSB(0xe7, Arg0), Local0)
\_SB_.PCI0.ISA_.EC__.EXWT(0x24, Local0)
}
Method(SPBR, 1) {
PHSB(0xe8, Arg0)
}
Method(GCTR) {
Return(PHSB(0xe9, 0x0))
}
Method(SCTR, 1) {
Store(PHSB(0xea, Arg0), Local0)
\_SB_.PCI0.ISA_.EC__.EXWT(0x23, Local0)
}
Method(SPCR, 1) {
PHSB(0xeb, Arg0)
}
Method(GMGB) {
PHS_(0xf3)
Return(INFB)
}
Method(CMGB, 1) {
If(Arg0) {
Store(Zero, GO23)
}
Else {
Store(One, GO23)
}
}
Method(SMGB, 1) {
Store(Arg0, INFB)
PHS_(0xf4)
}
Method(GPKC) {
PHS_(0xf5)
Return(INFB)
}
Method(SPKC, 1) {
Store(Arg0, INFB)
PHS_(0xf6)
\_SB_.PCI0.ISA_.EC__.EXWT(0x25, Arg0)
\_SB_.PCI0.ISA_.EC__.EXCD(0x1c)
}
Method(GPLR) {
PHS_(0xf7)
Return(INFB)
}
Method(SPLR, 1) {
Store(Arg0, INFB)
PHS_(0xf8)
\_SB_.PCI0.ISA_.EC__.EXWT(0x26, Arg0)
\_SB_.PCI0.ISA_.EC__.EXCD(0x1c)
}
Method(GILS) {
Return(\_SB_.PCI0.ISA_.EC__.EXRD(0x28))
}
Method(SILS, 1) {
\_SB_.PCI0.ISA_.EC__.EXWT(0x27, Arg0)
}
Method(GLID) {
Return(\_SB_.PCI0.ISA_.EC__.LID_)
}
Method(SLBH, 1) {
\_SB_.PCI0.ISA_.EC__.EXWT(0x2b, Arg0)
}
}
}
Device(COMA) {
Name(_HID, 0x0105d041)
Name(_UID, 0x1)
Name(MCD_, 0x10)
Method(_CRS) {
Return(PSCS(0x10))
}
Method(_SRS, 1) {
PSSS(0x10, Arg0)
}
Method(_PRS) {
Return(PSPS(0x10))
}
Method(_DIS) {
PSDI(0x10)
}
Method(_STA) {
Return(PSST(0x10))
}
Method(_PS0) {
Store(One, GO30)
Store(0x0, _PSC)
}
Method(_PS3) {
Store(0x3, _PSC)
}
Name(_PSC, 0x0)
}
Device(FIR_) {
Name(_HID, 0x10f0a34d)
Name(_CID, 0x1005d041)
Name(_UID, 0x2)
Name(MCD_, 0x13)
Method(_CRS) {
Return(PSCS(0x13))
}
Method(_SRS, 1) {
PSSS(0x13, Arg0)
}
Method(_PRS) {
Return(PSPS(0x13))
}
Method(_DIS) {
PSDI(0x13)
}
Method(_STA) {
Return(PSST(0x13))
}
Method(_PS0) {
\_SB_.PCI0.ISA_.EC__.EXWT(0x2a, One)
Store(0x0, _PSC)
}
Method(_PS3) {
\_SB_.PCI0.ISA_.EC__.EXWT(0x2a, Zero)
Store(0x3, _PSC)
}
Name(_PSC, 0x0)
}
Device(LPTA) {
Name(_HID, 0x0004d041)
Name(_UID, 0x1)
Name(MCD_, 0xd)
Method(B_CR) {
Return(PSCS(0xd))
}
Method(B_SR, 1) {
PSSS(0xd, Arg0)
}
Method(B_PR) {
Return(PSPS(0xd))
}
Method(B_DI) {
PSDI(0xd)
}
Method(_STA) {
Return(PSST(0xd))
}
Name(_PSC, 0x0)
}
Device(LPTB) {
Name(_HID, 0x0004d041)
Name(_UID, 0x2)
Name(MCD_, 0xe)
Method(B_CR) {
Return(PSCS(0xe))
}
Method(B_SR, 1) {
PSSS(0xe, Arg0)
}
Method(B_PR) {
Return(PSPS(0xe))
}
Method(B_DI) {
PSDI(0xe)
}
Method(_STA) {
Return(PSST(0xe))
}
Name(_PSC, 0x0)
}
Device(ECP_) {
Name(_HID, 0x0104d041)
Name(MCD_, 0xf)
Method(_CRS) {
Return(PSCS(0xf))
}
Method(_SRS, 1) {
PSSS(0xf, Arg0)
}
Method(_PRS) {
Return(PSPS(0xf))
}
Method(_DIS) {
PSDI(0xf)
}
Method(_STA) {
Return(PSST(0xf))
}
Name(_PSC, 0x0)
}
Device(FDC_) {
Name(_HID, 0x0007d041)
Name(MCD_, 0xc)
Method(B_CR) {
Return(PSCS(0xc))
}
Method(B_SR, 1) {
PSSS(0xc, Arg0)
}
Method(B_PR) {
Return(PSPS(0xc))
}
Method(B_DI) {
PSDI(0xc)
}
Method(_STA) {
Return(PSST(0xc))
}
Name(_PSC, 0x0)
}
}
Device(PX4_) {
Name(_ADR, 0x00070000)
OperationRegion(GENC, PCI_Config, 0xb0, 0x4)
Field(GENC, DWordAcc, NoLock, Preserve) {
ISAS, 1,
POSD, 1,
, 9,
ID0T, 1,
ID1T, 1
}
OperationRegion(PCI_, PCI_Config, 0x60, 0x4)
Field(PCI_, DWordAcc, NoLock, Preserve) {
PIRQ, 32
}
Name(P1__, Buffer(0x4) {0x0 })
Method(RESP) {
Store(P1__, PIRQ)
}
Method(SAVP) {
Store(PIRQ, P1__)
}
}
}
}
Scope(\_SI_) {
Method(_SST, 1) {
If(LEqual(Arg0, 0x0)) {
}
If(LEqual(Arg0, 0x1)) {
}
If(LEqual(Arg0, 0x2)) {
}
If(LEqual(Arg0, 0x3)) {
}
If(LEqual(Arg0, 0x4)) {
}
If(LEqual(Arg0, 0x5)) {
}
}
}
Method(_WAK, 1) {
Notify(\_SB_.PWRB, 0x2)
Return(Zero)
}
Scope(\_TZ_) {
Method(KELV, 1) {
Store("Converted Kelvin", Debug)
Store(Arg0, Local0)
Multiply(Local0, 0xa, Local0)
Add(Local0, 0x0aab, Local0)
Return(Local0)
}
ThermalZone(ATF0) {
Method(_TMP) {
Store("Get ATF0 Tempareture", Debug)
Return(KELV(\_SB_.PCI0.ISA_.EC__.EXRD(0x2)))
}
Method(_PSV) {
Store("Get ATF0 Passive Trip point", Debug)
Return(KELV(\_SB_.PCI0.ISA_.EC__.EXRD(0x18)))
}
Name(_PSL, Package(0x1) {
\_PR_.CPU0,
})
Method(_CRT) {
Store("Get ATF0 Critical Trip point", Debug)
Return(KELV(\_SB_.PCI0.ISA_.EC__.EXRD(0x19)))
}
Method(_SCP, 1) {
\_SB_.PCI0.ISA_.EC__.EXWT(0xb, Arg0)
}
Name(_TC1, 0x1)
Name(_TC2, 0x1)
Name(_TSP, 0x64)
}
}
Scope(_SB_) {
Name(IRQP, Package(0x10) {
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0200,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
})
Device(LNKA) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x1)
Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x2, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.ISA_.PIRA, 0x80, \_SB_.PCI0.ISA_.PIRA)
}
Method(_CRS) {
Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFA, 0x1, IRA1)
And(\_SB_.PCI0.ISA_.PIRA, 0x8f, Local0)
If(LLess(Local0, 0x80)) {
And(Local0, 0xf, Local0)
Store(DerefOf(Index(IRQP, Local0, )), Local4)
Store(Local4, IRA1)
}
Return(BUFA)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA1)
Store(IRA1, Local0)
Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1)
And(\_SB_.PCI0.ISA_.PIRA, 0x70, Local0)
Or(Local1, Local0, \_SB_.PCI0.ISA_.PIRA)
}
Method(_STA) {
If(LEqual(\_SB_.PCI0.ISA_.PIRA, 0x80)) {
Return(0x9)
}
Else {
Return(0xb)
}
}
}
Device(LNKB) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x2)
Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x2, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.ISA_.PIRB, 0x80, \_SB_.PCI0.ISA_.PIRB)
}
Method(_CRS) {
Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFA, 0x1, IRA1)
And(\_SB_.PCI0.ISA_.PIRB, 0x8f, Local0)
If(LLess(Local0, 0x80)) {
And(Local0, 0xf, Local0)
Store(DerefOf(Index(IRQP, Local0, )), Local4)
Store(Local4, IRA1)
}
Return(BUFA)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA1)
Store(IRA1, Local0)
Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1)
And(\_SB_.PCI0.ISA_.PIRB, 0x70, Local0)
Or(Local1, Local0, \_SB_.PCI0.ISA_.PIRB)
}
Method(_STA) {
If(LEqual(\_SB_.PCI0.ISA_.PIRB, 0x80)) {
Return(0x9)
}
Else {
Return(0xb)
}
}
}
Device(LNKC) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x3)
Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x2, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.ISA_.PIRC, 0x80, \_SB_.PCI0.ISA_.PIRC)
}
Method(_CRS) {
Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFA, 0x1, IRA1)
And(\_SB_.PCI0.ISA_.PIRC, 0x8f, Local0)
If(LLess(Local0, 0x80)) {
And(Local0, 0xf, Local0)
Store(DerefOf(Index(IRQP, Local0, )), Local4)
Store(Local4, IRA1)
}
Return(BUFA)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA1)
Store(IRA1, Local0)
Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1)
And(\_SB_.PCI0.ISA_.PIRC, 0x70, Local0)
Or(Local1, Local0, \_SB_.PCI0.ISA_.PIRC)
}
Method(_STA) {
If(LEqual(\_SB_.PCI0.ISA_.PIRC, 0x80)) {
Return(0x9)
}
Else {
Return(0xb)
}
}
}
Device(LNKD) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x4)
Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x2, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.ISA_.PIRD, 0x80, \_SB_.PCI0.ISA_.PIRD)
}
Method(_CRS) {
Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFA, 0x1, IRA1)
And(\_SB_.PCI0.ISA_.PIRD, 0x8f, Local0)
If(LLess(Local0, 0x80)) {
And(Local0, 0xf, Local0)
Store(DerefOf(Index(IRQP, Local0, )), Local4)
Store(Local4, IRA1)
}
Return(BUFA)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA1)
Store(IRA1, Local0)
Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1)
And(\_SB_.PCI0.ISA_.PIRD, 0x70, Local0)
Or(Local1, Local0, \_SB_.PCI0.ISA_.PIRD)
}
Method(_STA) {
If(LEqual(\_SB_.PCI0.ISA_.PIRD, 0x80)) {
Return(0x9)
}
Else {
Return(0xb)
}
}
}
}
}
[-- Attachment #3 --]
> Simon Dick simond@irrelevant.org
> "Why do I get this urge to go bowling everytime I see Tux?"
--
TSB Russian Express, Moscow
Vladimir B. Grebenschikov, vova@express.ru
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15347.52848.538116.218014>
