Uyarıyı kapat
PROFİL MESAJINDAN YARDIM TALEPLERİ, BUNDAN BÖYLE İSTİSNASIZ SİLİNECEKTİR!!

Lenovo Thinkpad L420 Pil Göstergesi için DSDT Yaması

'DSDT' forumunda montezuma tarafından 8 Aralık 2016 tarihinde açılan konu

Konu etiketleri:

Bu Sayfayı Paylaş

  1. [​IMG]
    Aşağıdaki DSDT yaması ile Lenovo Thinkpad L420 üzerinde Pil göstergesii rahatlıkla kullanabilirsiniz.
    Kod:
    # LENOVO L420 - KosakGroove Note: This DSDT requires "Fix Mutex with non-zero SyncLevel"
    
    into method label B1B2 remove_entry;
    into definitionblock code_regex . insert
    begin
    Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n
    end;
    
    into method label B1B4 remove_entry;
    into definitionblock code_regex . insert
    begin
    Method (B1B4, 4, NotSerialized)\n
    {\n
        Store(Arg3, Local0)\n
        Or(Arg2, ShiftLeft(Local0, 8), Local0)\n
        Or(Arg1, ShiftLeft(Local0, 8), Local0)\n
        Or(Arg0, ShiftLeft(Local0, 8), Local0)\n
        Return(Local0)\n
    }\n
    end;
    into device label EC code_regex BATD,\s+16, replace_matched begin ATD0,8,ATD1,8, end;
    into device label EC code_regex SMW0,\s+16 replace_matched begin MW00,8,MW01,8 end;
    into device label EC code_regex SBRC,\s+16, replace_matched begin BR00,8,BR01,8, end;
    into device label EC code_regex SBFC,\s+16, replace_matched begin BF00,8,BF01,8, end;
    into device label EC code_regex SBVO,\s+16, replace_matched begin BV00,8,BV01,8, end;
    into device label EC code_regex SBSN,\s+16 replace_matched begin SN00,8,SN01,8 end;
    into device label EC code_regex SBDC,\s+16, replace_matched begin DC00,8,DC01,8, end;
    into device label EC code_regex SBDV,\s+16, replace_matched begin DV00,8,DV01,8, end;
    into device label EC code_regex SBAE,\s+16, replace_matched begin BA00,8,BA01,8, end;
    into device label EC code_regex SBAF,\s+16, replace_matched begin BB00,8,BB01,8, end;
    into device label EC code_regex SBBS,\s+16, replace_matched begin BD00,8,BD01,8, end;
    into device label EC code_regex SBMD,\s+16, replace_matched begin SB00,8,SB01,8, end;
    into device label EC code_regex SBCC,\s+16, replace_matched begin CC00,8,CC01,8, end;
    into device label EC code_regex SBOM,\s+16, replace_matched begin OM00,8,OM01,8, end;
    into device label EC code_regex SBSI,\s+16, replace_matched begin SI00,8,SI01,8, end;
    into device label EC code_regex SBDT,\s+16, replace_matched begin DT00,8,DT01,8, end;
    into device label EC code_regex SBAC,\s+16, replace_matched begin AC00,8,AC01,8, end;
    
    
    into method label SELE code_regex \(BATD, replaceall_matched begin (B1B2(ATD0, ATD1), end;
    into method label SMRD code_regex \(SMW0, replaceall_matched begin (B1B2(MW00, MW01), end;
    into method label SMWR code_regex \(\^PCI0\.LPCB\.EC\.SMW0, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.MW00, ^PCI0.LPCB.EC.MW01), end;
    into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBRC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BR00,^PCI0.LPCB.EC.BR01), end;
    into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBFC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BF00, ^PCI0.LPCB.EC.BF01), end;
    into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBVO, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BV00, ^PCI0.LPCB.EC.BV01), end;
    into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBSN, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.SN00, ^PCI0.LPCB.EC.SN01), end;
    into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.DC00, ^PCI0.LPCB.EC.DC01), end;
    into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDV, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.DV00, ^PCI0.LPCB.EC.DV01), end;
    into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBAC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.AC00,^PCI0.LPCB.EC.AC01), end;
    
    into device label EC code_regex SBCH,\s+32 replace_matched begin SH00,8,SH01,8,SH02,8,SH03,8, end;
    into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBCH, replaceall_matched begin (B1B4(^PCI0.LPCB.EC.SH00, ^PCI0.LPCB.EC.SH01, ^PCI0.LPCB.EC.SH02, ^PCI0.LPCB.EC.SH03), end;
    into method label SMWR code_regex Store\s\(Arg3,\sSMW0\) replaceall_matched begin Store (ShiftRight(Arg3,8),MW01)\nStore (Arg3,MW00) end;
    
    into method label RE1B parent_label EC remove_entry;
    into method label RECB parent_label EC remove_entry;
    into device label EC insert
    begin
    Method (RE1B, 1, NotSerialized)\n
    // Arg0 - offset in bytes from zero-based EC\n
    {\n
        OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n
        Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n
        Return(BYTE)\n
    }\n
    Method (RECB, 2, Serialized)\n
    // Arg0 - offset in bytes from zero-based EC\n
    // Arg1 - size of buffer in bits\n
    {\n
        ShiftRight(Arg1, 3, Arg1)\n
        Name(TEMP, Buffer(Arg1) { })\n
        Add(Arg0, Arg1, Arg1)\n
        Store(0, Local0)\n
        While (LLess(Arg0, Arg1))\n
        {\n
            Store(RE1B(Arg0), Index(TEMP, Local0))\n
            Increment(Arg0)\n
            Increment(Local0)\n
        }\n
        Return(TEMP)\n
    }\n
    end;
    
    into device label EC code_regex (SBMN,)\s+(128) replace_matched begin BMNX,%2,//%1%2 end;
    into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBMN, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,128), end;
    into device label EC code_regex (SBDN,)\s+(128) replace_matched begin BDNX,%2,//%1%2 end;
    into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDN, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,128), end;
    into device label EC code_regex (FLD1)\s+(128) replace_matched begin D101,%2,//%1%2 end;
    into method label SMRD code_regex \(\FLD1, replaceall_matched begin (RECB(0xA0,128), end;
    into device label EC code_regex (FLD2,)\s+(192) replace_matched begin D201,%2,//%1%2 end;
    into method label SMRD code_regex \(\FLD2, replaceall_matched begin (RECB(0xA0,192), end;
    into device label EC code_regex (FLD3,)\s+(256) replace_matched begin D301,%2,//%1%2 end;
    into method label SMRD code_regex \(\FLD3, replaceall_matched begin (RECB(0xA0,256), end;
    into method label BFWL code_regex \(SMD0, replaceall_matched begin (RECB(0x54,100), end;
    
    
    
    
    into method label WE1B parent_label EC remove_entry;
    into method label WECB parent_label EC remove_entry;
    into device label EC insert
    begin
    Method (WE1B, 2, NotSerialized)\n
    {\n
        OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n
        Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n
        Store(Arg1, BYTE)\n
    }\n
    Method (WECB, 3, Serialized)\n
    // Arg0 - offset in bytes from zero-based EC\n
    // Arg1 - size of buffer in bits\n
    // Arg2 - value to write\n
    {\n
        ShiftRight(Add(Arg1,7), 3, Arg1)\n
        Name(TEMP, Buffer(Arg1) { })\n
        Store(Arg2, TEMP)\n
        Add(Arg0, Arg1, Arg1)\n
        Store(0, Local0)\n
        While (LLess(Arg0, Arg1))\n
        {\n
            WE1B(Arg0, DerefOf(Index(TEMP, Local0)))\n
            Increment(Arg0)\n
            Increment(Local0)\n
        }\n
    }\n
    end;
    
    
    # Calling WECB method to write into SMDX (Offset 0x54)
    into method label SMWR code_regex Store\s?\(Arg3,\s?\SMD0\) replaceall_matched begin WECB (0x54,100,Arg3) end;
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Hepsini görmek için tıklayın...
Yükleniyor...
Benzer Konular - Lenovo Thinkpad L420
  1. montezuma
    Yanıt:
    0
    Gösterim:
    750
  2. montezuma
    Yanıt:
    0
    Gösterim:
    543
Yükleniyor...