[OpenBIOS] [PATCH] Add resolutions via the command-line

G 3 programmingkidx at gmail.com
Thu Sep 22 01:18:53 CEST 2016


On Sep 21, 2016, at 5:53 PM, Benjamin Herrenschmidt wrote:

> On Wed, 2016-09-21 at 14:26 -0400, G 3 wrote:
>>
>> Nodes like chose, aliases, openprom are of class IOService. options
>> is of class IODTNVRAM. It looks like this class has problems. I'm
>> thinking since Alexander Graf did work in the mac_nvram.c file, he
>> might know what is wrong.
>
> What is wrong is purely that MacOS X limits how you do things on that
> node. Have a look at the OS X kernel source :-) The implementation of
> the support libraries to run NDRVs is all there (module
> IOGraphicsFamily iirc).

I will check the IOGraphicsFamily kernel extension source code.

>
>>  I found another way to access the options
>> node in Mac OS X. Use this command: ioreg -c IODTNVRAM. It stops at
>> the options node and prints this error message: "ioreg: error: can't
>> obtain properties" in QEMU. On a real Power Mac the command prints
>> all the properties of the options node just fine.
>
> Correct, part of the problem is that I think we don't emulate the  
> NVRAM
> in a format that OS X understands, a problem for another day.

If you know any more info please share. I would like to help fix this  
problem.

>
>> I don't know about using binary. The way we do it now seems just  
>> fine.
>
> ASCII parsing in a driver sucks.

All the code needed parse ASCII is already in the patch. But I will
try to see things your way.

>
>> I just need to figure out how to write to the /chosen node from the
>> QEMU command line. I found a function called OpenBIOS_set_var() in
>> openbios_firmware_abi.h, but it would require an address to write to.
>> So where do I find the address of the /chosen node....
>
> No, you don't. Do as I said. Have OpenBIOS construct the list of
> resolutions and put it in the node of the device itself.

That can be done, but I was hoping to be able to do this via a  
command-line switch.
That would make things so much easier on the user. Altering  
properties in
OpenBIOS can be challenging using forth. OpenBIOS does support using  
startup
scripts so maybe someone could make a script that adds user  
resolutions to the
QEMU,VGA node from the options node.

I'm hoping you had a look at version three of my patch. If there are  
any other issues
with it, I would like to know before making version 4.




More information about the OpenBIOS mailing list