From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756631AbcBHVuc (ORCPT ); Mon, 8 Feb 2016 16:50:32 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:35160 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756293AbcBHVua (ORCPT ); Mon, 8 Feb 2016 16:50:30 -0500 Subject: Re: [PATCH v2 3/3] paravirt: rename paravirt_enabled to paravirt_legacy To: "Luis R. Rodriguez" , Andy Lutomirski References: <1454733014-15237-1-git-send-email-mcgrof@kernel.org> <1454733014-15237-4-git-send-email-mcgrof@kernel.org> <20160206085930.GF25240@wotan.suse.de> 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 From: Boris Ostrovsky Message-ID: <56B90D64.8050100@oracle.com> Date: Mon, 8 Feb 2016 16:49:24 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <20160206085930.GF25240@wotan.suse.de> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.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