Contribute
Register

[Guide] How to patch DSDT for working battery status

Joined
Nov 17, 2013
Messages
39
Motherboard
Dell XPS 13 9350
CPU
i7 6560U
Graphics
Intel Iris HD 540
Mac
  1. MacBook Pro
How to patch DSDT for working battery status

And Multiply ( LocalX, Buffer, LocalX)??
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
184,623
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
How to patch DSDT for working battery status

What about for a Store ( Add ( buffer , buffer) , LocalX)

Is the second buffer argument supposed to be a write?

The first two arguments to Add are reads. The third (optional) argument to Add is a write. In the example above, you're reading two buffers, adding them (whatever that does), and writing the result to LocalX). More information in the ACPI spec: http://www.acpi.info/spec.htm
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
184,623
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
How to patch DSDT for working battery status

And Multiply ( LocalX, Buffer, LocalX)??

It doesn't make much sense (multiply a local by a buffer), but in that code, Buffer is read. The result is written to the third param LocalX.
 
Joined
Nov 17, 2013
Messages
39
Motherboard
Dell XPS 13 9350
CPU
i7 6560U
Graphics
Intel Iris HD 540
Mac
  1. MacBook Pro
How to patch DSDT for working battery status

Last question : Can I call WECB on a 16 bit field? Or is only for fields larger than 32 bit. I've read the thread and other people's q's and a's, and most of their DSDT Tables don't even have an implementation for fields larger than 32 bit.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
184,623
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
How to patch DSDT for working battery status

Last question : Can I call WECB on a 16 bit field? Or is only for fields larger than 32 bit.

Only for fields larger than 32-bit (buffer fields... the name stands for Write EC Buffer).

I've read the thread and other people's q's and a's, and most of their DSDT Tables don't even have an implementation for fields larger than 32 bit.

What do you mean "don't even have an implementation for fields larger than 32-bit"?

There are plenty of patches in the repo that use both RECB and WECB for fields larger than 32-bit.
 
Joined
Nov 17, 2013
Messages
39
Motherboard
Dell XPS 13 9350
CPU
i7 6560U
Graphics
Intel Iris HD 540
Mac
  1. MacBook Pro
How to patch DSDT for working battery status

Only for fields larger than 32-bit (buffer fields... the name stands for Write EC Buffer).



What do you mean "don't even have an implementation for fields larger than 32-bit"?

There are plenty of patches in the repo that use both RECB and WECB for fields larger than 32-bit.

I was not talking about patches. I was talking about posted dsdt tables on the thread alone. Anyways thank you.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
184,623
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
How to patch DSDT for working battery status

I was not talking about patches. I was talking about posted dsdt tables on the thread alone. Anyways thank you.

There are plenty of DSDT tables with EC buffers.

For example, reads EC buffers:
Code:
ProBook-mavs:battery Admin$ grep -l RECB *.txt
battery_ASUS-G75vw.txt
battery_Acer-3820tg.txt
battery_Acer-Aspire-5737z.txt
battery_Acer-Aspire-E1-571.txt
battery_Dell-Vostro-15xx.txt
battery_HP-DM4T-1000.txt
battery_HP-DV6t-6b00.txt
battery_HP-Envy-14.txt
battery_HP-Envy-17t.txt
battery_HP-G62-B13SL.txt
battery_HP-Spectre-XT.txt
battery_Lenovo-X220.txt

And, writes EC buffers:
Code:
ProBook-mavs:battery Admin$ grep -l WECB *.txt
battery_ASUS-G75vw.txt
battery_Acer-Aspire-E1-571.txt
battery_Dell-Vostro-15xx.txt
battery_HP-Envy-14.txt
battery_HP-Envy-17t.txt
battery_HP-Spectre-XT.txt
battery_Lenovo-X220.txt

The existence of patches using RECB/WECB is proof there are DSDTs needing them.
 
Joined
Nov 13, 2013
Messages
62
Motherboard
OS X 10.9.5
CPU
intel core 2 duo T6570
Graphics
Nvidia Geforce G 105m
Mac
Classic Mac
Mobile Phone
How to patch DSDT for working battery status

Hi, Rehabman. I meet a problem recently.

I have updated the latest iasl version 20140627, but when I use it to disasemmble with this command "iasl -da DSDT.aml SSDT*.aml". Well, I can obtain all dsl files. But, when I use MaciASL open the DSDT.dsl, the tree view at left can't display the code structure completely, but when I explore the every line of the file, the code is complete actually.

Just like this screenshot:
iasl_MaciASL_Problem_1.png

But, for the same DSDT.dsl, DSDT Editor give the complete tree view:
iasl_MaciASL_Problem_2.png

I'm not sure this is the version 20140627 iasl's problem, or is MaciASL's problem.

(ps:The DSDT Editor's tree view is normal, but it's iasl version is 20120420, and MaciASL's is 20140627)

So, here is the DSDT.dsl which is obtained use the -da command:

Hope your help. :)

View attachment DSDT_MaciASL_Tree_View_Problem.zip
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
184,623
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
How to patch DSDT for working battery status

Hi, Rehabman. I meet a problem recently.

I have updated the latest iasl version 20140627, but when I use it to disasemmble with this command "iasl -da DSDT.aml SSDT*.aml". Well, I can obtain all dsl files. But, when I use MaciASL open the DSDT.dsl, the tree view at left can't display the code structure completely, but when I explore the every line of the file, the code is complete actually.

Just like this screenshot:
View attachment 98555

But, for the same DSDT.dsl, DSDT Editor give the complete tree view:
View attachment 98556

I'm not sure this is the version 20140627 iasl's problem, or is MaciASL's problem.

(ps:The DSDT Editor's tree view is normal, but it's iasl version is 20120420, and MaciASL's is 20140627)

So, here is the DSDT.dsl which is obtained use the -da command:

Hope your help. :)

View attachment 98557

Try with my latest iasl from this post: http://www.tonymacx86.com/mavericks...q501la-help-needed-post832904.html#post832904
 
Top