linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@suse.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: "Luis R. Rodriguez" <mcgrof@kernel.org>,
	bp@alien8.de, rusty@rustcorp.com.au, x86@kernel.org,
	linux-kernel@vger.kernel.org, luto@amacapital.net,
	xen-devel@lists.xensource.com, boris.ostrovsky@oracle.com
Subject: Re: [Xen-devel] [PATCH 0/9] x86/init: replace paravirt_enabled() were possible
Date: Fri, 19 Feb 2016 15:36:44 +0100	[thread overview]
Message-ID: <20160219143644.GN25240@wotan.suse.de> (raw)
In-Reply-To: <56C71A03.7030105@citrix.com>

On Fri, Feb 19, 2016 at 01:34:59PM +0000, David Vrabel wrote:
> On 19/02/16 13:08, Luis R. Rodriguez wrote:
> > I originally set out to rename paravirt_enabled() to paravirt_legacy()
> > but we instead decided to remove paravirt_enabled() completely. Although
> > I have some linker table work which will help make this cleaner, instead
> > of waiting for that to go in, just remove the known cases that should
> > be safe for paravirt_enabled() and also replace it for the subarch
> > use.
> 
> I don't understand the purpose of this series.  How is replacing "if
> (A)" with "if (B)" an improvement?

Its about semantics. Let's recall I first set out to simply document
paravirt_enabled() as per Konrad's recommendation I also renamed it
to avoid confusion. What we've learned is that paravirt_enabled()'s
semantics were a mishap due to two main factors:

  1) Industry moving way from legacy:
    a) Exhibit A: PC system design guide  [0] - Move by Intel and
       Microsoft to help build legacy free systems.
    b) EXhibit B: ACPI IA-PC boot architecture flags (all for legacy)
  2) The array of different guest types during this time.

The best thing we had was subarch added via boot protocol 2.07
but as I've learned only lguest and a few hacks picked it up,
even though Xen clearly had a subarch added for it. The current
"grey" area of different guest types does not help, but this
just means we lack way to further describe things.

[0] http://tech-insider.org/windows/research/2000/1102.html

> Using the hardware subarch in this way looks like paravirt_enabled()
> with a slightly different flavour and I don't think this is that useful
> to determine if certain hardware features should be used.

I agree, and it was not my goal to just leave it like that.
The *real* way I am targeting use of the subarch is reflected
in how I am proposing we use linker tables and dependency
relationships on x86. Please refer to that series where
such annotations added here are removed. I posted this
series separately as otherwise the clutch to removal of
paravirt_enabled() is the progress on linker tables. That
may take time.

> I think you should consider a finer-grained set of feature bits.  e.g.,
> platform_has_pc_rtc() and platform_has_tboot() etc.

Are you suggesting as further x86 boot protocol changes?

  Luis

      reply	other threads:[~2016-02-19 14:36 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-19 13:08 [PATCH 0/9] x86/init: replace paravirt_enabled() were possible Luis R. Rodriguez
2016-02-19 13:08 ` [PATCH 1/9] x86/boot: enumerate documentation for the x86 hardware_subarch Luis R. Rodriguez
2016-02-19 13:19   ` [Xen-devel] " Juergen Gross
2016-02-19 13:40   ` David Vrabel
2016-02-19 14:40     ` Luis R. Rodriguez
2016-02-19 13:08 ` [PATCH 2/9] tools/lguest: make lguest launcher use X86_SUBARCH_LGUEST explicitly Luis R. Rodriguez
2016-02-19 13:08 ` [PATCH 3/9] x86/xen: use X86_SUBARCH_XEN for PV guest boots Luis R. Rodriguez
2016-02-19 13:08 ` [PATCH 4/9] x86/init: make ebda depend on PC subarch Luis R. Rodriguez
2016-02-19 13:08 ` [PATCH 5/9] apm32: remove paravirt_enabled() use Luis R. Rodriguez
2016-02-19 15:08   ` Boris Ostrovsky
2016-02-19 20:58     ` Luis R. Rodriguez
2016-02-19 22:17       ` Boris Ostrovsky
2016-02-20  0:42         ` Luis R. Rodriguez
2016-02-22 14:15           ` Boris Ostrovsky
2016-02-19 13:08 ` [PATCH 6/9] x86/tboot: remove paravirt_enabled() Luis R. Rodriguez
2016-02-19 13:08 ` [PATCH 7/9] x86/cpu/intel: replace paravirt_enabled() for f00f work around Luis R. Rodriguez
2016-02-19 13:08 ` [PATCH 8/9] x86/rtc: replace paravirt_enabled() check with subarch check Luis R. Rodriguez
2016-02-19 13:22   ` [Xen-devel] " Juergen Gross
2016-02-19 14:48     ` Luis R. Rodriguez
2016-02-22  6:07       ` Luis R. Rodriguez
2016-02-22 10:27         ` Borislav Petkov
2016-02-22 14:34           ` Boris Ostrovsky
2016-02-22 23:12             ` Luis R. Rodriguez
2016-02-19 13:27   ` David Vrabel
2016-02-19 13:08 ` [PATCH 9/9] pnpbios: replace paravirt_enabled() check with subarch checks Luis R. Rodriguez
2016-02-19 13:34 ` [Xen-devel] [PATCH 0/9] x86/init: replace paravirt_enabled() were possible David Vrabel
2016-02-19 14:36   ` Luis R. Rodriguez [this message]

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=20160219143644.GN25240@wotan.suse.de \
    --to=mcgrof@suse.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=david.vrabel@citrix.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mcgrof@kernel.org \
    --cc=rusty@rustcorp.com.au \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xensource.com \
    /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;
as well as URLs for NNTP newsgroup(s).