From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCH v2 3/3] paravirt: rename paravirt_enabled to paravirt_legacy Date: Mon, 8 Feb 2016 16:49:24 -0500 Message-ID: <56B90D64.8050100@oracle.com> References: <1454733014-15237-1-git-send-email-mcgrof@kernel.org> <1454733014-15237-4-git-send-email-mcgrof@kernel.org> <20160206085930.GF25240@wotan.suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20160206085930.GF25240@wotan.suse.de> Sender: linux-kernel-owner@vger.kernel.org To: "Luis R. Rodriguez" , Andy Lutomirski Cc: "Luis R. Rodriguez" , cocci@systeme.lip6.fr, Juergen Gross , mcb30@ipxe.org, Thomas Gleixner , Andrey Ryabinin , Joerg Roedel , Robert Moore , Mauro Carvalho Chehab , "Rafael J. Wysocki" , Xen Devel , "H. Peter Anvin" , Rusty Russell , Jan Beulich , Lv Zheng , "linux-kernel@vger.kernel.org" , long.wanglong@huawei.com, Fengguang Wu , qiuxishi@huawei.com, Borislav Petkov , Andrey Ryabinin , Konrad Rzeszutek Wilk , david.e.box@intel.com, X86 ML , Ingo Molnar List-Id: xen-devel@lists.xenproject.org On 02/06/2016 03:59 AM, Luis R. Rodriguez wrote: > The enumeration of legacy crap by ACPI boot flags seems to provide enough > details to suit our needs if we really wanted to zero down on the specifics of > what paravirt_legacy() means, there are these flags: > > /* Masks for FADT IA-PC Boot Architecture Flags (boot_flags) [Vx]=Introduced in this FADT revision */ > #define ACPI_FADT_LEGACY_DEVICES (1) /* 00: [V2] System has LPC or ISA bus devices */ > #define ACPI_FADT_8042 (1<<1) /* 01: [V3] System has an 8042 controller on port 60/64 */ > #define ACPI_FADT_NO_VGA (1<<2) /* 02: [V4] It is not safe to probe for VGA hardware */ > #define ACPI_FADT_NO_MSI (1<<3) /* 03: [V4] Message Signaled Interrupts (MSI) must not be enabled */ > #define ACPI_FADT_NO_ASPM (1<<4) /* 04: [V4] PCIe ASPM control must not be enabled */ > #define ACPI_FADT_NO_CMOS_RTC (1<<5) /* 05: [V5] No CMOS real-time clock present */ > > I checked and I didn't see qemu using any of the ACPI boot flags, > but I suspected qemu instances must use a series of legacy crap. > Likewise for KVM. > > coreboot defines legacy free when you don't have any of the above flags set: > #define ACPI_FADT_LEGACY_FREE 0x00 /* No legacy devices (including 8042) * > > Would it be sufficient to just stick to "pv legacy" equivalent > of requiring just ACPI_FADT_LEGACY_DEVICES and ACPI_FADT_8042 ? I believe unprivileged PV guests may be compiled without CONFIG_ACPI if you are talking about requiring (or manually setting) these flags. -boris > > I should point out It turns out ACPI_FADT_NO_CMOS_RTC matches lguest's and it > seems that's the only reason we have that RTC PV flag and the features pv > field... with the linker table + x86 subarch use it should be relatively simple > to remove paravirt_has_feature() paravirt_has() and PV_SUPPORTED_RTC. lguest > would just be the only subarch that opts out. > > Luis