[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Mac RTC, was Re: 2.6.37 and other things.



On Tue, 1 Mar 2011, Thorsten Glaser wrote:

> Geert Uytterhoeven dixit:
> 
> >So can't you hack MacOS to consider the RTC in UTC, cfr. the unixclock
> 
> If itʼs true that the timezone is stored there as well

I'll assume for the moment that it is true (for System 7)...

> , this isnʼt actually needed, just a change to Linux to read it out and 
> use it (upon boot / first-time setting).

There are pros and cons to both approaches. Consider that we need to 
support both bootloaders: Penguin (which implies MacOS) and Emile (which 
doesn't need MacOS).

At present, if MacOS is not in use, you can just use UTC. Whereas, the 
kernel would have to store the timezone in PRAM when it wrote to the RTC 
if were to depend on a valid timezone there. And I'm not sure that the 
kernel even knows what timezone it is in (?)

So for dual boot, you'd need an invertible mapping between the kernel's 
representation of the timezone (assuming it has one) and MacOS timezone 
encoding.

FWIW, drivers/rtc/rtc-efi.c is an example of a device that stores a 
timezone (there are others mentioned in comments in drivers/rtc), but a 
quick grep would indicate that none of them use it...
./rtc-efi.c:  eft->timezone = EFI_UNSPECIFIED_TIMEZONE;

So, I suspect that Geert's solution is probably the simplest. It is 
probably just a matter of hooking a trap or two. Or perhaps Penguin can 
convert the PRAM prior to starting Linux by changing the clock to UTC and 
changing the PRAM timezone to Reykjavik.

Finn

Reply to: