hi Leute bin ein wenig am verzweifeln. Versuche seit ca. 1 Woche einen DSDT-Patch für meinen Lappy für die Akku-Anzeige zu erstellen. Leider komme ich bei 128-Bit Umschreibung auf 8-Bit nicht weiter. Könnte jemand der sich da auskennt sich meine Versuche anschauen und mir weiter helfen bitte? Merci
PS: bin nach dieser Anleitung vorgegangen: https://www.t o n y m a c x 8 6 . c o m /threads/guide-patching-laptop-dsdt-ssdts.152573/
Das habe ich bis jetzt geschafft:
Code
- #16bit
- into device label EC code_regex FSPD,\s+16, replace_matched begin SP01,8,SP02,8, end;
- into device label EC code_regex DSCP,\s+16, replace_matched begin SC01,8,SC02,8, end;
- into device label EC code_regex LACP,\s+16, replace_matched begin AC01,8,AC02,8, end;
- into device label EC code_regex DSVG,\s+16, replace_matched begin SV01,8,SV02,8, end;
- into device label EC code_regex MCUR,\s+16, replace_matched begin CU01,8,CU02,8, end;
- into device label EC code_regex MBRM,\s+16, replace_matched begin BR01,8,BR02,8, end;
- into device label EC code_regex MBCV,\s+16, replace_matcaed begin BC01,8,BC02,8, end;
- into method label B1B2 remove_entry;
- into definitionblock code_regex . insert
- begin
- Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n
- end;
- #16bit
- into method label UPBI code_regex \(\^\^PCI0\.LPCB\.EC\.DSCP, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC.SC01,^^PCI0.LPCB.EC.SC02), end;
- into method label UPBI code_regex \(\^\^PCI0\.LPCB\.EC\.LACP, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC.AC01,^^PCI0.LPCB.EC.AC02), end;
- into method label UPBI code_regex \(\^\^PCI0\.LPCB\.EC\.DSVG, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC.SV01,^^PCI0.LPCB.EC.SV02), end;
- into method label UPBS code_regex \(\^\^PCI0\.LPCB\.EC\.MCUR, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC.CU01,^^PCI0.LPCB.EC.CU02), end;
- into method label UPBS code_regex \(\^\^PCI0\.LPCB\.EC\.MBRM, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC.BR01,^^PCI0.LPCB.EC.BR02), end;
- into method label UPBS code_regex \(\^\^PCI0\.LPCB\.EC\.MBCV, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC.BC01,^^PCI0.LPCB.EC.BC02), 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 VERN,\s+32 replace_matched begin ER00,8,ER01,8,ER02,8,ER03,8 end;
- #32bits
- into method label WMAB code_regex \(\^\^EC\.VERN, replaceall_matched begin (B1B4(ER00,ER01,ER02,ER03), end;
- into method label WMBB code_regex \(\^\^EC\.VERN, replaceall_matched begin (B1B4(ER00,ER01,ER02,ER03), end;
- #256
- into device label EC code_regex (SMD0,)\s+(256) replace_matched begin SMDX,%2,//%1%2 end;
- # utility methods to read/write buffers from/to EC
- into method label RE1B parent_label H_EC remove_entry;
- into method label RECB parent_label H_EC remove_entry;
- into device label H_EC insert
- begin
- Method (RE1B, 1, NotSerialized)\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 method label SMWR code_regex \(SMD0, replaceall_matched begin (RECB(0x30,128), end;
ACPIBatteryManager.kext ist im Clover/Kexts/Other vorhanden, warte nur auf den DSDT-Fortschritt. 1000 Dank schon mal