[OpenBIOS] [PATCH] Adds the get-time word to the dictionary. Used to obtain the current time.

Programmingkid programmingkidx at gmail.com
Sat Oct 6 16:09:42 CEST 2012


On Oct 4, 2012, at 3:30 PM, openbios-request at openbios.org wrote:

> Message: 5
> Date: Tue, 25 Sep 2012 16:03:20 +0200
> From: Segher Boessenkool <segher at kernel.crashing.org>
> To: The OpenBIOS Mailinglist <openbios at openbios.org>
> Subject: Re: [OpenBIOS] [PATCH] Adds the get-time word to the
> 	dictionary.	Used to obtain the current time.
> Message-ID: <21F2BBE0-1211-44F5-8C20-8148431F682A at kernel.crashing.org>
> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
> 
>> : get-time
>>   " rtc" open-dev                   ( ihandle )
>>   ?dup 0= if
>>      cr abort" Sorry but no rtc node is present on this system"
>>   then                              ( ihandle )
>>> r " get-time" r@ $call-method    ( <returned args - 6 of em?  
>> Yikes > )
>>   r> close-dev                      ( <returned args> )
>> ;
> 
> : get-time
>   s" rtc" s" get-time" execute-device-method
>   0= ABORT" Sorry but no rtc node is present on this system" ;
> 
> (note that ABORT" takes a flag as input), but better is
> 
> : get-time
>   s" rtc" s" get-time" execute-device-method
>   0= IF fake-some-sort-of-plausible-time-1970-or-so THEN ;
> 
> which is pretty much what Apple's OF does.  execute-device-method
> is not the same thing as open-dev followed by $call-method: it
> does not call "open" in the instance for the device itself (you
> only need that for devices that can have multiple clients at the
> same time and need to keep state for each client; or when instead
> you need to prevent concurrent access from multiple clients, by
> having the second open fail).
> 
> 
> Segher


I honestly see no reason to replace open-dev with execute-device-method. My original patch is just fine.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openbios.org/pipermail/openbios/attachments/20121006/f63294cc/attachment.html>


More information about the OpenBIOS mailing list