Re: [PATCH 1/3] rtc-efi: register rtc-efi device when EFI enabled

From: joeyli
Date: Wed Jan 09 2013 - 01:26:11 EST


æ äï2012-12-28 æ 17:07 -0800ïH. Peter Anvin æåï
> On 12/28/2012 05:00 PM, joeyli wrote:
> > æ äï2012-12-28 æ 17:43 +0000ïMatthew Garrett æåï
> >> On Sat, 2012-12-29 at 00:26 +0800, Lee, Chun-Yi wrote:
> >>> UEFI time services, GetTime(), SetTime(), GetWakeupTime(), SetWakeupTime() are also
> >>> supported by other non-IA64 architecutre with UEFI BIOS, e.g. x86.
> >>>
> >>> This patch changed RTC_DRV_EFI configuration to depend on EFI but not just IA64. It
> >>> checks efi_enabled flag and efi-rtc driver should enabled.
> >>
> >> In theory, certainly - but do we still have machines that explode if the
> >> get_time call is made? We may also want to think about disabling the
> >> legacy access to the RTC if the EFI calls are present.
> >
> > The legacy get_time access on my test machine is work fine, not thing
> > explode. :-)
> > Just we have a function want to expose the timezone information to
> > userspace and also store it.
> >
>
> We should indeed save the timezone information if it is available --
> either from the ACPI TAD or from the EFI RTC, or even via some
> platform-dependent mechanism. It is important, though, that that is
> separate from the order of priority.
>
> -hpa
>

I found Windows 8 doesn't aware/maintain the Timezone and Daylight
fields in EFI_TIME struct.

I got a Acer UEFI notebook and I keep the Windows 8 hard drive
(/dev/sda) but install Linux to another hard drive (/dev/sdb).

On Linux, I applied my rtc-efi patches for allow user space feed
Timezone and store it to BIOS through SetTime(). I wrote a simple user
space program to set Timezone and Daylight fields, after set those
fields I reboot to Windows 8 and use DateTime setting GUI to look at the
change. Looks Windows doesn't aware the change, it just assume the time
in DateTime filed is local time, but didn't show the Timezone that was
set by me on Linux to GUI.

Then, I select another Timezone(country) through Windows 8 GUI, and
reboot to Linux. I read the Timezone and Daylight by program but didn't
see the Timezone and Daylight changed by Windows 8, the value is still
the same with my latest time setting by Linux program. Windows 8 changed
DayTime fields but didn't maintain Timezone and Daylight.

I only have this machine with preloaded Windows 8 for verify the
behavior, not sure it's normally or not. If Windows 8 ignores Timezone
and Daylight fields in UEFI BIOS, then I think it's lower down the
necessary for we maintain Timezone and Daylight in UEFI BIOS.

We still can store Timezone and Daylight value to UEFI, but will have no
any interactive with Windows 8.

Appreciate for any suggestions.


Thanks a lot!
Joey Lee

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/