⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsdt.asl

📁 AWARD BIOS 99源代码 非常难得的东西
💻 ASL
📖 第 1 页 / 共 2 页
字号:
                        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 + -