From nobody Sat Jul 12 04:36:43 2025 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 167767954044116.337891433494065; Wed, 1 Mar 2023 06:05:40 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXMwV-0007HP-KO; Wed, 01 Mar 2023 08:56:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pXMt6-0000Db-Hj for qemu-devel@nongnu.org; Wed, 01 Mar 2023 08:52:57 -0500 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pXMsv-0002pS-4d for qemu-devel@nongnu.org; Wed, 01 Mar 2023 08:52:55 -0500 Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92]) by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1pXMse-00EuW6-0q; Wed, 01 Mar 2023 13:52:33 +0000 Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat Linux)) id 1pXMse-0049Wx-0U; Wed, 01 Mar 2023 13:52:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description; bh=edPrjZFrwEAkLcUw2PBjZF8aN4LWF92yuyBWnfs2oyg=; b=ob4+kEKmHp2dYHzZFGVv/D36LM nThn5fp07r1BjzG789NSz7Fph6S4gaxC4pKIYKiVcc6P/KZ6XrTyMbc/HnfL9EANU35U3+DltgkBo ynrjvsehPHNlPHDzVfOpNdh2VBPsVQF1ygJ9n3fNkaEAiB68zM8/VOOPLXgBEmtzYaWlFTc1Dc4EL PMYGJ6O7ZsVhNtWvqmEHmB3ZWoDIgLmjzOura1C4RSVQY3/GwqFYTFhQE4G1O0Do8Fx1W/LPKPo0Z 32mMSIrmK3MjRgeIzkReLCo9jqzAze1wR5CGyn4LV48PX/s/rCja/Qq3x3LIqv1X62LK4eu8v8QYQ ttdhfQAg==; From: David Woodhouse To: Peter Maydell , qemu-devel@nongnu.org Cc: Paolo Bonzini , Paul Durrant , Joao Martins , Ankur Arora , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Juan Quintela , "Dr . David Alan Gilbert" , Claudio Fontana , Julien Grall , "Michael S. Tsirkin" , Marcel Apfelbaum , armbru@redhat.com, Stefano Stabellini , vikram.garhwal@amd.com Subject: [PATCH v15 49/60] i386/xen: handle HVMOP_get_param Date: Wed, 1 Mar 2023 13:52:12 +0000 Message-Id: <20230301135223.988336-50-dwmw2@infradead.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230301135223.988336-1-dwmw2@infradead.org> References: <20230301135223.988336-1-dwmw2@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SRS-Rewrite: SMTP reverse-path rewritten from by desiato.infradead.org. See http://www.infradead.org/rpr.html Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2001:8b0:10b:1:d65d:64ff:fe57:4e05; envelope-from=BATV+1cb70579e185fe7dd8a8+7129+infradead.org+dwmw2@desiato.srs.infradead.org; helo=desiato.infradead.org X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1677679542413100003 Content-Type: text/plain; charset="utf-8" From: Joao Martins Which is used to fetch xenstore PFN and port to be used by the guest. This is preallocated by the toolstack when guest will just read those and use it straight away. Signed-off-by: Joao Martins Signed-off-by: David Woodhouse Reviewed-by: Paul Durrant --- target/i386/kvm/xen-emu.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c index 75bcf7b630..d2c88ef0d9 100644 --- a/target/i386/kvm/xen-emu.c +++ b/target/i386/kvm/xen-emu.c @@ -765,6 +765,42 @@ out: return true; } =20 +static bool handle_get_param(struct kvm_xen_exit *exit, X86CPU *cpu, + uint64_t arg) +{ + CPUState *cs =3D CPU(cpu); + struct xen_hvm_param hp; + int err =3D 0; + + /* No need for 32/64 compat handling */ + qemu_build_assert(sizeof(hp) =3D=3D 16); + + if (kvm_copy_from_gva(cs, arg, &hp, sizeof(hp))) { + err =3D -EFAULT; + goto out; + } + + if (hp.domid !=3D DOMID_SELF && hp.domid !=3D xen_domid) { + err =3D -ESRCH; + goto out; + } + + switch (hp.index) { + case HVM_PARAM_STORE_PFN: + hp.value =3D XEN_SPECIAL_PFN(XENSTORE); + break; + default: + return false; + } + + if (kvm_copy_to_gva(cs, arg, &hp, sizeof(hp))) { + err =3D -EFAULT; + } +out: + exit->u.hcall.result =3D err; + return true; +} + static int kvm_xen_hcall_evtchn_upcall_vector(struct kvm_xen_exit *exit, X86CPU *cpu, uint64_t arg) { @@ -809,6 +845,9 @@ static bool kvm_xen_hcall_hvm_op(struct kvm_xen_exit *e= xit, X86CPU *cpu, case HVMOP_set_param: return handle_set_param(exit, cpu, arg); =20 + case HVMOP_get_param: + return handle_get_param(exit, cpu, arg); + default: return false; } --=20 2.39.0