mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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

  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