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 + -
显示快捷键?