Re: [PATCH 02/14] x86-64/efi: Use EFI to deal with platform wallclock (again)

From: joeyli
Date: Thu Dec 19 2013 - 08:33:50 EST


æ åï2013-12-19 æ 10:49 +0000ïMatt Fleming æåï
> On Thu, 19 Dec, at 06:20:16PM, Lee, Chun-Yi wrote:
> > From: Jan Beulich <JBeulich@xxxxxxxx>
> >
> > Other than ix86, x86-64 on EFI so far didn't set the
> > {g,s}et_wallclock accessors to the EFI routines, thus
> > incorrectly using raw RTC accesses instead.
> >
> > Simply removing the #ifdef around the respective code isn't
> > enough, however: While so far early get-time calls were done in
> > physical mode, this doesn't work properly for x86-64, as virtual
> > addresses would still need to be set up for all runtime regions
> > (which wasn't the case on the system I have access to), so
> > instead the patch moves the call to efi_enter_virtual_mode()
> > ahead (which in turn allows to drop all code related to calling
> > efi-get-time in physical mode).
> >
> > Additionally the earlier calling of efi_set_executable()
> > requires the CPA code to cope, i.e. during early boot it must be
> > avoided to call cpa_flush_array(), as the first thing this
> > function does is a BUG_ON(irqs_disabled()).
> >
> > Also make the two EFI functions in question here static -
> > they're not being referenced elsewhere.
> >
> > History:
> >
> > This commit was originally merged as bacef661acdb ("x86-64/efi:
> > Use EFI to deal with platform wall clock") but it resulted in some
> > ASUS machines no longer booting due to a firmware bug, and so was
> > reverted in f026cfa82f62.
> >
> > Then a pre-emptive fix for the buggy ASUS firmware was merged in
> > 03a1c254975e ("x86, efi: 1:1 pagetable mapping for virtual EFI
> > calls") but it causes odd bootup problems on x86-64. So this patch
> > revoked again by 11520e5e7c1.
> >
> > Now Borislav Petkov's "EFI runtime services virtual mapping" is
> > merged to EFI 'next' branch. So this patch can be reapplied again.
> >
> > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> > Tested-by: Matt Fleming <matt.fleming@xxxxxxxxx>
> > Acked-by: Matthew Garrett <mjg@xxxxxxxxxx>
> > Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> > Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> > Cc: H. Peter Anvin <hpa@xxxxxxxxx>
> > Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> [added commit history]
> > Acked-by: Lee, Chun-Yi <jlee@xxxxxxxx>
> > ---
> > arch/x86/mm/pageattr.c | 10 ++++++----
> > arch/x86/platform/efi/efi.c | 35 +++++++++++------------------------
> > include/linux/efi.h | 2 --
> > init/main.c | 8 ++++----
> > 4 files changed, 21 insertions(+), 34 deletions(-)
>
> Lee, you can't just simply resend this patch with all the tags - I
> haven't tested this version with any recent changes and I'm pretty sure
> Matthew isn't going to Ack it.

I am very sorry for I didn't remove those tags before send it. I will
remove it when send second version.

>
> Do you know if anyone has tested this patch with Borislav's recent
> changes?
>

I tested Borislav's patch set on a issue BIOS and make sure it works,
but I have no chance to test this patch with it. I will find a time to
test it.


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/