public inbox for linux-efi@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Kiper <daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: Matt Fleming <matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
Cc: linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b@public.gmane.org,
	andrew.cooper3-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org,
	boris.ostrovsky-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org,
	david.vrabel-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org,
	eshelton-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org,
	hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org,
	ian.campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org,
	jbeulich-IBi9RG/b67k@public.gmane.org,
	jeremy-TSDbQ3PG+2Y@public.gmane.org,
	konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org,
	matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org,
	stefano.stabellini-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org,
	tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org
Subject: Re: [PATCH v5 2/7] efi: Introduce EFI_NO_DIRECT flag
Date: Fri, 20 Jun 2014 16:36:51 +0200	[thread overview]
Message-ID: <20140620143651.GE28489@olila.local.net-space.pl> (raw)
In-Reply-To: <20140619144112.GT24049-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>

On Thu, Jun 19, 2014 at 03:41:12PM +0100, Matt Fleming wrote:
> On Wed, 18 Jun, at 06:48:35PM, Daniel Kiper wrote:
> > >
> > > Why don't you want to export efi.fw_vendor, etc? Rationale please.
> >
> > I am exporting real addresses (machine addresses) of things which
> > I am able to get. Stuff which was created artificially and lives
> > in dom0 address space or does not exist are not exported.
>
> So, wouldn't it be easier to just leave those fields as
> EFI_INVALID_TABLE_ADDR? If they're not usable why fill out an address?

It looks that EFI_PARAVIRT check is needed for efi.fw_vendor only.
Probably I prepared this chunk of code before filling
efi_systab_xen.runtime with EFI_INVALID_TABLE_ADDR. efi.fw_vendor
contains pointer to vendor name which lives in dom0 memory and it
is a copy of name living in EFI memory data. So, this pointer is useless
for potential user of /sys/firmware/efi/fw_vendor. efi.fw_vendor is
used in init code only. Hence, I was thinking once about wiping this
pointer with EFI_INVALID_TABLE_ADDR. However, it requires some changes
in arch/x86/platform/efi/efi.c (wipe it if EFI_PARAVIRT is set) and
it is a hack for me. I prefer to live with current solution.

> > Hmmm... I do not know what is wrong with this minimal shuffling. We are
> > playing here with internal stuff which is not visible outside of any
> > given kernel. Additionally, as I saw in a few places arch bits are
> > defined in following way:
> >
> > #define ARCH_1 10
> >
> > #define A_ARCH_CONST ARCH_1
> > #define B_ARCH_CONST (ARCH_1 + 1)
> > #define C_ARCH_CONST (ARCH_1 + 2)
> > ...
> >
> > So I think addition is more natural here than subtraction.
>
> No, because we hit the same problem if we need more non-arch bits after
> bit 9, it moves the problem, it doesn't fix it. Though admittedly, using

10 is just an example. It could be an arbitrary value. However, you
are right. This just moves the problem.

> this level of indirection (going through ARCH_1) instead of using
> constants does reduce the problem.
>
> Yes, these bits are internal, and yes the shuffling is minimal, but we
> can do better.

As always, it is a place for an improvement. However, I am not sure
it is worth fighting with that so hard.

> I'm not suggesting you need to modify your patch. I'm really just
> thinking out loud. I'll take care of fixing this up later.

OK. Thanks.

Daniel

  parent reply	other threads:[~2014-06-20 14:36 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-13 17:00 [PATCH v5 0/7] xen: Add EFI support Daniel Kiper
2014-06-13 17:00 ` [PATCH v5 1/7] efi: Use early_mem*() instead of early_io*() Daniel Kiper
     [not found]   ` <1402678823-24589-2-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-06-16  1:19     ` Matthew Garrett
2014-06-18 12:17   ` Matt Fleming
2014-06-18 12:59     ` Daniel Kiper
     [not found]       ` <20140618125957.GA28489-fJNZiO034lp9pOct4yEdx/3oZC3j2Omk@public.gmane.org>
2014-06-18 14:56         ` Matt Fleming
     [not found]     ` <20140618121709.GF24049-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-06-18 12:31       ` David Vrabel
2014-06-18 13:59       ` Mark Salter
2014-06-13 17:00 ` [PATCH v5 2/7] efi: Introduce EFI_NO_DIRECT flag Daniel Kiper
     [not found]   ` <1402678823-24589-3-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-06-16 10:52     ` [Xen-devel] " David Vrabel
2014-06-18 13:52     ` Matt Fleming
     [not found]       ` <20140618135229.GH24049-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-06-18 13:58         ` Jan Beulich
     [not found]           ` <53A1B726020000780001B6CF-tRfBTM6QL9aeHWOVceGJHFaTQe2KTcn/@public.gmane.org>
2014-06-18 14:30             ` Stefano Stabellini
     [not found]               ` <alpine.DEB.2.02.1406181523340.13771-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2014-06-18 15:08                 ` Daniel Kiper
2014-06-18 15:12                 ` Matt Fleming
2014-06-18 16:48         ` Daniel Kiper
     [not found]           ` <20140618164835.GD28489-fJNZiO034lp9pOct4yEdx/3oZC3j2Omk@public.gmane.org>
2014-06-19 14:41             ` Matt Fleming
     [not found]               ` <20140619144112.GT24049-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-06-20 14:36                 ` Daniel Kiper [this message]
2014-06-13 17:00 ` [PATCH v5 3/7] xen: Define EFI related stuff Daniel Kiper
     [not found]   ` <1402678823-24589-4-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-06-16 10:54     ` [Xen-devel] " David Vrabel
2014-06-13 17:00 ` [PATCH v5 4/7] xen: Put EFI machinery in place Daniel Kiper
2014-06-16 11:55   ` Stefano Stabellini
     [not found]     ` <alpine.DEB.2.02.1406161245490.13771-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2014-06-16 18:45       ` Daniel Kiper
     [not found]   ` <1402678823-24589-5-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-06-16 12:00     ` David Vrabel
     [not found]       ` <539EDC5D.4010207-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2014-06-16 19:06         ` Daniel Kiper
2014-06-13 17:00 ` [PATCH v5 5/7] arch/x86: Replace plain strings with constants Daniel Kiper
     [not found]   ` <1402678823-24589-6-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-06-18 13:56     ` Matt Fleming
2014-06-13 17:00 ` [PATCH v5 6/7] arch/x86: Remove redundant set_bit() call Daniel Kiper
     [not found]   ` <1402678823-24589-7-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-06-18 13:56     ` Matt Fleming
     [not found]       ` <20140618135637.GJ24049-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-06-18 14:01         ` Konrad Rzeszutek Wilk
     [not found]           ` <20140618140101.GC4651-0iZWjJA6G8GSPmnEAIUT9EEOCMrvLtNR@public.gmane.org>
2014-06-18 14:09             ` Matt Fleming
     [not found] ` <1402678823-24589-1-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-06-13 17:00   ` [PATCH v5 7/7] arch/x86: Comment out efi_set_rtc_mmss() Daniel Kiper
2014-06-16 11:43     ` Stefano Stabellini
2014-06-16 11:54       ` [Xen-devel] " Juergen Gross
     [not found]         ` <539EDAE9.7000605-IBi9RG/b67k@public.gmane.org>
2014-06-16 18:59           ` H. Peter Anvin
     [not found]     ` <1402678823-24589-8-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-06-18 14:08       ` Matt Fleming
2014-06-18 14:15   ` [PATCH v5 0/7] xen: Add EFI support Matt Fleming
     [not found]     ` <20140618141541.GM24049-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-06-18 14:31       ` Konrad Rzeszutek Wilk
     [not found]         ` <20140618143143.GB8545-0iZWjJA6G8GSPmnEAIUT9EEOCMrvLtNR@public.gmane.org>
2014-06-18 14:48           ` Matt Fleming

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=20140620143651.GE28489@olila.local.net-space.pl \
    --to=daniel.kiper-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
    --cc=andrew.cooper3-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org \
    --cc=boris.ostrovsky-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=david.vrabel-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org \
    --cc=eshelton-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org \
    --cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
    --cc=ian.campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org \
    --cc=jbeulich-IBi9RG/b67k@public.gmane.org \
    --cc=jeremy-TSDbQ3PG+2Y@public.gmane.org \
    --cc=konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org \
    --cc=matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org \
    --cc=stefano.stabellini-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org \
    --cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
    --cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b@public.gmane.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