From: Daniel Kiper <daniel.kiper@oracle.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
x86@kernel.org, xen-devel@lists.xenproject.org,
boris.ostrovsky@oracle.com, eshelton@pobox.com, hpa@zytor.com,
ian.campbell@citrix.com, jbeulich@suse.com, jeremy@goop.org,
konrad.wilk@oracle.com, matt.fleming@intel.com, mingo@redhat.com,
mjg59@srcf.ucam.org, stefano.stabellini@eu.citrix.com,
tglx@linutronix.de
Subject: Re: [PATCH v4 1/5] efi: Introduce EFI_DIRECT flag
Date: Mon, 19 May 2014 23:02:55 +0200 [thread overview]
Message-ID: <20140519210255.GC3529@olila.local.net-space.pl> (raw)
In-Reply-To: <537A2A28.4010903@citrix.com>
On Mon, May 19, 2014 at 04:58:32PM +0100, David Vrabel wrote:
> On 16/05/14 21:41, Daniel Kiper wrote:
> > Introduce EFI_DIRECT flag. If it is set this means that Linux
> > Kernel has direct access to EFI infrastructure. If not then
> > kernel runs on EFI platform but it has not direct control
> > on EFI stuff. This functionality is used in Xen dom0.
>
> This is backwards. It should flag should indicate the weird platform
> not the standard, default one.
Do you wish EFI_NO_DIRECT? I understand your idea but I would like to avoid this
name because it is quite difficult to read e.g. !efi_enabled(EFI_NO_DIRECT).
You must think a bit to know what is going on. However, maybe you have a better idea?
> You also need to explain why this is needed rather than presenting a
> more complete EFI interface to PV guests. And you should explain why
> each use is necessary.
OK.
> > +static void __init __iomem *efi_early_ioremap(resource_size_t phys_addr,
> > + unsigned long size)
> > +{
> > + if (efi_enabled(EFI_DIRECT))
> > + return early_ioremap(phys_addr, size);
> > +
> > + return (__force void __iomem *)phys_addr;
> > +}
>
> Er... Perhaps you mean BUG_ON(!efi_enabled(EFI_DIRECT))? Or return NULL?
It is correct. As I said earlier: in case of !efi_enabled(EFI_DIRECT) some
structures are created artificially and they live in virtual address space.
So that is why they should not be mapped.
> > --- a/include/linux/efi.h
> > +++ b/include/linux/efi.h
> > @@ -893,12 +893,13 @@ extern int __init efi_setup_pcdp_console(char *);
> > * possible, remove EFI-related code altogether.
> > */
> > #define EFI_BOOT 0 /* Were we booted from EFI? */
> > -#define EFI_SYSTEM_TABLES 1 /* Can we use EFI system tables? */
> > -#define EFI_CONFIG_TABLES 2 /* Can we use EFI config tables? */
> > -#define EFI_RUNTIME_SERVICES 3 /* Can we use runtime services? */
> > -#define EFI_MEMMAP 4 /* Can we use EFI memory map? */
> > -#define EFI_64BIT 5 /* Is the firmware 64-bit? */
> > -#define EFI_ARCH_1 6 /* First arch-specific bit */
> > +#define EFI_DIRECT 1 /* Can we access EFI directly? */
> > +#define EFI_SYSTEM_TABLES 2 /* Can we use EFI system tables? */
> > +#define EFI_CONFIG_TABLES 3 /* Can we use EFI config tables? */
> > +#define EFI_RUNTIME_SERVICES 4 /* Can we use runtime services? */
> > +#define EFI_MEMMAP 5 /* Can we use EFI memory map? */
> > +#define EFI_64BIT 6 /* Is the firmware 64-bit? */
> > +#define EFI_ARCH_1 7 /* First arch-specific bit */
>
> Unnecessary shuffling of these values. Why didn't you stick it after
> EFI_64BIT?
I was going to have EFI_DIRECT close to EFI_BOOT which is quite generic
and platform independent name like EFI_BOOT. However, I do not insist
on having it in that place.
Daniel
next prev parent reply other threads:[~2014-05-19 21:03 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-16 20:41 [PATCH v4 0/5] xen: Add EFI support Daniel Kiper
2014-05-16 20:41 ` [PATCH v4 1/5] efi: Introduce EFI_DIRECT flag Daniel Kiper
2014-05-19 13:30 ` Jan Beulich
2014-05-19 20:46 ` Daniel Kiper
2014-05-20 6:16 ` Jan Beulich
2014-05-19 15:58 ` David Vrabel
2014-05-19 21:02 ` Daniel Kiper [this message]
2014-05-22 7:26 ` Matt Fleming
2014-05-16 20:41 ` [PATCH v4 2/5] xen: Define EFI related stuff Daniel Kiper
2014-05-19 16:00 ` David Vrabel
2014-05-16 20:41 ` [PATCH v4 3/5] xen: Put EFI machinery in place Daniel Kiper
2014-05-19 13:39 ` [Xen-devel] " Andrew Cooper
2014-05-19 13:47 ` Jan Beulich
2014-05-19 13:43 ` Jan Beulich
2014-05-20 9:47 ` David Vrabel
2014-05-20 11:29 ` Daniel Kiper
2014-05-20 11:58 ` Jan Beulich
2014-05-20 12:10 ` David Vrabel
2014-05-16 20:41 ` [PATCH v4 4/5] arch/x86: Replace plain strings with constants Daniel Kiper
2014-05-22 7:56 ` Matt Fleming
2014-05-16 20:41 ` [PATCH v4 5/5] arch/x86: Remove redundant set_bit() call Daniel Kiper
2014-05-22 7:59 ` Matt Fleming
2014-05-19 15:53 ` [PATCH v4 0/5] xen: Add EFI support David Vrabel
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=20140519210255.GC3529@olila.local.net-space.pl \
--to=daniel.kiper@oracle.com \
--cc=boris.ostrovsky@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=eshelton@pobox.com \
--cc=hpa@zytor.com \
--cc=ian.campbell@citrix.com \
--cc=jbeulich@suse.com \
--cc=jeremy@goop.org \
--cc=konrad.wilk@oracle.com \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matt.fleming@intel.com \
--cc=mingo@redhat.com \
--cc=mjg59@srcf.ucam.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/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
Powered by JetHome