?? srv_exa1.asl
字號:
DefinitionBlock (
"SRV_exa1.aml",
"DSDT",
0x10,
"OEMy",
"SRV_xmpl",
0x1000
)
{// Processor Objects
Scope(\_PR) {
Processor(CPU0,
1, //processor number
0x0, //C2 and C3 not supported in this implementation
0
) {}
Processor(CPU1,
2, //processor number
0x0,
0
) {}
Processor(CPU2,
3, //processor number
0x0,
0
) {}
Processor(CPU3,
4, //processor number
0x0,
0
) {}
}
Method(\_PTS,1) { //prepare to sleep
}
Name(\_S0,Package(2){5,5}) //Value to be set in SLP_TYP register (S0)working state
Name(\_S1,Package(2){4,4}) //Value to be set in SLP_TYP register for S1 state
Name(\_S4,Package(2){Zero,Zero}) //Value to be set in SLP_TYP register for Soft Off
Name(\_S5,Package(2){Zero,Zero}) //Value to be set in SLP_TYP register for Soft Off
Method(\WAK,1){ //Method which runs after wake up.
}
Scope(\_SI) {
Method(_MSG, 1) {
If (Lequal(ARG0,Zero)) {Store(Zero, EC0.MSG)}//Turn message light off if no messages
Else
{Store(One, EC0.MSG)} //Turn message light on if any messages
}
Method(_SST, 1) {
If (Lequal(Arg0,Zero)) {
Store(Zero,EC0.IND0) //Turn both status indicators off
Return(0)}
If (Lequal(Arg0,One)) {
Store(3, EC0.IND0) //Turn on both indicators for working state
Return(0)}
If (Lequal(Arg0,2)) {
Store(2,EC0.IND0) //Turn on one indicator for s1, s2 or s3 state
Return(0)}
If (Lequal(Arg0,3)) {
Store(3,EC0.IND0) //Turn on both indicators for working state
Return(0)}
If (Lequal(Arg0,4)) {
Store(Zero,EC0.IND0) //Turn both indicators off for non-volatile sleep
Return(0)}
}
}
Scope(\_TZ) {
PowerResource(PFN0, \_S1, 0) { //Power resource for system fan
Method(_STA,0) {
Return(EC0.FAN0)} //get fan status
Method(_ON,0) {
Store(One,EC0.FAN0)} //turn fan on
Method(_OFF,0){
Store(Zero,EC0.FAN0)} //turn fan off
}
PowerResource(PFN1, \_S1, 0) { //Power resource for drive cabinet fan
Method(_STA,0) {
Return(EC0.FAN1)} //get fan status
Method(_ON,0) {
Store(One,EC0.FAN1)} //turn fan on
Method(_OFF,0){
Store(Zero,EC0.FAN1)} //turn fan off
}
Device(FAN0) {
Name(_HID, "PNP0C0B")
Name(_PR0, Package(){PFN0})
}
Device(FAN1) {
Name(_HID, "PNP0C0B")
Name(_PR0, Package(){PFN1})
}
ThermalZone(THM0) {
Method(_TMP,0) {
RETURN(EC0.TMPV)} //Get current temp
Method(_AC0,0) {
RETURN(EC0.AC0V)} //active cooling trip point
Name(_AL0,Package(){FAN0}) //active cooling device list
Method(_CRT,0) {RETURN(EC0.CRTV)}//Get critical temp trip point
}
ThermalZone(THM1) {
Method(_TMP,0) {
RETURN(EC0.TMPR)} //Get current temp
Method(_AC0,0) {
RETURN(EC0.AC0R)} //active cooling trip point
Name(_AL0,Package(){FAN1}) //active cooling device list
Method(_CRT,0) {Return(EC0.CRTR)}//Get critical temp trip point
}
}
Scope(\_GPE){
Method(_L00) { //GP event handle to GP_STS.00
Notify(EC0,0) //EC event notification
}
}
Scope(\_SB) {
Device(PCI0) { // Root PCI Bus
Name(_HID, "PNP0A03") //Need _HID for root device
Name(_ADR,00000000) //Num(00000000)) //Also need _ADR since this appears in PCI config space
Method (_CRS,0){ //Current Resources for root bridge 0
Return(ZERO)
}
Device(PX40) { // Map f0 space
Name(_ADR,0x00070000) //Address+function. Address is defined by
}
Device(USB0) { // Map f2 space, USB Host controller
Name(_ADR, 0x00070002)
OperationRegion(CFG2, PCI_Config, 0x0, 0x4)
Field(CFG2,DWordAcc,NoLock,Preserve){
USBB,8} //USB Base address
Method(_STA,0) { //Status of the USB device
AND(USBB,0xFFE0,Local0) //get the device base address
IF (Lequal(Local0,Zero)) {Return(one)} //Return device present if no
Else {Return(0x3)} //else return present and active
}
Name(_PRW,Package(){8, //Bit number in GPEx_EN to enable USB resume
\_S1 //Reference to lowest sleeping state which can be
})
}//end of usb device
Device(PX43) { // Map f3 space
Name(_ADR, 0x00070003)
OperationRegion(CFG3,PCI_Config,0x0,0x4) // Map PCI Config Space
OperationRegion(GPOB,SystemIO,0xE0,4)//Operation Region for
Device(ISA) {
Name(_HID, "PNP0A00")
Device(EC0){ //Embedded Controller
Name(_HID, "PNP0C09") //ID for embedded Controller
Method(_CRS,0) { //Current Resource for EC
Name(ECBF, Buffer(144) //18 bytes
{0x47, 0x01, 0x62, 0x00, 0x62, 0x00, 0x01, 0x01,
0x47, 0x01, 0x66, 0x00, 0x66, 0x00, 0x01, 0x01,
0x79, 0x00})
Return(ECBF)
}
OperationRegion(EC0, EmbeddedControl, 0, 0xFF)
Field(EC0, AnyAcc, Lock, Preserve){
IND0,2,
,6,
FAN0,1, //Main Cabinet Fan
FAN1,1, //Remote Cabinet Fan
,6, //skips
TMPV,8, //Main Cabinet temperature
AC0V,8, //Main cabinet active cooling trip point
CRTV,8, //Main cabinet critical Value
TMPR,8, //Slave Cabinet temperature
AC0R,8, //Slave cabinet active cooling trip point
CRTR,8, //slave cabinet critical trip point
HD1L,1, //Hard Drive 1 Lock
HD1S,4, //Hard drive 1 Status
PS8,1, //Hard Drive 1 Power Status
,2,
HD8L,1, //Hard Drive 8 Lock
HD8S,4, //Hard drive 8 Status
PS8,1, //Hard Drive 8 Power Status
,2,
RPWR,1, //Remote Cabinet Power Control
RPWS,1 //Remote Cabinet Power Status
}
Method(_Q07){ //Thermal event for main Cabinet
Notify(\_TZ.THM0, 0x80)
}
Method(_Q08){ //Thermal event for remote Cabinet
Notify(\_TZ.THM1, 0x80)
}
Method(_Q11){ //Drive 1 remove request
Notify(\_SB.PCI1.SCS0.HDD1, 0x1)//Notify OS of
}
Method(_Q18){ //Drive 8 remove request
Notify(\_SB.PCI1.SCS8.HDD8, 0x1)//Notify OS of
}
Method(_Q21){ //Drive 1 insert
Notify(\_SB.PCI1.SCS0.HDD1, 0x0)//Device
}
Method(_Q28){ //Drive 8 insert
Notify(\_SB.PCI1.SCS1.HDD8, 0x0)//Device
}
Device(RTC) { //Real Time Clock Device
Name(_HID, "PNP0B00")//Hardware Device ID
Method(_CRS,0) { //Current Resource
Name(RTCB,Buffer(104)//13 bytes
{0x47, //IO descriptor
0x0,
0x70,
0x00,
0x70,
0x00,
0x0,
0x4,
0x22,
0x0,
0x1,
0x79,
0x0})
Return(RTCB)
}
}
Include("Coproc.asl")
Include("DMA.asl")
Include("INTR.asl")
Include("Memory.asl")
Include("Spkr.asl")
Include("Timer.asl")
Include("N307.asl")//Pcode for National 307 super IO
} // End of ISA
} // End of PIIX4
}
DEVICE(LAN0){ //LAN device
Name(_ADR, 0x00060000) //Device address on the PCI bus
Name(_PRW,Package(){11, //Wake-up. Chip set's LID bit
\_S1 //Reference to lowest sleeping state where
})
}
} // End of PCI 0 Bus
Device(PCI1) { // Root PCI Bus
Name(_HID, "PNP0A03") //Need _HID for root device
Name(_ADR,0x00010000) //Also need _ADR since this appears in PCI config space
Method (_CRS,0){ //Current Resources for root bridge 1
Return(One)
}
Device(SCS0){ //Fast wide SCSI device
NAME(_ADR, 0x00060000) //Device address on the PCI bus
Device(HDD1){
Name(_ADR, 0x01) //Drive's ID on SCSI bus
Method(_STA,0){Return(EC0.HD1S)}//Return Status Of Drive
Name(_IRC,Zero)
Method(_LCK,1){Store(Arg0,EC0.HD1L)} //Lock or unlock drive
}
}
Device(SCS1){ //Fast wide SCSI device
NAME(_ADR, 0x00070000) //Device address on the PCI bus
Device(HDD5){
Name(_ADR, 0x01) //Drive's ID on SCSI bus
Method(_STA,0){Return(EC0.HD5S)}//Return Status Of Drive
Name(_IRC,Zero)
Method(_LCK,1){Store(Arg0,EC0.HD5L)} //Lock or unlock drive
}
}
} // End of PCI 1 Bus
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -