dsdt.asl
来自「惠普公司bios完整源代码大机密!」· ASL 代码 · 共 533 行 · 第 1/2 页
ASL
533 行
DefinitionBlock (
"DSDT.AML",
"DSDT",
0x01,
"HP ", // OEMID
"HPBDD_IO", //OEM06
0x1010 //OEM10 OEMRevision
)
{ // Start of ASL File
Scope(\_PR) {
Processor(\_PR.CPU0,
1, //processor number
0x4010, //System IO address of Pblk Registers
0x06 //length in bytes of PBlk
) {}
}
include ("CT_Func.asl")
Name(STAT,0x00)
Name(\_S0,Package(){Zero,Zero,Zero,Zero})// Value to be set in SLP_TYP register (S0)working state
Name(\_S1,Package(){4,4,4,4}) // Value to be set in SLP_TYP register for S1 state
Name(\_S3,Package(){1,1,1,1}) //OEM05
if(Not(OSFL)) {
Name(\_S4,Package(){2,2,2,2})// Value to be set in SLP_TYP register for Soft Off
}
Name(\_S5,Package(){2,2,2,2})// Value to be set in SLP_TYP register for Soft Off
OperationRegion(\DEBG, SystemIO, 0x80, 0x1)
Field(\DEBG, ByteAcc, NoLock, Preserve) {
DBG1, 8,
}
OperationRegion (KBC, SystemIO, 0x64, 0x1)
Field (KBC, ByteAcc, NoLock, Preserve)
{
KCMD, 8
}
OperationRegion(EXTM, SystemMemory, 0x000ff830, 0x10)
Field(EXTM, WordAcc, NoLock, Preserve) {
ROM1, 16, //length=16bit
RMS1, 16, //length=16bit
ROM2, 16, //length=16bit
RMS2, 16, //length=16bit
ROM3, 16, //length=16bit
RMS3, 16, //length=16bit
AMEM, 32, //length=32bit
}
OperationRegion (ELCR, SystemIO, 0x4D0, 0x02)
Field (ELCR, ByteAcc, Nolock, Preserve) {
ELC1, 8,
ELC2, 8
}
OperationRegion(\Stus, SystemIO, 0x4030, 0x1) // Global Status
Field(\Stus, ByteAcc, NoLock, Preserve) //
{ //
G_St, 8, //
}
OperationRegion(\WIRQ, SystemIO, 0x402a, 0x1) // IRQ Resume Reg
Field(\WIRQ, ByteAcc, NoLock, Preserve) //
{ //
IRQR, 8, //
}
OperationRegion(\SMIC, SystemIO, 0x402f, 0x1) //
Field(\SMIC, ByteAcc, NoLock, Preserve) //
{ //
SCP_, 8, //
}
OperationRegion(GPOB,SystemIO,0x404C,0x4)
Field(GPOB,ByteAcc,NoLock,Preserve) {
GP00,1,
GP01,1,
GP02,1,
GP03,1,
GP04,1,
GP05,1,
GP06,1,
GP07,1,
GP08,1,
GP09,1,
GP10,1,
GP11,1,
GP12,1,
GP13,1,
GP14,1,
GP15,1,
GP16,1,
GP17,1,
GP18,1,
GP19,1,
GP20,1,
GP21,1,
GP22,1,
GP23,1,
GP24,1,
GP25,1,
GP26,1,
GP27,1,
GP28,1,
GP29,1,
GP30,1,
GPxx,1, // Reserve
}
Method(\_PTS,1)
{
Or (Arg0, 0xF0, Local0)
Store (Local0, DBG1)
IF (LNotEqual(Arg0, 0x05))
{
And(PWC1, 0xFC, PWC1)
Or(PWC1, 0x02, PWC1)
And(PWC1, 0xFC, PWC1) //R02
Or(PWC1, 0x01, PWC1)
}
Or (Arg0, 0x50, Local1)
Store (Local1, SCP_)
IF (LEqual(Arg0, 0x01))
{
And(GAR1, 0xFD, GAR1)
And(GAR2, 0x02, Local0) //R04
Or(Local0, GAR1, GAR1) //R04
Store(G_St, LOCAL1) //Read Global Status
While(LNotEqual(Local1, 0x00))
{
Store (Local1, G_St) //Clear Global Status
Store (G_St, LOCAL1) //Read Global Status
}
Or(IRQR,0x80,IRQR) //Enable IRQ Resume Reg
And(FLG0,0x04,Local0)
if(Lequal(Local0,0x04))
{
Sleep(3)
Store(0xA7, KCMD) //disable PS2 mouse
}
}
IF (LEqual(Arg0, 0x05)) {
Store (Zero,GP00) //R05
}
}
Method(\_WAK,1){
Store (0xFF, DBG1)
And(FLG0,0x04,Local0)
if(Lequal(Local0,0x04))
{
Sleep(3)
Store(0xA8, KCMD) //Enable PS2 mouse
}
And(PWC1, 0xFC, PWC1)
If(Lequal(RTCW,0x00)) {
Notify(\_SB.PWRB,0x2)
}
}
Scope(\_SI)
{ // Start of _SI
Method(_MSG, 1) {
Store (Local0, Local0)
} // End of Method
Method(_SST, 1) {
IF (LEqual(Arg0, 0x03)) {
}
IF (LEqual(Arg0, 0x01)) {
}
IF (LEqual(Arg0, Zero)) {
}
Store (Local0, Local0)
} // End of Method
} // End of _SI
Scope(\_GPE) {
Method(_L05) {Noop} //PME
Method(_L09) {Noop} //USB
Method(_L08) {Noop} //RI
} // Scope(\_GPE)
Scope(\_SB) {
Device(PWRB) {
Name (_HID, EISAID("PNP0C0C")) // Hardware Device ID PWRBTN
Method(_STA, 0) {
Return(0x0B) // non-present, enabled, functioning
}
}
include ("memory.asl")
Device(PCI0) {
Name (_HID, EISAID("PNP0A03")) // Hardware Device ID
Name (_ADR, 0x000000)
OperationRegion(GART, PCI_Config, 0x80, 0x1)
Scope(\) {
Field (\_SB.PCI0.GART, ByteAcc, NoLock, Preserve) {
GAR1, 8, //Serial IRQ
}
}
OperationRegion(GARA, PCI_Config, 0x88, 0x1)
Scope(\) {
Field (\_SB.PCI0.GARA, ByteAcc, NoLock, Preserve) {
GAR2, 8,
}
}
Method(_STA, 0) {
Return(0x0F) // present, enabled, functioning
}
Method(_CRS,0) {
Name(BUF0,ResourceTemplate() {
WORDBusNumber( // Bus 0
ResourceConsumer,
MinNotFixed,
MaxNotFixed,
PosDecode,
0x0000,
0x0000,
0x00FF,
0x0000,
0x0100
)
IO( // IO Resource for PCI Bus
Decode16,
0x0CF8,
0x0CF8,
1,
8
)
WORDIO( // IO from 0x0000 - 0x0cf7
ResourceProducer,
MinFixed,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?