xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Andy Lutomirski <luto@amacapital.net>
To: "Luis R. Rodriguez" <mcgrof@kernel.org>
Cc: cocci@systeme.lip6.fr,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	mcb30@ipxe.org, Thomas Gleixner <tglx@linutronix.de>,
	Andrey Ryabinin <aryabinin@virtuozzo.com>,
	Joerg Roedel <joro@8bytes.org>,
	Robert Moore <robert.moore@intel.com>,
	Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Jan Beulich <JBeulich@suse.com>, Lv Zheng <lv.zheng@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	long.wanglong@huawei.com, Fengguang Wu <fengguang.wu@intel.com>,
	qiuxishi@huawei.com, Borislav Petkov <bp@alien8.de>,
	Andrey Ryabinin <ryabinin.a.a@gmail.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	david.e.box@intel.com, X86 ML <x86@kernel.org>,
	Ingo
Subject: Re: [PATCH v2 3/3] paravirt: rename paravirt_enabled to paravirt_legacy
Date: Fri, 5 Feb 2016 23:11:34 -0800	[thread overview]
Message-ID: <CALCETrU3DaqUeo-n2dV_UmeAcTEV2dQRtxyb-atMP6WFDDif3Q@mail.gmail.com> (raw)
In-Reply-To: <1454733014-15237-4-git-send-email-mcgrof@kernel.org>

On Feb 5, 2016 8:30 PM, "Luis R. Rodriguez" <mcgrof@kernel.org> wrote:
>
> paravirt_enabled conveys the idea that if this is set or if
> paravirt_enabled() returns true you are in a paravirtualized
> environment. This is not true by any means, and left as-is
> is just causing confusion and is prone to be misused and abused.
>
> This primitive is really only useful to determine if you have a
> paravirtualization hypervisor that supports legacy paravirtualized
> guests. At run time, this tells us if we've booted into a Linux guest
> with support for legacy devices and features.
>
> To avoid further issues with semantics on this we loosely borrow
> the definition of "legacy" from both the ACPI 5.2.9.3 "IA-PC Boot
> Architecture Flags" section and the PC 2001 definition in the PC
> Systems design guide [0]:
>
>   paravirt_legacy() is true if this hypervisor supports legacy
>                     x86 paravirtualized guests.

This needs to be far more concrete.  I'm reasonably well versed in x86
details relevant to kernels ans I have *no clue* what your semantics
mean.

> +/**
> + * struct pv_info - paravirt hypervisor information
> + *
> + * @supports_x86_legacy: true if this hypervisor supports legacy x86
> + *     paravirtualized guests.  The definition of legacy here adheres
> + *     *loosely* to both the notion of legacy in the ACPI 5.2.9.3 "IA-PC Boot
> + *     Architecture Flags" section and the PC 2001 "legacy free" concept [1]
> + *     referred to in the PC System Design Guide [2] [3] on Chapter 3, Page 50
> + *     [4].  Legacy x86 guests systems are guest systems which are not "legacy
> + *     free" as per the PC 2001 definition, and in the ACPI sense could have
> + *     any of the legacy ACPI IA-PC Boot architecture flags set. These are x86
> + *     systems with any type of legacy peripherals or requirements.
> + *
> + *     Examples of some popular legacy peripherals:
> + *
> + *       a) Floppy drive
> + *       b) Legacy ports [1] such as such as parallel ports, PS/2 connectors,
> + *          serial ports / RS-232, game ports Parallel ATA, and IEEE 1394
> + *       c) ISA bus
> + *
> + *     Examples of features required to support such type of legacy guests
> + *     are the need for APM and a PNP BIOS.

Seriously?  I think you just defined every standard native x86 system
as well as QEMU/KVM as "legacy".

Can we just enumerate this crap?  I propose:

Xen PV and lguest are paravirt_legacy.  Nothing else is
paravirt_legacy.  The addition of new paravirt_legacy support is
strongly discouraged.

--Andy

  reply	other threads:[~2016-02-06  7:11 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-06  4:30 [PATCH v2 0/3] paravirt: rebrand paravirt_enabled as paravirt_legacy Luis R. Rodriguez
2016-02-06  4:30 ` [PATCH v2 1/3] paravirt: use bool for paravirt_enabled() and paravirt_has_feature() Luis R. Rodriguez
2016-02-06  4:30 ` [PATCH v2 2/3] paravirt: replace direct access to pv_info.paravirt_enabled Luis R. Rodriguez
2016-02-06  4:30 ` [PATCH v2 3/3] paravirt: rename paravirt_enabled to paravirt_legacy Luis R. Rodriguez
2016-02-06  7:11   ` Andy Lutomirski [this message]
2016-02-06  8:59     ` Luis R. Rodriguez
2016-02-06 20:05       ` Andy Lutomirski
2016-02-06 22:04         ` Borislav Petkov
2016-02-08 15:39           ` Boris Ostrovsky
2016-02-08 15:55             ` Borislav Petkov
2016-02-08 16:05               ` [Xen-devel] " Andrew Cooper
2016-02-08 16:12                 ` Boris Ostrovsky
2016-02-08 16:26                   ` Andrew Cooper
2016-02-08 16:31                     ` Boris Ostrovsky
2016-02-08 16:32                       ` Andrew Cooper
2016-02-08 16:35                       ` Borislav Petkov
2016-02-08 16:38                         ` Andrew Cooper
2016-02-08 16:45                           ` Borislav Petkov
2016-02-08 16:52                             ` Boris Ostrovsky
2016-02-08 20:45                               ` Boris Ostrovsky
2016-02-08 21:06                                 ` Borislav Petkov
2016-02-08 16:53                             ` Andrew Cooper
2016-02-08 17:13                               ` Borislav Petkov
2016-02-09  6:22                               ` Luis R. Rodriguez
2016-02-08 16:41                         ` Boris Ostrovsky
2016-02-08 16:52                           ` Borislav Petkov
2016-02-08 15:31         ` Boris Ostrovsky
2016-02-08 15:46           ` Borislav Petkov
2016-02-09  6:59             ` Luis R. Rodriguez
2016-02-08 21:04           ` Andy Lutomirski
2016-02-09  7:06           ` Luis R. Rodriguez
2016-02-17 20:07             ` Luis R. Rodriguez
2016-02-17 20:49               ` Borislav Petkov
2016-02-17 21:12                 ` Luis R. Rodriguez
2016-02-17 21:21                 ` Boris Ostrovsky
2016-02-17 22:03                   ` Borislav Petkov
2016-02-17 22:18                     ` Andy Lutomirski
2016-02-17 22:39                       ` Boris Ostrovsky
2016-02-17 23:39                         ` Borislav Petkov
2016-02-17 22:19                     ` Boris Ostrovsky
2016-02-17 22:35                     ` Luis R. Rodriguez
2016-02-09  6:41         ` Luis R. Rodriguez
2016-02-08 21:49       ` Boris Ostrovsky

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=CALCETrU3DaqUeo-n2dV_UmeAcTEV2dQRtxyb-atMP6WFDDif3Q@mail.gmail.com \
    --to=luto@amacapital.net \
    --cc=JBeulich@suse.com \
    --cc=aryabinin@virtuozzo.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=cocci@systeme.lip6.fr \
    --cc=david.e.box@intel.com \
    --cc=fengguang.wu@intel.com \
    --cc=hpa@zytor.com \
    --cc=jgross@suse.com \
    --cc=joro@8bytes.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=long.wanglong@huawei.com \
    --cc=lv.zheng@intel.com \
    --cc=mcb30@ipxe.org \
    --cc=mcgrof@kernel.org \
    --cc=mchehab@osg.samsung.com \
    --cc=qiuxishi@huawei.com \
    --cc=rafael.j.wysocki@intel.com \
    --cc=robert.moore@intel.com \
    --cc=rusty@rustcorp.com.au \
    --cc=ryabinin.a.a@gmail.com \
    --cc=tglx@linutronix.de \
    --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).