From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933927AbdK2ROi (ORCPT ); Wed, 29 Nov 2017 12:14:38 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:23374 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932502AbdK2ROg (ORCPT ); Wed, 29 Nov 2017 12:14:36 -0500 Subject: Re: [RFC PATCH] KVM: x86: Allow Qemu/KVM to use PVH entry point To: Paolo Bonzini , boris.ostrovsky@oracle.com, jgross@suse.com, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, roger.pau@citrix.com, rkrcmar@redhat.com, JBeulich@suse.com, andrew.cooper3@citrix.com, kvm@vger.kernel.org References: <1511897682-32060-1-git-send-email-maran.wilson@oracle.com> From: Maran Wilson Organization: Oracle Corporation Message-ID: Date: Wed, 29 Nov 2017 09:14:11 -0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US 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 11/29/2017 12:59 AM, Paolo Bonzini wrote: > On 28/11/2017 20:34, Maran Wilson wrote: >> For certain applications it is desirable to rapidly boot a KVM virtual >> machine. In cases where legacy hardware and software support within the >> guest is not needed, Qemu should be able to boot directly into the >> uncompressed Linux kernel binary without the need to run firmware. >> >> There already exists an ABI to allow this for Xen PVH guests and the ABI is >> supported by Linux and FreeBSD: >> >> https://xenbits.xen.org/docs/unstable/misc/hvmlite.html >> >> This PoC patch enables Qemu to use that same entry point for booting KVM >> guests. > Nice! So QEMU would parse the ELF file just like for multiboot, find > the ELF note, and then prepare an hvmlite boot info struct instead of > the multiboot one? Yes, exactly. > There would then be a new option ROM, very similar > to multiboot.S. That is one option. I guess this gets into a discussion about the QEMU side of the upcoming patches that would follow ... I'm currently just initializing the CPU state in QEMU for testing since there is such minimal (non Linux specific) setup that is required by the ABI.  And (borrowing from the Intel clear container patches) that VM setup is only performed when user selects the "nofw" option with the q35 model. But yeah, if folks think it important to move all such machine state initialization out of QEMU and into an option ROM, I can look into coding it up that way for the QEMU patches. Thanks, -Maran > Thanks, > > Paolo