public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matthew Garrett <mjg59@srcf.ucam.org>
To: Jan Beulich <JBeulich@suse.com>
Cc: mingo@elte.hu, tglx@linutronix.de, matt.fleming@linux.intel.com,
	linux-kernel@vger.kernel.org, hpa@zytor.com
Subject: Re: [PATCH] x86-64: use EFI to deal with platform wall clock
Date: Wed, 16 May 2012 13:39:12 +0100	[thread overview]
Message-ID: <20120516123912.GA20990@srcf.ucam.org> (raw)
In-Reply-To: <4FB3B734020000780008415D@nat28.tlf.novell.com>

On Wed, May 16, 2012 at 01:18:28PM +0100, Jan Beulich wrote:

> Okay, looks like calling efi_ioremap() at this point is possible.
> But why is efi_enter_virtual_mode() being called as late as is
> the case currently for x86 anyway?

Assuming that things are as they are for a good reason is not 
necessarily true in the EFI code...

> And then again the current logic in efi_enter_virtual_mode()
> looks flawed (it assumes two contiguous pieces of direct
> mappings, and while on systems with dis-contiguous physical
> memory this currently appears to be true, it's not correct - the
> holes could have MMIO assignments in them - and hence
> shouldn't be relied upon), and I wouldn't want to copy this
> elsewhere.

Could you elaborate on that a little?

> Plus the use of set_virtual_address_map is bogus in the first
> place, as it makes it impossible for a kexec-ed kernel to also
> use EFI services (as it would have to call the function a
> second and possibly third time, yet it is not permitted to be
> called more than once). Imo all calls have to happen in
> physical mode.

Platforms don't correctly deal with the case where you make physical 
calls after ExitBootServices(). We tried running in physical mode. It 
simply doesn't work.

> So I'm afraid if the patch as I provided it isn't acceptable, and
> if the call to efi_enter_virtual_mode() can't be moved ahead
> of the one to timekeeping_init(), this winds down to the whole
> logic needing a re-write.

I have zero objection to this being cleaned up, but I don't know of any 
obvious reason why we can't do enter_virtual_mode() earlier.

-- 
Matthew Garrett | mjg59@srcf.ucam.org

  reply	other threads:[~2012-05-16 12:39 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-15 12:18 [PATCH] x86-64: use EFI to deal with platform wall clock Jan Beulich
2012-05-15 12:47 ` Matthew Garrett
2012-05-15 13:19   ` Jan Beulich
2012-05-15 13:20     ` Matthew Garrett
2012-05-16 12:18       ` Jan Beulich
2012-05-16 12:39         ` Matthew Garrett [this message]
2012-05-16 12:59           ` Jan Beulich
2012-05-16 13:07             ` Matthew Garrett
2012-05-17  8:31             ` Matt Fleming
2012-05-25 15:00           ` Jan Beulich
  -- strict thread matches above, loose matches on Subject: below --
2012-05-25 15:20 Jan Beulich
2012-05-25 15:24 ` Matthew Garrett
2012-05-25 15:30   ` Jan Beulich
2012-05-25 15:34     ` Matthew Garrett
2012-06-06  9:47       ` Ingo Molnar
2012-05-26 10:26 ` Matt Fleming
2012-06-04  8:11   ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120516123912.GA20990@srcf.ucam.org \
    --to=mjg59@srcf.ucam.org \
    --cc=JBeulich@suse.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.fleming@linux.intel.com \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox