dsdt.asl
来自「xen 3.2.2 源码」· ASL 代码 · 共 697 行 · 第 1/2 页
ASL
697 行
/****************************************************************************** * DSDT for Xen with Qemu device model * * Copyright (c) 2004, Intel Corporation. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307 USA. */DefinitionBlock ("DSDT.aml", "DSDT", 2, "Xen", "HVM", 0){ Name (\PMBS, 0x0C00) Name (\PMLN, 0x08) Name (\IOB1, 0x00) Name (\IOL1, 0x00) Name (\APCB, 0xFEC00000) Name (\APCL, 0x00010000) Name (\PUID, 0x00) /* S5 (power-off) type codes: must match with piix4 emulation! */ Name (\_S5, Package (0x04) { 0x07, /* PM1a_CNT.SLP_TYP */ 0x07, /* PM1b_CNT.SLP_TYP */ 0x00, /* reserved */ 0x00 /* reserved */ }) Name(PICD, 0) Method(_PIC, 1) { Store(Arg0, PICD) } Scope (\_SB) { /* ACPI_PHYSICAL_ADDRESS == 0xEA000 */ OperationRegion(BIOS, SystemMemory, 0xEA000, 16) Field(BIOS, ByteAcc, NoLock, Preserve) { UAR1, 1, UAR2, 1 } /* Fix HCT test for 0x400 pci memory: * - need to report low 640 MB mem as motherboard resource */ Device(MEM0) { Name(_HID, EISAID("PNP0C02")) Name(_CRS, ResourceTemplate() { QWordMemory( ResourceConsumer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0x0009ffff, 0x00000000, 0x000a0000) }) } Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_UID, 0x00) Name (_ADR, 0x00) Name (_BBN, 0x00) Method (_CRS, 0, NotSerialized) { Name (PRT0, ResourceTemplate () { /* bus number is from 0 - 255*/ WordBusNumber( ResourceConsumer, MinFixed, MaxFixed, SubDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) WordIO( ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0000, 0x0CF7, 0x0000, 0x0CF8) WordIO( ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0D00, 0xFFFF, 0x0000, 0xF300) /* reserve memory for pci devices */ DWordMemory( ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000) DWordMemory( ResourceConsumer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0xF0000000, 0xF4FFFFFF, 0x00000000, 0x05000000) }) Return (PRT0) } Name(BUFA, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) { 5, 10, 11 } }) Name(BUFB, Buffer() { 0x23, 0x00, 0x00, 0x18, /* IRQ descriptor */ 0x79, 0 /* End tag, null checksum */ }) CreateWordField(BUFB, 0x01, IRQV) Device(LNKA) { Name(_HID, EISAID("PNP0C0F")) /* PCI interrupt link */ Name(_UID, 1) Method(_STA, 0) { And(PIRA, 0x80, Local0) If(LEqual(Local0, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_PRS) { Return(BUFA) } Method(_DIS) { Or(PIRA, 0x80, PIRA) } Method(_CRS) { And(PIRA, 0x0f, Local0) ShiftLeft(0x1, Local0, IRQV) Return(BUFB) } Method(_SRS, 1) { CreateWordField(ARG0, 0x01, IRQ1) FindSetRightBit(IRQ1, Local0) Decrement(Local0) Store(Local0, PIRA) } } Device(LNKB) { Name(_HID, EISAID("PNP0C0F")) /* PCI interrupt link */ Name(_UID, 2) Method(_STA, 0) { And(PIRB, 0x80, Local0) If(LEqual(Local0, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_PRS) { Return(BUFA) } Method(_DIS) { Or(PIRB, 0x80, PIRB) } Method(_CRS) { And(PIRB, 0x0f, Local0) ShiftLeft(0x1, Local0, IRQV) Return(BUFB) } Method(_SRS, 1) { CreateWordField(ARG0, 0x01, IRQ1) FindSetRightBit(IRQ1, Local0) Decrement(Local0) Store(Local0, PIRB) } } Device(LNKC) { Name(_HID, EISAID("PNP0C0F")) /* PCI interrupt link */ Name(_UID, 3) Method(_STA, 0) { And(PIRC, 0x80, Local0) If(LEqual(Local0, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_PRS) { Return(BUFA) } Method(_DIS) { Or(PIRC, 0x80, PIRC) } Method(_CRS) { And(PIRC, 0x0f, Local0) ShiftLeft(0x1, Local0, IRQV) Return(BUFB) } Method(_SRS, 1) { CreateWordField(ARG0, 0x01, IRQ1) FindSetRightBit(IRQ1, Local0) Decrement(Local0) Store(Local0, PIRC) } } Device(LNKD) { Name(_HID, EISAID("PNP0C0F")) /* PCI interrupt link */ Name(_UID, 4) Method(_STA, 0) { And(PIRD, 0x80, Local0) If(LEqual(Local0, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_PRS) { Return(BUFA) } Method(_DIS) { Or(PIRD, 0x80, PIRD) } Method(_CRS) { And(PIRD, 0x0f, Local0) ShiftLeft(0x1, Local0, IRQV) Return(BUFB) } Method(_SRS, 1) { CreateWordField(ARG0, 0x01, IRQ1) FindSetRightBit(IRQ1, Local0) Decrement(Local0) Store(Local0, PIRD) } } Device(HPET) { Name(_HID, EISAID("PNP0103")) Name(_UID, 0) Name(_CRS, ResourceTemplate() { DWordMemory( ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0xFED00000, 0xFED003FF, 0x00000000, 0x00000400 /* 1K memory: FED00000 - FED003FF */ ) }) } Method(_PRT,0) { If(PICD) { Return(PRTA) } Return (PRTP) } Name(PRTP, Package() { /* Device 1, INTA - INTD */ Package(){0x0001ffff, 0, \_SB.PCI0.LNKB, 0}, Package(){0x0001ffff, 1, \_SB.PCI0.LNKC, 0}, Package(){0x0001ffff, 2, \_SB.PCI0.LNKD, 0}, Package(){0x0001ffff, 3, \_SB.PCI0.LNKA, 0}, /* Device 2, INTA - INTD */ Package(){0x0002ffff, 0, \_SB.PCI0.LNKC, 0}, Package(){0x0002ffff, 1, \_SB.PCI0.LNKD, 0}, Package(){0x0002ffff, 2, \_SB.PCI0.LNKA, 0}, Package(){0x0002ffff, 3, \_SB.PCI0.LNKB, 0}, /* Device 3, INTA - INTD */ Package(){0x0003ffff, 0, \_SB.PCI0.LNKD, 0}, Package(){0x0003ffff, 1, \_SB.PCI0.LNKA, 0}, Package(){0x0003ffff, 2, \_SB.PCI0.LNKB, 0}, Package(){0x0003ffff, 3, \_SB.PCI0.LNKC, 0}, /* Device 4, INTA - INTD */ Package(){0x0004ffff, 0, \_SB.PCI0.LNKA, 0}, Package(){0x0004ffff, 1, \_SB.PCI0.LNKB, 0}, Package(){0x0004ffff, 2, \_SB.PCI0.LNKC, 0}, Package(){0x0004ffff, 3, \_SB.PCI0.LNKD, 0}, /* Device 5, INTA - INTD */ Package(){0x0005ffff, 0, \_SB.PCI0.LNKB, 0}, Package(){0x0005ffff, 1, \_SB.PCI0.LNKC, 0}, Package(){0x0005ffff, 2, \_SB.PCI0.LNKD, 0}, Package(){0x0005ffff, 3, \_SB.PCI0.LNKA, 0}, /* Device 6, INTA - INTD */ Package(){0x0006ffff, 0, \_SB.PCI0.LNKC, 0}, Package(){0x0006ffff, 1, \_SB.PCI0.LNKD, 0}, Package(){0x0006ffff, 2, \_SB.PCI0.LNKA, 0}, Package(){0x0006ffff, 3, \_SB.PCI0.LNKB, 0}, /* Device 7, INTA - INTD */ Package(){0x0007ffff, 0, \_SB.PCI0.LNKD, 0}, Package(){0x0007ffff, 1, \_SB.PCI0.LNKA, 0}, Package(){0x0007ffff, 2, \_SB.PCI0.LNKB, 0}, Package(){0x0007ffff, 3, \_SB.PCI0.LNKC, 0}, /* Device 8, INTA - INTD */ Package(){0x0008ffff, 0, \_SB.PCI0.LNKA, 0},
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?