📄 dsdt.asl
字号:
0x0000,
0xAFF0
)
DWORDMemory(
ResourceProducer,
PosDecode,
MinFixed,
MaxFixed,
Cacheable,
ReadWrite,
0x00000000,
0x000A0000,
0x000C7FFF,
0x00000000,
0x00028000
,,,VMEM
)
DWORDMemory(
ResourceProducer,
PosDecode,
MinFixed,
MaxFixed,
Cacheable,
ReadWrite,
0x00000000,
0x00100000,
0xFFEFFFFF, //R03
0x00000000,
0xFFF00000
,,,EMM1
)
}// End of ResourceTemplate
)// End of Name
CreateDwordField (BUF0, VMEM._MAX, VMAX)
CreateDwordField (BUF0, VMEM._LEN, VLEN)
Shiftleft(VGA1, 0x09, Local0)
Add (Local0,0x0BFFFF, VMAX)
Add (Local0,0x020000, VLEN)
CreateDwordField (BUF0, EMM1._MIN, TCMM)
CreateDwordField (BUF0, EMM1._LEN, TOMM)
Add (AMEM, 0x0010000, TCMM)
Subtract (0xFFF00000, TCMM, TOMM) //R03
If(Lequal(REV0,0x00)){
CreateByteField (BUF0, IO_1._LEN, LEN1)
CreateWordField (BUF0, IO_2._MIN, MIN2)
CreateWordField (BUF0, IO_2._MAX, MAX2)
CreateByteField (BUF0, IO_2._ALN, ALN2)
CreateByteField (BUF0, IO_2._LEN, LEN2)
Store(0x07,LEN1)
Store(0x0CFF,MIN2)
Store(0x0CFF,MAX2)
Store(0x1,ALN2)
Store(0x1,LEN2)
}
Return(BUF0) // Return Buf0
} // END CRS
Name(_PRT, Package(){
Package(){0x001ffff, 0, \_SB.PCI0.ISA.LNKA, 0}, // INTA
Package(){0x001ffff, 1, \_SB.PCI0.ISA.LNKB, 0}, // INTB
Package(){0x001ffff, 2, \_SB.PCI0.ISA.LNKC, 0}, // INTC
Package(){0x001ffff, 3, \_SB.PCI0.ISA.LNKD, 0}, // INTD
Package(){0x001Effff, 0, \_SB.PCI0.ISA.LNKA, 0}, // Slot 1, INTA
Package(){0x001Effff, 1, \_SB.PCI0.ISA.LNKB, 0}, // Slot 1, INTB
Package(){0x001Effff, 2, \_SB.PCI0.ISA.LNKC, 0}, // Slot 1, INTC
Package(){0x001Effff, 3, \_SB.PCI0.ISA.LNKD, 0}, // Slot 1, INTD
Package(){0x0010ffff, 0, \_SB.PCI0.ISA.LNKB, 0}, // Slot 2, INTA
Package(){0x0010ffff, 1, \_SB.PCI0.ISA.LNKC, 0}, // Slot 2, INTB
Package(){0x0010ffff, 2, \_SB.PCI0.ISA.LNKD, 0}, // Slot 2, INTC
Package(){0x0010ffff, 3, \_SB.PCI0.ISA.LNKA, 0}, // Slot 2, INTD
Package(){0x001Fffff, 0, \_SB.PCI0.ISA.LNKA, 0}, // USB, INTA
Package(){0x001Fffff, 1, \_SB.PCI0.ISA.LNKB, 0}, // USB, INTB
Package(){0x001Fffff, 2, \_SB.PCI0.ISA.LNKC, 0}, // USB, INTC
Package(){0x001Fffff, 3, \_SB.PCI0.ISA.LNKD, 0}, // USB, INTD
}//END of Package
)//END of Name
Device(PX40) {
Name(_ADR,0x001F0000) // Address+function.
OperationRegion(PREV, PCI_Config, 0x08, 0x1)
Scope(\) {
Field (\_SB.PCI0.PX40.PREV, ByteAcc, NoLock, Preserve) {
REV0, 8,
}
}
OperationRegion(PIRQ, PCI_Config, 0x60, 0x4)
Scope(\) {
Field (\_SB.PCI0.PX40.PIRQ, ByteAcc, NoLock, Preserve) {
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
}
OperationRegion(LPIO, PCI_Config, 0xE0, 0x8)
Scope(\) {
Field (\_SB.PCI0.PX40.LPIO, ByteAcc, NoLock, Preserve) {
UAIO, 8,
PRIO, 8,
SNDD, 8,
FWHD, 8,
GEN1, 8,
GEN2, 8,
LPE1, 8,
LPE2, 8,
}
Method(DISD,1) {
If(Lequal(Arg0,0x00)) {
And(LPE1,0xFE,LPE1)
}
If(Lequal(Arg0,0x01)) {
And(LPE1,0xFD,LPE1)
}
If(Lequal(Arg0,0x02)) {
And(LPE1,0xFB,LPE1)
}
If(Lequal(Arg0,0x03)) {
And(LPE1,0xF7,LPE1)
}
If(Lequal(Arg0,0x04)) {
And(LPE2,0xFC,LPE2)
}
If(Lequal(Arg0,0x05)) {
And(LPE1,0xDF,LPE1)
}
}
Method(CKIO,2) {
If(Lequal(Arg1,0x00)) {
Or (LPE1,0x01,LPE1)
And ( UAIO, 0xF0, Local0)
If(Lequal(Arg0,0x03F8)) {
Or(local0,0x00,UAIO)
}
If(Lequal(Arg0,0x02F8)) {
Or(local0,0x01,UAIO)
}
If(Lequal(Arg0,0x02E8)) {
Or(local0,0x05,UAIO)
}
If(Lequal(Arg0,0x03E8)) {
Or(local0,0x07,UAIO)
}
}
If(Lequal(Arg1,0x01)) {
Or (LPE1,0x02,LPE1)
And ( UAIO, 0x0F, Local0)
If(Lequal(Arg0,0x03F8)) {
Or(local0,0x00,UAIO)
}
If(Lequal(Arg0,0x02F8)) {
Or(local0,0x10,UAIO)
}
If(Lequal(Arg0,0x02E8)) {
Or(local0,0x50,UAIO)
}
If(Lequal(Arg0,0x03E8)) {
Or(local0,0x70,UAIO)
}
}
If(Lequal(Arg1,0x02)) {
Or (LPE1,0x04,LPE1)
And ( PRIO, 0xFC, Local0)
If(Lequal(Arg0,0x0378)) {
Or(local0,0x00,PRIO)
}
If(Lequal(Arg0,0x0278)) {
Or(local0,0x01,PRIO)
}
If(Lequal(Arg0,0x03BC)) {
Or(local0,0x02,PRIO)
}
}
If(Lequal(Arg1,0x03)) {
Or (LPE1,0x08,LPE1)
}
If(Lequal(Arg1,0x04)) {
If(Lequal(Arg0,0x0201)) {
Or (LPE2,0x01,LPE2)
}
If(Lequal(Arg0,0x0209)) {
Or (LPE2,0x02,LPE2)
}
}
If(Lequal(Arg1,0x05)) {
Or (LPE1,0x20,LPE1)
If(Lequal(Arg0,0x0300)) {
Or (SNDD,0x08,SNDD) //R18B
}
If(Lequal(Arg0,0x0330)) {
And (SNDD,0xF7,SNDD) //R18B
}
}
} // Method
}
OperationRegion(LPDM, PCI_Config, 0x90, 0x2)
Scope(\)
{
Field (\_SB.PCI0.PX40.LPDM, ByteAcc, NoLock, Preserve)
{
LDM0, 8,
LDM1, 8
}
Method(SLDM,2)
{
If(LEqual(Arg0, 0x0))
{
And(LDM0, 0xFC, Local0)
Or(Local0, 0x1, LDM0)
}
If(LEqual(Arg0, 0x1))
{
And(LDM0, 0xF3, Local0)
Or(Local0, 0x4, LDM0)
}
If(LEqual(Arg0, 0x2))
{
And(LDM0, 0xCF, Local0)
Or(Local0, 0x10, LDM0)
}
If(LEqual(Arg0, 0x3))
{
And(LDM0, 0x3F, Local0)
Or(Local0, 0x40, LDM0)
}
If(LEqual(Arg1, 0x0))
{
And(LDM0, 0xFC, Local0)
Or(Local0, 0x3, LDM0)
}
If(LEqual(Arg1, 0x1))
{
And(LDM0, 0xF3, Local0)
Or(Local0, 0xC, LDM0)
}
If(LEqual(Arg1, 0x2))
{
And(LDM0, 0xCF, Local0)
Or(Local0, 0x30, LDM0)
}
If(LEqual(Arg1, 0x3))
{
And(LDM0, 0x3F, Local0)
Or(Local0, 0xC0, LDM0)
}
}
}
} // End of PX40
Device(USB0) {
Name(_ADR,0x001F0002) // Address+function.
Name(_PRW,Package(2) {0x13, 4}) //R16
} // End of USB0
Device(PX43) {
Name(_ADR,0x001F0003) // Address+function.
} // End of PX43
Device(ISA) { // Start of ISA
Name(_ADR,0x001F0000) //R04
Method(_STA, 0) {
Return(0x0B) // present, enabled, functioning
}
include ("link.asl") // End of ISA
include ("io.asl")
include ("intr.asl")
Include ("dma.asl")
Include ("timer.asl")
Include ("rtc.asl")
Include ("spkr.asl")
Include ("coproc.asl")
Include ("superio.asl")
} // End of ISA
} // End of PCI0
} // End of _SB
} // End of ASL File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -