From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607456237; cv=none; d=zohomail.com; s=zohoarc; b=dlMrAKlTvWFEqnDQi8RqpOTZ47/Hnt5RV1Ay8DDILrZrqZtgIupHNjmDdCnd2zDMmp+fY4DgWShenKym2RcMRqi8zubSFymyz6Vuna9fxbsIL02DopIL6jQshOmMqZuMzPJ/jnbt/Fi0NmnCrB4Jg5jv1poGtp7aovt/cYGMRVU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607456237; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=T1SVHdVGU4Xx3+1TvaSIiSga1fTtl00R2aC0nHg/hx0=; b=XyO//ugUrotW8XY67Tg/2Jkyzo7ZdRf8oeSLF2+fcVOngclzjaUCYM0ha2NYsJ04sXFzXA1Y8gwy4od8yp1k7xZa/w8XpxPgDh8P+kAg2PMDL+uoO2KiqSpWdG4u/GOQOpDXH6rr7xlAnviR/mwPa6eI6jdcPimFc99W/+wnen0= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607456237173186.25283238455097; Tue, 8 Dec 2020 11:37:17 -0800 (PST) Received: from localhost ([::1]:33952 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kminT-0006wO-FV for importer@patchew.org; Tue, 08 Dec 2020 14:37:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48648) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikJ-0004j7-38 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:00 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:37604) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmik5-0004df-85 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:33:57 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-482-_IIFLxVUO0uV5r0gq-H4Hw-1; Tue, 08 Dec 2020 14:33:41 -0500 Received: by mail-wr1-f72.google.com with SMTP id o4so2929857wrw.19 for ; Tue, 08 Dec 2020 11:33:41 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id y2sm21154456wrn.31.2020.12.08.11.33.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:33:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=T1SVHdVGU4Xx3+1TvaSIiSga1fTtl00R2aC0nHg/hx0=; b=EA4icgfx0xJPdjCfTzZ9lEbuZ5LZL+68laaGmkfragBroPz9AlFZ6wVdWrZiFCKW4OxQY6 ce2pFarUothV9KQ89KUkdzqmH8/mY4mA6jiPRy54/3WscBnGRP5aBoo889/GJNTfazvIFN Gvq+9cFd9GzJM2Aszn1w00omnsMRB1M= X-MC-Unique: _IIFLxVUO0uV5r0gq-H4Hw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=T1SVHdVGU4Xx3+1TvaSIiSga1fTtl00R2aC0nHg/hx0=; b=RKCbN/oaIIgFFXaKXsOoqIp+ihVI0kZJBCudlnIL8Qk4ObOgms3fUJmKSPB0SYDM8O 5CEC6qhScJ2z2gAPhSvBu8T3TP8R0C2GOEFvtXmokMdoV88p5VXxynR+CvhF89Q3CbOE 7LKcqiB+78PP6Y7wP3HHkzkmJ5xGO7AlbR2aLhqWnIZyIaNTV3yNNAMwwjPyoveQ8+AW iqZ/+dF2+LVdFRF6SMXW/5meNq2Ckaui+TpY0JjTedKffJuN1use3LTREPhYmmzMJDUA XTB7aI1E96S8z/4xR4tDO5D69Emz2x5ZhR+EyXyAECKW2x6J5AHWYDKWZw0+QFpH0I1M DKlw== X-Gm-Message-State: AOAM532ZfcbCp3+E4Cs3ZOFKQgouw346agkzk5m0mKvdAWdGNRiIvzRf bSt0esmyjJIjr+FhTZ5JdM0NRvAGaSpyDHhyO6TI/3FGn6m36u6gBqHVeuCjvZoA/ECntjqP2Cr JINQL5OLCErJbqDhf6Kh66vnUm1YW18C/S322Wuex49q/jh7zou9u/t4JRj+3 X-Received: by 2002:adf:d081:: with SMTP id y1mr8279507wrh.388.1607456020396; Tue, 08 Dec 2020 11:33:40 -0800 (PST) X-Google-Smtp-Source: ABdhPJzSQYdFCqZPwsZr6YeQAnX3j/tZT3HV8RNkEbnC+8Nvk8+WVcopWgYRO2MgyomHUxo6zTYznw== X-Received: by 2002:adf:d081:: with SMTP id y1mr8279485wrh.388.1607456020220; Tue, 08 Dec 2020 11:33:40 -0800 (PST) Date: Tue, 8 Dec 2020 14:33:37 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 01/66] vhost-user-scsi: Fix memleaks in vus_proc_req() Message-ID: <20201208193307.646726-2-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alex Chen , Peter Maydell , Raphael Norwitz , Euler Robot Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alex Chen The 'elem' is allocated memory in vu_queue_pop(), and its memory should be freed in all error branches after vu_queue_pop(). In addition, in order to free the 'elem' memory outside of while(1) loop, m= ove the definition of 'elem' to the beginning of vus_proc_req(). Reported-by: Euler Robot Signed-off-by: Alex Chen Reviewed-by: Raphael Norwitz Message-Id: <20201125013055.34147-1-alex.chen@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/vhost-user-scsi/vhost-user-scsi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contrib/vhost-user-scsi/vhost-user-scsi.c b/contrib/vhost-user= -scsi/vhost-user-scsi.c index 0f9ba4b2a2..4639440a70 100644 --- a/contrib/vhost-user-scsi/vhost-user-scsi.c +++ b/contrib/vhost-user-scsi/vhost-user-scsi.c @@ -232,6 +232,7 @@ static void vus_proc_req(VuDev *vu_dev, int idx) VugDev *gdev; VusDev *vdev_scsi; VuVirtq *vq; + VuVirtqElement *elem =3D NULL; =20 assert(vu_dev); =20 @@ -248,7 +249,6 @@ static void vus_proc_req(VuDev *vu_dev, int idx) g_debug("Got kicked on vq[%d]@%p", idx, vq); =20 while (1) { - VuVirtqElement *elem; VirtIOSCSICmdReq *req; VirtIOSCSICmdResp *rsp; =20 @@ -288,6 +288,7 @@ static void vus_proc_req(VuDev *vu_dev, int idx) =20 free(elem); } + free(elem); } =20 static void vus_queue_set_started(VuDev *vu_dev, int idx, bool started) --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607456618; cv=none; d=zohomail.com; s=zohoarc; b=K/BwBQxJ9R7BwS8SxdUjDakEGGLff2cbq+GJ+67J2rL97jBOQQrXipP5Tf620tqygY+9bn/3t5MxJClWzpnABBeUwJIDoDu0bN0q/2NnCiemFFeQieKrtPz5AbSewTF2afaJEW4XN6BdwMtJ+LBsuZTIr20mrDZZ4Gm88NN0Y64= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607456618; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=kU8LLfrD++DTckVdz92f3StgJjIwiPAzY3tPlKdDYNE=; b=Lhkptodo1Kg3HMYwvm2EJmiHtMpiLgKTkaHWjsqJzYvVoNRzWpTdLwgLqWe5WoMPT0GnxZkh6zf6sZwkB2I4AOE7bZdbYbKjdUI72unEK/pmptEr0q5zSXLcrhV9opwCHhjVa+Y+BqK3anjzBLljuN+gr/vH804TyTci+Wze2NI= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607456618180549.0737780457348; Tue, 8 Dec 2020 11:43:38 -0800 (PST) Received: from localhost ([::1]:47644 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmitc-0004Sf-WF for importer@patchew.org; Tue, 08 Dec 2020 14:43:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48656) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikK-0004jh-4d for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:00 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:33312) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikG-0004f1-Jo for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:33:59 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-338-hicq0NNMPjaAW9XfOVbnbw-1; Tue, 08 Dec 2020 14:33:46 -0500 Received: by mail-wr1-f70.google.com with SMTP id r8so4403419wro.22 for ; Tue, 08 Dec 2020 11:33:46 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id z13sm6379449wmz.3.2020.12.08.11.33.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:33:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kU8LLfrD++DTckVdz92f3StgJjIwiPAzY3tPlKdDYNE=; b=UWSee/nhHX+1nhCByEW1bdqcGeIZpNEm8dKWzydh+ebyZLXbf70WXNFZD8QHxljTvkSTqB UbFyug5jSjis0rsKnOdOYNfrfGhkz8nroGyN5u6Im9BppsVRXbyR97DyjUO3Fbc/GQWfO4 qlei3ohB9bjGhiAq62XNYtUstPfIIks= X-MC-Unique: hicq0NNMPjaAW9XfOVbnbw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=kU8LLfrD++DTckVdz92f3StgJjIwiPAzY3tPlKdDYNE=; b=MRDaRjxI7WzHSfDl5pF5hhd9FvOFEBgLN7SqLCbHe9tKB/JTJjOPHcgdHjCUH+AkIQ 5cL3gwD8FLrA8GbGg0+L/CL0hU5r5W3J+Ulge9GMVFXPk1P8Y2MeYrazUgxaJdcmAR6P YfSluC059PbHBcDjIgjsoUQdSTDr11quKmlmTLmBW+jNH7jwl7TllUgd+05rYFJ2zQiG hlcJBui5zRNZ+veRosdtGq8FJpeIqIySQy9tT/OZeJtVdFTw4QSeTf6LlFPDaTRShph6 Pd8QRA18pQ+N6c+CMCQIksSnKjL5v0q4nQy+VI86dft/LgKzaFdTn0alR9J9VTgDyWXd tFbw== X-Gm-Message-State: AOAM532WsNODQUtJ8XIHEip7J1l4W+yUgA4IGmoE6Yqxusd1V0E8D5C/ 26VnIBVQHfe4eY195Pm8OeGB+pt97nONtHqt2h4dufLmeu5aCaAbPqRS97lmPXgQYVG2ai7puiy dq9WQFua2z1J5pZ9j8xr8ErxIANrwImauQSwepkeIWTA6xIrcSmrWSS/ZAy0b X-Received: by 2002:a1c:e901:: with SMTP id q1mr5280516wmc.148.1607456024758; Tue, 08 Dec 2020 11:33:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJzJiDyOSq+O4I2fgk97OAVuAo8e7BLjH8qZmfP6dpt8dtD07H6etgjhJ4zWYFWe5oU5grXN6A== X-Received: by 2002:a1c:e901:: with SMTP id q1mr5280482wmc.148.1607456024465; Tue, 08 Dec 2020 11:33:44 -0800 (PST) Date: Tue, 8 Dec 2020 14:33:40 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 02/66] memory: Rename memory_region_notify_one to memory_region_notify_iommu_one Message-ID: <20201208193307.646726-3-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Eduardo Habkost , Juan Quintela , Jason Wang , Richard Henderson , Peter Xu , Eric Auger , qemu-arm@nongnu.org, Paolo Bonzini , Eugenio =?utf-8?B?UMOpcmV6?= , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Eugenio P=C3=A9rez Previous name didn't reflect the iommu operation. Signed-off-by: Eugenio P=C3=A9rez Reviewed-by: Peter Xu Reviewed-by: David Gibson Reviewed-by: Juan Quintela Reviewed-by: Eric Auger Acked-by: Jason Wang Message-Id: <20201116165506.31315-2-eperezma@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/exec/memory.h | 6 +++--- hw/arm/smmu-common.c | 2 +- hw/arm/smmuv3.c | 2 +- hw/i386/intel_iommu.c | 4 ++-- softmmu/memory.c | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/exec/memory.h b/include/exec/memory.h index 0f3e6bcd5e..d8456ccf52 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -236,7 +236,7 @@ enum IOMMUMemoryRegionAttr { * The IOMMU implementation must use the IOMMU notifier infrastructure * to report whenever mappings are changed, by calling * memory_region_notify_iommu() (or, if necessary, by calling - * memory_region_notify_one() for each registered notifier). + * memory_region_notify_iommu_one() for each registered notifier). * * Conceptually an IOMMU provides a mapping from input address * to an output TLB entry. If the IOMMU is aware of memory transaction @@ -1346,7 +1346,7 @@ void memory_region_notify_iommu(IOMMUMemoryRegion *io= mmu_mr, IOMMUTLBEntry entry); =20 /** - * memory_region_notify_one: notify a change in an IOMMU translation + * memory_region_notify_iommu_one: notify a change in an IOMMU translation * entry to a single notifier * * This works just like memory_region_notify_iommu(), but it only @@ -1357,7 +1357,7 @@ void memory_region_notify_iommu(IOMMUMemoryRegion *io= mmu_mr, * replaces all old entries for the same virtual I/O address range. * Deleted entries have .@perm =3D=3D 0. */ -void memory_region_notify_one(IOMMUNotifier *notifier, +void memory_region_notify_iommu_one(IOMMUNotifier *notifier, IOMMUTLBEntry *entry); =20 /** diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c index 3838db1395..88d2c454f0 100644 --- a/hw/arm/smmu-common.c +++ b/hw/arm/smmu-common.c @@ -472,7 +472,7 @@ static void smmu_unmap_notifier_range(IOMMUNotifier *n) entry.perm =3D IOMMU_NONE; entry.addr_mask =3D n->end - n->start; =20 - memory_region_notify_one(n, &entry); + memory_region_notify_iommu_one(n, &entry); } =20 /* Unmap all notifiers attached to @mr */ diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 22607c3784..273f5f7dce 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -828,7 +828,7 @@ static void smmuv3_notify_iova(IOMMUMemoryRegion *mr, entry.addr_mask =3D num_pages * (1 << granule) - 1; entry.perm =3D IOMMU_NONE; =20 - memory_region_notify_one(n, &entry); + memory_region_notify_iommu_one(n, &entry); } =20 /* invalidate an asid/iova range tuple in all mr's */ diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 70ac837733..067593b9e4 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -3497,7 +3497,7 @@ static void vtd_address_space_unmap(VTDAddressSpace *= as, IOMMUNotifier *n) /* This field is meaningless for unmap */ entry.translated_addr =3D 0; =20 - memory_region_notify_one(n, &entry); + memory_region_notify_iommu_one(n, &entry); =20 start +=3D mask; remain -=3D mask; @@ -3535,7 +3535,7 @@ static void vtd_address_space_refresh_all(IntelIOMMUS= tate *s) =20 static int vtd_replay_hook(IOMMUTLBEntry *entry, void *private) { - memory_region_notify_one((IOMMUNotifier *)private, entry); + memory_region_notify_iommu_one((IOMMUNotifier *)private, entry); return 0; } =20 diff --git a/softmmu/memory.c b/softmmu/memory.c index 11ca94d037..44de610c72 100644 --- a/softmmu/memory.c +++ b/softmmu/memory.c @@ -1942,8 +1942,8 @@ void memory_region_unregister_iommu_notifier(MemoryRe= gion *mr, memory_region_update_iommu_notify_flags(iommu_mr, NULL); } =20 -void memory_region_notify_one(IOMMUNotifier *notifier, - IOMMUTLBEntry *entry) +void memory_region_notify_iommu_one(IOMMUNotifier *notifier, + IOMMUTLBEntry *entry) { IOMMUNotifierFlag request_flags; hwaddr entry_end =3D entry->iova + entry->addr_mask; @@ -1979,7 +1979,7 @@ void memory_region_notify_iommu(IOMMUMemoryRegion *io= mmu_mr, =20 IOMMU_NOTIFIER_FOREACH(iommu_notifier, iommu_mr) { if (iommu_notifier->iommu_idx =3D=3D iommu_idx) { - memory_region_notify_one(iommu_notifier, &entry); + memory_region_notify_iommu_one(iommu_notifier, &entry); } } } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607456542; cv=none; d=zohomail.com; s=zohoarc; b=gp0Uihr9pypOzhZeqwzyAL6UlGYdFXSkc02xcoPHSA1JlUmDR6kw3GVaiXXttPcizq9wFZ5h4tf71LEta0W3TVcKrnjNPktcj565/xA4WoTQ4XCvlinu+64HwW1dTuFgNxLzc2etRJd6pMh34Uy2oBlBxZYHcK8nhHYHufd/quM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607456542; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hCZCKCuFOJBCydymGeiwWLBXi/oP0lMJNiHZPbP0zJw=; b=k/qKx7NFIAUg6d6D43qChHTYzPJBwlKoKzXosL9Ha6VajC0cZnvQ0OwWu0kWsnEass4K80igqFcWP7zJAlq1Ff+Lvr4vKvNnQhiTCNKK+UNHQqjZJ1lezvA7sNnBALT3cZrOFCNcmPO+5C1pUVF+3j4gkR45iWAx1F3tA7hNGpo= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607456542317439.45505777527774; Tue, 8 Dec 2020 11:42:22 -0800 (PST) Received: from localhost ([::1]:43818 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmisP-0002t5-0d for importer@patchew.org; Tue, 08 Dec 2020 14:42:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48694) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikN-0004ou-FT for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:03 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:27937) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikI-0004ff-NX for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:03 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-180-qCwXYpqLMQuqFOVpLPrBAA-1; Tue, 08 Dec 2020 14:33:51 -0500 Received: by mail-wm1-f72.google.com with SMTP id z12so1267028wmf.9 for ; Tue, 08 Dec 2020 11:33:51 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id f9sm13119002wrw.81.2020.12.08.11.33.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:33:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hCZCKCuFOJBCydymGeiwWLBXi/oP0lMJNiHZPbP0zJw=; b=E/WeGmJVpa1cHTQjoViTqLkaQIieRcZV5jzy8T0ttZQRWBoS9BXCW0cHAPTnnRFc9yw+mG FKjnUR03Kby4tVqTS2qEQcfSRDFxvenFbfOqhU8OPoQp4EzYGKOfxNWU2VJ41wxjxnI067 9CNVch9QkHe3GHfmdn4P0cbOdrXh1HU= X-MC-Unique: qCwXYpqLMQuqFOVpLPrBAA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=hCZCKCuFOJBCydymGeiwWLBXi/oP0lMJNiHZPbP0zJw=; b=iTGtMBOTQESMsJxFq2GjVwo5ela7hMEcTTV7D3GsC3mok9may4yRrwie7lnAqP9s0B ZFfbkY/MIFIV0H8HhbcvOKexA+RcnirRt+nH5nYS8j1qcrmEhprA6p4Exb6ERDgdJTWG zYh2N0UmaSjmOXRGkdNva1TYvHRH1nmlG2hExseDElZWvEePCLIEFDc+TK2gYpA31s4z uZe7xgZqEQ5aqa0KaDGbsTkmuuaKvovpbEXY746PhRrhkkB4OCBu59amx2l4Lxc8ksO/ 9T4EPcAYAEiBbKmq7oPm5yjvlcWBn9cAVONqC48HhJ1RaioxZJWKseZ0ZUf0ofYzETak Cz8Q== X-Gm-Message-State: AOAM530eYHYL2O6Cfzka9q4RNad20M6/Y+eYaXrCNi8z7Tf7XXdrXeO8 FNp+fV1FE3O5rykjNJusq1qHVR5YWWhYsat3kcm/ARqQBipBeBEmppVrxC7yEH45LKBkn8htmjA ZjS8akEanPRixZwuBuboV/0KL8WD7NLi7PpEUD/lIflQKbPSmD9a/1UAq7SXc X-Received: by 2002:a1c:1d1:: with SMTP id 200mr5302384wmb.98.1607456029375; Tue, 08 Dec 2020 11:33:49 -0800 (PST) X-Google-Smtp-Source: ABdhPJzKZeIXYeYYl88wrwl33/uwww8sWMFpKH3woTJob6xTfo3BK+1R3WdQLsPcHRgjpHocQlUgqA== X-Received: by 2002:a1c:1d1:: with SMTP id 200mr5302339wmb.98.1607456028924; Tue, 08 Dec 2020 11:33:48 -0800 (PST) Date: Tue, 8 Dec 2020 14:33:44 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 03/66] memory: Add IOMMUTLBEvent Message-ID: <20201208193307.646726-4-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Thomas Huth , Cornelia Huck , Matthew Rosato , Juan Quintela , Jason Wang , David Hildenbrand , Richard Henderson , Peter Xu , Halil Pasic , Eugenio =?utf-8?B?UMOpcmV6?= , qemu-s390x@nongnu.org, qemu-arm@nongnu.org, qemu-ppc@nongnu.org, Eric Auger , Paolo Bonzini , Eduardo Habkost , Christian Borntraeger , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Eugenio P=C3=A9rez This way we can tell between regular IOMMUTLBEntry (entry of IOMMU hardware) and notifications. In the notifications, we set explicitly if it is a MAPs or an UNMAP, instead of trusting in entry permissions to differentiate them. Signed-off-by: Eugenio P=C3=A9rez Reviewed-by: Peter Xu Reviewed-by: Juan Quintela Acked-by: Jason Wang Message-Id: <20201116165506.31315-3-eperezma@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Matthew Rosato Acked-by: David Gibson --- include/exec/memory.h | 27 ++++++------ hw/arm/smmu-common.c | 13 +++--- hw/arm/smmuv3.c | 13 +++--- hw/i386/intel_iommu.c | 88 ++++++++++++++++++++++------------------ hw/misc/tz-mpc.c | 32 ++++++++------- hw/ppc/spapr_iommu.c | 15 +++---- hw/s390x/s390-pci-inst.c | 27 +++++++----- hw/virtio/virtio-iommu.c | 30 +++++++------- softmmu/memory.c | 20 ++++----- 9 files changed, 143 insertions(+), 122 deletions(-) diff --git a/include/exec/memory.h b/include/exec/memory.h index d8456ccf52..e86b5e92da 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -116,6 +116,11 @@ struct IOMMUNotifier { }; typedef struct IOMMUNotifier IOMMUNotifier; =20 +typedef struct IOMMUTLBEvent { + IOMMUNotifierFlag type; + IOMMUTLBEntry entry; +} IOMMUTLBEvent; + /* RAM is pre-allocated and passed into qemu_ram_alloc_from_ptr */ #define RAM_PREALLOC (1 << 0) =20 @@ -1326,24 +1331,18 @@ uint64_t memory_region_iommu_get_min_page_size(IOMM= UMemoryRegion *iommu_mr); /** * memory_region_notify_iommu: notify a change in an IOMMU translation ent= ry. * - * The notification type will be decided by entry.perm bits: - * - * - For UNMAP (cache invalidation) notifies: set entry.perm to IOMMU_NONE. - * - For MAP (newly added entry) notifies: set entry.perm to the - * permission of the page (which is definitely !IOMMU_NONE). - * * Note: for any IOMMU implementation, an in-place mapping change * should be notified with an UNMAP followed by a MAP. * * @iommu_mr: the memory region that was changed * @iommu_idx: the IOMMU index for the translation table which has changed - * @entry: the new entry in the IOMMU translation table. The entry - * replaces all old entries for the same virtual I/O address range. - * Deleted entries have .@perm =3D=3D 0. + * @event: TLB event with the new entry in the IOMMU translation table. + * The entry replaces all old entries for the same virtual I/O add= ress + * range. */ void memory_region_notify_iommu(IOMMUMemoryRegion *iommu_mr, int iommu_idx, - IOMMUTLBEntry entry); + IOMMUTLBEvent event); =20 /** * memory_region_notify_iommu_one: notify a change in an IOMMU translation @@ -1353,12 +1352,12 @@ void memory_region_notify_iommu(IOMMUMemoryRegion *= iommu_mr, * notifies a specific notifier, not all of them. * * @notifier: the notifier to be notified - * @entry: the new entry in the IOMMU translation table. The entry - * replaces all old entries for the same virtual I/O address range. - * Deleted entries have .@perm =3D=3D 0. + * @event: TLB event with the new entry in the IOMMU translation table. + * The entry replaces all old entries for the same virtual I/O add= ress + * range. */ void memory_region_notify_iommu_one(IOMMUNotifier *notifier, - IOMMUTLBEntry *entry); + IOMMUTLBEvent *event); =20 /** * memory_region_register_iommu_notifier: register a notifier for changes = to diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c index 88d2c454f0..405d5c5325 100644 --- a/hw/arm/smmu-common.c +++ b/hw/arm/smmu-common.c @@ -465,14 +465,15 @@ IOMMUMemoryRegion *smmu_iommu_mr(SMMUState *s, uint32= _t sid) /* Unmap the whole notifier's range */ static void smmu_unmap_notifier_range(IOMMUNotifier *n) { - IOMMUTLBEntry entry; + IOMMUTLBEvent event; =20 - entry.target_as =3D &address_space_memory; - entry.iova =3D n->start; - entry.perm =3D IOMMU_NONE; - entry.addr_mask =3D n->end - n->start; + event.type =3D IOMMU_NOTIFIER_UNMAP; + event.entry.target_as =3D &address_space_memory; + event.entry.iova =3D n->start; + event.entry.perm =3D IOMMU_NONE; + event.entry.addr_mask =3D n->end - n->start; =20 - memory_region_notify_iommu_one(n, &entry); + memory_region_notify_iommu_one(n, &event); } =20 /* Unmap all notifiers attached to @mr */ diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 273f5f7dce..bbca0e9f20 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -800,7 +800,7 @@ static void smmuv3_notify_iova(IOMMUMemoryRegion *mr, uint8_t tg, uint64_t num_pages) { SMMUDevice *sdev =3D container_of(mr, SMMUDevice, iommu); - IOMMUTLBEntry entry; + IOMMUTLBEvent event; uint8_t granule =3D tg; =20 if (!tg) { @@ -823,12 +823,13 @@ static void smmuv3_notify_iova(IOMMUMemoryRegion *mr, granule =3D tt->granule_sz; } =20 - entry.target_as =3D &address_space_memory; - entry.iova =3D iova; - entry.addr_mask =3D num_pages * (1 << granule) - 1; - entry.perm =3D IOMMU_NONE; + event.type =3D IOMMU_NOTIFIER_UNMAP; + event.entry.target_as =3D &address_space_memory; + event.entry.iova =3D iova; + event.entry.addr_mask =3D num_pages * (1 << granule) - 1; + event.entry.perm =3D IOMMU_NONE; =20 - memory_region_notify_iommu_one(n, &entry); + memory_region_notify_iommu_one(n, &event); } =20 /* invalidate an asid/iova range tuple in all mr's */ diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 067593b9e4..56180b1c43 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -1073,7 +1073,7 @@ static int vtd_iova_to_slpte(IntelIOMMUState *s, VTDC= ontextEntry *ce, } } =20 -typedef int (*vtd_page_walk_hook)(IOMMUTLBEntry *entry, void *private); +typedef int (*vtd_page_walk_hook)(IOMMUTLBEvent *event, void *private); =20 /** * Constant information used during page walking @@ -1094,11 +1094,12 @@ typedef struct { uint16_t domain_id; } vtd_page_walk_info; =20 -static int vtd_page_walk_one(IOMMUTLBEntry *entry, vtd_page_walk_info *inf= o) +static int vtd_page_walk_one(IOMMUTLBEvent *event, vtd_page_walk_info *inf= o) { VTDAddressSpace *as =3D info->as; vtd_page_walk_hook hook_fn =3D info->hook_fn; void *private =3D info->private; + IOMMUTLBEntry *entry =3D &event->entry; DMAMap target =3D { .iova =3D entry->iova, .size =3D entry->addr_mask, @@ -1107,7 +1108,7 @@ static int vtd_page_walk_one(IOMMUTLBEntry *entry, vt= d_page_walk_info *info) }; DMAMap *mapped =3D iova_tree_find(as->iova_tree, &target); =20 - if (entry->perm =3D=3D IOMMU_NONE && !info->notify_unmap) { + if (event->type =3D=3D IOMMU_NOTIFIER_UNMAP && !info->notify_unmap) { trace_vtd_page_walk_one_skip_unmap(entry->iova, entry->addr_mask); return 0; } @@ -1115,7 +1116,7 @@ static int vtd_page_walk_one(IOMMUTLBEntry *entry, vt= d_page_walk_info *info) assert(hook_fn); =20 /* Update local IOVA mapped ranges */ - if (entry->perm) { + if (event->type =3D=3D IOMMU_NOTIFIER_MAP) { if (mapped) { /* If it's exactly the same translation, skip */ if (!memcmp(mapped, &target, sizeof(target))) { @@ -1141,19 +1142,21 @@ static int vtd_page_walk_one(IOMMUTLBEntry *entry, = vtd_page_walk_info *info) int ret; =20 /* Emulate an UNMAP */ + event->type =3D IOMMU_NOTIFIER_UNMAP; entry->perm =3D IOMMU_NONE; trace_vtd_page_walk_one(info->domain_id, entry->iova, entry->translated_addr, entry->addr_mask, entry->perm); - ret =3D hook_fn(entry, private); + ret =3D hook_fn(event, private); if (ret) { return ret; } /* Drop any existing mapping */ iova_tree_remove(as->iova_tree, &target); - /* Recover the correct permission */ + /* Recover the correct type */ + event->type =3D IOMMU_NOTIFIER_MAP; entry->perm =3D cache_perm; } } @@ -1170,7 +1173,7 @@ static int vtd_page_walk_one(IOMMUTLBEntry *entry, vt= d_page_walk_info *info) trace_vtd_page_walk_one(info->domain_id, entry->iova, entry->translated_addr, entry->addr_mask, entry->perm); - return hook_fn(entry, private); + return hook_fn(event, private); } =20 /** @@ -1191,7 +1194,7 @@ static int vtd_page_walk_level(dma_addr_t addr, uint6= 4_t start, uint32_t offset; uint64_t slpte; uint64_t subpage_size, subpage_mask; - IOMMUTLBEntry entry; + IOMMUTLBEvent event; uint64_t iova =3D start; uint64_t iova_next; int ret =3D 0; @@ -1245,13 +1248,15 @@ static int vtd_page_walk_level(dma_addr_t addr, uin= t64_t start, * * In either case, we send an IOTLB notification down. */ - entry.target_as =3D &address_space_memory; - entry.iova =3D iova & subpage_mask; - entry.perm =3D IOMMU_ACCESS_FLAG(read_cur, write_cur); - entry.addr_mask =3D ~subpage_mask; + event.entry.target_as =3D &address_space_memory; + event.entry.iova =3D iova & subpage_mask; + event.entry.perm =3D IOMMU_ACCESS_FLAG(read_cur, write_cur); + event.entry.addr_mask =3D ~subpage_mask; /* NOTE: this is only meaningful if entry_valid =3D=3D true */ - entry.translated_addr =3D vtd_get_slpte_addr(slpte, info->aw); - ret =3D vtd_page_walk_one(&entry, info); + event.entry.translated_addr =3D vtd_get_slpte_addr(slpte, info= ->aw); + event.type =3D event.entry.perm ? IOMMU_NOTIFIER_MAP : + IOMMU_NOTIFIER_UNMAP; + ret =3D vtd_page_walk_one(&event, info); } =20 if (ret < 0) { @@ -1430,10 +1435,10 @@ static int vtd_dev_to_context_entry(IntelIOMMUState= *s, uint8_t bus_num, return 0; } =20 -static int vtd_sync_shadow_page_hook(IOMMUTLBEntry *entry, +static int vtd_sync_shadow_page_hook(IOMMUTLBEvent *event, void *private) { - memory_region_notify_iommu((IOMMUMemoryRegion *)private, 0, *entry); + memory_region_notify_iommu(private, 0, *event); return 0; } =20 @@ -1993,14 +1998,17 @@ static void vtd_iotlb_page_invalidate_notify(IntelI= OMMUState *s, * page tables. We just deliver the PSI down to * invalidate caches. */ - IOMMUTLBEntry entry =3D { - .target_as =3D &address_space_memory, - .iova =3D addr, - .translated_addr =3D 0, - .addr_mask =3D size - 1, - .perm =3D IOMMU_NONE, + IOMMUTLBEvent event =3D { + .type =3D IOMMU_NOTIFIER_UNMAP, + .entry =3D { + .target_as =3D &address_space_memory, + .iova =3D addr, + .translated_addr =3D 0, + .addr_mask =3D size - 1, + .perm =3D IOMMU_NONE, + }, }; - memory_region_notify_iommu(&vtd_as->iommu, 0, entry); + memory_region_notify_iommu(&vtd_as->iommu, 0, event); } } } @@ -2412,7 +2420,7 @@ static bool vtd_process_device_iotlb_desc(IntelIOMMUS= tate *s, VTDInvDesc *inv_desc) { VTDAddressSpace *vtd_dev_as; - IOMMUTLBEntry entry; + IOMMUTLBEvent event; struct VTDBus *vtd_bus; hwaddr addr; uint64_t sz; @@ -2460,12 +2468,13 @@ static bool vtd_process_device_iotlb_desc(IntelIOMM= UState *s, sz =3D VTD_PAGE_SIZE; } =20 - entry.target_as =3D &vtd_dev_as->as; - entry.addr_mask =3D sz - 1; - entry.iova =3D addr; - entry.perm =3D IOMMU_NONE; - entry.translated_addr =3D 0; - memory_region_notify_iommu(&vtd_dev_as->iommu, 0, entry); + event.type =3D IOMMU_NOTIFIER_UNMAP; + event.entry.target_as =3D &vtd_dev_as->as; + event.entry.addr_mask =3D sz - 1; + event.entry.iova =3D addr; + event.entry.perm =3D IOMMU_NONE; + event.entry.translated_addr =3D 0; + memory_region_notify_iommu(&vtd_dev_as->iommu, 0, event); =20 done: return true; @@ -3485,19 +3494,20 @@ static void vtd_address_space_unmap(VTDAddressSpace= *as, IOMMUNotifier *n) size =3D remain =3D end - start + 1; =20 while (remain >=3D VTD_PAGE_SIZE) { - IOMMUTLBEntry entry; + IOMMUTLBEvent event; uint64_t mask =3D get_naturally_aligned_size(start, remain, s->aw_= bits); =20 assert(mask); =20 - entry.iova =3D start; - entry.addr_mask =3D mask - 1; - entry.target_as =3D &address_space_memory; - entry.perm =3D IOMMU_NONE; + event.type =3D IOMMU_NOTIFIER_UNMAP; + event.entry.iova =3D start; + event.entry.addr_mask =3D mask - 1; + event.entry.target_as =3D &address_space_memory; + event.entry.perm =3D IOMMU_NONE; /* This field is meaningless for unmap */ - entry.translated_addr =3D 0; + event.entry.translated_addr =3D 0; =20 - memory_region_notify_iommu_one(n, &entry); + memory_region_notify_iommu_one(n, &event); =20 start +=3D mask; remain -=3D mask; @@ -3533,9 +3543,9 @@ static void vtd_address_space_refresh_all(IntelIOMMUS= tate *s) vtd_switch_address_space_all(s); } =20 -static int vtd_replay_hook(IOMMUTLBEntry *entry, void *private) +static int vtd_replay_hook(IOMMUTLBEvent *event, void *private) { - memory_region_notify_iommu_one((IOMMUNotifier *)private, entry); + memory_region_notify_iommu_one(private, event); return 0; } =20 diff --git a/hw/misc/tz-mpc.c b/hw/misc/tz-mpc.c index 98f151237f..30481e1c90 100644 --- a/hw/misc/tz-mpc.c +++ b/hw/misc/tz-mpc.c @@ -82,8 +82,10 @@ static void tz_mpc_iommu_notify(TZMPC *s, uint32_t lutid= x, /* Called when the LUT word at lutidx has changed from oldlut to newlu= t; * must call the IOMMU notifiers for the changed blocks. */ - IOMMUTLBEntry entry =3D { - .addr_mask =3D s->blocksize - 1, + IOMMUTLBEvent event =3D { + .entry =3D { + .addr_mask =3D s->blocksize - 1, + } }; hwaddr addr =3D lutidx * s->blocksize * 32; int i; @@ -100,26 +102,28 @@ static void tz_mpc_iommu_notify(TZMPC *s, uint32_t lu= tidx, block_is_ns =3D newlut & (1 << i); =20 trace_tz_mpc_iommu_notify(addr); - entry.iova =3D addr; - entry.translated_addr =3D addr; + event.entry.iova =3D addr; + event.entry.translated_addr =3D addr; =20 - entry.perm =3D IOMMU_NONE; - memory_region_notify_iommu(&s->upstream, IOMMU_IDX_S, entry); - memory_region_notify_iommu(&s->upstream, IOMMU_IDX_NS, entry); + event.type =3D IOMMU_NOTIFIER_UNMAP; + event.entry.perm =3D IOMMU_NONE; + memory_region_notify_iommu(&s->upstream, IOMMU_IDX_S, event); + memory_region_notify_iommu(&s->upstream, IOMMU_IDX_NS, event); =20 - entry.perm =3D IOMMU_RW; + event.type =3D IOMMU_NOTIFIER_MAP; + event.entry.perm =3D IOMMU_RW; if (block_is_ns) { - entry.target_as =3D &s->blocked_io_as; + event.entry.target_as =3D &s->blocked_io_as; } else { - entry.target_as =3D &s->downstream_as; + event.entry.target_as =3D &s->downstream_as; } - memory_region_notify_iommu(&s->upstream, IOMMU_IDX_S, entry); + memory_region_notify_iommu(&s->upstream, IOMMU_IDX_S, event); if (block_is_ns) { - entry.target_as =3D &s->downstream_as; + event.entry.target_as =3D &s->downstream_as; } else { - entry.target_as =3D &s->blocked_io_as; + event.entry.target_as =3D &s->blocked_io_as; } - memory_region_notify_iommu(&s->upstream, IOMMU_IDX_NS, entry); + memory_region_notify_iommu(&s->upstream, IOMMU_IDX_NS, event); } } =20 diff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c index 0790239ba5..30352df00e 100644 --- a/hw/ppc/spapr_iommu.c +++ b/hw/ppc/spapr_iommu.c @@ -445,7 +445,7 @@ static void spapr_tce_reset(DeviceState *dev) static target_ulong put_tce_emu(SpaprTceTable *tcet, target_ulong ioba, target_ulong tce) { - IOMMUTLBEntry entry; + IOMMUTLBEvent event; hwaddr page_mask =3D IOMMU_PAGE_MASK(tcet->page_shift); unsigned long index =3D (ioba - tcet->bus_offset) >> tcet->page_shift; =20 @@ -457,12 +457,13 @@ static target_ulong put_tce_emu(SpaprTceTable *tcet, = target_ulong ioba, =20 tcet->table[index] =3D tce; =20 - entry.target_as =3D &address_space_memory, - entry.iova =3D (ioba - tcet->bus_offset) & page_mask; - entry.translated_addr =3D tce & page_mask; - entry.addr_mask =3D ~page_mask; - entry.perm =3D spapr_tce_iommu_access_flags(tce); - memory_region_notify_iommu(&tcet->iommu, 0, entry); + event.entry.target_as =3D &address_space_memory, + event.entry.iova =3D (ioba - tcet->bus_offset) & page_mask; + event.entry.translated_addr =3D tce & page_mask; + event.entry.addr_mask =3D ~page_mask; + event.entry.perm =3D spapr_tce_iommu_access_flags(tce); + event.type =3D event.entry.perm ? IOMMU_NOTIFIER_MAP : IOMMU_NOTIFIER_= UNMAP; + memory_region_notify_iommu(&tcet->iommu, 0, event); =20 return H_SUCCESS; } diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c index 70bfd91bf7..d9e1e29f1e 100644 --- a/hw/s390x/s390-pci-inst.c +++ b/hw/s390x/s390-pci-inst.c @@ -602,15 +602,18 @@ static uint32_t s390_pci_update_iotlb(S390PCIIOMMU *i= ommu, S390IOTLBEntry *entry) { S390IOTLBEntry *cache =3D g_hash_table_lookup(iommu->iotlb, &entry->io= va); - IOMMUTLBEntry notify =3D { - .target_as =3D &address_space_memory, - .iova =3D entry->iova, - .translated_addr =3D entry->translated_addr, - .perm =3D entry->perm, - .addr_mask =3D ~PAGE_MASK, + IOMMUTLBEvent event =3D { + .type =3D entry->perm ? IOMMU_NOTIFIER_MAP : IOMMU_NOTIFIER_UNMAP, + .entry =3D { + .target_as =3D &address_space_memory, + .iova =3D entry->iova, + .translated_addr =3D entry->translated_addr, + .perm =3D entry->perm, + .addr_mask =3D ~PAGE_MASK, + }, }; =20 - if (entry->perm =3D=3D IOMMU_NONE) { + if (event.type =3D=3D IOMMU_NOTIFIER_UNMAP) { if (!cache) { goto out; } @@ -623,9 +626,11 @@ static uint32_t s390_pci_update_iotlb(S390PCIIOMMU *io= mmu, goto out; } =20 - notify.perm =3D IOMMU_NONE; - memory_region_notify_iommu(&iommu->iommu_mr, 0, notify); - notify.perm =3D entry->perm; + event.type =3D IOMMU_NOTIFIER_UNMAP; + event.entry.perm =3D IOMMU_NONE; + memory_region_notify_iommu(&iommu->iommu_mr, 0, event); + event.type =3D IOMMU_NOTIFIER_MAP; + event.entry.perm =3D entry->perm; } =20 cache =3D g_new(S390IOTLBEntry, 1); @@ -637,7 +642,7 @@ static uint32_t s390_pci_update_iotlb(S390PCIIOMMU *iom= mu, dec_dma_avail(iommu); } =20 - memory_region_notify_iommu(&iommu->iommu_mr, 0, notify); + memory_region_notify_iommu(&iommu->iommu_mr, 0, event); =20 out: return iommu->dma_limit ? iommu->dma_limit->avail : 1; diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index fc5c75d693..cea8811295 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -129,7 +129,7 @@ static void virtio_iommu_notify_map(IOMMUMemoryRegion *= mr, hwaddr virt_start, hwaddr virt_end, hwaddr paddr, uint32_t flags) { - IOMMUTLBEntry entry; + IOMMUTLBEvent event; IOMMUAccessFlags perm =3D IOMMU_ACCESS_FLAG(flags & VIRTIO_IOMMU_MAP_F= _READ, flags & VIRTIO_IOMMU_MAP_F_W= RITE); =20 @@ -141,19 +141,20 @@ static void virtio_iommu_notify_map(IOMMUMemoryRegion= *mr, hwaddr virt_start, trace_virtio_iommu_notify_map(mr->parent_obj.name, virt_start, virt_en= d, paddr, perm); =20 - entry.target_as =3D &address_space_memory; - entry.addr_mask =3D virt_end - virt_start; - entry.iova =3D virt_start; - entry.perm =3D perm; - entry.translated_addr =3D paddr; + event.type =3D IOMMU_NOTIFIER_MAP; + event.entry.target_as =3D &address_space_memory; + event.entry.addr_mask =3D virt_end - virt_start; + event.entry.iova =3D virt_start; + event.entry.perm =3D perm; + event.entry.translated_addr =3D paddr; =20 - memory_region_notify_iommu(mr, 0, entry); + memory_region_notify_iommu(mr, 0, event); } =20 static void virtio_iommu_notify_unmap(IOMMUMemoryRegion *mr, hwaddr virt_s= tart, hwaddr virt_end) { - IOMMUTLBEntry entry; + IOMMUTLBEvent event; =20 if (!(mr->iommu_notify_flags & IOMMU_NOTIFIER_UNMAP)) { return; @@ -161,13 +162,14 @@ static void virtio_iommu_notify_unmap(IOMMUMemoryRegi= on *mr, hwaddr virt_start, =20 trace_virtio_iommu_notify_unmap(mr->parent_obj.name, virt_start, virt_= end); =20 - entry.target_as =3D &address_space_memory; - entry.addr_mask =3D virt_end - virt_start; - entry.iova =3D virt_start; - entry.perm =3D IOMMU_NONE; - entry.translated_addr =3D 0; + event.type =3D IOMMU_NOTIFIER_UNMAP; + event.entry.target_as =3D &address_space_memory; + event.entry.addr_mask =3D virt_end - virt_start; + event.entry.iova =3D virt_start; + event.entry.perm =3D IOMMU_NONE; + event.entry.translated_addr =3D 0; =20 - memory_region_notify_iommu(mr, 0, entry); + memory_region_notify_iommu(mr, 0, event); } =20 static gboolean virtio_iommu_notify_unmap_cb(gpointer key, gpointer value, diff --git a/softmmu/memory.c b/softmmu/memory.c index 44de610c72..6ca87e8d73 100644 --- a/softmmu/memory.c +++ b/softmmu/memory.c @@ -1943,11 +1943,15 @@ void memory_region_unregister_iommu_notifier(Memory= Region *mr, } =20 void memory_region_notify_iommu_one(IOMMUNotifier *notifier, - IOMMUTLBEntry *entry) + IOMMUTLBEvent *event) { - IOMMUNotifierFlag request_flags; + IOMMUTLBEntry *entry =3D &event->entry; hwaddr entry_end =3D entry->iova + entry->addr_mask; =20 + if (event->type =3D=3D IOMMU_NOTIFIER_UNMAP) { + assert(entry->perm =3D=3D IOMMU_NONE); + } + /* * Skip the notification if the notification does not overlap * with registered range. @@ -1958,20 +1962,14 @@ void memory_region_notify_iommu_one(IOMMUNotifier *= notifier, =20 assert(entry->iova >=3D notifier->start && entry_end <=3D notifier->en= d); =20 - if (entry->perm & IOMMU_RW) { - request_flags =3D IOMMU_NOTIFIER_MAP; - } else { - request_flags =3D IOMMU_NOTIFIER_UNMAP; - } - - if (notifier->notifier_flags & request_flags) { + if (event->type & notifier->notifier_flags) { notifier->notify(notifier, entry); } } =20 void memory_region_notify_iommu(IOMMUMemoryRegion *iommu_mr, int iommu_idx, - IOMMUTLBEntry entry) + IOMMUTLBEvent event) { IOMMUNotifier *iommu_notifier; =20 @@ -1979,7 +1977,7 @@ void memory_region_notify_iommu(IOMMUMemoryRegion *io= mmu_mr, =20 IOMMU_NOTIFIER_FOREACH(iommu_notifier, iommu_mr) { if (iommu_notifier->iommu_idx =3D=3D iommu_idx) { - memory_region_notify_iommu_one(iommu_notifier, &entry); + memory_region_notify_iommu_one(iommu_notifier, &event); } } } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607456352; cv=none; d=zohomail.com; s=zohoarc; b=HqI1IF4iDV2BY38bG02c6kp2+8TvgkVTdG3+ebFvcICIZ7xNPjbhdkoRYQzEJqVzWsbnNM0cdkutWciW2UnHmnbE0/YtXEYywkezvvcWqV1qdo4vbtWOLKdGcytFAeX1931dzqQgsDyZI9L4VZE1hCx0TnMfZD0IQckWK5gFcss= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607456352; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DDpDvWnDXn0+AbenIHpi5XjLObz83cMo1H8va2rlpRI=; b=D6wx74gw7V6AnG9O1CoTtVhMf5OybQ47aT5/LLKNzeuH+2jge3DWvjq2OhzG+F3qiLuGLohYZAAZmTuDO4yuhErc0ObK7xTyhkRpDVYf2XekcEA8680p2FQrIz8S3ZaMG6N7c0lp+AdGTO5IZquuAVOGHEFkYjQ9hUCh9Z/1aqE= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607456352229870.7536360999721; Tue, 8 Dec 2020 11:39:12 -0800 (PST) Received: from localhost ([::1]:37558 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmipJ-00009M-NG for importer@patchew.org; Tue, 08 Dec 2020 14:39:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48654) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikJ-0004ja-VC for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:33:59 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:33012) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikG-0004fI-KO for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:33:59 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-163-wKUNbZNSPJaDY6gzIpBCSg-1; Tue, 08 Dec 2020 14:33:54 -0500 Received: by mail-wr1-f69.google.com with SMTP id 91so6543540wrk.17 for ; Tue, 08 Dec 2020 11:33:53 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id l8sm5418177wmf.35.2020.12.08.11.33.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:33:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DDpDvWnDXn0+AbenIHpi5XjLObz83cMo1H8va2rlpRI=; b=X0yUE/a0ybVYFY2BLMJBniaIEBPZD+WVjeXz8gFm3F44BCIU2VN+DF6MKZxMzLe3lRAmJH Zh0LL8lQf5CBLOUCaA5ZtkrEvzvK7v7epMz3TVvY+t7eJjXs+HXgZx4uAOv9Rca6en3V1u QMJ0WvCsLr2kV1jGif9ZvVHtaXAQJJ4= X-MC-Unique: wKUNbZNSPJaDY6gzIpBCSg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=DDpDvWnDXn0+AbenIHpi5XjLObz83cMo1H8va2rlpRI=; b=XDupm6eQH3tcfbZKLzjR2iiMnhqXUsjjy57kikqwfDi2wSPFZ34LYMkf2/fDhBNbfx hYjRleVbD1i+UG8mDfOy3nSzP4BjT3V+aKwIRqjc50ZKrYvMWXXYCOPjKJ+paXqJT44P L4gRUf8+f6L35FOBhwmGsnIg7O6oo5rZWhBuMjppHtebxQ+M6METs0T409NV9/7FaJT7 CiPJ6ENTEyyn3N6/T3xIzcoX5Big+2AZdNLSMMSNp9ofPlWFL5soCBKJ89vh2rGadZzr hGfvyZrbMesCrDAWPydaiSf/980FbMeWxxU4YOG74gxLU4fK+DcGLs/1cOAIVdXvXTUf 1wMA== X-Gm-Message-State: AOAM532+ToetaEwyJTOjIQMweEFJgDjYZ0d/Cvo4Xso8RitWyuv/0tFm DnKKZRb2HDopMxEVTNsi1u+U4T8Colh4xWL0G28GQpuo2yAlmMGBsjFHYtS1hj4dDLoUV3XJrnu hgjpo3ebWYxLGoLNJ/1aFJdtD1fuD3+Z4n2Nluw078o71M30QN5Ea7Kf+T7mF X-Received: by 2002:adf:bd84:: with SMTP id l4mr27338998wrh.41.1607456032498; Tue, 08 Dec 2020 11:33:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJxggttm3oZdbP7OEVIW6vYG9Qw0iTvwjL5Qr+6WAlJA16Sf/ybYROZznG8oZ8QbgAikHWMAOQ== X-Received: by 2002:adf:bd84:: with SMTP id l4mr27338972wrh.41.1607456032294; Tue, 08 Dec 2020 11:33:52 -0800 (PST) Date: Tue, 8 Dec 2020 14:33:49 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 04/66] memory: Add IOMMU_NOTIFIER_DEVIOTLB_UNMAP IOMMUTLBNotificationType Message-ID: <20201208193307.646726-5-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Eduardo Habkost , Juan Quintela , Jason Wang , Richard Henderson , Peter Xu , Eugenio =?utf-8?B?UMOpcmV6?= , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Eugenio P=C3=A9rez This allows us to differentiate between regular IOMMU map/unmap events and DEVIOTLB unmap. Doing so, notifiers that only need device IOTLB invalidations will not receive regular IOMMU unmappings. Adapt intel and vhost to use it. Signed-off-by: Eugenio P=C3=A9rez Reviewed-by: Peter Xu Reviewed-by: Juan Quintela Acked-by: Jason Wang Message-Id: <20201116165506.31315-4-eperezma@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/exec/memory.h | 7 ++++++- hw/i386/intel_iommu.c | 2 +- hw/virtio/vhost.c | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/include/exec/memory.h b/include/exec/memory.h index e86b5e92da..521d9901d7 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -97,9 +97,14 @@ typedef enum { IOMMU_NOTIFIER_UNMAP =3D 0x1, /* Notify entry changes (newly created entries) */ IOMMU_NOTIFIER_MAP =3D 0x2, + /* Notify changes on device IOTLB entries */ + IOMMU_NOTIFIER_DEVIOTLB_UNMAP =3D 0x04, } IOMMUNotifierFlag; =20 -#define IOMMU_NOTIFIER_ALL (IOMMU_NOTIFIER_MAP | IOMMU_NOTIFIER_UNMAP) +#define IOMMU_NOTIFIER_IOTLB_EVENTS (IOMMU_NOTIFIER_MAP | IOMMU_NOTIFIER_U= NMAP) +#define IOMMU_NOTIFIER_DEVIOTLB_EVENTS IOMMU_NOTIFIER_DEVIOTLB_UNMAP +#define IOMMU_NOTIFIER_ALL (IOMMU_NOTIFIER_IOTLB_EVENTS | \ + IOMMU_NOTIFIER_DEVIOTLB_EVENTS) =20 struct IOMMUNotifier; typedef void (*IOMMUNotify)(struct IOMMUNotifier *notifier, diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 56180b1c43..edc3090f91 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -2468,7 +2468,7 @@ static bool vtd_process_device_iotlb_desc(IntelIOMMUS= tate *s, sz =3D VTD_PAGE_SIZE; } =20 - event.type =3D IOMMU_NOTIFIER_UNMAP; + event.type =3D IOMMU_NOTIFIER_DEVIOTLB_UNMAP; event.entry.target_as =3D &vtd_dev_as->as; event.entry.addr_mask =3D sz - 1; event.entry.iova =3D addr; diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 614ccc2bcb..28c7d78172 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -718,7 +718,7 @@ static void vhost_iommu_region_add(MemoryListener *list= ener, iommu_idx =3D memory_region_iommu_attrs_to_index(iommu_mr, MEMTXATTRS_UNSPECIFIED); iommu_notifier_init(&iommu->n, vhost_iommu_unmap_notify, - IOMMU_NOTIFIER_UNMAP, + IOMMU_NOTIFIER_DEVIOTLB_UNMAP, section->offset_within_region, int128_get64(end), iommu_idx); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607456669; cv=none; d=zohomail.com; s=zohoarc; b=HEfkzaZtZ5SuMk7yF1baJLRLYqv5swVhIzmOWJHFN2P6gCv/xKQKCnMqW3QD5Sw8VOjB0aOZtXMU7nEAIqrkD9GYkvDkR1oj+VwQuHobMyVNsMD4eHtDTEZ97O29EXjgHYJ0UAXVTT3uqEdkXqjQrhjdSiPo+8NqfnrvZWYFphQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607456669; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=LOFadtS8P+HipB+dMXVoHfndgHAL2KBXN7L2k6t4OKo=; b=aWktZDtnD0QT1jTUsA9eZzvx+s++8vF1OVzmyfQapha1ctAg4+lhSaKdhPL8eIYF7eJFASri7LCG1mp+PLNXm+d0WZ5UrazDB+dJjtivI00lY7nKTZ7jZmK7I1dc88hyKb2IMkQ9ITN2h7gpfE+/n9aoe6CaJ4dKeKr2lCfkyGU= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607456669756173.1180724925099; Tue, 8 Dec 2020 11:44:29 -0800 (PST) Received: from localhost ([::1]:48906 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmiuS-0004zV-9G for importer@patchew.org; Tue, 08 Dec 2020 14:44:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48810) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikY-0004y1-6P for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:14 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:37810) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikU-0004kH-Q9 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:13 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-288-R5egqmnJPcSpQ2z1rGWw8A-1; Tue, 08 Dec 2020 14:33:58 -0500 Received: by mail-wr1-f71.google.com with SMTP id o12so1747559wrq.13 for ; Tue, 08 Dec 2020 11:33:58 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id g78sm5055382wme.33.2020.12.08.11.33.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:33:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LOFadtS8P+HipB+dMXVoHfndgHAL2KBXN7L2k6t4OKo=; b=Ar6tci71d3O6yGdGrHtsfVDTHrsRi0brpNqcd85kXxzV4ign+F+1bdz8woeb0DeXewULPG BuSUz/j5fZZKx8WtTdTx9d7LEjYiDZuw2pVrisNmQwIlg8KtkKubE/1r89tSO7qd6X8lKI AxdObh+ZkHjN4P+CRsQxYe+rmL8n08o= X-MC-Unique: R5egqmnJPcSpQ2z1rGWw8A-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=LOFadtS8P+HipB+dMXVoHfndgHAL2KBXN7L2k6t4OKo=; b=dr/AJFFDxQ3eWYKIUoBNuB6WDcikaQx5nglMhXkgKrCuEME+A/XDiBi8X779tj/iGL aExScgbVazDazL3SrnWqlZyD2gsLmzAG4mtPgWYgFaJACiS2eiL201qVxlVWcOdJUqTY mtCbtIByusqBuBD5w34rxugHFWZ07xx/ms/GCCVimq4WFE62qSZ5hYPUo92z039tlzSW JLHc8jr5Hwv+vZCteQ/H/yVuOO/iPtMNL35itGEpH8Y4qx9GwxPai7YiqNOxJArlAmbk ubZaSjki4Q2pGCMHy7Ckgv0Dq+l3nZiEKgFr/jIQLiXuAKgr0IrtCxNKFvaiGbxhRyDq DZNQ== X-Gm-Message-State: AOAM532YC2TCKSkw9snEGU+R38Z+Pmc6FQRGC2WKDJMqS3pjpNLkRyCG jUtlmC6wa7Hkpwwxm2TIQff5hFFY8Lz7SzVAs2TODHGCpdhqjupySruUfVD7kukPoIrIPM33ymm CcSbx4jOluu0pqCucAQhg3SRzuHifZ2LWWrivD1DZIsYBYGCcXgZC1DrFOqEH X-Received: by 2002:a1c:b788:: with SMTP id h130mr5155515wmf.94.1607456037060; Tue, 08 Dec 2020 11:33:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJyjMCBUSrDaS+HzTauveJ5TLVopsjHsT/6m2PkTHiUGB1xAGgJUPrAjB2hxJhU0EjKxS8Yljw== X-Received: by 2002:a1c:b788:: with SMTP id h130mr5155497wmf.94.1607456036768; Tue, 08 Dec 2020 11:33:56 -0800 (PST) Date: Tue, 8 Dec 2020 14:33:52 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 05/66] intel_iommu: Skip page walking on device iotlb invalidations Message-ID: <20201208193307.646726-6-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Eduardo Habkost , Jason Wang , Richard Henderson , Peter Xu , Eugenio =?utf-8?B?UMOpcmV6?= , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Eugenio P=C3=A9rez Although they didn't reach the notifier because of the filtering in memory_region_notify_iommu_one, the vt-d was still splitting huge memory invalidations in chunks. Skipping it. This improves performance in case of netperf with vhost-net: * TCP_STREAM: From 1923.6Mbit/s to 2175.13Mbit/s (13%) * TCP_RR: From 8464.73 trans/s to 8932.703333 trans/s (5.5%) * UDP_RR: From 8562.08 trans/s to 9005.62/s (5.1%) * UDP_STREAM: No change observed (insignificant 0.1% improvement) Signed-off-by: Eugenio P=C3=A9rez Acked-by: Jason Wang Message-Id: <20201116165506.31315-5-eperezma@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/intel_iommu.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index edc3090f91..0cc71e4057 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -1478,6 +1478,10 @@ static int vtd_sync_shadow_page_table(VTDAddressSpac= e *vtd_as) VTDContextEntry ce; IOMMUNotifier *n; =20 + if (!(vtd_as->iommu.iommu_notify_flags & IOMMU_NOTIFIER_IOTLB_EVENTS))= { + return 0; + } + ret =3D vtd_dev_to_context_entry(vtd_as->iommu_state, pci_bus_num(vtd_as->bus), vtd_as->devfn, &ce); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607456782; cv=none; d=zohomail.com; s=zohoarc; b=W3tRNL+42NQpvnJ5ExJITaDLSDyAgHcytFAoxt8WOimE6OPljdaBuhbeVg1HA1ojWMR0dMm2T/FyN/uMQdLC5zsA/S79vzZNuN+QXpjTyim/+4iu+1Xl6OH0WOpMRNUndajxgyRvUAPoW2pZ+baUkJNqJjnO1bykInGG2MrPxAg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607456782; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zxJ3f9AkcimEoHVGFWIULEfxtXcI3G+nN2yyJC0qTJU=; b=U4z67csXASrMowOlj7x+GKRbdwXTAfEovllLStN2CSGdb5jTrOHQ6tQ2b/3P29ByCbUDUpEpmKU0EjlRW7sgHeyFirt+AqdvSgiFEwBBLQzE7NCkmkoCQITuF1TUIqNupGNRpXHUpGDf51cAytFyfoARQLgN1Zlod17SjmtQNzE= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607456782972834.1070880811943; Tue, 8 Dec 2020 11:46:22 -0800 (PST) Received: from localhost ([::1]:52284 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmiwH-0006Pb-Kf for importer@patchew.org; Tue, 08 Dec 2020 14:46:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48754) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikV-0004wX-OW for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:12 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:44595) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikP-0004if-91 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:10 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-496-MpEYeQ5vMrK9XdMnFdJxMw-1; Tue, 08 Dec 2020 14:34:01 -0500 Received: by mail-wr1-f70.google.com with SMTP id n13so6613478wrs.10 for ; Tue, 08 Dec 2020 11:34:01 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id v1sm21652111wrr.48.2020.12.08.11.33.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:33:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zxJ3f9AkcimEoHVGFWIULEfxtXcI3G+nN2yyJC0qTJU=; b=UG4VNi+43AXyf8D4H2Jnj2NmjnXig/mYILQemXIlGfqSmsb6VPuasoPZ/rax02QQzVeg3C fZnthDS0ZxoNPISSFGalY6xLcZVu/zIF/pIWP8SOyuaKjZiQfWiystUjQW92Bmgs3aAo7f 744XCzFMKC1WphLP7MCFpGgdQEOorD0= X-MC-Unique: MpEYeQ5vMrK9XdMnFdJxMw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=zxJ3f9AkcimEoHVGFWIULEfxtXcI3G+nN2yyJC0qTJU=; b=BCLlfvIwxGk9micPdqpEVivD70tqZ23KpA/gh+MMuTvPFv1/tlS6ipdMbv8WEkVPU+ IueBJv3HbdOJA4VSAqspNDU80/Q6jT/ZJ2+mNGP++bknoYWJwb+2EMXZamKQ4ccuY3f+ hHpx3ARv5Y4chRS3bYt1Rslw6JqoYmJnEq89Pnx/8hWbbisq9ODnTVCszYWL9eh7btZM +9bAFjpTiZ3AeO845mATMjc4Nynosb6TALt6+VdYwQJpuX1ONEe4huvyeQeM/lq10869 Z3/MuQuKBobPwn21Y5XM3u9U96voqm9MR6XlBymJdfNmk3nGBExoD2wZXBry1bGh3rls s6PA== X-Gm-Message-State: AOAM5328Cc/v7+YPKWYAB1o8sLu46Bgmb5hgfz3bGm4yPcaHMD+U61t4 c2r7N9l/m3RLbJjUq2Nn6JSA/4muRqLvXn0ZGh/DjTdHouqNsjwJktoe7IILG0oq4WrVb9s1iKU TONt+8dbB25nOG3IQa9PUnWq+yS0906Ir9E3RjicNIt8DJ4ObFnn7XEPd5FyG X-Received: by 2002:adf:e84c:: with SMTP id d12mr8329449wrn.382.1607456040180; Tue, 08 Dec 2020 11:34:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJzAG9JPNeJwkjlUyufMASyafhoZDxUXQ4SgnEKFEUJ/dUqDfIJpWq/Y2rvhS84tWY87Qaqr/A== X-Received: by 2002:adf:e84c:: with SMTP id d12mr8329419wrn.382.1607456039959; Tue, 08 Dec 2020 11:33:59 -0800 (PST) Date: Tue, 8 Dec 2020 14:33:56 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 06/66] memory: Skip bad range assertion if notifier is DEVIOTLB_UNMAP type Message-ID: <20201208193307.646726-7-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Juan Quintela , Jason Wang , Peter Xu , Eugenio =?utf-8?B?UMOpcmV6?= , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Eugenio P=C3=A9rez Device IOTLB invalidations can unmap arbitrary ranges, eiter outside of the memory region or even [0, ~0ULL] for all the space. The assertion could be hit by a guest, and rhel7 guest effectively hit it. Signed-off-by: Eugenio P=C3=A9rez Reviewed-by: Peter Xu Reviewed-by: Juan Quintela Acked-by: Jason Wang Message-Id: <20201116165506.31315-6-eperezma@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- softmmu/memory.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/softmmu/memory.c b/softmmu/memory.c index 6ca87e8d73..22bacbbc78 100644 --- a/softmmu/memory.c +++ b/softmmu/memory.c @@ -1947,6 +1947,7 @@ void memory_region_notify_iommu_one(IOMMUNotifier *no= tifier, { IOMMUTLBEntry *entry =3D &event->entry; hwaddr entry_end =3D entry->iova + entry->addr_mask; + IOMMUTLBEntry tmp =3D *entry; =20 if (event->type =3D=3D IOMMU_NOTIFIER_UNMAP) { assert(entry->perm =3D=3D IOMMU_NONE); @@ -1960,10 +1961,16 @@ void memory_region_notify_iommu_one(IOMMUNotifier *= notifier, return; } =20 - assert(entry->iova >=3D notifier->start && entry_end <=3D notifier->en= d); + if (notifier->notifier_flags & IOMMU_NOTIFIER_DEVIOTLB_UNMAP) { + /* Crop (iova, addr_mask) to range */ + tmp.iova =3D MAX(tmp.iova, notifier->start); + tmp.addr_mask =3D MIN(entry_end, notifier->end) - tmp.iova; + } else { + assert(entry->iova >=3D notifier->start && entry_end <=3D notifier= ->end); + } =20 if (event->type & notifier->notifier_flags) { - notifier->notify(notifier, entry); + notifier->notify(notifier, &tmp); } } =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607456598; cv=none; d=zohomail.com; s=zohoarc; b=S4xHcqQXXVGvViisr9l43Y6QwuuiuLpfE/YDjr56edcg4ogbfh0e0lnTbgVw1FcVUD+QFjMmZRLQ4R4Biq9I/eTptlOGncHHauMKU9A5HcFc/D6k+PO63B8YEdFPXP4ggrtvu5TRRljbSW1vgmrfSmZ5Oby7BFvVqnQ6WU08aAA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607456598; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bcDsWwFf1VSLW/JLtS3fVtqy9UgBR89UFwruerLljvk=; b=Meqj+q6+K1/NYMT88GtxQ5P6HOUlpUkjo5sn8/uV+9DxTIXciMNf4ShaqQGwGn0DiMOS6HOsiNHfLbDrerBoflwmxBOzLxfPSjybu+tLjBifkAG1PzJe5+3STmVLQrvHf/unsteFUjaL1NCNR5lGkv4VCVEYoKyu7s5NzdqQ2fY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607456598346448.28264642620775; Tue, 8 Dec 2020 11:43:18 -0800 (PST) Received: from localhost ([::1]:46402 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmitJ-0003xx-78 for importer@patchew.org; Tue, 08 Dec 2020 14:43:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48864) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikb-00052L-No for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:18 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:57238) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikU-0004jS-S9 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:17 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-471-dt9Ps8a6PkCQHwzHoIh_Mw-1; Tue, 08 Dec 2020 14:34:04 -0500 Received: by mail-wr1-f70.google.com with SMTP id r11so4693345wrs.23 for ; Tue, 08 Dec 2020 11:34:04 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id s1sm16850471wrv.97.2020.12.08.11.34.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bcDsWwFf1VSLW/JLtS3fVtqy9UgBR89UFwruerLljvk=; b=gelANe75yxtCkefr3Zt2jZrgq1n4bn/aW9IxszbnbjnaZST3kDEJlYDh7SC4GXinA3xej/ yBbEapZibTTjh9Uqe3egk3jc+ugLnnqqGScGVMJMCf8NwryJXWMYNAC51is+1PTtPQegZJ oyqoNVfVVEDr3gQarV7fbPXsSrFPRMQ= X-MC-Unique: dt9Ps8a6PkCQHwzHoIh_Mw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=bcDsWwFf1VSLW/JLtS3fVtqy9UgBR89UFwruerLljvk=; b=psDt8BH703XvAQuuGuhi0sf2qXaa0Llb8iQPSQxlN6wjgMb4uOkB7m2vUlQUpDspYh Aw6gEkDt31PPsbh9qrB0ZkahF4fHkYkNv9TDTVQPP9X/yx8dib5gcoktoFS39dGRd2De CqIB538sBSpVtfCooJW8ViKBlqjRjob/O5mZJih9wWAbikX2Lt6GHJIspuOIyStF7jmt 9s6Ev293LOQc+T7nQeommnvD41INMspoT4mtadQyVI19a88feJrsBwQFobSOl8BvZ0P9 w/8mJxPF2HaMDeQ6zotR7C9tVKqkSJZ8WZ4ERRLKQuXZ8LM5ATm+bGHKEjweX6ezerD+ rRKw== X-Gm-Message-State: AOAM530pW28QO1yj768aMYeMCfGcFCmf36wZGGPgy25Byrf2DPe9fMus /VpgbsepflIKsC7cbX85c8AUKnUg6rudCujrwQ5l0kGsdE++8FhFtFvlSmGWTgzNr/Wi7TYR07t 2X2fb3IKH7ze03T6B4HiIrpODTx9UNT8tdpdOB7wE7waaMw0sEWxORT4bdX8f X-Received: by 2002:a7b:cf30:: with SMTP id m16mr5110817wmg.145.1607456043039; Tue, 08 Dec 2020 11:34:03 -0800 (PST) X-Google-Smtp-Source: ABdhPJwC1UWeAh12Gc2314UzpOvuaqhw8/INQeFNxiF1w0SQ3iDctAFtwBMpbIdpfOhFBp0wZZIQ7A== X-Received: by 2002:a7b:cf30:: with SMTP id m16mr5110803wmg.145.1607456042838; Tue, 08 Dec 2020 11:34:02 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:00 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 07/66] virtio: reset device on bad guest index in virtio_load() Message-ID: <20201208193307.646726-8-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , John Levon Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: John Levon If we find a queue with an inconsistent guest index value, explicitly mark = the device as needing a reset - and broken - via virtio_error(). There's at least one driver implementation - the virtio-win NetKVM driver -= that is able to handle a VIRTIO_CONFIG_S_NEEDS_RESET notification and successful= ly restore the device to a working state. Other implementations do not correct= ly handle this, but as the VQ is not in a functional state anyway, this is sti= ll worth doing. Signed-off-by: John Levon Message-Id: <20201120185103.GA442386@sent> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index ceb58fda6c..eff35fab7c 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -3161,12 +3161,15 @@ int virtio_load(VirtIODevice *vdev, QEMUFile *f, in= t version_id) nheads =3D vring_avail_idx(&vdev->vq[i]) - vdev->vq[i].last_av= ail_idx; /* Check it isn't doing strange things with descriptor numbers= . */ if (nheads > vdev->vq[i].vring.num) { - qemu_log_mask(LOG_GUEST_ERROR, - "VQ %d size 0x%x Guest index 0x%x " - "inconsistent with Host index 0x%x: delta 0x= %x", - i, vdev->vq[i].vring.num, - vring_avail_idx(&vdev->vq[i]), - vdev->vq[i].last_avail_idx, nheads); + virtio_error(vdev, "VQ %d size 0x%x Guest index 0x%x " + "inconsistent with Host index 0x%x: delta 0x%= x", + i, vdev->vq[i].vring.num, + vring_avail_idx(&vdev->vq[i]), + vdev->vq[i].last_avail_idx, nheads); + vdev->vq[i].used_idx =3D 0; + vdev->vq[i].shadow_avail_idx =3D 0; + vdev->vq[i].inuse =3D 0; + continue; } vdev->vq[i].used_idx =3D vring_used_idx(&vdev->vq[i]); vdev->vq[i].shadow_avail_idx =3D vring_avail_idx(&vdev->vq[i]); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607456937; cv=none; d=zohomail.com; s=zohoarc; b=A9OOZO+Y3u2+E3g/KTJiAUqYZKIWo87eGCkK6HvUYjgzGmhdzr3UML5vEZKzfHQUb0CVajNYTGD1VSsKXEi1t22hKJnSiYxxYHxlFlO6IWWxhb7T/qikchIqr4BKvEFP428izT2HqG/9HhyX5JvRBGZ1ltJsETceU+8Y1ZZhFik= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607456937; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=sBbYqATIAnCNBcAAt91kqKRHx/wGJ4fEyCpCv6h89HQ=; b=WmDVv2U0R9ymY+wcSTaRbBgcrvDMBsGwtiscxdEaiW3PtyrFg4k3uwGRcl1OmND2RC4IQduWAAYGiU8Pvb2SdX4g70y70OoAHiTOdnYHDCBqTLBr7Pagi0GkXBBnNjZVddiJnrnDTNL35b97wVU+R9P4a5AVYiB6/1N4ml57BnE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607456936878990.0446215071983; Tue, 8 Dec 2020 11:48:56 -0800 (PST) Received: from localhost ([::1]:57234 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmiyj-00008e-LE for importer@patchew.org; Tue, 08 Dec 2020 14:48:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48852) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikZ-00050l-QY for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:15 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:40961) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikV-0004kV-2M for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:15 -0500 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-515-oVhCh8MDNourpgw94_ApVg-1; Tue, 08 Dec 2020 14:34:07 -0500 Received: by mail-wm1-f69.google.com with SMTP id d16so948218wmd.1 for ; Tue, 08 Dec 2020 11:34:07 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id e17sm11589349wrw.84.2020.12.08.11.34.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=sBbYqATIAnCNBcAAt91kqKRHx/wGJ4fEyCpCv6h89HQ=; b=KN3doU87QKLSHGZ49zlUKdcLWCp1vtFYLCqWvSF3AjblSF37CYfB2Qr5AIbUX5QHkLICM3 kCqKkE5xdyhIiyMM97lyH2JuUag3RpCFxbmiWC97JR3T6W/OyIvb07EfY1rkm27OR7iTcC yaN4uF85vXiWKQ97NMCOY92i1hLwy4k= X-MC-Unique: oVhCh8MDNourpgw94_ApVg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=sBbYqATIAnCNBcAAt91kqKRHx/wGJ4fEyCpCv6h89HQ=; b=Ybr0idmZe2nGlNdoADTCspu0Rf4Owq/X07L8G+rQYodKKIXVuRlVYVRCA3H+J+wwqq 3Wx54pJDSeKsvAP7xm/mN/pOon2hrzJJ5EMLdkiciojwqEcBy75ccbCvwLXL18ZjuUWY x/U0KSpvc0bE2HhLyku8vuO9hIKoJrPuq9sOMI6LhirBhj6u0XnyzLcCRUKqHnBY0s6M tz6F2KXIWJSRpu0Fy/BHap+v0ulzdaDdynT77llXshuV223SyKXBjGWU1OlnkW58xP1s S2wVbJjX/SwCF70t9GVrEMtrRyk5FS993AJYIep8cVJc5b6opDptWC+vjLgF1gl8EyaI Z46w== X-Gm-Message-State: AOAM533HzaWLPf/RjQFm749j+sZHay74EWBu4jDKuYXpKwugBft7OI+6 5QP38GFgcjxsoNSQZmSLPXfpMrQiTibeIF6DnrSi+iET7x2xXAtog7hkm1Z3DhKdKHPCDNCSndW wM1Ay3MPc79fkFyfgvsNmEP1cBQmLS4xjJDhfQXKHezqciMYg3bXhTR8o8kUf X-Received: by 2002:a1c:7f93:: with SMTP id a141mr5160297wmd.132.1607456045789; Tue, 08 Dec 2020 11:34:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJy0uc1jhIjUuXn9fvAg6VQ8kiMV/KF2txYEitKptj4DIZRSxHexKPGW3EhOMJkYRmOi19Fixg== X-Received: by 2002:a1c:7f93:: with SMTP id a141mr5160274wmd.132.1607456045465; Tue, 08 Dec 2020 11:34:05 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:02 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 08/66] acpi/gpex: Extract two APIs from acpi_dsdt_add_pci Message-ID: <20201208193307.646726-9-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Yubo Miao , Jiahui Cen , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yubo Miao Extract two APIs acpi_dsdt_add_pci_route_table and acpi_dsdt_add_pci_osc from acpi_dsdt_add_pci. The first API is used to specify the pci route table and the second API is used to declare the operation system capabilities. These two APIs would be used to specify the pxb-pcie in DSDT. Signed-off-by: Yubo Miao Signed-off-by: Jiahui Cen Message-Id: <20201119014841.7298-2-cenjiahui@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/pci-host/gpex-acpi.c | 112 ++++++++++++++++++++++------------------ 1 file changed, 63 insertions(+), 49 deletions(-) diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c index dbb350a837..32a9f2796d 100644 --- a/hw/pci-host/gpex-acpi.c +++ b/hw/pci-host/gpex-acpi.c @@ -2,21 +2,11 @@ #include "hw/acpi/aml-build.h" #include "hw/pci-host/gpex.h" =20 -void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *cfg) +static void acpi_dsdt_add_pci_route_table(Aml *dev, uint32_t irq) { - int nr_pcie_buses =3D cfg->ecam.size / PCIE_MMCFG_SIZE_MIN; - Aml *method, *crs, *ifctx, *UUID, *ifctx1, *elsectx, *buf; + Aml *method, *crs; int i, slot_no; =20 - Aml *dev =3D aml_device("%s", "PCI0"); - aml_append(dev, aml_name_decl("_HID", aml_string("PNP0A08"))); - aml_append(dev, aml_name_decl("_CID", aml_string("PNP0A03"))); - aml_append(dev, aml_name_decl("_SEG", aml_int(0))); - aml_append(dev, aml_name_decl("_BBN", aml_int(0))); - aml_append(dev, aml_name_decl("_UID", aml_int(0))); - aml_append(dev, aml_name_decl("_STR", aml_unicode("PCIe 0 Device"))); - aml_append(dev, aml_name_decl("_CCA", aml_int(1))); - /* Declare the PCI Routing Table. */ Aml *rt_pkg =3D aml_varpackage(PCI_SLOT_MAX * PCI_NUM_PINS); for (slot_no =3D 0; slot_no < PCI_SLOT_MAX; slot_no++) { @@ -34,7 +24,7 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *cf= g) =20 /* Create GSI link device */ for (i =3D 0; i < PCI_NUM_PINS; i++) { - uint32_t irqs =3D cfg->irq + i; + uint32_t irqs =3D irq + i; Aml *dev_gsi =3D aml_device("GSI%d", i); aml_append(dev_gsi, aml_name_decl("_HID", aml_string("PNP0C0F"))); aml_append(dev_gsi, aml_name_decl("_UID", aml_int(i))); @@ -52,43 +42,11 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *= cfg) aml_append(dev_gsi, method); aml_append(dev, dev_gsi); } +} =20 - method =3D aml_method("_CBA", 0, AML_NOTSERIALIZED); - aml_append(method, aml_return(aml_int(cfg->ecam.base))); - aml_append(dev, method); - - Aml *rbuf =3D aml_resource_template(); - aml_append(rbuf, - aml_word_bus_number(AML_MIN_FIXED, AML_MAX_FIXED, AML_POS_DECODE, - 0x0000, 0x0000, nr_pcie_buses - 1, 0x0000, - nr_pcie_buses)); - if (cfg->mmio32.size) { - aml_append(rbuf, - aml_dword_memory(AML_POS_DECODE, AML_MIN_FIXED, AML_MAX= _FIXED, - AML_NON_CACHEABLE, AML_READ_WRITE, 0x0= 000, - cfg->mmio32.base, - cfg->mmio32.base + cfg->mmio32.size - = 1, - 0x0000, - cfg->mmio32.size)); - } - if (cfg->pio.size) { - aml_append(rbuf, - aml_dword_io(AML_MIN_FIXED, AML_MAX_FIXED, AML_POS_DECO= DE, - AML_ENTIRE_RANGE, 0x0000, 0x0000, - cfg->pio.size - 1, - cfg->pio.base, - cfg->pio.size)); - } - if (cfg->mmio64.size) { - aml_append(rbuf, - aml_qword_memory(AML_POS_DECODE, AML_MIN_FIXED, AML_MAX= _FIXED, - AML_NON_CACHEABLE, AML_READ_WRITE, 0x0= 000, - cfg->mmio64.base, - cfg->mmio64.base + cfg->mmio64.size - = 1, - 0x0000, - cfg->mmio64.size)); - } - aml_append(dev, aml_name_decl("_CRS", rbuf)); +static void acpi_dsdt_add_pci_osc(Aml *dev) +{ + Aml *method, *UUID, *ifctx, *ifctx1, *elsectx, *buf; =20 /* Declare an _OSC (OS Control Handoff) method */ aml_append(dev, aml_name_decl("SUPP", aml_int(0))); @@ -160,6 +118,62 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig = *cfg) buf =3D aml_buffer(1, byte_list); aml_append(method, aml_return(buf)); aml_append(dev, method); +} + +void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *cfg) +{ + int nr_pcie_buses =3D cfg->ecam.size / PCIE_MMCFG_SIZE_MIN; + Aml *method, *crs, *dev, *rbuf; + + dev =3D aml_device("%s", "PCI0"); + aml_append(dev, aml_name_decl("_HID", aml_string("PNP0A08"))); + aml_append(dev, aml_name_decl("_CID", aml_string("PNP0A03"))); + aml_append(dev, aml_name_decl("_SEG", aml_int(0))); + aml_append(dev, aml_name_decl("_BBN", aml_int(0))); + aml_append(dev, aml_name_decl("_UID", aml_int(0))); + aml_append(dev, aml_name_decl("_STR", aml_unicode("PCIe 0 Device"))); + aml_append(dev, aml_name_decl("_CCA", aml_int(1))); + + acpi_dsdt_add_pci_route_table(dev, cfg->irq); + + method =3D aml_method("_CBA", 0, AML_NOTSERIALIZED); + aml_append(method, aml_return(aml_int(cfg->ecam.base))); + aml_append(dev, method); + + rbuf =3D aml_resource_template(); + aml_append(rbuf, + aml_word_bus_number(AML_MIN_FIXED, AML_MAX_FIXED, AML_POS_DECODE, + 0x0000, 0x0000, nr_pcie_buses - 1, 0x0000, + nr_pcie_buses)); + if (cfg->mmio32.size) { + aml_append(rbuf, + aml_dword_memory(AML_POS_DECODE, AML_MIN_FIXED, AML_MAX= _FIXED, + AML_NON_CACHEABLE, AML_READ_WRITE, 0x0= 000, + cfg->mmio32.base, + cfg->mmio32.base + cfg->mmio32.size - = 1, + 0x0000, + cfg->mmio32.size)); + } + if (cfg->pio.size) { + aml_append(rbuf, + aml_dword_io(AML_MIN_FIXED, AML_MAX_FIXED, AML_POS_DECO= DE, + AML_ENTIRE_RANGE, 0x0000, 0x0000, + cfg->pio.size - 1, + cfg->pio.base, + cfg->pio.size)); + } + if (cfg->mmio64.size) { + aml_append(rbuf, + aml_qword_memory(AML_POS_DECODE, AML_MIN_FIXED, AML_MAX= _FIXED, + AML_NON_CACHEABLE, AML_READ_WRITE, 0x0= 000, + cfg->mmio64.base, + cfg->mmio64.base + cfg->mmio64.size - = 1, + 0x0000, + cfg->mmio64.size)); + } + aml_append(dev, aml_name_decl("_CRS", rbuf)); + + acpi_dsdt_add_pci_osc(dev); =20 Aml *dev_res0 =3D aml_device("%s", "RES0"); aml_append(dev_res0, aml_name_decl("_HID", aml_string("PNP0C02"))); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457001; cv=none; d=zohomail.com; s=zohoarc; b=n8OW3EMJevt1tUrbB2VNdUB8jqAqIfWdoRcLeUCAPiVWIVHHkmEDgHL9vovqysBIB6la1CAk8pygynp9lw/jd53XXCn6u63NTWghb3pwUALVbLzJlw+beoKW4NSYlEoAwDpQ9ww3MWo4TK89ephiGNVq7JTwE/pRVjOuN76QvUQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457001; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=aC7Cd6TYlILALJJv5OMkXJYmgQWD2IPIt7fFj22zuwI=; b=DKxHYJS8QznfKcyQiBrRei6rwZ+3t1fYLd7VbxOx/Bq1MUzNkJxC4ewLXjhOl1383bymoCdPbNnxzlT8AKZrcTFnAqxO3LoSQSdHhx7b7uWYVcqsLMKJFui5/CB7flBFdKY7YrBImSNmMsG2PLM27sIG0ixRVVO8kjNTEvp50kc= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457001849357.21788132502036; Tue, 8 Dec 2020 11:50:01 -0800 (PST) Received: from localhost ([::1]:60644 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmizo-0001cy-Lj for importer@patchew.org; Tue, 08 Dec 2020 14:50:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48856) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmika-000521-BO for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:17 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:37582) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikY-0004nE-8E for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:16 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-225-XUeoZOlUOxiclB0kmDNSQA-1; Tue, 08 Dec 2020 14:34:11 -0500 Received: by mail-wr1-f71.google.com with SMTP id b8so168275wrv.14 for ; Tue, 08 Dec 2020 11:34:11 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id m4sm5057108wmi.41.2020.12.08.11.34.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=aC7Cd6TYlILALJJv5OMkXJYmgQWD2IPIt7fFj22zuwI=; b=YbvXTbtFBVE+fTRH31zIwORxM87g4oFORSIy12vGXXFH37OaFzqbtDcmea37pQ7Y7Z5Rzw VEA+Rq/yaHwXUBdI/zsudN7pEjxmtIpc0b4EYxHDghckkbx06N8k0fRkhxuPHFFtruxo+s NkYrjCmTgdeK5RNThLKDiB/xMAsonyE= X-MC-Unique: XUeoZOlUOxiclB0kmDNSQA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=aC7Cd6TYlILALJJv5OMkXJYmgQWD2IPIt7fFj22zuwI=; b=HoVxhId3dxakEeMEhQ8956UxmhA3xksDZItnGbiKq1gSnwvju4T/5u1Xv/PzBS3bye 1lN0Wgqx0/cNuVjKPK7izmE14pURtKkKWl10XTWMtcuQSd0UBW/2FX1Ldnbmw0bfh1IN JyuWDBm07bPmRGjtahiE7mBuimqGOdjoHQW+gZzQZ8M8nT0uA5ncXKbcXPPHmKLeQcUJ xs9FPYtbHdS8rgfvbJLpUl+P6w2muC41ck/dL5QYxTslNG5tuDCFm0oDO7iV7fpFhO3l +2/BVZ376ya11jfEyw2+HISQK6PaXJT7+KCReHZsxCV8hRuKjHGRIr2Fear0pkPeNJi3 PTUg== X-Gm-Message-State: AOAM531Fi0wtdZFGkVEvstOwatrTR7zVzKplUH0NXIRxH0m5ivPP6Jnh GJtDJ5S6wx+ODKpzHf8z9zPX7oacWSC12Bf8xUokkpqrt79mXtPMa2ojW/5QtARfGWn3OHVRohq peWy3PcmSxglJWep7qHqyH7cPEkCOuLAveGuyiuCLCmy0/NrQo3kXvelAVk6J X-Received: by 2002:a5d:4242:: with SMTP id s2mr18182188wrr.187.1607456050291; Tue, 08 Dec 2020 11:34:10 -0800 (PST) X-Google-Smtp-Source: ABdhPJyKWSf5jl2S5s+Ef2KaxVbGTWXTmq1ATNdZuPx2h4e6O1vDcF3sPVW+tYTLAMhwOnnvY0mj7w== X-Received: by 2002:a5d:4242:: with SMTP id s2mr18182162wrr.187.1607456050070; Tue, 08 Dec 2020 11:34:10 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:05 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 09/66] fw_cfg: Refactor extra pci roots addition Message-ID: <20201208193307.646726-10-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jiahui Cen , Eduardo Habkost , Laszlo Ersek , Richard Henderson , Yubo Miao , Gerd Hoffmann , Paolo Bonzini , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jiahui Cen Extract extra pci roots addition from pc machine, which could be used by other machines. In order to make uefi get the extra roots, it is necessary to write extra roots into fw_cfg. And only if the uefi knows there are extra roots, the config spaces of devices behind the root could be obtained. Signed-off-by: Jiahui Cen Signed-off-by: Yubo Miao Message-Id: <20201119014841.7298-3-cenjiahui@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/nvram/fw_cfg.h | 9 +++++++++ hw/i386/pc.c | 18 +----------------- hw/nvram/fw_cfg.c | 23 +++++++++++++++++++++++ 3 files changed, 33 insertions(+), 17 deletions(-) diff --git a/include/hw/nvram/fw_cfg.h b/include/hw/nvram/fw_cfg.h index 8a9f5738bf..0e7a8bc7af 100644 --- a/include/hw/nvram/fw_cfg.h +++ b/include/hw/nvram/fw_cfg.h @@ -308,6 +308,15 @@ void *fw_cfg_modify_file(FWCfgState *s, const char *fi= lename, void *data, bool fw_cfg_add_from_generator(FWCfgState *s, const char *filename, const char *gen_id, Error **errp); =20 +/** + * fw_cfg_add_extra_pci_roots: + * @bus: main pci root bus to be scanned from + * @s: fw_cfg device being modified + * + * Add a new fw_cfg item... + */ +void fw_cfg_add_extra_pci_roots(PCIBus *bus, FWCfgState *s); + FWCfgState *fw_cfg_init_io_dma(uint32_t iobase, uint32_t dma_iobase, AddressSpace *dma_as); FWCfgState *fw_cfg_init_io(uint32_t iobase); diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 17b514d1da..76a846ff9a 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -777,27 +777,11 @@ void pc_machine_done(Notifier *notifier, void *data) PCMachineState *pcms =3D container_of(notifier, PCMachineState, machine_done); X86MachineState *x86ms =3D X86_MACHINE(pcms); - PCIBus *bus =3D pcms->bus; =20 /* set the number of CPUs */ x86_rtc_set_cpus_count(x86ms->rtc, x86ms->boot_cpus); =20 - if (bus) { - int extra_hosts =3D 0; - - QLIST_FOREACH(bus, &bus->child, sibling) { - /* look for expander root buses */ - if (pci_bus_is_root(bus)) { - extra_hosts++; - } - } - if (extra_hosts && x86ms->fw_cfg) { - uint64_t *val =3D g_malloc(sizeof(*val)); - *val =3D cpu_to_le64(extra_hosts); - fw_cfg_add_file(x86ms->fw_cfg, - "etc/extra-pci-roots", val, sizeof(*val)); - } - } + fw_cfg_add_extra_pci_roots(pcms->bus, x86ms->fw_cfg); =20 acpi_setup(); if (x86ms->fw_cfg) { diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c index 08539a1aab..282ba93e2e 100644 --- a/hw/nvram/fw_cfg.c +++ b/hw/nvram/fw_cfg.c @@ -40,6 +40,7 @@ #include "qemu/cutils.h" #include "qapi/error.h" #include "hw/acpi/aml-build.h" +#include "hw/pci/pci_bus.h" =20 #define FW_CFG_FILE_SLOTS_DFLT 0x20 =20 @@ -1061,6 +1062,28 @@ bool fw_cfg_add_from_generator(FWCfgState *s, const = char *filename, return true; } =20 +void fw_cfg_add_extra_pci_roots(PCIBus *bus, FWCfgState *s) +{ + int extra_hosts =3D 0; + + if (!bus) { + return; + } + + QLIST_FOREACH(bus, &bus->child, sibling) { + /* look for expander root buses */ + if (pci_bus_is_root(bus)) { + extra_hosts++; + } + } + + if (extra_hosts && s) { + uint64_t *val =3D g_malloc(sizeof(*val)); + *val =3D cpu_to_le64(extra_hosts); + fw_cfg_add_file(s, "etc/extra-pci-roots", val, sizeof(*val)); + } +} + static void fw_cfg_machine_reset(void *opaque) { MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457116; cv=none; d=zohomail.com; s=zohoarc; b=mZkCbXtkezqfIK36rFyhdl+htuGAxzrZUI2R7PSlpbfsBdpZdgXyOd0V337j0roTTrZUsryMLvjDOvw0rAlmgya/6gzT7+s6mvhdEJ7LaVZ9Uv6FPGpvTt74WlG8Pz/GnU3tewk8axazy3nzyBzAKRpK6LLOxMvtbkspa+yXa4k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457116; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=eNcV8yenr5e4/gQuOd0WGDeItExL2HtrnjnsPaPv3a0=; b=Z+T0oAD+hX0yGK/R7hwlLNerDDGTO7PlHEJPghM3Qmvmao9ohXwlMtzydLAHymN/uQPR4d9Fu5eH70MuKVTH65nJCGVGemt47apaui+pbHHXW9V3hEy8Luu7IfRW7UjC0Wk0k6YOmRuueVydoVkDHgpc6HNuaImlxg+dzwmhMCg= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457116966108.48308484421307; Tue, 8 Dec 2020 11:51:56 -0800 (PST) Received: from localhost ([::1]:37458 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj1d-0003oz-Tu for importer@patchew.org; Tue, 08 Dec 2020 14:51:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48882) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikd-00054V-Qi for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:19 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:51232) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikb-0004on-Dp for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:19 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-252-8ARr4979N8OTH84QYT9iMA-1; Tue, 08 Dec 2020 14:34:14 -0500 Received: by mail-wr1-f69.google.com with SMTP id o17so37031wra.8 for ; Tue, 08 Dec 2020 11:34:14 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id o83sm4910349wme.21.2020.12.08.11.34.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456056; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=eNcV8yenr5e4/gQuOd0WGDeItExL2HtrnjnsPaPv3a0=; b=U6gz+N/Dy/kMqnHA81ApjiXMlmgsjFt7Ccj3D4YyaIj+/fWK/SgfQsMug7AK0575mOgCaJ ote8i0lB1nBQ483DGJ9Ci9Y+x37zpkcdcsJ5e/agDjVfTGVPezcCM06tz4ALux9yhYxGCb 8me3yopKYCxhlVCcs6moS9DNS+ELblY= X-MC-Unique: 8ARr4979N8OTH84QYT9iMA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=eNcV8yenr5e4/gQuOd0WGDeItExL2HtrnjnsPaPv3a0=; b=j72WqMtVxVxq73cPZFH4yXC+Z01LbYn0RWqbucEg5HNnbGpN8wN/PhUwH6tAlo/lrk 7Ovj59SqRBFCHdo/7H1Kh2sbUKv/YbjyO3Z6gq7b4E5bPs0tJPDPldPhkl0vNpodIgeq tWQdpummxxU7pwCs1MnYp38ixC+bBefxKPvZ+6brz23HLCc3qzPcLfdDoDgvlaGohV9p WLfw0ACeNGidkAvKciUT2/cy9q6kqw82B3hqZJq8ENKaR8dqhHnSEm8fJkFaFrvMlr93 hysf+KT/GVnV/3lWwUVA6IBJgTMUPXRiz4w8C1TK9hFYfS6+khq7TQ+FCYYZLekgV6nv 5b+w== X-Gm-Message-State: AOAM5327bkGsMqxS/uzhR2gp3A4BstGEOLGXPrISHs7YsJp7m7q7XTwJ NyQTqocflw6gQDtVrd+0U2uv8rOOMI51nUl+CrfFyKeI6losS2bCvqRVRvBB59/PhxPN8OyQPrG bNckVIFmIcTHQ1VGXC3utU3db8UC3ZrMdtSNw/Eh4KuQxfdOGYighDKVOtjU5 X-Received: by 2002:adf:e60e:: with SMTP id p14mr26033945wrm.188.1607456053217; Tue, 08 Dec 2020 11:34:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJx+0rG6UqIkSpktUmKieOn0AdQtCmnFuGPJKGy/Yljh5ZYi+5cpxEd3A5IdvuIbSchqjvvLww== X-Received: by 2002:adf:e60e:: with SMTP id p14mr26033926wrm.188.1607456053005; Tue, 08 Dec 2020 11:34:13 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:10 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 10/66] hw/arm/virt: Write extra pci roots into fw_cfg Message-ID: <20201208193307.646726-11-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jiahui Cen , qemu-arm@nongnu.org, Yubo Miao Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jiahui Cen Add bus property to virt machine for primary PCI root bus and use it to add extra pci roots behind it. Signed-off-by: Jiahui Cen Signed-off-by: Yubo Miao Message-Id: <20201119014841.7298-4-cenjiahui@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/arm/virt.h | 1 + hw/arm/virt.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h index aad6d69841..abf54fab49 100644 --- a/include/hw/arm/virt.h +++ b/include/hw/arm/virt.h @@ -163,6 +163,7 @@ struct VirtMachineState { DeviceState *gic; DeviceState *acpi_dev; Notifier powerdown_notifier; + PCIBus *bus; }; =20 #define VIRT_ECAM_ID(high) (high ? VIRT_HIGH_PCIE_ECAM : VIRT_PCIE_ECAM) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 27dbeb549e..847257aa5c 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -1289,7 +1289,8 @@ static void create_pcie(VirtMachineState *vms) } =20 pci =3D PCI_HOST_BRIDGE(dev); - if (pci->bus) { + vms->bus =3D pci->bus; + if (vms->bus) { for (i =3D 0; i < nb_nics; i++) { NICInfo *nd =3D &nd_table[i]; =20 @@ -1346,7 +1347,7 @@ static void create_pcie(VirtMachineState *vms) =20 switch (vms->iommu) { case VIRT_IOMMU_SMMUV3: - create_smmu(vms, pci->bus); + create_smmu(vms, vms->bus); qemu_fdt_setprop_cells(vms->fdt, nodename, "iommu-map", 0x0, vms->iommu_phandle, 0x0, 0x10000); break; @@ -1481,6 +1482,8 @@ void virt_machine_done(Notifier *notifier, void *data) exit(1); } =20 + fw_cfg_add_extra_pci_roots(vms->bus, vms->fw_cfg); + virt_acpi_setup(vms); virt_build_smbios(vms); } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607456904; cv=none; d=zohomail.com; s=zohoarc; b=QEQeWo5RK26psm3IEKw+VutaGQwOK8tut2L7Hz6+2MdZVQc25QMAUojgFzC+Ut/QEjlCtfeO1/PDKcg5VE1E3Sad0swK47cuR+fHdwBuqus8Oj2a4CwHmt9crepLKTS3lVImpCrsr3COcPI+PMAsEpsx8m3+ge3EBVdfxEmfDck= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607456904; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=TVR/3R4ZqClFMyO1Kzexn8XC/0JTzZKpKAnPNCHy7i0=; b=AHQk+qyL2pN2ohVeZ4CFquWGUQxx2lTyvJpDZcBEa+0/qxgMHpCzcS1KvIoYxWz4i+RdqxQp04krWBiq7tUzkneHolgP+62buNrVZWIZNpcp52tzd0Eq5o48z9jwQW0rC93oDs/iG5/KqnrQx9owvEOtOatJPH9u8JvyjJ4BDf8= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607456904921364.114453919893; Tue, 8 Dec 2020 11:48:24 -0800 (PST) Received: from localhost ([::1]:55014 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmiyF-0007et-Cm for importer@patchew.org; Tue, 08 Dec 2020 14:48:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48906) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikl-00057O-PZ for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:28 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:42304) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikg-0004qj-A4 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:27 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-1-mktStFnMMwCTGC_xvXopwQ-1; Tue, 08 Dec 2020 14:34:19 -0500 Received: by mail-wr1-f72.google.com with SMTP id o17so37100wra.8 for ; Tue, 08 Dec 2020 11:34:18 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id r20sm2584461wrg.66.2020.12.08.11.34.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=TVR/3R4ZqClFMyO1Kzexn8XC/0JTzZKpKAnPNCHy7i0=; b=iLNf/QFVf1aJIpLuoEwW6ethNsQG4BukoBc8uwW6oA8DW7cKFPet9aSLDvYWQCXPJraFcW tKOaf3DyRzt6g3yPW7aaFhdm9+1zZdMDvRBzyOYhC5xPHJyz6lJelMyxDA8NTTI5eI1Adk ynDvDLo2sPAkbE5P3gB26XoGslf88VQ= X-MC-Unique: mktStFnMMwCTGC_xvXopwQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=TVR/3R4ZqClFMyO1Kzexn8XC/0JTzZKpKAnPNCHy7i0=; b=qNPomcFr33oyg9pIzRUJa/xJ6lpM4afAou+HRYC2dVRKEQgCQK7tmGqv6yhvlzxH2T lTWNXNjm+VSbzXc81LpHrLm+ANXOPreiiSjP3vmilVIuL9N38WHmNMvAdwABW5VZsO8U i7LCWSw26Xorwmi/bePTWaLzdKLlxkOA4xMyK5DNYhm16mYoBdbHjgQFSbOtXZkFgz0+ tjOaGl9JNGnvWUu5xXdRRCoVBJTNE8QUvAZThcR/JgHwfd9Lkq1zl9RqjKdfp3n1mrjL LOOLUNkstoyNdD+N4iTxMxDv7JhPreQRXnSp+b86WR5hvg4xFBjeEWbUbIrcGW0TB7zD ZMww== X-Gm-Message-State: AOAM530aBmR49zrdx3e21LL/gc9SLmVE4/wZoDIvklYSWuptnGxox5Ft rb2zoPW8yb15o0GbbtKp6U4VP37o7gT1jAEZS/oPHpEm/rzA4BiTHPmEm3pVWLdoLrAlhiqxnCa 1AcMEvuovjgDhShotEOLL6icysRz6Isy2hsRiQ5Q1ToIMhRTJ9MWL7lrmIsZQ X-Received: by 2002:adf:8285:: with SMTP id 5mr12816676wrc.289.1607456056634; Tue, 08 Dec 2020 11:34:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJxMOl7G+ioQmloLaBk1+tXnmWQgm0LTnxGFUWwK132nHjyiUS7BHyGkViF54vS9YVL2ZPjMJw== X-Received: by 2002:adf:8285:: with SMTP id 5mr12816647wrc.289.1607456056304; Tue, 08 Dec 2020 11:34:16 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:13 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 11/66] acpi: Extract crs build form acpi_build.c Message-ID: <20201208193307.646726-12-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jiahui Cen , Eduardo Habkost , Richard Henderson , Yubo Miao , Igor Mammedov , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yubo Miao Extract crs build form acpi_build.c, the function could also be used to build the crs for pxbs for arm. The resources are composed by two parts: 1. The bar space of pci-bridge/pcie-root-ports 2. The resources needed by devices behind PXBs. The base and limit of memory/io are obtained from the config via two APIs: pci_bridge_get_base and pci_bridge_get_limit Signed-off-by: Yubo Miao Signed-off-by: Jiahui Cen Message-Id: <20201119014841.7298-5-cenjiahui@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/aml-build.h | 22 +++ hw/acpi/aml-build.c | 285 +++++++++++++++++++++++++++++++++++ hw/i386/acpi-build.c | 293 ------------------------------------ 3 files changed, 307 insertions(+), 293 deletions(-) diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h index fe0055fffb..e727bea1bc 100644 --- a/include/hw/acpi/aml-build.h +++ b/include/hw/acpi/aml-build.h @@ -224,6 +224,20 @@ struct AcpiBuildTables { BIOSLinker *linker; } AcpiBuildTables; =20 +typedef +struct CrsRangeEntry { + uint64_t base; + uint64_t limit; +} CrsRangeEntry; + +typedef +struct CrsRangeSet { + GPtrArray *io_ranges; + GPtrArray *mem_ranges; + GPtrArray *mem_64bit_ranges; +} CrsRangeSet; + + /* * ACPI 5.0: 6.4.3.8.2 Serial Bus Connection Descriptors * Serial Bus Type @@ -432,6 +446,14 @@ build_append_gas_from_struct(GArray *table, const stru= ct AcpiGenericAddress *s) s->access_width, s->address); } =20 +void crs_range_insert(GPtrArray *ranges, uint64_t base, uint64_t limit); +void crs_replace_with_free_ranges(GPtrArray *ranges, + uint64_t start, uint64_t end); +void crs_range_set_init(CrsRangeSet *range_set); +void crs_range_set_free(CrsRangeSet *range_set); + +Aml *build_crs(PCIHostState *host, CrsRangeSet *range_set); + void build_srat_memory(AcpiSratMemoryAffinity *numamem, uint64_t base, uint64_t len, int node, MemoryAffinityFlags flags); =20 diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index 3792ba96ce..f976aa667b 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -27,6 +27,9 @@ #include "sysemu/numa.h" #include "hw/boards.h" #include "hw/acpi/tpm.h" +#include "hw/pci/pci_host.h" +#include "hw/pci/pci_bus.h" +#include "hw/pci/pci_bridge.h" =20 static GArray *build_alloc_array(void) { @@ -55,6 +58,128 @@ static void build_append_array(GArray *array, GArray *v= al) =20 #define ACPI_NAMESEG_LEN 4 =20 +void crs_range_insert(GPtrArray *ranges, uint64_t base, uint64_t limit) +{ + CrsRangeEntry *entry; + + entry =3D g_malloc(sizeof(*entry)); + entry->base =3D base; + entry->limit =3D limit; + + g_ptr_array_add(ranges, entry); +} + +static void crs_range_free(gpointer data) +{ + CrsRangeEntry *entry =3D (CrsRangeEntry *)data; + g_free(entry); +} + +void crs_range_set_init(CrsRangeSet *range_set) +{ + range_set->io_ranges =3D g_ptr_array_new_with_free_func(crs_range_free= ); + range_set->mem_ranges =3D g_ptr_array_new_with_free_func(crs_range_fre= e); + range_set->mem_64bit_ranges =3D + g_ptr_array_new_with_free_func(crs_range_free); +} + +void crs_range_set_free(CrsRangeSet *range_set) +{ + g_ptr_array_free(range_set->io_ranges, true); + g_ptr_array_free(range_set->mem_ranges, true); + g_ptr_array_free(range_set->mem_64bit_ranges, true); +} + +static gint crs_range_compare(gconstpointer a, gconstpointer b) +{ + CrsRangeEntry *entry_a =3D *(CrsRangeEntry **)a; + CrsRangeEntry *entry_b =3D *(CrsRangeEntry **)b; + + if (entry_a->base < entry_b->base) { + return -1; + } else if (entry_a->base > entry_b->base) { + return 1; + } else { + return 0; + } +} + +/* + * crs_replace_with_free_ranges - given the 'used' ranges within [start - = end] + * interval, computes the 'free' ranges from the same interval. + * Example: If the input array is { [a1 - a2],[b1 - b2] }, the function + * will return { [base - a1], [a2 - b1], [b2 - limit] }. + */ +void crs_replace_with_free_ranges(GPtrArray *ranges, + uint64_t start, uint64_t end) +{ + GPtrArray *free_ranges =3D g_ptr_array_new(); + uint64_t free_base =3D start; + int i; + + g_ptr_array_sort(ranges, crs_range_compare); + for (i =3D 0; i < ranges->len; i++) { + CrsRangeEntry *used =3D g_ptr_array_index(ranges, i); + + if (free_base < used->base) { + crs_range_insert(free_ranges, free_base, used->base - 1); + } + + free_base =3D used->limit + 1; + } + + if (free_base < end) { + crs_range_insert(free_ranges, free_base, end); + } + + g_ptr_array_set_size(ranges, 0); + for (i =3D 0; i < free_ranges->len; i++) { + g_ptr_array_add(ranges, g_ptr_array_index(free_ranges, i)); + } + + g_ptr_array_free(free_ranges, true); +} + +/* + * crs_range_merge - merges adjacent ranges in the given array. + * Array elements are deleted and replaced with the merged ranges. + */ +static void crs_range_merge(GPtrArray *range) +{ + GPtrArray *tmp =3D g_ptr_array_new_with_free_func(crs_range_free); + CrsRangeEntry *entry; + uint64_t range_base, range_limit; + int i; + + if (!range->len) { + return; + } + + g_ptr_array_sort(range, crs_range_compare); + + entry =3D g_ptr_array_index(range, 0); + range_base =3D entry->base; + range_limit =3D entry->limit; + for (i =3D 1; i < range->len; i++) { + entry =3D g_ptr_array_index(range, i); + if (entry->base - 1 =3D=3D range_limit) { + range_limit =3D entry->limit; + } else { + crs_range_insert(tmp, range_base, range_limit); + range_base =3D entry->base; + range_limit =3D entry->limit; + } + } + crs_range_insert(tmp, range_base, range_limit); + + g_ptr_array_set_size(range, 0); + for (i =3D 0; i < tmp->len; i++) { + entry =3D g_ptr_array_index(tmp, i); + crs_range_insert(range, entry->base, entry->limit); + } + g_ptr_array_free(tmp, true); +} + static void build_append_nameseg(GArray *array, const char *seg) { @@ -1951,6 +2076,166 @@ void build_tpm2(GArray *table_data, BIOSLinker *lin= ker, GArray *tcpalog) tpm2_ptr, "TPM2", table_data->len - tpm2_start, 4, NULL, = NULL); } =20 +Aml *build_crs(PCIHostState *host, CrsRangeSet *range_set) +{ + Aml *crs =3D aml_resource_template(); + CrsRangeSet temp_range_set; + CrsRangeEntry *entry; + uint8_t max_bus =3D pci_bus_num(host->bus); + uint8_t type; + int devfn; + int i; + + crs_range_set_init(&temp_range_set); + for (devfn =3D 0; devfn < ARRAY_SIZE(host->bus->devices); devfn++) { + uint64_t range_base, range_limit; + PCIDevice *dev =3D host->bus->devices[devfn]; + + if (!dev) { + continue; + } + + for (i =3D 0; i < PCI_NUM_REGIONS; i++) { + PCIIORegion *r =3D &dev->io_regions[i]; + + range_base =3D r->addr; + range_limit =3D r->addr + r->size - 1; + + /* + * Work-around for old bioses + * that do not support multiple root buses + */ + if (!range_base || range_base > range_limit) { + continue; + } + + if (r->type & PCI_BASE_ADDRESS_SPACE_IO) { + crs_range_insert(temp_range_set.io_ranges, + range_base, range_limit); + } else { /* "memory" */ + uint64_t length =3D range_limit - range_base + 1; + if (range_limit <=3D UINT32_MAX && length <=3D UINT32_MAX)= { + crs_range_insert(temp_range_set.mem_ranges, range_base, + range_limit); + } else { + crs_range_insert(temp_range_set.mem_64bit_ranges, + range_base, range_limit); + } + } + } + + type =3D dev->config[PCI_HEADER_TYPE] & ~PCI_HEADER_TYPE_MULTI_FUN= CTION; + if (type =3D=3D PCI_HEADER_TYPE_BRIDGE) { + uint8_t subordinate =3D dev->config[PCI_SUBORDINATE_BUS]; + if (subordinate > max_bus) { + max_bus =3D subordinate; + } + + range_base =3D pci_bridge_get_base(dev, PCI_BASE_ADDRESS_SPACE= _IO); + range_limit =3D pci_bridge_get_limit(dev, PCI_BASE_ADDRESS_SPA= CE_IO); + + /* + * Work-around for old bioses + * that do not support multiple root buses + */ + if (range_base && range_base <=3D range_limit) { + crs_range_insert(temp_range_set.io_ranges, + range_base, range_limit); + } + + range_base =3D + pci_bridge_get_base(dev, PCI_BASE_ADDRESS_SPACE_MEMORY); + range_limit =3D + pci_bridge_get_limit(dev, PCI_BASE_ADDRESS_SPACE_MEMORY); + + /* + * Work-around for old bioses + * that do not support multiple root buses + */ + if (range_base && range_base <=3D range_limit) { + uint64_t length =3D range_limit - range_base + 1; + if (range_limit <=3D UINT32_MAX && length <=3D UINT32_MAX)= { + crs_range_insert(temp_range_set.mem_ranges, + range_base, range_limit); + } else { + crs_range_insert(temp_range_set.mem_64bit_ranges, + range_base, range_limit); + } + } + + range_base =3D + pci_bridge_get_base(dev, PCI_BASE_ADDRESS_MEM_PREFETCH); + range_limit =3D + pci_bridge_get_limit(dev, PCI_BASE_ADDRESS_MEM_PREFETCH); + + /* + * Work-around for old bioses + * that do not support multiple root buses + */ + if (range_base && range_base <=3D range_limit) { + uint64_t length =3D range_limit - range_base + 1; + if (range_limit <=3D UINT32_MAX && length <=3D UINT32_MAX)= { + crs_range_insert(temp_range_set.mem_ranges, + range_base, range_limit); + } else { + crs_range_insert(temp_range_set.mem_64bit_ranges, + range_base, range_limit); + } + } + } + } + + crs_range_merge(temp_range_set.io_ranges); + for (i =3D 0; i < temp_range_set.io_ranges->len; i++) { + entry =3D g_ptr_array_index(temp_range_set.io_ranges, i); + aml_append(crs, + aml_word_io(AML_MIN_FIXED, AML_MAX_FIXED, + AML_POS_DECODE, AML_ENTIRE_RANGE, + 0, entry->base, entry->limit, 0, + entry->limit - entry->base + 1)); + crs_range_insert(range_set->io_ranges, entry->base, entry->limit); + } + + crs_range_merge(temp_range_set.mem_ranges); + for (i =3D 0; i < temp_range_set.mem_ranges->len; i++) { + entry =3D g_ptr_array_index(temp_range_set.mem_ranges, i); + assert(entry->limit <=3D UINT32_MAX && + (entry->limit - entry->base + 1) <=3D UINT32_MAX); + aml_append(crs, + aml_dword_memory(AML_POS_DECODE, AML_MIN_FIXED, + AML_MAX_FIXED, AML_NON_CACHEABLE, + AML_READ_WRITE, + 0, entry->base, entry->limit, 0, + entry->limit - entry->base + 1)); + crs_range_insert(range_set->mem_ranges, entry->base, entry->limit); + } + + crs_range_merge(temp_range_set.mem_64bit_ranges); + for (i =3D 0; i < temp_range_set.mem_64bit_ranges->len; i++) { + entry =3D g_ptr_array_index(temp_range_set.mem_64bit_ranges, i); + aml_append(crs, + aml_qword_memory(AML_POS_DECODE, AML_MIN_FIXED, + AML_MAX_FIXED, AML_NON_CACHEABLE, + AML_READ_WRITE, + 0, entry->base, entry->limit, 0, + entry->limit - entry->base + 1)); + crs_range_insert(range_set->mem_64bit_ranges, + entry->base, entry->limit); + } + + crs_range_set_free(&temp_range_set); + + aml_append(crs, + aml_word_bus_number(AML_MIN_FIXED, AML_MAX_FIXED, AML_POS_DECODE, + 0, + pci_bus_num(host->bus), + max_bus, + 0, + max_bus - pci_bus_num(host->bus) + 1)); + + return crs; +} + /* ACPI 5.0: 6.4.3.8.2 Serial Bus Connection Descriptors */ static Aml *aml_serial_bus_device(uint8_t serial_bus_type, uint8_t flags, uint16_t type_flags, diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 1f5c211245..76e27f8fad 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -613,299 +613,6 @@ static Aml *build_prt(bool is_pci0_prt) return method; } =20 -typedef struct CrsRangeEntry { - uint64_t base; - uint64_t limit; -} CrsRangeEntry; - -static void crs_range_insert(GPtrArray *ranges, uint64_t base, uint64_t li= mit) -{ - CrsRangeEntry *entry; - - entry =3D g_malloc(sizeof(*entry)); - entry->base =3D base; - entry->limit =3D limit; - - g_ptr_array_add(ranges, entry); -} - -static void crs_range_free(gpointer data) -{ - CrsRangeEntry *entry =3D (CrsRangeEntry *)data; - g_free(entry); -} - -typedef struct CrsRangeSet { - GPtrArray *io_ranges; - GPtrArray *mem_ranges; - GPtrArray *mem_64bit_ranges; - } CrsRangeSet; - -static void crs_range_set_init(CrsRangeSet *range_set) -{ - range_set->io_ranges =3D g_ptr_array_new_with_free_func(crs_range_free= ); - range_set->mem_ranges =3D g_ptr_array_new_with_free_func(crs_range_fre= e); - range_set->mem_64bit_ranges =3D - g_ptr_array_new_with_free_func(crs_range_free); -} - -static void crs_range_set_free(CrsRangeSet *range_set) -{ - g_ptr_array_free(range_set->io_ranges, true); - g_ptr_array_free(range_set->mem_ranges, true); - g_ptr_array_free(range_set->mem_64bit_ranges, true); -} - -static gint crs_range_compare(gconstpointer a, gconstpointer b) -{ - CrsRangeEntry *entry_a =3D *(CrsRangeEntry **)a; - CrsRangeEntry *entry_b =3D *(CrsRangeEntry **)b; - - if (entry_a->base < entry_b->base) { - return -1; - } else if (entry_a->base > entry_b->base) { - return 1; - } else { - return 0; - } -} - -/* - * crs_replace_with_free_ranges - given the 'used' ranges within [start - = end] - * interval, computes the 'free' ranges from the same interval. - * Example: If the input array is { [a1 - a2],[b1 - b2] }, the function - * will return { [base - a1], [a2 - b1], [b2 - limit] }. - */ -static void crs_replace_with_free_ranges(GPtrArray *ranges, - uint64_t start, uint64_t end) -{ - GPtrArray *free_ranges =3D g_ptr_array_new(); - uint64_t free_base =3D start; - int i; - - g_ptr_array_sort(ranges, crs_range_compare); - for (i =3D 0; i < ranges->len; i++) { - CrsRangeEntry *used =3D g_ptr_array_index(ranges, i); - - if (free_base < used->base) { - crs_range_insert(free_ranges, free_base, used->base - 1); - } - - free_base =3D used->limit + 1; - } - - if (free_base < end) { - crs_range_insert(free_ranges, free_base, end); - } - - g_ptr_array_set_size(ranges, 0); - for (i =3D 0; i < free_ranges->len; i++) { - g_ptr_array_add(ranges, g_ptr_array_index(free_ranges, i)); - } - - g_ptr_array_free(free_ranges, true); -} - -/* - * crs_range_merge - merges adjacent ranges in the given array. - * Array elements are deleted and replaced with the merged ranges. - */ -static void crs_range_merge(GPtrArray *range) -{ - GPtrArray *tmp =3D g_ptr_array_new_with_free_func(crs_range_free); - CrsRangeEntry *entry; - uint64_t range_base, range_limit; - int i; - - if (!range->len) { - return; - } - - g_ptr_array_sort(range, crs_range_compare); - - entry =3D g_ptr_array_index(range, 0); - range_base =3D entry->base; - range_limit =3D entry->limit; - for (i =3D 1; i < range->len; i++) { - entry =3D g_ptr_array_index(range, i); - if (entry->base - 1 =3D=3D range_limit) { - range_limit =3D entry->limit; - } else { - crs_range_insert(tmp, range_base, range_limit); - range_base =3D entry->base; - range_limit =3D entry->limit; - } - } - crs_range_insert(tmp, range_base, range_limit); - - g_ptr_array_set_size(range, 0); - for (i =3D 0; i < tmp->len; i++) { - entry =3D g_ptr_array_index(tmp, i); - crs_range_insert(range, entry->base, entry->limit); - } - g_ptr_array_free(tmp, true); -} - -static Aml *build_crs(PCIHostState *host, CrsRangeSet *range_set) -{ - Aml *crs =3D aml_resource_template(); - CrsRangeSet temp_range_set; - CrsRangeEntry *entry; - uint8_t max_bus =3D pci_bus_num(host->bus); - uint8_t type; - int devfn; - int i; - - crs_range_set_init(&temp_range_set); - for (devfn =3D 0; devfn < ARRAY_SIZE(host->bus->devices); devfn++) { - uint64_t range_base, range_limit; - PCIDevice *dev =3D host->bus->devices[devfn]; - - if (!dev) { - continue; - } - - for (i =3D 0; i < PCI_NUM_REGIONS; i++) { - PCIIORegion *r =3D &dev->io_regions[i]; - - range_base =3D r->addr; - range_limit =3D r->addr + r->size - 1; - - /* - * Work-around for old bioses - * that do not support multiple root buses - */ - if (!range_base || range_base > range_limit) { - continue; - } - - if (r->type & PCI_BASE_ADDRESS_SPACE_IO) { - crs_range_insert(temp_range_set.io_ranges, - range_base, range_limit); - } else { /* "memory" */ - uint64_t length =3D range_limit - range_base + 1; - if (range_limit <=3D UINT32_MAX && length <=3D UINT32_MAX)= { - crs_range_insert(temp_range_set.mem_ranges, range_base, - range_limit); - } else { - crs_range_insert(temp_range_set.mem_64bit_ranges, - range_base, range_limit); - } - } - } - - type =3D dev->config[PCI_HEADER_TYPE] & ~PCI_HEADER_TYPE_MULTI_FUN= CTION; - if (type =3D=3D PCI_HEADER_TYPE_BRIDGE) { - uint8_t subordinate =3D dev->config[PCI_SUBORDINATE_BUS]; - if (subordinate > max_bus) { - max_bus =3D subordinate; - } - - range_base =3D pci_bridge_get_base(dev, PCI_BASE_ADDRESS_SPACE= _IO); - range_limit =3D pci_bridge_get_limit(dev, PCI_BASE_ADDRESS_SPA= CE_IO); - - /* - * Work-around for old bioses - * that do not support multiple root buses - */ - if (range_base && range_base <=3D range_limit) { - crs_range_insert(temp_range_set.io_ranges, - range_base, range_limit); - } - - range_base =3D - pci_bridge_get_base(dev, PCI_BASE_ADDRESS_SPACE_MEMORY); - range_limit =3D - pci_bridge_get_limit(dev, PCI_BASE_ADDRESS_SPACE_MEMORY); - - /* - * Work-around for old bioses - * that do not support multiple root buses - */ - if (range_base && range_base <=3D range_limit) { - uint64_t length =3D range_limit - range_base + 1; - if (range_limit <=3D UINT32_MAX && length <=3D UINT32_MAX)= { - crs_range_insert(temp_range_set.mem_ranges, - range_base, range_limit); - } else { - crs_range_insert(temp_range_set.mem_64bit_ranges, - range_base, range_limit); - } - } - - range_base =3D - pci_bridge_get_base(dev, PCI_BASE_ADDRESS_MEM_PREFETCH); - range_limit =3D - pci_bridge_get_limit(dev, PCI_BASE_ADDRESS_MEM_PREFETCH); - - /* - * Work-around for old bioses - * that do not support multiple root buses - */ - if (range_base && range_base <=3D range_limit) { - uint64_t length =3D range_limit - range_base + 1; - if (range_limit <=3D UINT32_MAX && length <=3D UINT32_MAX)= { - crs_range_insert(temp_range_set.mem_ranges, - range_base, range_limit); - } else { - crs_range_insert(temp_range_set.mem_64bit_ranges, - range_base, range_limit); - } - } - } - } - - crs_range_merge(temp_range_set.io_ranges); - for (i =3D 0; i < temp_range_set.io_ranges->len; i++) { - entry =3D g_ptr_array_index(temp_range_set.io_ranges, i); - aml_append(crs, - aml_word_io(AML_MIN_FIXED, AML_MAX_FIXED, - AML_POS_DECODE, AML_ENTIRE_RANGE, - 0, entry->base, entry->limit, 0, - entry->limit - entry->base + 1)); - crs_range_insert(range_set->io_ranges, entry->base, entry->limit); - } - - crs_range_merge(temp_range_set.mem_ranges); - for (i =3D 0; i < temp_range_set.mem_ranges->len; i++) { - entry =3D g_ptr_array_index(temp_range_set.mem_ranges, i); - assert(entry->limit <=3D UINT32_MAX && - (entry->limit - entry->base + 1) <=3D UINT32_MAX); - aml_append(crs, - aml_dword_memory(AML_POS_DECODE, AML_MIN_FIXED, - AML_MAX_FIXED, AML_NON_CACHEABLE, - AML_READ_WRITE, - 0, entry->base, entry->limit, 0, - entry->limit - entry->base + 1)); - crs_range_insert(range_set->mem_ranges, entry->base, entry->limit); - } - - crs_range_merge(temp_range_set.mem_64bit_ranges); - for (i =3D 0; i < temp_range_set.mem_64bit_ranges->len; i++) { - entry =3D g_ptr_array_index(temp_range_set.mem_64bit_ranges, i); - aml_append(crs, - aml_qword_memory(AML_POS_DECODE, AML_MIN_FIXED, - AML_MAX_FIXED, AML_NON_CACHEABLE, - AML_READ_WRITE, - 0, entry->base, entry->limit, 0, - entry->limit - entry->base + 1)); - crs_range_insert(range_set->mem_64bit_ranges, - entry->base, entry->limit); - } - - crs_range_set_free(&temp_range_set); - - aml_append(crs, - aml_word_bus_number(AML_MIN_FIXED, AML_MAX_FIXED, AML_POS_DECODE, - 0, - pci_bus_num(host->bus), - max_bus, - 0, - max_bus - pci_bus_num(host->bus) + 1)); - - return crs; -} - static void build_hpet_aml(Aml *table) { Aml *crs; --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457287; cv=none; d=zohomail.com; s=zohoarc; b=j+zsB8wRvp5A94vjeHX8940IFOdXEBLXJou5lyhaKw2HJ146mlT/AAojg8uCbvVZUJftWjGpygQuX5N3pzqJnrLHffC5PB6qEUCl7Qeo8l5VctIQmm0X361GWMRTBVem8l7YC9m0MWvHKR/BXyL5/T90go2B9mViXFDCcv56Zdg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457287; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=mzQ1+jPNPrN4c5K1M4rWE8GS0J7EkEqlO41LOzITqvE=; b=awoFXoRy50TxiNd4ev2cdrIryg/+N/zgWjWyWrWqpgDpf5pU2mc29sWklc50JrZ/euD7Rmh23hYeGO2emPDlbd+OFOJUSrkq5UclxVi5XB4Z6mQlIQWmqJG10en4AuP1AZJmBE7IGdDN1Xd7UYhA6rhLzASAQQ3aDvL9jS+zgLg= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457287162530.2112384701668; Tue, 8 Dec 2020 11:54:47 -0800 (PST) Received: from localhost ([::1]:45892 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj4P-0007En-UJ for importer@patchew.org; Tue, 08 Dec 2020 14:54:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48914) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmiko-00058q-Ma for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:31 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:40146) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikk-0004qw-Ih for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:29 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-295-dOSxjp3VNT245zx9xCmGaw-1; Tue, 08 Dec 2020 14:34:21 -0500 Received: by mail-wr1-f69.google.com with SMTP id w8so3196670wrv.18 for ; Tue, 08 Dec 2020 11:34:20 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id n12sm12363033wrg.76.2020.12.08.11.34.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=mzQ1+jPNPrN4c5K1M4rWE8GS0J7EkEqlO41LOzITqvE=; b=i1Mo7B4vtFXjCft/uXFRMsYN9L0TwASXQ30v0gZmO9AR7YzuA0tsswHLrzlJtD5FjbcOH6 2XZHLu/2XiRytXFLk3dwPf2mQhZ4UA3eRGxpxqGOdsH+uL1GmPfzOiznpccTXDpsVfDHOO bWitTbAANMovYl5hnq04PNQbYevvXN8= X-MC-Unique: dOSxjp3VNT245zx9xCmGaw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=mzQ1+jPNPrN4c5K1M4rWE8GS0J7EkEqlO41LOzITqvE=; b=WU4YfQ8ZE3/88suAFgDf7nCjetOB+jyVnHtcn0i6evyyRerWyNwNhZs0Od/lZGjSE3 Q5VeXcdlE1QYEkLm1oIIzYgqd9+WgmtLOix/lLvRLPHjY4Myd7QGgp1d+TzvLhZ16I9n jlGdUHI18cx5KNRVCooNQZTS6qwUaaRih30Inlzsxyc2fqdT2d4cCaScH2fkdglDr85F bnQvvrJUOEiM/F5fESjT5UCkGO6QkHKLz9ZqenCp5L3hgAqCD0HnjZKXkyKC7FBA7P41 IxM/xNapdTjHTlM1e9ItO00BV4ngRwvFwOJ++6nXPvO0qAoWQe169kaLLgdgrYdpJoYN mBXA== X-Gm-Message-State: AOAM531np2HSfhtO1nrdHioYQ5t6k9H26i3251YyMRloP2+knYUHGg9X CjPoFPVcdNI9T2qOBTZgTz9qxpCEPPfO5Q/O+MDD+2vI4V+DXhY//D+jbfBl7WpG44cs4mUjONc FWMFC8ggUA2EEHcgVlcUtGLc7AJ4KRN5CaeOFxFYcjXNM0Fr3Nkp15muywwwP X-Received: by 2002:a1c:6383:: with SMTP id x125mr5271899wmb.46.1607456059126; Tue, 08 Dec 2020 11:34:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJzD1tLy2ZSTCiqEMmz7tegOqVAs8sJ0FvMrFMaE0m8wRLnBffGGo7gBnGthuMZkvJjhYTyzPw== X-Received: by 2002:a1c:6383:: with SMTP id x125mr5271880wmb.46.1607456058870; Tue, 08 Dec 2020 11:34:18 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:16 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 12/66] acpi/gpex: Build tables for pxb Message-ID: <20201208193307.646726-13-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jiahui Cen , Shannon Zhao , Yubo Miao , qemu-arm@nongnu.org, Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yubo Miao The resources of pxbs are obtained by crs_build and the resources used by pxbs would be moved from the resources defined for host-bridge. The resources for pxb are composed of following two parts: 1. The bar space of the pci-bridge/pcie-root-port behined it 2. The config space of devices behind it. Signed-off-by: Yubo Miao Signed-off-by: Jiahui Cen Message-Id: <20201119014841.7298-6-cenjiahui@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/pci-host/gpex.h | 1 + hw/arm/virt-acpi-build.c | 6 +++-- hw/pci-host/gpex-acpi.c | 54 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 2 deletions(-) diff --git a/include/hw/pci-host/gpex.h b/include/hw/pci-host/gpex.h index d52ea80d4e..d48a020a95 100644 --- a/include/hw/pci-host/gpex.h +++ b/include/hw/pci-host/gpex.h @@ -59,6 +59,7 @@ struct GPEXConfig { MemMapEntry mmio64; MemMapEntry pio; int irq; + PCIBus *bus; }; =20 int gpex_set_irq_num(GPEXHost *s, int index, int gsi); diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 9747a6458f..e0bed9037c 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -153,7 +153,8 @@ static void acpi_dsdt_add_virtio(Aml *scope, } =20 static void acpi_dsdt_add_pci(Aml *scope, const MemMapEntry *memmap, - uint32_t irq, bool use_highmem, bool highmem= _ecam) + uint32_t irq, bool use_highmem, bool highmem= _ecam, + VirtMachineState *vms) { int ecam_id =3D VIRT_ECAM_ID(highmem_ecam); struct GPEXConfig cfg =3D { @@ -161,6 +162,7 @@ static void acpi_dsdt_add_pci(Aml *scope, const MemMapE= ntry *memmap, .pio =3D memmap[VIRT_PCIE_PIO], .ecam =3D memmap[ecam_id], .irq =3D irq, + .bus =3D vms->bus, }; =20 if (use_highmem) { @@ -609,7 +611,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, Virt= MachineState *vms) acpi_dsdt_add_virtio(scope, &memmap[VIRT_MMIO], (irqmap[VIRT_MMIO] + ARM_SPI_BASE), NUM_VIRTIO_TRANSPO= RTS); acpi_dsdt_add_pci(scope, memmap, (irqmap[VIRT_PCIE] + ARM_SPI_BASE), - vms->highmem, vms->highmem_ecam); + vms->highmem, vms->highmem_ecam, vms); if (vms->acpi_dev) { build_ged_aml(scope, "\\_SB."GED_DEVICE, HOTPLUG_HANDLER(vms->acpi_dev), diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c index 32a9f2796d..7f20ee1c98 100644 --- a/hw/pci-host/gpex-acpi.c +++ b/hw/pci-host/gpex-acpi.c @@ -1,6 +1,10 @@ #include "qemu/osdep.h" #include "hw/acpi/aml-build.h" #include "hw/pci-host/gpex.h" +#include "hw/arm/virt.h" +#include "hw/pci/pci_bus.h" +#include "hw/pci/pci_bridge.h" +#include "hw/pci/pcie_host.h" =20 static void acpi_dsdt_add_pci_route_table(Aml *dev, uint32_t irq) { @@ -124,7 +128,57 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig = *cfg) { int nr_pcie_buses =3D cfg->ecam.size / PCIE_MMCFG_SIZE_MIN; Aml *method, *crs, *dev, *rbuf; + PCIBus *bus =3D cfg->bus; + CrsRangeSet crs_range_set; =20 + /* start to construct the tables for pxb */ + crs_range_set_init(&crs_range_set); + if (bus) { + QLIST_FOREACH(bus, &bus->child, sibling) { + uint8_t bus_num =3D pci_bus_num(bus); + uint8_t numa_node =3D pci_bus_numa_node(bus); + + if (!pci_bus_is_root(bus)) { + continue; + } + + /* + * 0 - (nr_pcie_buses - 1) is the bus range for the main + * host-bridge and it equals the MIN of the + * busNr defined for pxb-pcie. + */ + if (bus_num < nr_pcie_buses) { + nr_pcie_buses =3D bus_num; + } + + dev =3D aml_device("PC%.02X", bus_num); + aml_append(dev, aml_name_decl("_HID", aml_string("PNP0A08"))); + aml_append(dev, aml_name_decl("_CID", aml_string("PNP0A03"))); + aml_append(dev, aml_name_decl("_BBN", aml_int(bus_num))); + aml_append(dev, aml_name_decl("_UID", aml_int(bus_num))); + aml_append(dev, aml_name_decl("_STR", aml_unicode("pxb Device"= ))); + if (numa_node !=3D NUMA_NODE_UNASSIGNED) { + aml_append(dev, aml_name_decl("_PXM", aml_int(numa_node))); + } + + acpi_dsdt_add_pci_route_table(dev, cfg->irq); + + /* + * Resources defined for PXBs are composed by the folling part= s: + * 1. The resources the pci-brige/pcie-root-port need. + * 2. The resources the devices behind pxb need. + */ + crs =3D build_crs(PCI_HOST_BRIDGE(BUS(bus)->parent), &crs_rang= e_set); + aml_append(dev, aml_name_decl("_CRS", crs)); + + acpi_dsdt_add_pci_osc(dev); + + aml_append(scope, dev); + } + } + crs_range_set_free(&crs_range_set); + + /* tables for the main */ dev =3D aml_device("%s", "PCI0"); aml_append(dev, aml_name_decl("_HID", aml_string("PNP0A08"))); aml_append(dev, aml_name_decl("_CID", aml_string("PNP0A03"))); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457256; cv=none; d=zohomail.com; s=zohoarc; b=J5w+paOBGw7AmzJ2+YS6z7OPQZhq3WF8qUozeAdZ/Ko2Skp6pQvmfESoFVaX507QNiloZa/LzlFj8+KxrUXucoAAgqUw9khC3tYezdamXgXWFr4GgYCVAcuyqLPymoAupW45zFMujlePG8gyXsfBUoXEkVkpaI3o69R0p9irlgA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457256; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=E8KRj603PozPBooN+Hrw7u6hn2/z258ATjiH9hYG620=; b=gztTyVfvQ4ikPwI1sx+uhj7ct9i7lruFPjU6Reg/yOA9CAgLxWds6PrAgH8/mP5QkCU7Vq8rY/6mdgK1DQu2dBVZQhQfp9DuPq2Mmn7MfxXTm0BNIRktNnD2cT6P//6+cm8M+mRa2hkAG/VuxsHyx1HEMRLU34pE8A1EIKuRnKU= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457256986423.31135810485387; Tue, 8 Dec 2020 11:54:16 -0800 (PST) Received: from localhost ([::1]:43956 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj3v-0006S0-Nm for importer@patchew.org; Tue, 08 Dec 2020 14:54:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49020) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmil2-0005Ht-ET for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:46 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:48229) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmiku-0004ub-La for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:42 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-546-1E5trE7hMKWl939kvxdMaQ-1; Tue, 08 Dec 2020 14:34:23 -0500 Received: by mail-wr1-f72.google.com with SMTP id b8so168473wrv.14 for ; Tue, 08 Dec 2020 11:34:23 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id s13sm4904715wmj.28.2020.12.08.11.34.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=E8KRj603PozPBooN+Hrw7u6hn2/z258ATjiH9hYG620=; b=Eqa3QA8r4GUXKuxmUatwyUtVmZHSFKXCGriKDq35NS3nWYdm4tLTTW1gaO2IaElwrNknpB yqhP+zVRgA2U/VHddy8hc53RyYeMn/1+6L7q9QLP3L1Wm/cWtgMKD6I6qhzGqNPH+Q38Aw kvXu+hlXnShsRnBuXrfkp2szTbl/0yQ= X-MC-Unique: 1E5trE7hMKWl939kvxdMaQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=E8KRj603PozPBooN+Hrw7u6hn2/z258ATjiH9hYG620=; b=AjwbBe1vONKfv4mtAki9EbJfW8laRYNtdLYeuhGRLnV/P2kmWxQd64baasau1/yr5N +isrxDFCGgntMWQdL7j9enOYHmmjFI7xu16hxElxuNrogeutQ01X5k69cbNqwF6cnfCH 99UKBeKslGP1iBRT9kPJB+wdfnUhR+DGirNiLX4mRudFdeETYmxI+DF/UnirWCFRZY+m GVyB/k3puR1DC55VEQGZdwxhjRzTDDeT9cYy1XeB9NHqNgLlgsVG3i5KKiTjk3QHAv4q cCUUWtmZXUAwgWOOS/gJPM6AqQCQ0JvWpNQTapapuzf4ehfmS3xlDYzgwJzhXXu2Iy5J 6mxA== X-Gm-Message-State: AOAM531ztKZr4K2U62JMWpjp8o9OsuHeisFZyMxa+ax/DNV42x2IwoFm mFmOlzbIkvcvVzdV9lagg/BnLxaH5HU36ymgJeRbiRA26/eAWy6M2txfL2kPb+8RXPFzM6JkkDN P3P1WWYNDrh884yrIdcXZOQQtNLMhHIGVl2MUAburIi8CXwGd8txCM2aEFUCl X-Received: by 2002:adf:cd8f:: with SMTP id q15mr9245604wrj.79.1607456062021; Tue, 08 Dec 2020 11:34:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJyi21cw5Bzp2ohysEdBJU8enXbec5+uCudF8/enTUTMYaBsN6FXQByew6DZZN9TV97dFdHpsg== X-Received: by 2002:adf:cd8f:: with SMTP id q15mr9245581wrj.79.1607456061785; Tue, 08 Dec 2020 11:34:21 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:19 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 13/66] acpi: Align the size to 128k Message-ID: <20201208193307.646726-14-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jiahui Cen , Shannon Zhao , Yubo Miao , qemu-arm@nongnu.org, Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yubo Miao If table size is changed between virt_acpi_build and virt_acpi_build_update, the table size would not be updated to UEFI, therefore, just align the size to 128kb, which is enough and same with x86. It would warn if 64k is not enough and the align size should be updated. Signed-off-by: Yubo Miao Signed-off-by: Jiahui Cen Message-Id: <20201119014841.7298-7-cenjiahui@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/arm/virt-acpi-build.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index e0bed9037c..711cf2069f 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -57,6 +57,8 @@ =20 #define ARM_SPI_BASE 32 =20 +#define ACPI_BUILD_TABLE_SIZE 0x20000 + static void acpi_dsdt_add_cpus(Aml *scope, int smp_cpus) { uint16_t i; @@ -656,6 +658,15 @@ struct AcpiBuildState { bool patched; } AcpiBuildState; =20 +static void acpi_align_size(GArray *blob, unsigned align) +{ + /* + * Align size to multiple of given size. This reduces the chance + * we need to change size in the future (breaking cross version migrat= ion). + */ + g_array_set_size(blob, ROUND_UP(acpi_data_len(blob), align)); +} + static void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables) { @@ -743,6 +754,20 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildT= ables *tables) build_rsdp(tables->rsdp, tables->linker, &rsdp_data); } =20 + /* + * The align size is 128, warn if 64k is not enough therefore + * the align size could be resized. + */ + if (tables_blob->len > ACPI_BUILD_TABLE_SIZE / 2) { + warn_report("ACPI table size %u exceeds %d bytes," + " migration may not work", + tables_blob->len, ACPI_BUILD_TABLE_SIZE / 2); + error_printf("Try removing CPUs, NUMA nodes, memory slots" + " or PCI bridges."); + } + acpi_align_size(tables_blob, ACPI_BUILD_TABLE_SIZE); + + /* Cleanup memory that's no longer used. */ g_array_free(table_offsets, true); } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457073; cv=none; d=zohomail.com; s=zohoarc; b=ALlxfceN96Yc6HccX2ZsRZvo7itDbAdbjpR9X6VLCWmU5pHlX0zHdfQ86GjR8tccYB+hS54DAxvQlwjB3S2ZrZL8dYQ8NBKn4PyTk+x0DPT5csd1QPQb2uPd/RbHaKvfGpZeex0hNKO71VLsE7IhYbWRTQ0aKc1cmDDLVkXF+po= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457073; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=RXU9oHUsBTnreSZxooPdG4q/TIo+LgrSLDWhpXXsVuM=; b=b3mKtN47ghUb78JDSzGPAM925fPN1/sF8/UIoZKi6tiEeHS7WlQ1fah4z+Jb+5xWdNJaQz9NbFUlnV6vGejIcSKJ8cdpopP3ueBjB/iop8bDeXMSHAZUiPiNHyMTVjdJPoQYbBeo5lHGNUOrJJQOmyALxbzzmyo2o/AlB4PaYuY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457073006825.5117943104261; Tue, 8 Dec 2020 11:51:13 -0800 (PST) Received: from localhost ([::1]:35382 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj0x-0002sk-Py for importer@patchew.org; Tue, 08 Dec 2020 14:51:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48944) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmikr-0005B1-Ai for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:33 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:50363) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikp-0004s3-4f for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:33 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-318-6PcB6vBGMjSYjh_t9CDl9g-1; Tue, 08 Dec 2020 14:34:27 -0500 Received: by mail-wr1-f70.google.com with SMTP id b5so6568183wrp.3 for ; Tue, 08 Dec 2020 11:34:26 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id s133sm5295233wmf.38.2020.12.08.11.34.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=RXU9oHUsBTnreSZxooPdG4q/TIo+LgrSLDWhpXXsVuM=; b=C9+NprYJcGyBu3iGn393P0Udide0pZVQ77jyCw4FWK8PwWXvvwvspvrAga67vFJ0arRSiG 4FzZlbwpcXWMmgq3Ll53nxwWJHx0La8WyVJmEi8J3pVjCipQTIlQ7KW8e1+LHnYHfKrwJD iDSbe4XxhpPcNfNu6UapGWjf2nQcwLw= X-MC-Unique: 6PcB6vBGMjSYjh_t9CDl9g-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=RXU9oHUsBTnreSZxooPdG4q/TIo+LgrSLDWhpXXsVuM=; b=qEnhmG7VV5HhZafgWIYczxqawmbprZRPGgCj0YUOVxJG3Hmdnn71ac+6O+WaBT02KY zLvxYIUhIr7CgHcK1WzNmCXmoVDsZ8P20tzBZ64uc+8P6aAW35JgtTed9evpVWSrwymN 57EUWOXztLN+1Luls7kCMUS0hhUgF7BhXyAYcsONcRzJJ9hJyw7Xe+s5pMFZlDqAicc1 nQIa9b2/rWLaNZ6LYe8wi64ULGmenRcKjSMlKBYbIHnof201kGLAcM/ZidW11czkawKz lzZFcw5q4PsD1oPPOcgJd9ZPadWE56LkYmMxky7bniPCkmHg6gzX2lmpJNAGKzWbFZaX Yb1Q== X-Gm-Message-State: AOAM530QMOQoB2xvpCPy6hLWOfujs7oBq7rnh8IkR/Kk2t8iH8CIMuYg G28acpiTML8HA4rLoqbZkhdLH/eCNPKf+S2Q2rHrFJxolNnCeU3DzSpoZl6Th6dJbQ+2f+TxaV3 H46AeXLOILqayjFRRRqnhX6tBTeahiEtaJSU8IIcT+uILHw18quGg00Id6Nzw X-Received: by 2002:adf:e710:: with SMTP id c16mr24487083wrm.295.1607456064954; Tue, 08 Dec 2020 11:34:24 -0800 (PST) X-Google-Smtp-Source: ABdhPJy9ibSnOhkxIpNY0Scl/fgQf2huaqzcKy4hcGsPc4lvGHWBY5Bwfq6WBew7YLOan4h9bcyXew== X-Received: by 2002:adf:e710:: with SMTP id c16mr24487064wrm.295.1607456064763; Tue, 08 Dec 2020 11:34:24 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:22 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 14/66] unit-test: The files changed. Message-ID: <20201208193307.646726-15-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Yubo Miao , Jiahui Cen , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yubo Miao The unit-test is seperated into three patches: 1. The files changed and list in bios-tables-test-allowed-diff.h 2. The unit-test 3. The binary file and clear bios-tables-test-allowed-diff.h The ASL diff would also be listed. Sice there are 1000+lines diff, some changes would be omitted. * Original Table Header: * Signature "DSDT" - * Length 0x000014BB (5307) + * Length 0x00001E7A (7802) * Revision 0x02 - * Checksum 0xD1 + * Checksum 0x57 * OEM ID "BOCHS " * OEM Table ID "BXPCDSDT" * OEM Revision 0x00000001 (1) + Device (PC80) + { + Name (_HID, "PNP0A08" /* PCI Express Bus */) // _HID: Hardwar= e ID + Name (_CID, "PNP0A03" /* PCI Bus */) // _CID: Compatible ID + Name (_ADR, Zero) // _ADR: Address + Name (_CCA, One) // _CCA: Cache Coherency Attribute + Name (_SEG, Zero) // _SEG: PCI Segment + Name (_BBN, 0x80) // _BBN: BIOS Bus Number + Name (_UID, 0x80) // _UID: Unique ID + Name (_STR, Unicode ("pxb Device")) // _STR: Description Stri= ng + Name (_PRT, Package (0x80) // _PRT: PCI Routing Table + { + Package (0x04) + { + 0xFFFF, + Zero, + GSI0, + Zero + }, + Packages are omitted. + Package (0x04) + { + 0x001FFFFF, + 0x03, + GSI2, + Zero + } + }) + Device (GSI0) + { + Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) //= _HID: Hardware ID + Name (_UID, Zero) // _UID: Unique ID + Name (_PRS, ResourceTemplate () // _PRS: Possible Resourc= e Settings + { + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclus= ive, ,, ) + { + 0x00000023, + } + }) + Name (_CRS, ResourceTemplate () // _CRS: Current Resource= Settings + { + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclus= ive, ,, ) + { + 0x00000023, + } + }) + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Set= tings + { + } + } GSI1,2,3 are omitted. + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDe= code, + 0x0000, // Granularity + 0x0080, // Range Minimum + 0x0080, // Range Maximum + 0x0000, // Translation Offset + 0x0001, // Length + ,, ) + }) + Name (SUPP, Zero) + Name (CTRL, Zero) + Method (_OSC, 4, NotSerialized) // _OSC: Operating System Cap= abilities + { + CreateDWordField (Arg3, Zero, CDW1) + If ((Arg0 =3D=3D ToUUID ("33db4d5b-1ff7-401c-9657-7441c03d= d766") /* PCI Host Bridge Device */)) + { + CreateDWordField (Arg3, 0x04, CDW2) + CreateDWordField (Arg3, 0x08, CDW3) + SUPP =3D CDW2 /* \_SB_.PC80._OSC.CDW2 */ + CTRL =3D CDW3 /* \_SB_.PC80._OSC.CDW3 */ + CTRL &=3D 0x1F + If ((Arg1 !=3D One)) + { + CDW1 |=3D 0x08 + } + + If ((CDW3 !=3D CTRL)) + { + CDW1 |=3D 0x10 + } + + CDW3 =3D CTRL /* \_SB_.PC80.CTRL */ + Return (Arg3) + } + Else + { + CDW1 |=3D 0x04 + Return (Arg3) + } + } DSM is are omitted Device (PCI0) { Name (_HID, "PNP0A08" /* PCI Express Bus */) // _HID: Hardwar= e ID WordBusNumber (ResourceProducer, MinFixed, MaxFixed, P= osDecode, 0x0000, // Granularity 0x0000, // Range Minimum - 0x00FF, // Range Maximum + 0x007F, // Range Maximum 0x0000, // Translation Offset - 0x0100, // Length + 0x0080, // Length Signed-off-by: Yubo Miao Signed-off-by: Jiahui Cen Message-Id: <20201119014841.7298-8-cenjiahui@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..90c53925fc 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,2 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/virt/DSDT.pxb", --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607456960; cv=none; d=zohomail.com; s=zohoarc; b=Hq/l91Qx3LeeFKWYmS5TBEZTryK9+L6hqC39EK1wcWy3n/QzUjAhdIcP+MPnPKVnX6ojlhTlziW/eq2ZoOw7zd6Ul0FQ06k5Edc2XlGAeFF0NER7lVl4790wq4cxV1AA0sd8c2MigrIltPyJUr6rjZ9EbNQZe+t2BR5TqL9n3nw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607456960; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=WHE7KFDKGldERbfBu/1KjueHDoBVCOeK90uoPSHzyjk=; b=cO0SjuDvoh4gmjE1PbXamWCCgG8EOKzytLtPoOUnhi5IEH8UYqzsAp1SiSCipPpOt40AQNgGd9JeGi8MhN1UaUAtSzQ+yjOnP0wdhewBQtR5q3jtTtFNdJdkwfQmIamJBhFmlicXiiKGjt0SwTFMEF+hxey+D5BmfBBFBiYs5D4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607456960517661.1829519783663; Tue, 8 Dec 2020 11:49:20 -0800 (PST) Received: from localhost ([::1]:58742 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmiz8-0000m3-Tb for importer@patchew.org; Tue, 08 Dec 2020 14:49:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48978) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmiku-0005FP-2h for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:36 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:26203) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikq-0004sT-1t for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:35 -0500 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-422-mKsQoEdFMIWM7laxXAv33Q-1; Tue, 08 Dec 2020 14:34:29 -0500 Received: by mail-wm1-f69.google.com with SMTP id k23so1285085wmj.1 for ; Tue, 08 Dec 2020 11:34:29 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id e16sm11656976wra.94.2020.12.08.11.34.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=WHE7KFDKGldERbfBu/1KjueHDoBVCOeK90uoPSHzyjk=; b=W+7ICiOIHEAOLNCvXl7LHklAMHrI/hibwe0SrDhJQR7cpfmmfLdsvv/CWILKCmckRyn0F+ Ow1uiN2AH5hqiW4mh8IC5G+EKGADX/uump06iGeOKND104BRudCGTgchT2/Csn6vF1nzMg xSBYl/dUjwhRpSAsPwdS8YrTDn89aGA= X-MC-Unique: mKsQoEdFMIWM7laxXAv33Q-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=WHE7KFDKGldERbfBu/1KjueHDoBVCOeK90uoPSHzyjk=; b=d9RsmMHiG53XUxvB5f+PR9RlwQ4QQDh9Z/6UaCZtRDsGxNA72M6WaFj/yY7NRdQWTc JsDflo+IAF8Vb1itJ15t+DHQRaetdEP/LRsYIJYmvc+MOTUgin7qdgQ3iRVL8e4kUMr1 eOdNH1q9+Iv694M0zcto94sTbrbhO/6LARabWVsTVUBxjh8ygwf2UYN7ifZQsmktJ2Om PR+J7plskrm/8QZpyHSqZq/DGe/DG9bXF0sjtf0z6HSCC0LB+6zU+BBaK/V1iDfupELv cE8BAkO4VglnyXU2YxEpZHUv/sA4nKl1/eR5vBbochF9yhNYz97L4dWCi0JXGtyBRVcR uRCA== X-Gm-Message-State: AOAM530li/IZMZskm6AAqVPoxnPqUk2ARCthc2yoJ/sIHmpUXRUtGFDx +CDBQ/fGGroz34pz1mZPkMbu4gdXKDb1H0iCcfD9lF/0Qo3Vq4vZ2K9C3X7wZeTDov9F+lOGuLw g5oDp/1D9QqBNMzk2MH+B+C/IlZy9zlBuZah+J4xD51iLkA+9/+tosXSkuwBu X-Received: by 2002:a05:6000:12c3:: with SMTP id l3mr25168124wrx.112.1607456067696; Tue, 08 Dec 2020 11:34:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJwTbu3pSILCSGpCSm8hXCrXkmDpxrYIp/i+3MUtEJuN8Fg5tJ+TUzUWmcIahX+PZ4DnU69cbQ== X-Received: by 2002:a05:6000:12c3:: with SMTP id l3mr25168099wrx.112.1607456067433; Tue, 08 Dec 2020 11:34:27 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:24 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 15/66] unit-test: Add testcase for pxb Message-ID: <20201208193307.646726-16-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Yubo Miao , Jiahui Cen , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yubo Miao Add testcase for pxb to make sure the ACPI table is correct for guest. Signed-off-by: Yubo Miao Signed-off-by: Jiahui Cen Message-Id: <20201119014841.7298-9-cenjiahui@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test.c | 58 ++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 6 deletions(-) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index f23a5335a8..64a9a772ee 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -671,12 +671,21 @@ static void test_acpi_one(const char *params, test_da= ta *data) * TODO: convert '-drive if=3Dpflash' to new syntax (see e33763be7= cd3) * when arm/virt boad starts to support it. */ - args =3D g_strdup_printf("-machine %s %s -accel tcg -nodefaults -n= ographic " - "-drive if=3Dpflash,format=3Draw,file=3D%s,readonly " - "-drive if=3Dpflash,format=3Draw,file=3D%s,snapshot=3Don -cdro= m %s %s", - data->machine, data->tcg_only ? "" : "-accel kvm", - data->uefi_fl1, data->uefi_fl2, data->cd, params ? params : ""= ); - + if (data->cd) { + args =3D g_strdup_printf("-machine %s %s -accel tcg " + "-nodefaults -nographic " + "-drive if=3Dpflash,format=3Draw,file=3D%s,readonly " + "-drive if=3Dpflash,format=3Draw,file=3D%s,snapshot=3Don -= cdrom %s %s", + data->machine, data->tcg_only ? "" : "-accel kvm", + data->uefi_fl1, data->uefi_fl2, data->cd, params ? params = : ""); + } else { + args =3D g_strdup_printf("-machine %s %s -accel tcg " + "-nodefaults -nographic " + "-drive if=3Dpflash,format=3Draw,file=3D%s,readonly " + "-drive if=3Dpflash,format=3Draw,file=3D%s,snapshot=3Don %= s", + data->machine, data->tcg_only ? "" : "-accel kvm", + data->uefi_fl1, data->uefi_fl2, params ? params : ""); + } } else { args =3D g_strdup_printf("-machine %s %s -accel tcg " "-net none -display none %s " @@ -1176,6 +1185,40 @@ static void test_acpi_virt_tcg_numamem(void) =20 } =20 +#ifdef CONFIG_PXB +static void test_acpi_virt_tcg_pxb(void) +{ + test_data data =3D { + .machine =3D "virt", + .tcg_only =3D true, + .uefi_fl1 =3D "pc-bios/edk2-aarch64-code.fd", + .uefi_fl2 =3D "pc-bios/edk2-arm-vars.fd", + .ram_start =3D 0x40000000ULL, + .scan_len =3D 128ULL * 1024 * 1024, + }; + /* + * While using -cdrom, the cdrom would auto plugged into pxb-pcie, + * the reason is the bus of pxb-pcie is also root bus, it would lead + * to the error only PCI/PCIE bridge could plug onto pxb. + * Therefore,thr cdrom is defined and plugged onto the scsi controller + * to solve the conflicts. + */ + data.variant =3D ".pxb"; + test_acpi_one(" -device pcie-root-port,chassis=3D1,id=3Dpci.1" + " -device virtio-scsi-pci,id=3Dscsi0,bus=3Dpci.1" + " -drive file=3D" + "tests/data/uefi-boot-images/bios-tables-test.aarch64.is= o.qcow2," + "if=3Dnone,media=3Dcdrom,id=3Ddrive-scsi0-0-0-1,readonly= =3Don" + " -device scsi-cd,bus=3Dscsi0.0,scsi-id=3D0," + "drive=3Ddrive-scsi0-0-0-1,id=3Dscsi0-0-0-1,bootindex=3D= 1" + " -cpu cortex-a57" + " -device pxb-pcie,bus_nr=3D128", + &data); + + free_test_data(&data); +} +#endif + static void test_acpi_tcg_acpi_hmat(const char *machine) { test_data data; @@ -1287,6 +1330,9 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/virt", test_acpi_virt_tcg); qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem); qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp); +#ifdef CONFIG_PXB + qtest_add_func("acpi/virt/pxb", test_acpi_virt_tcg_pxb); +#endif } ret =3D g_test_run(); boot_sector_cleanup(disk); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457575; cv=none; d=zohomail.com; s=zohoarc; b=ekxNZISi+ZrOhzjddyZIP5PBpduiBHlFdXogq6DvRL93srsiMR1kGF0CbqEUGtkuG880CVPlzaPso55IGEyHHtErUpSNZA1kB9YMaSl109DsX6322K6WkwwmRZbfjN/3Sacd/ozTqRFGxF929pqkjLvrNs/z3BFh3kwq6w+8XYs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457575; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dOwz9KFzM4aITjt0PTvszOOZ0AmKV1RsHpDeoXXjql0=; b=XKHZGI7shYIKZ3VjWkSKxpCsU8/qQ/YagpeIc3bCOU/i+Crru57us1AGKffwhHYDd/Kpd2zyExEM0cC7KlX7uRRBEGtFyCStfgDYd/VEJKLQQCHLv3Nrsrd6QFwWSWjLVE2aXPvzcQzB0cmYVn6GqnFU8AUy/ufAZqJwQx3T7jk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 160745757543378.16498749404843; Tue, 8 Dec 2020 11:59:35 -0800 (PST) Received: from localhost ([::1]:60940 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj92-0004xu-Sg for importer@patchew.org; Tue, 08 Dec 2020 14:59:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49088) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilG-0005JO-Hk for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:59 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:54873) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmiks-0004tX-Cp for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:57 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-161-XKtJO-aZM26Lq-BFylMziQ-1; Tue, 08 Dec 2020 14:34:31 -0500 Received: by mail-wm1-f72.google.com with SMTP id j62so1277525wma.4 for ; Tue, 08 Dec 2020 11:34:31 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id h15sm21680733wrw.15.2020.12.08.11.34.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=dOwz9KFzM4aITjt0PTvszOOZ0AmKV1RsHpDeoXXjql0=; b=Qmk5lUtTis57DgV2jXBOCK5U1/EpoOvo8vauyDK0QbLhNY1eNM4cAAq/yidJFVZHLkyX2O W3x5aXDo/k1/oyOejObxv5rZFYcacjoEbyOBHGDZGNQm6LL0ZHKNgETRUGHURHHMzLixqy ppEqJ7kviP8oEjQ5drEZto0tdMnjdV4= X-MC-Unique: XKtJO-aZM26Lq-BFylMziQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=dOwz9KFzM4aITjt0PTvszOOZ0AmKV1RsHpDeoXXjql0=; b=tfsf3z4+g9WjI7RG9vn1WRfrGf/R6v3nIxLBu6Xmd9GytUej9/CqFxwYGMpYQ3HJUS myoNe9WHJ4KZD15WWqgYyPOny9OIBHLvWX5hCxCo1jcYGj3uFO2wrCxGUWgyApJ9+Sg9 0K7ZuQJvoIZT2yrUnMGa+5xXyRdgwV8pYXJRntW2TU4LI314Yh5KqfOGK1kzCqN4mmdP j+/hWgzB6/JCTwHbebO/Zbw2Ul06lR+ns4kqS73lqf6w/YZJ+YlzXRaZHeRnntfq7TxQ jiDeAd0Mi82REotEGw8HWxMLqMK6pwzyrTyBoB3R1PkHdO2lYoiEywNe4nuR7KhMaxIQ Dzzg== X-Gm-Message-State: AOAM530otMby/N62++qr2qN7lkV5+F3NVwBkpu6mWDQe9jWD5jULdXkE DsCM6ttxufn/Suyix+6QBz4tFKeRVbZZO3pm9CvhiIdXDNwC7TomzCiD8ju3BbN61t8ubA+glg3 /dUOPJMN480ZIy6F9a6kMfVgJh4bxIxNg7k+/RlE0RVFiUUcg4uj3Arvy6zte X-Received: by 2002:adf:8184:: with SMTP id 4mr23861768wra.63.1607456070127; Tue, 08 Dec 2020 11:34:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJy1CyqQgJELnHfb8mXaDRyht+ewbqFymASZNBlVkZVXuuE7X5WTshdo9zJiRhU0u1maktaXPg== X-Received: by 2002:adf:8184:: with SMTP id 4mr23861745wra.63.1607456069862; Tue, 08 Dec 2020 11:34:29 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:27 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 16/66] unit-test: Add the binary file and clear diff.h Message-ID: <20201208193307.646726-17-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Yubo Miao , Jiahui Cen , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yubo Miao Add the binary file DSDT.pxb and clear bios-tables-test-allowed-diff.h Signed-off-by: Yubo Miao Signed-off-by: Jiahui Cen Message-Id: <20201119014841.7298-10-cenjiahui@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 1 - tests/data/acpi/virt/DSDT.pxb | Bin 0 -> 7802 bytes 2 files changed, 1 deletion(-) create mode 100644 tests/data/acpi/virt/DSDT.pxb diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index 90c53925fc..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,2 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/virt/DSDT.pxb", diff --git a/tests/data/acpi/virt/DSDT.pxb b/tests/data/acpi/virt/DSDT.pxb new file mode 100644 index 0000000000000000000000000000000000000000..d5f0533a02d62bc2ae2db9b9de9= 484e5c06652fe GIT binary patch literal 7802 zcmeI1%WoT16o;=3DLiS6+tw&OgUms2Pe&&rRcNlRN|kDbINPK+mQkW$GN2t>&y5*4DY z5GE1@x}%ZUunAHY{255B*s){5x*Prhb`0mvok@O&o()@MN3!S4-1E)-#wYff>!#D( zdAOidc(<`_Z#avMce{3z_Jx#EdRxC{zj_wB({~#Ey~7#1TrS7^8|`MgZg<-hEUS3` zR=3DcV84zJqVo#0rnvr#TrD*mx}-|jiN8EfisLTO+^WtIANRE0w4D0)D-m9e1W1K-`?I3=3D=3D%fJX5q(*jFqgf=3DxI;=3D+i!j2&*$h#YZ&sEUM@nAgr*&hytUE zjGD-ZNQ_Zn)R1vWWJD!K92l37u_Q7^B!&fyC1hL{8KV*-1&qtcSQZ&EiID-uGBQ>~ zMqFZKfw6*&DG%GO{fw77VxlVHu;{{;Uks;S< zUSgaFMgtjgosLV43&5~}QI+eoATeGBMiUuwolZ!MSAo$&hFqtU661AXtRX|L(Vw8cgfeg7$ixQ&>j5adlI-QXimw<5-8FHP@N{q|EcpDjVoz6*&6<};4 zL$1?#iE$Me9bnYtI$e+$*MPBw47pBA65|FiwtYtDhpxTi&!fB5E!WE{)VJ8wgqf&D zQN7vI`@BBFX|2AGs&X_uAR4$*c+C9j#H9`7}G}OzaP-oI?ys;54Gnhd{>C9kg#AMP?FOx!@Ni*^?sUtLF z{m6IphEmhyTLvL|jxf&=3D@0@|>h{+5lPa%4aGEZuLX$HYiYO>IiLiCI=3D&lvNJaZd`- zGtNBYUS@Dfs3}8F3ehvcJgIFrSI@g73GPWDdRolWVxH8*p(lmtnPi?x=3D9%Q46ryK} zd8U{rHGSwwA$q2nXPSAYxhI9_nPHw8=3D1EN=3DdQymU3el5po1kv9%#)f* z^rR3ybIdcxJagQWLiEft&ph*_CKNp>M9*>NInF%CxhI9_Szw+8=3D1EN}dQym<6U=3Djh zc}{Ro3ej_tc}_ARl0q^1}>DMZgA^DHvYBKM>a zJ!hEb4D+NW8a*jQ&spX<%RFbfCxz%a$2{klCpF#ZNg;a9GtYVEInO;QL{D1OFrQi8 zXZ!;5q$V9bDMZf_^DHsX68EIgcZYER-{LZqUNJz{O9IR6<1D|`%V{aWZ#O?fGWMl>9uyC1I^JJHH~_tpRAI8KF&Tp zx)=3DJKj#RwSmE*~$N5MF=3DJF5>K=3D)rpb$^MTSvtOU2a0Ek zp0J{OUnX^Ex184IVqw1Dy1kP)(81l~?9rpUmR_}c+}-Uptij%4QEy (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457411981718.1391840267695; Tue, 8 Dec 2020 11:56:51 -0800 (PST) Received: from localhost ([::1]:52434 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj6Q-0001WY-S6 for importer@patchew.org; Tue, 08 Dec 2020 14:56:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49084) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilG-0005JM-7L for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:59 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:43110) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikz-0004uo-NM for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:48 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-44-61GeVg1uOUmEyUrnIZ6sVg-1; Tue, 08 Dec 2020 14:34:34 -0500 Received: by mail-wr1-f70.google.com with SMTP id o17so37389wra.8 for ; Tue, 08 Dec 2020 11:34:34 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id d3sm21264780wrr.2.2020.12.08.11.34.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=OPkEy7zdzU+em153CCBpKaOYJAvGL44aXjwYpC3hvpA=; b=GWTnSVswa2HFr/ALkiQQQjHd9mhOxaROONxJokIpl7Wi6Y+ReS+glmDimIQ5UD1YsKVJp1 gsXG1iqpzgR7BR5PZel1sqlA/qXX6cgUqVBFxAOQGH0BWnDCccVWovob40ZBv8PcyTyB3N BvpGIfdXcPyprd9HrDl8AjXlhkr2pug= X-MC-Unique: 61GeVg1uOUmEyUrnIZ6sVg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=OPkEy7zdzU+em153CCBpKaOYJAvGL44aXjwYpC3hvpA=; b=D+Mqf4SVNIL0NXb+7efdTPkVO6nV7XoVDOLsYh/TRO9lJl4UwMr390uVJb/XXC/W/2 ITqF/oz219cP4LHDXggwEWvawZr6fLtPvxp07cBlJqX3U/U3/vZ6Y0vaWv5++kB3mdjP g9/RVybv3floNNb9utf1VjL1GW16AF+dgc60OLQGs2XLFP4Qu1+YNsi4l4jWOCzBM/Ut xQIY/ZeZexUmXk6yN5r+2BblW6jXrTfZNFtNbRyvw54q4rrmYxWxS78tv4Q4+sf2rp0L nqpwpMl2JXPEHiwswFhM2dddLKM/tg1dRqxW4OdhruFPrelgdBPphuXvwuWTUHfNmGaz 8yMw== X-Gm-Message-State: AOAM530m5lBdY9Em+1PW3J0szI1affpovVPTShuKL85RQsVnRK/u+vtO 9T+P6cLZq45rQHQa/g8ohjvRMNgkX+AWJ/bFsi2d4PaDsNsIEECnWc/ZMa3yM3R+7RrDZOsve7I RFnbqTFSLKwrt4sFCGsUEPiipTclr8Xzc2Ob3GbMifFAwIoOTSAz1Lor/ejyA X-Received: by 2002:a1c:2394:: with SMTP id j142mr5337282wmj.42.1607456072845; Tue, 08 Dec 2020 11:34:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJxvZoukt1MRltH5mQMQzFCEdcCW9lgrQFnnyxGcq6LfAQRWlc1UvgESuHosMQ9HRUvm6QX6mg== X-Received: by 2002:a1c:2394:: with SMTP id j142mr5337260wmj.42.1607456072597; Tue, 08 Dec 2020 11:34:32 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:30 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 17/66] failover: fix indentantion Message-ID: <20201208193307.646726-18-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= , Eduardo Habkost , Juan Quintela , Jason Wang , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Once there, remove not needed cast. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-3-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 33 +++++++++++++++------------------ softmmu/qdev-monitor.c | 4 ++-- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 9179013ac4..1011a524bf 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -797,7 +797,7 @@ static void failover_add_primary(VirtIONet *n, Error **= errp) } =20 n->primary_device_opts =3D qemu_opts_find(qemu_find_opts("device"), - n->primary_device_id); + n->primary_device_id); if (n->primary_device_opts) { n->primary_dev =3D qdev_device_add(n->primary_device_opts, &err); if (err) { @@ -814,9 +814,9 @@ static void failover_add_primary(VirtIONet *n, Error **= errp) } else { error_setg(errp, "Primary device not found"); error_append_hint(errp, "Virtio-net failover will not work. Make " - "sure primary device has parameter" - " failover_pair_id=3D\n"); -} + "sure primary device has parameter" + " failover_pair_id=3D\n"); + } error_propagate(errp, err); } =20 @@ -824,7 +824,6 @@ static int is_my_primary(void *opaque, QemuOpts *opts, = Error **errp) { VirtIONet *n =3D opaque; int ret =3D 0; - const char *standby_id =3D qemu_opt_get(opts, "failover_pair_id"); =20 if (standby_id !=3D NULL && (g_strcmp0(standby_id, n->netclient_name) = =3D=3D 0)) { @@ -841,14 +840,14 @@ static DeviceState *virtio_net_find_primary(VirtIONet= *n, Error **errp) Error *err =3D NULL; =20 if (qemu_opts_foreach(qemu_find_opts("device"), - is_my_primary, n, &err)) { + is_my_primary, n, &err)) { if (err) { error_propagate(errp, err); return NULL; } if (n->primary_device_id) { dev =3D qdev_find_recursive(sysbus_get_default(), - n->primary_device_id); + n->primary_device_id); } else { error_setg(errp, "Primary device id not found"); return NULL; @@ -857,8 +856,6 @@ static DeviceState *virtio_net_find_primary(VirtIONet *= n, Error **errp) return dev; } =20 - - static DeviceState *virtio_connect_failover_devices(VirtIONet *n, DeviceState *dev, Error **errp) @@ -3126,9 +3123,9 @@ static bool failover_replug_primary(VirtIONet *n, Err= or **errp) return true; } if (!n->primary_device_opts) { - n->primary_device_opts =3D qemu_opts_from_qdict( - qemu_find_opts("device"), - n->primary_device_dict, errp); + n->primary_device_opts =3D qemu_opts_from_qdict(qemu_find_opts("de= vice"), + n->primary_device_di= ct, + errp); if (!n->primary_device_opts) { return false; } @@ -3176,8 +3173,8 @@ static void virtio_net_handle_migration_primary(VirtI= ONet *n, if (migration_in_setup(s) && !should_be_hidden) { if (failover_unplug_primary(n)) { vmstate_unregister(VMSTATE_IF(n->primary_dev), - qdev_get_vmsd(n->primary_dev), - n->primary_dev); + qdev_get_vmsd(n->primary_dev), + n->primary_dev); qapi_event_send_unplug_primary(n->primary_device_id); qatomic_set(&n->primary_should_be_hidden, true); } else { @@ -3201,7 +3198,7 @@ static void virtio_net_migration_state_notifier(Notif= ier *notifier, void *data) } =20 static int virtio_net_primary_should_be_hidden(DeviceListener *listener, - QemuOpts *device_opts) + QemuOpts *device_opts) { VirtIONet *n =3D container_of(listener, VirtIONet, primary_listener); bool match_found =3D false; @@ -3211,11 +3208,11 @@ static int virtio_net_primary_should_be_hidden(Devi= ceListener *listener, return -1; } n->primary_device_dict =3D qemu_opts_to_qdict(device_opts, - n->primary_device_dict); + n->primary_device_dict); if (n->primary_device_dict) { g_free(n->standby_id); n->standby_id =3D g_strdup(qdict_get_try_str(n->primary_device_dic= t, - "failover_pair_id")); + "failover_pair_id")); } if (g_strcmp0(n->standby_id, n->netclient_name) =3D=3D 0) { match_found =3D true; @@ -3235,7 +3232,7 @@ static int virtio_net_primary_should_be_hidden(Device= Listener *listener, if (n->primary_device_dict) { g_free(n->primary_device_id); n->primary_device_id =3D g_strdup(qdict_get_try_str( - n->primary_device_dict, "id")); + n->primary_device_dict, "id")); if (!n->primary_device_id) { warn_report("primary_device_id not set"); } diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c index bf79d0bbcd..a25f5d612c 100644 --- a/softmmu/qdev-monitor.c +++ b/softmmu/qdev-monitor.c @@ -573,10 +573,10 @@ void qdev_set_id(DeviceState *dev, const char *id) } =20 static int is_failover_device(void *opaque, const char *name, const char *= value, - Error **errp) + Error **errp) { if (strcmp(name, "failover_pair_id") =3D=3D 0) { - QemuOpts *opts =3D (QemuOpts *)opaque; + QemuOpts *opts =3D opaque; =20 if (qdev_should_hide_device(opts)) { return 1; --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457149; cv=none; d=zohomail.com; s=zohoarc; b=Px6JYyR2V/O1Vph/SI1k3OOPf+CQHJROHudkkWuyuzBn000PMx5GUf2k9qWuMh/wVNOOMgyEVE7Jt+hASR41b6K9KEE3WIpySmFp7HMYFu+YRV6EipUZ9WOk+3i72TVNtK5nz4XIG9eJRLaMKckO8FZ9oBLtIAZJyzNrvpyt9a8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457149; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FgcgZZzc2Flzw0fgzWTMsHtDenMVkVIL0C7rCd4lpNo=; b=MVzLSArAk0tWtvKvjQOyOoRkaY0v9RQA+lkJtHiizXFg7M+SCEyB5kjV9TBtKuEvaZxHnOlgjwf6+OkZUwzqwqy5Y+XH0NP2wcpfn3D7/0JZnDW5Ja4QO+amFCOQqcNCwh+9UWvKaCjHAWGBBm8XjJI4m7+s7hB0s4H+MEFkjCw= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457149799292.7883188198848; Tue, 8 Dec 2020 11:52:29 -0800 (PST) Received: from localhost ([::1]:38902 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj2C-0004PI-Ir for importer@patchew.org; Tue, 08 Dec 2020 14:52:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49056) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmil6-0005Ik-8c for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:50 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:30372) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmikz-0004ut-Nb for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:46 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-97-hZosYyQKPi62zhBWTDJx-Q-1; Tue, 08 Dec 2020 14:34:36 -0500 Received: by mail-wr1-f70.google.com with SMTP id q18so1159859wrc.20 for ; Tue, 08 Dec 2020 11:34:36 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id s8sm21058227wrn.33.2020.12.08.11.34.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=FgcgZZzc2Flzw0fgzWTMsHtDenMVkVIL0C7rCd4lpNo=; b=fZZJ1bGwQ5QPSxFqoMjhSnCdikAOG+5l04AV6Us5QvXONUClerw+iKIdyEf4Ale+4ga8mF Db5KQx/1mhQ+T9dj9IYEu4RqgmsRixpPQZG4D/ZoYLOYBm6NsCuE5Hvoi2JVUW7Sk4Z7mu nS+DbXdK0z2fv6C2uX8e2mmOvZjlvoI= X-MC-Unique: hZosYyQKPi62zhBWTDJx-Q-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=FgcgZZzc2Flzw0fgzWTMsHtDenMVkVIL0C7rCd4lpNo=; b=i4SLqIVNCJGFwgOREgzt7ODSnEXYF+bzjW0siGGSVNGZM6X/Q5z9z78hVyddBB2n2G pqpZ8k2uPugn/trfm0BKicrwRfkfetDq7kL/Y3D27p+lq0d/+cSFAZSXmm9DY0aC6YfM b/cUGeYjUmMh3ilwEx5taLQEyKLZDhPk57Q5xmwezFv43MLyzokg7vscev9rlil7eDjK /YakTh1IJe9nHGlCQMnSVMECjAzF/frcY+sjR+4lQsBuBwoHenKbiA329j5rKovs1ohI 1MrWdzgrQ+QCAMPxcHw/GT+H15pNk5A0RxqJlkTB9MWMXrzS6m8I2k4jZa60EolzvJvJ BywQ== X-Gm-Message-State: AOAM530Ns6MVHxKCGgGJTxcHzod0MCSHh32Kr2vVMxDXC+HAH4Pu4JZH 9iziju+OHLd8zBnZTjLig0vX8eVwoSYUmwYC2Y6LkTptGB7GyApRgwSEXlCeQYUOVG8PcZuI8H/ 5NGhxJe9uET1PB69gK3nHPf0z1iZYt0vhifbeNjsK7VVeMPp6H+QRmiUKTzzL X-Received: by 2002:adf:bc92:: with SMTP id g18mr5493674wrh.160.1607456075216; Tue, 08 Dec 2020 11:34:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJx2dW3ZQ8wCWjZGkOppkL/C9JRSIekoxm8iYwl+W/LQ+nYFfr2VmYJBb+aFopuWCNX+Z6KmCg== X-Received: by 2002:adf:bc92:: with SMTP id g18mr5493661wrh.160.1607456075066; Tue, 08 Dec 2020 11:34:35 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:32 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 18/66] failover: Use always atomics for primary_should_be_hidden Message-ID: <20201208193307.646726-19-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-4-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 1011a524bf..a0fa63e7cb 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3136,7 +3136,7 @@ static bool failover_replug_primary(VirtIONet *n, Err= or **errp) return false; } qdev_set_parent_bus(n->primary_dev, n->primary_bus, &error_abort); - n->primary_should_be_hidden =3D false; + qatomic_set(&n->primary_should_be_hidden, false); if (!qemu_opt_set_bool(n->primary_device_opts, "partially_hotplugged", true, errp)) { return false; --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457256; cv=none; d=zohomail.com; s=zohoarc; b=W2pQMB+R4ogv72MwlRYnRml5oT9LB8MhU6h3M4UVMlwNgZa09yAc2rErTeBng7jZT4/sPwZX/cuxLA4uj2nrlMuAX5dQFxxCJR2co7ZgAddLv+xOmVuvxFFjoK21shQgpulduFdr9qSFVn1OhBrG7zFYQ5CkVS8nYUHe+RM69TI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457256; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bvk6Ny86rso8mg1Vb1kLOvKe4SXQYHEXQ5syAnjwF2M=; b=A+CQotw+c/BeWceFH/SovcZrNFEhrwtYNQdl4L7H1zrVvq3w4IgVtfCdEmnkkMte1sukZ/OTHb1pR+m84TlgKr3P3ZeMXLwnPuas/oI4HjSoHQv0+fQMFnXNeYbWjaX6qBYuGIDP9wgit3IWWfMKH1SrURlZWRRfe87/adqhIJQ= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457256941530.1044743859151; Tue, 8 Dec 2020 11:54:16 -0800 (PST) Received: from localhost ([::1]:43912 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj3v-0006R2-QX for importer@patchew.org; Tue, 08 Dec 2020 14:54:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49090) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilG-0005JP-Ih for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:59 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:42186) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmil2-0004vr-4x for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:58 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-520-2vjT7ux_NUW_fKhw3C1Z_Q-1; Tue, 08 Dec 2020 14:34:40 -0500 Received: by mail-wr1-f70.google.com with SMTP id b5so6568388wrp.3 for ; Tue, 08 Dec 2020 11:34:40 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id v125sm5024362wme.42.2020.12.08.11.34.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bvk6Ny86rso8mg1Vb1kLOvKe4SXQYHEXQ5syAnjwF2M=; b=YM4exSsbbzQL/6ylOPopDiNFoHDkrTojLHuv1pehr/vBEdEXlN40WYIu//YqS5IGNpH0Rv vYGrv2H7WZn3EEIxLWRhRlII/45A3EIG/8fhZbpvuIC/v+7CQx+BYJkqk4fVJH4r/1FbS1 B6qRGW/gzb7UTiAF6fPfxwC23AzHfzk= X-MC-Unique: 2vjT7ux_NUW_fKhw3C1Z_Q-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=bvk6Ny86rso8mg1Vb1kLOvKe4SXQYHEXQ5syAnjwF2M=; b=swThCqBzfvsgCYfo5U4VqWfY++AWSwLjaIcUgk7q14dbTH9q43aqGsjTL3lMxTo5gC ZSLuvxhYXu1XvTCWgpKUyhFsrWhZT2njCHdLigsKYyp3V5K5K4Lh48h8g0HLMYHw4MHX yWsaxYk7/m1RXxE0Nj8Lby8a8i1gd4APQDx5HLmCq1NVBv7wpN17G54WQ943I823waf7 qt+OML9Du2m0CmDsxe+xS+Es+Jo1a4xoF8CqhPN28A0+ry3PZJK/iaG54eEjO0X07ET9 bHVgdaDQMOFIxLPjXwYFCCGZawdOsh/ndpuSeu53LX1S1HmceOmnbUexjqRuPh7wvfYV TiAQ== X-Gm-Message-State: AOAM531ZnqZXqJs9hQinMteUq735tf8Tqwfqh01f7mcmNSklIiQSXKcQ 4jpOadMe8C3MUOmVsG+eSij44ROxXE/PKD8szZaJ1r1ywx5UsZcZe58Mgh303wzPhCFBGfZgmYd EkrpsP2j9gIiEZlPO/fMq0t8+Pw7Kpm9hvsIjyCFSH9DxmVTrWA+uBO9DxLkz X-Received: by 2002:a5d:42cf:: with SMTP id t15mr14448581wrr.267.1607456078759; Tue, 08 Dec 2020 11:34:38 -0800 (PST) X-Google-Smtp-Source: ABdhPJzidYw7CHsFGV0sXQ9V4vQ0EwbKiJX3hkCILWb7FT4bOdCIZhkdxeil0nExkaSlkMNRN8lq8w== X-Received: by 2002:a5d:42cf:: with SMTP id t15mr14448567wrr.267.1607456078600; Tue, 08 Dec 2020 11:34:38 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:35 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 19/66] failover: primary bus is only used once, and where it is set Message-ID: <20201208193307.646726-20-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Just remove the struct member. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-5-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/virtio-net.h | 1 - hw/net/virtio-net.c | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index f4852ac27b..c8da637d40 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -205,7 +205,6 @@ struct VirtIONet { QemuOpts *primary_device_opts; QDict *primary_device_dict; DeviceState *primary_dev; - BusState *primary_bus; char *primary_device_id; char *standby_id; bool primary_should_be_hidden; diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index a0fa63e7cb..786d313330 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -804,7 +804,6 @@ static void failover_add_primary(VirtIONet *n, Error **= errp) qemu_opts_del(n->primary_device_opts); } if (n->primary_dev) { - n->primary_bus =3D n->primary_dev->parent_bus; if (err) { qdev_unplug(n->primary_dev, &err); qdev_set_id(n->primary_dev, ""); @@ -3118,6 +3117,7 @@ static bool failover_replug_primary(VirtIONet *n, Err= or **errp) Error *err =3D NULL; HotplugHandler *hotplug_ctrl; PCIDevice *pdev =3D PCI_DEVICE(n->primary_dev); + BusState *primary_bus; =20 if (!pdev->partially_hotplugged) { return true; @@ -3130,12 +3130,12 @@ static bool failover_replug_primary(VirtIONet *n, E= rror **errp) return false; } } - n->primary_bus =3D n->primary_dev->parent_bus; - if (!n->primary_bus) { + primary_bus =3D n->primary_dev->parent_bus; + if (!primary_bus) { error_setg(errp, "virtio_net: couldn't find primary bus"); return false; } - qdev_set_parent_bus(n->primary_dev, n->primary_bus, &error_abort); + qdev_set_parent_bus(n->primary_dev, primary_bus, &error_abort); qatomic_set(&n->primary_should_be_hidden, false); if (!qemu_opt_set_bool(n->primary_device_opts, "partially_hotplugged", true, errp)) { --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457799; cv=none; d=zohomail.com; s=zohoarc; b=XrWYUf8Lyebr3wk5l+4OUxlOmN3AQ+aLw3JgPpb950jdjKSZeD7jfdDaqp3nyVe9qkkqFQTn56dVLZOAaD2pfEd0BGmo1YCYUQWblq0+HzriM880v5UUWsehcGAulI6A9Y6z6OnSYkHNUliM1ZYEioUWdDmmTmNjkicTxxZZFNg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457799; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DyhXDtuex14GnTmqS7jV7i/02scrPG/xS6z1km7MojI=; b=MlGCQRyizv3p80hLnHCu6CLkOCcV2WXv1yS+lRWaWWVHf25c9nvtVvus5/I0QtWyvMi/8vYI/RZpUgFdFk4gITZV36vhNiNReb9znoewXvyWQBzs4dJEla/JZY2CSAkYb8Ir4oj+U1PoN4uvtNXzz8zekdjPEU1N4gdAJ3pEIi8= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457799097484.83452007276844; Tue, 8 Dec 2020 12:03:19 -0800 (PST) Received: from localhost ([::1]:40986 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjCd-0008Ru-Jt for importer@patchew.org; Tue, 08 Dec 2020 15:03:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49102) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilH-0005Jp-Ll for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:01 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:53084) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmil6-0004wu-1R for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:34:59 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-579-3gFCyTplPNGlEoqzARDFAw-1; Tue, 08 Dec 2020 14:34:42 -0500 Received: by mail-wr1-f71.google.com with SMTP id b5so6568427wrp.3 for ; Tue, 08 Dec 2020 11:34:42 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id o13sm4924595wmc.44.2020.12.08.11.34.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=DyhXDtuex14GnTmqS7jV7i/02scrPG/xS6z1km7MojI=; b=Uz1G6zTwohkND2H0rpqjJcllgoArAa5JGzcC+Xth4s1eyfgOblkmnJD+XFJqD0MLL45joI gmghYFX3lafwBZGAk+opW/LHLc0aSSIMbG0LsK40w3sQCu1R/kTI5d7BTczt0EgTanCOrl 4Lzb2aJsn/oi5tOulhM9GYSdsTB5+X4= X-MC-Unique: 3gFCyTplPNGlEoqzARDFAw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=DyhXDtuex14GnTmqS7jV7i/02scrPG/xS6z1km7MojI=; b=OwSocld2pdlxLFdabGhm+cewLR00isJf4gkrFoAWEvpOP8SWzDjG+A7hr7VbycuaLY +Q6fSAAypxU5/Cag8K4jpkv79uQaSWuLPlVenQmc4Co3KUsBiJhYsjJ7TrdgJmj00fkq PqrD8A2kJIHx3EFh8IzOgHQn1UU65CV7fLO3kvs35kgIOq3PDXljBXlVI1nf8roa6DoE BI5yOxJvndizyd9wH02EFgzJsOlu2gsg2666OMm/NYrwCU/17U+owXBMJdDehfL5REVT FyMJi4XT7qm+loV4j/8l4dXfi8H/8ODQKBYKubJeNVCQz60B7I/17j/xMzZT/4OBXJov KqEQ== X-Gm-Message-State: AOAM531EumrNCiT09/3iv0TkWhzbSlZVw/4S2T5B7tKVK513VU1dc5EI P1o3BSzMGPfZKryA7Uqy6ygLJmDzhunJqs4lAT1bTKR8dLlMdw2E0PT0BfGg/bmqA6SWcDoVx1i WpnPcYD8l07jVigOuBEZI9twtJ2R2BXEYxNr1XoT91Nr34BvOFzWVxWyOjk1I X-Received: by 2002:adf:e704:: with SMTP id c4mr17925237wrm.355.1607456081598; Tue, 08 Dec 2020 11:34:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJyiMfAkJTzySaHTRvmnZ1MlauY46rvYH0lJGB5s9zW20u6do5euZ2J1kJ3Qc2lcsphVG3BjNg== X-Received: by 2002:adf:e704:: with SMTP id c4mr17925218wrm.355.1607456081394; Tue, 08 Dec 2020 11:34:41 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:38 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 20/66] failover: Remove unused parameter Message-ID: <20201208193307.646726-21-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-6-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 786d313330..3f658d6246 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -855,9 +855,7 @@ static DeviceState *virtio_net_find_primary(VirtIONet *= n, Error **errp) return dev; } =20 -static DeviceState *virtio_connect_failover_devices(VirtIONet *n, - DeviceState *dev, - Error **errp) +static DeviceState *virtio_connect_failover_devices(VirtIONet *n, Error **= errp) { DeviceState *prim_dev =3D NULL; Error *err =3D NULL; @@ -928,7 +926,7 @@ static void virtio_net_set_features(VirtIODevice *vdev,= uint64_t features) qatomic_set(&n->primary_should_be_hidden, false); failover_add_primary(n, &err); if (err) { - n->primary_dev =3D virtio_connect_failover_devices(n, n->qdev,= &err); + n->primary_dev =3D virtio_connect_failover_devices(n, &err); if (err) { goto out_err; } @@ -3164,7 +3162,7 @@ static void virtio_net_handle_migration_primary(VirtI= ONet *n, should_be_hidden =3D qatomic_read(&n->primary_should_be_hidden); =20 if (!n->primary_dev) { - n->primary_dev =3D virtio_connect_failover_devices(n, n->qdev, &er= r); + n->primary_dev =3D virtio_connect_failover_devices(n, &err); if (!n->primary_dev) { return; } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457410; cv=none; d=zohomail.com; s=zohoarc; b=jMlXNLqNsnqRYz5tlD9jfEnWENl3J+rP8lp9ELnsigsrpWUD7rvtmIsJ4So5k0ZUt/gIW2l6iWznR4TZ0t/eLdVYRLfcTzcv9Ki7Mkoqg0Btb9oquw7c9xCzq9V1bDI4qsHHhWb3PlDCCOOFGNc5hCwN7l/unvA6h2yOa6V40Ck= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457410; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=gA8OZSVFzke8UQRwamLZeTSgAvZS2ts8NQ1bKDBCEMU=; b=e5xGJM4i28Kb9omqa0YVquTwNVCaXIqrcGXvaKGlWFv5Gtf2XWD12n0W8H8pla82WoeT0/mFvRVuwyHxmlPOAmQQxZXpsBMIpJtKxOSONxqqSeKETelLeb+fNjrnq8YTO22yqW5GK087uYpv1uWPY5NCKG4E9zKe/k4Ysm7xb40= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457410486374.367576623859; Tue, 8 Dec 2020 11:56:50 -0800 (PST) Received: from localhost ([::1]:52330 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj6P-0001U2-60 for importer@patchew.org; Tue, 08 Dec 2020 14:56:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49156) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilN-0005Pp-OM for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:05 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:38857) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilH-0004xF-2X for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:05 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-309-YWkVZbf2NZCJ_2O6YGFgdA-1; Tue, 08 Dec 2020 14:34:46 -0500 Received: by mail-wr1-f72.google.com with SMTP id o12so1748359wrq.13 for ; Tue, 08 Dec 2020 11:34:46 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id c9sm22136471wrp.73.2020.12.08.11.34.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=gA8OZSVFzke8UQRwamLZeTSgAvZS2ts8NQ1bKDBCEMU=; b=Zr8jRfY9HEeTn3WmCbui5GM1oiuG8SuT4FQ5cjWLHQFORhMa1fs33fAcz6hwOUxBwqQtrg +lfwnm32L92Humie5mAnRjSmCALQKSCsQ0muL+VRIr2M3Npr611jOeTxRTwUzMNWMgt7+P aeOMBlehaYuAV5nqDsQe3twj8knaQEE= X-MC-Unique: YWkVZbf2NZCJ_2O6YGFgdA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=gA8OZSVFzke8UQRwamLZeTSgAvZS2ts8NQ1bKDBCEMU=; b=dbNXkOD5AHlezR2C0+my94DPzuyPeWHizYJPHcFEXAtgslLzMhlqx7GnjJdae7UGxi EJ3qT6eWdV+8/oBhm0/SKxMLDFF3fLgd0UlTgxRksgDsbDrn0Ud19IpPWSm+wfbV2E3u 8O9qcNs935L+Cl5BuflbTa6B00dNnVEXcNaRXRNGMFadi8LsZt6L2ob7TKCvlSHYEkaV WVl4Kk/PU+PalNPq49cov4Crq/lFOY5Jynk2fXO5sUdeLZkbfzhkpoSVcUNauLPzA/Y0 /AkPbcQrunX8xzvOT5PPhv8HS+YktH8uInXmmIFV8FQA/aCZ511vpFpEI++xf0hEF4XD 5eHA== X-Gm-Message-State: AOAM530sLPJItLykfbJroBOmddqeKxFKACmUGN1ixtP5cEqz4dO/JgJr lcntFuHJwWOgUeAj+lu1TUdzbUmqQywvn5kuUWN4sXO5DHM5G/7ejjdrkoi/DkXJ3Cx6sHX380S ekgmv4v6deVungUWLJ79XthTZlgQQSQt7IIz6foeo8ds5LXzVA/8KV/p2nBzQ X-Received: by 2002:a5d:4746:: with SMTP id o6mr25740729wrs.324.1607456085106; Tue, 08 Dec 2020 11:34:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJwCaN9mWTK4I6eJ2h62jWyKyTcEqThTdDebkfjl2/iwTywFecyCeyRJ8ofkU7Rg9jrPBApFfg== X-Received: by 2002:a5d:4746:: with SMTP id o6mr25740711wrs.324.1607456084939; Tue, 08 Dec 2020 11:34:44 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:41 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 21/66] failover: Remove external partially_hotplugged property Message-ID: <20201208193307.646726-22-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela It was only set "once", and with the wrong value. As far as I can see, libvirt still don't use it. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-7-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 3f658d6246..6ca85627d8 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3135,10 +3135,6 @@ static bool failover_replug_primary(VirtIONet *n, Er= ror **errp) } qdev_set_parent_bus(n->primary_dev, primary_bus, &error_abort); qatomic_set(&n->primary_should_be_hidden, false); - if (!qemu_opt_set_bool(n->primary_device_opts, - "partially_hotplugged", true, errp)) { - return false; - } hotplug_ctrl =3D qdev_get_hotplug_handler(n->primary_dev); if (hotplug_ctrl) { hotplug_handler_pre_plug(hotplug_ctrl, n->primary_dev, &err); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607460825; cv=none; d=zohomail.com; s=zohoarc; b=DFN4k8K1o/9Y7vwZv7zUtgmBk4yc5dwiMY7x7srgPS+OL88x/aGLz/GBsqPCtzUnZWNAT3z5cL1WcDs7VoDuRUS4XnFFdQJtv9GKE6K85lzikPEkcbB5gbTuAty20xk1/Mbzt8yZvfcVSebN1MjmaiY3eiIarKJlEddq7xGiWhI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607460825; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=l0gJ2VpSbCOtbZxPOChuV1mVFMIO/b+gNgYfj7nsR0w=; b=i6rc802k8E4+ga3BEXU39h7nRin3/W8S4riinK/XIos8QHNeevnZ2/4L3/wnCwu4pDu2dQI8vpQrW5MKosYnmSTBOT2ttVoZfgMrwROZrroeU/TdkoadhxVkU2gccUt8ZYQhTeA+KWeSYNRjWYbBYN7OUckAVbrmTQtmTZpxukk= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607460825591516.0092988125267; Tue, 8 Dec 2020 12:53:45 -0800 (PST) Received: from localhost ([::1]:49474 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjFs-0003Zg-Ue for importer@patchew.org; Tue, 08 Dec 2020 15:06:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49146) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilN-0005Om-3m for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:05 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:54017) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilH-0004xW-2N for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:04 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-63-YVTOnwo1O1mPfDpV0axe2w-1; Tue, 08 Dec 2020 14:34:49 -0500 Received: by mail-wm1-f70.google.com with SMTP id v5so1288005wmj.0 for ; Tue, 08 Dec 2020 11:34:49 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id r13sm13211618wrt.10.2020.12.08.11.34.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=l0gJ2VpSbCOtbZxPOChuV1mVFMIO/b+gNgYfj7nsR0w=; b=FfcIRc+xIDZcJ7tD6TMbw0pmtkwTEMRrS9aFzN9hjQrHK+vAG0B572dWfGqv1svWodNjXF BNT9kkjYj/yoF3zHr1X9Q/gGaS37h5hWOSG1jBIEffx/R5R5UIHhjYo31dvT2rLyD0hfcX xiQFTEtX6oxSBsNglNePfN/ZD5t08Lc= X-MC-Unique: YVTOnwo1O1mPfDpV0axe2w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=l0gJ2VpSbCOtbZxPOChuV1mVFMIO/b+gNgYfj7nsR0w=; b=QFXLH8X+uV9ewgCL+7vkVed+e2RcsGdoosrMcur6L1p7G4ESfWWzIVyQinQjUzZqSR ARgP3IXNT+eptajlXeD5kqCjYXnRNgyHXKamuTcZj0HpZDyb5Z2sLzOT0i9kNH/ehTLF yubKVBLHbPEhT5Hs21f5OGhWpU+Swkr44cIkF5Tl4EzeR9PDs5qnTHVzy2PTkmJeWXfb aaOyjbjxp4KZ/+4fxlMwstW7a+SPAPMNQwXqtaNZdN86vGVcVh1BxVuZ2NdJOh1R+Tqu TNE6PO9bSJHh/WBn4w3YNqyktOwV1Xl8w4sb62ut9B2oJ29VOcCZqcUFJqDBBzjiDpML kNtw== X-Gm-Message-State: AOAM5319Q8mBGSVuG0XgAzukLzWVN1ZlNGPXmCYixMMzrcITBzhTtFDN sudmSx4ZuXp+B21yssIqK9Nz6pnWPBG9YC2rslyaKpfPHZHK98im5yzthy6U+ucq4zt09I0i5AN h5I57GKeyjTW7RE8cwyamwGygY9Mxdgl1yjvcd95df2d166U8xS7vBmIuRdE8 X-Received: by 2002:adf:ec0d:: with SMTP id x13mr26919800wrn.207.1607456088164; Tue, 08 Dec 2020 11:34:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJyUo+DXvYFve8+Khhklfv4cyJyDFpIyC+UOhSUHqg6RP0mcesEY1/nKS7+gb49kmvfVx97EyQ== X-Received: by 2002:adf:ec0d:: with SMTP id x13mr26919784wrn.207.1607456087990; Tue, 08 Dec 2020 11:34:47 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:45 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 22/66] failover: qdev_device_add() returns err or dev set Message-ID: <20201208193307.646726-23-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Never both. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-8-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 6ca85627d8..3e82108d42 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -803,13 +803,6 @@ static void failover_add_primary(VirtIONet *n, Error *= *errp) if (err) { qemu_opts_del(n->primary_device_opts); } - if (n->primary_dev) { - if (err) { - qdev_unplug(n->primary_dev, &err); - qdev_set_id(n->primary_dev, ""); - - } - } } else { error_setg(errp, "Primary device not found"); error_append_hint(errp, "Virtio-net failover will not work. Make " --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607460855; cv=none; d=zohomail.com; s=zohoarc; b=BQ6ewas2BlTId2lZgUd5MdIpHulF5u3xmQf6jhV69pkS3H1gtyi7drb/XnnstCVmV2vSxDsNUCmzqykJ1H6tLrYbrDwpIdwVcB7rq9yVsbo6z/ibp30uZI8fRq46BFq5FJG0V0smuOq4gXefAQBMvUZNExFnuGnCOUOLwQ3W4j8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607460855; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MHcX9e7mD/h+Oeld8nnzKR5yrjwwB4Dy4Q0IjF0Tlvs=; b=PeBgmBUz9qI9AnWu5/76qkf7P2V9zVkx1KyFmSWaABJyUeSPlVEhjohp73gi3/bnEn5noBtHofBu8rgCzf28Sbllaq/cf3hsUr2XYVoy5wge5TerO5yqYHwiZDUv2sNwwwCC1lYMRyfpgyJchm0G3aGFhKOs4N7J2/TQQV+bItw= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607460855118733.7698489596505; Tue, 8 Dec 2020 12:54:15 -0800 (PST) Received: from localhost ([::1]:46508 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjNu-0005mM-QR for importer@patchew.org; Tue, 08 Dec 2020 15:14:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49274) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilb-0005gr-Mg for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:21 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:36034) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilH-0004xk-2j for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:19 -0500 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-414-mNdWfzWzNHeYEFhhjOGf2w-1; Tue, 08 Dec 2020 14:34:53 -0500 Received: by mail-wm1-f69.google.com with SMTP id d16so948579wmd.1 for ; Tue, 08 Dec 2020 11:34:53 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id q15sm9283332wrw.75.2020.12.08.11.34.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=MHcX9e7mD/h+Oeld8nnzKR5yrjwwB4Dy4Q0IjF0Tlvs=; b=bowDq+JQx1X/cfvafX7RDDsksKUDAbR2Xp1CI/9MfjbKxEaznBpQbK+8EpsEmwg0e14ZIJ qEcZDT2aLAiaE940CX/SoqdTqXunZznsxPgaoB2J/C/EmJD7NeLbTVxbRIujSxDtzkfnX8 OBMvDkCHWF6lr/OEP7zlu4izoJlvBUQ= X-MC-Unique: mNdWfzWzNHeYEFhhjOGf2w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=MHcX9e7mD/h+Oeld8nnzKR5yrjwwB4Dy4Q0IjF0Tlvs=; b=ApQqNGEw7gMWXv+QKW7EWCzww4er2nnCwngX++w1YZu4/ZArwUVIUW7nIGrudCdVpZ tpdG4hVLz1ZG1+523nwkBjtZZHqGo6QUvhpFZVghbxCWOftZ9tlL5X3PZp3wKJoK64nL LWjgH5SWxshU9jhYCPqd0pRhGJi/Bzp/pBStGb+p2JGPcRzcKhzhp3Uve9A+lW4/Ll+Y 8HYZZs/AQIrtT2tKzI6oTOAyG2FA9hP4v0+1vuhRdrnvjiee7gZahxcFXATktLyyg8vn M4d4z7SLIflEX3grc+Nx4s1l8NOqTZv3HvNZfDz0X1tOjbUE5KHByYc0+EquOfQPzfKz Bbxw== X-Gm-Message-State: AOAM532AEnqkyqnQUp595KhCkYHso2a7HTtN0axQA7dgI/TTAGIm/Ano rsCsh4Z1FMBPYJL0L7I2WgEfQIdUI7hrPg7Tc5KyybRqC9HtghBpc+SrJVjdGwuKSYgZtJbB9mE XPpKyceGJ1/2fHaYQLecmPLKOWve9Yh/J6LoVqmqltmHzkL08U+UKZdqlwCIF X-Received: by 2002:adf:dc08:: with SMTP id t8mr5672502wri.195.1607456092019; Tue, 08 Dec 2020 11:34:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJyK4bw2NQGfbAutI7sy2HcfWlPABL/1yHTQ0PBV4IQfR0FA1dk+ggf6FahjYoNPcYQHq6wwbA== X-Received: by 2002:adf:dc08:: with SMTP id t8mr5672485wri.195.1607456091842; Tue, 08 Dec 2020 11:34:51 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:48 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 23/66] failover: Rename bool to failover_primary_hidden Message-ID: <20201208193307.646726-24-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela You should not use passive naming variables. And once there, be able to search for them. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-9-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/virtio-net.h | 3 ++- hw/net/virtio-net.c | 14 +++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index c8da637d40..ca68be759f 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -207,7 +207,8 @@ struct VirtIONet { DeviceState *primary_dev; char *primary_device_id; char *standby_id; - bool primary_should_be_hidden; + /* primary failover device is hidden*/ + bool failover_primary_hidden; bool failover; DeviceListener primary_listener; Notifier migration_state; diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 3e82108d42..c221671852 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -916,7 +916,7 @@ static void virtio_net_set_features(VirtIODevice *vdev,= uint64_t features) =20 if (virtio_has_feature(features, VIRTIO_NET_F_STANDBY)) { qapi_event_send_failover_negotiated(n->netclient_name); - qatomic_set(&n->primary_should_be_hidden, false); + qatomic_set(&n->failover_primary_hidden, false); failover_add_primary(n, &err); if (err) { n->primary_dev =3D virtio_connect_failover_devices(n, &err); @@ -3127,7 +3127,7 @@ static bool failover_replug_primary(VirtIONet *n, Err= or **errp) return false; } qdev_set_parent_bus(n->primary_dev, primary_bus, &error_abort); - qatomic_set(&n->primary_should_be_hidden, false); + qatomic_set(&n->failover_primary_hidden, false); hotplug_ctrl =3D qdev_get_hotplug_handler(n->primary_dev); if (hotplug_ctrl) { hotplug_handler_pre_plug(hotplug_ctrl, n->primary_dev, &err); @@ -3148,7 +3148,7 @@ static void virtio_net_handle_migration_primary(VirtI= ONet *n, bool should_be_hidden; Error *err =3D NULL; =20 - should_be_hidden =3D qatomic_read(&n->primary_should_be_hidden); + should_be_hidden =3D qatomic_read(&n->failover_primary_hidden); =20 if (!n->primary_dev) { n->primary_dev =3D virtio_connect_failover_devices(n, &err); @@ -3163,7 +3163,7 @@ static void virtio_net_handle_migration_primary(VirtI= ONet *n, qdev_get_vmsd(n->primary_dev), n->primary_dev); qapi_event_send_unplug_primary(n->primary_device_id); - qatomic_set(&n->primary_should_be_hidden, true); + qatomic_set(&n->failover_primary_hidden, true); } else { warn_report("couldn't unplug primary device"); } @@ -3213,8 +3213,8 @@ static int virtio_net_primary_should_be_hidden(Device= Listener *listener, =20 n->primary_device_opts =3D device_opts; =20 - /* primary_should_be_hidden is set during feature negotiation */ - hide =3D qatomic_read(&n->primary_should_be_hidden); + /* failover_primary_hidden is set during feature negotiation */ + hide =3D qatomic_read(&n->failover_primary_hidden); =20 if (n->primary_device_dict) { g_free(n->primary_device_id); @@ -3271,7 +3271,7 @@ static void virtio_net_device_realize(DeviceState *de= v, Error **errp) if (n->failover) { n->primary_listener.should_be_hidden =3D virtio_net_primary_should_be_hidden; - qatomic_set(&n->primary_should_be_hidden, true); + qatomic_set(&n->failover_primary_hidden, true); device_listener_register(&n->primary_listener); n->migration_state.notify =3D virtio_net_migration_state_notifier; add_migration_state_change_notifier(&n->migration_state); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457309; cv=none; d=zohomail.com; s=zohoarc; b=ZDne67IBJRaahUP8l7tSEcDpgYPvitfhwfx7M7Gipgyzakcmc7Sn5gLRKR8Y2P+cDkc896NZkaiBlkckk4UWsd6IGwmrneBFFG/vKeqIPvQfZhvU4nkTRDNvnIc9OV/lH0z499/vYQvlOvppMcttEoh1RmPtZDSLxCVMaI+A8gY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457309; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=e63XrFjhRraaBUyyxddNntT8UVuXnzEpnyPrT9Xi6Do=; b=VgMG9s9rlz/yNK8G0QGw3GvhdslI9YM5SCeC84nFHJPqHqfp8Fj1wjwSD6Izf3nsQXXsnS+faFV2ijGZn9udiR3letGrBNC+K4WbsT33gduOTFIRnvc9gPCFG0zr0jIe0b7Az/KCklFoEEo1vD3s+Q6qR8yzr1dyxTg2/jmc67c= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457309275301.56980645520673; Tue, 8 Dec 2020 11:55:09 -0800 (PST) Received: from localhost ([::1]:47314 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj4m-0007ny-5n for importer@patchew.org; Tue, 08 Dec 2020 14:55:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49168) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilO-0005R9-JT for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:06 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:47429) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilK-0004zM-2N for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:06 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-13-XbdY3kj9PsWjzaM-zXn51g-1; Tue, 08 Dec 2020 14:34:57 -0500 Received: by mail-wm1-f70.google.com with SMTP id q17so700542wmc.1 for ; Tue, 08 Dec 2020 11:34:57 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id k1sm21327089wrp.23.2020.12.08.11.34.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=e63XrFjhRraaBUyyxddNntT8UVuXnzEpnyPrT9Xi6Do=; b=LDKcDS5MtWlNCn35Fp697jYHv0fPwH7/EFmWNkr+09fJKvB5ebuCZ0VDluKlQ3fcyMmjM9 FEljRVCipcJ1ieaogAdIcDtyPip7bZtesmGPDHS8EYu/YZ9bH5Zlt1xDT0kF9Zso/x2Wtn yhDtzIZRVo236u3jTFxq8CjuMoaehto= X-MC-Unique: XbdY3kj9PsWjzaM-zXn51g-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=e63XrFjhRraaBUyyxddNntT8UVuXnzEpnyPrT9Xi6Do=; b=t/NUsgC30jhmVLt2sPNJoJ8oOmeFoZqDC0cNP4bLfWNfOLTEJyIiLHyFs6ylPqmtJ2 cavXh1x52FYZ5jyIH6sch3V0tKO4/DIVua9osrXC4N4mu45pc+OkNyZ1KUb3FWcP2/I+ CwlvvuWm4++iPSG2QhvsqI6E02yJhUwP5tkNr6T7DlsjSi2Ch3pENyqNTiTilaRk5sa5 kttkKaRYvoHxg+wx/3oP5IqDh7eoK49w2+zG6hMyONcio5LvdX5R+2YXiVqPXS3cDyz6 s7/xNmaXtnCmWgdE24hkVu0ZkG5M7Z3lJDv1FkydVWo28tlT6zbMzr6hgxK8qdbwkwvV FqkA== X-Gm-Message-State: AOAM533iq7yzeQPIhkgJr1+c3lMjFLIUck7UAQ1y4cy/5W1e3H7tGxaq KThwHNPn+SZo3f9NB461bE/y7/LxqPY5NGkJmWGFnsPI3Nej6mk27r+m7uopTIiTM3/u4eYfqVv VwOVsTIgvW1GFiZ7JOkpkCjaP4g5zrJU2Ut3+xDW2WFg9G2zy4AsixQ04kJc7 X-Received: by 2002:a05:600c:2116:: with SMTP id u22mr5208041wml.174.1607456095769; Tue, 08 Dec 2020 11:34:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJyAxMl/5DeewYmVPofY679evIcfLRedoxLBmBvWwMWwaJ3MkEmCOXElPbENFh0+IBEx6ABsZw== X-Received: by 2002:a05:600c:2116:: with SMTP id u22mr5208026wml.174.1607456095541; Tue, 08 Dec 2020 11:34:55 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:52 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 24/66] failover: g_strcmp0() knows how to handle NULL Message-ID: <20201208193307.646726-25-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-10-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index c221671852..e334f05352 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -818,7 +818,7 @@ static int is_my_primary(void *opaque, QemuOpts *opts, = Error **errp) int ret =3D 0; const char *standby_id =3D qemu_opt_get(opts, "failover_pair_id"); =20 - if (standby_id !=3D NULL && (g_strcmp0(standby_id, n->netclient_name) = =3D=3D 0)) { + if (g_strcmp0(standby_id, n->netclient_name) =3D=3D 0) { n->primary_device_id =3D g_strdup(opts->id); ret =3D 1; } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607460671; cv=none; d=zohomail.com; s=zohoarc; b=CSNBrS0uteoHKWW96yiNQYw13APTfcJH3qRTWRSZUjVD86NAo6TlcaKfaFVaUiWIP9gMIWuREhPartSi5xLAyLpdPiqrrom5fn6Zf8crbfZODzvDzTI76STUMXh19n+OheJ7/CwllJfe2Dl5LDHVDZtTUx/yv8w55CU7V8p7F8E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607460671; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fWdn60YXLAPyXZe/D6icm9/1W6OTKOnwy4q/Y4bmQPM=; b=kBLlygmZssCGVbuP3ydaO/k+z4fxXOtogkrQukqylTKo4zZ2wSPvBIh6Wr+e+CvhSUGJec6zD+NQmdmjZu3WvMxhDZSuEL6Fxi7t9aoS24L254cHySuKcachy9h5sO6x9DMJfWaQqALKjqV6sO2OS/4mdf8F5Yi2P2UXb26P3V4= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607460671984356.9304333320466; Tue, 8 Dec 2020 12:51:11 -0800 (PST) Received: from localhost ([::1]:57962 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjIe-0007DK-9t for importer@patchew.org; Tue, 08 Dec 2020 15:09:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49180) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilP-0005SK-C4 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:07 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:40073) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilN-00050g-Ct for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:07 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-176-YYG6PVNHOQqpJXneYtZPmw-1; Tue, 08 Dec 2020 14:35:01 -0500 Received: by mail-wr1-f69.google.com with SMTP id y5so2616742wrs.15 for ; Tue, 08 Dec 2020 11:35:00 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id c190sm5120608wme.19.2020.12.08.11.34.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:34:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=fWdn60YXLAPyXZe/D6icm9/1W6OTKOnwy4q/Y4bmQPM=; b=dBD6y+7qTb1kAZYiaYAf/zLP1PXKNBgiz3tkq5/B1JVurEGefZ3EPdBUgSiY/uq56x9Ajy uThdrGC4nVkypRI/+ePiJk5kMG+J5xMaCwnmC32LScj/Cm3AO0Ql3GmpdkVqJGlbuJFiUT mQqOV4extSbdqfyfzv+A/0/cE2rWK7A= X-MC-Unique: YYG6PVNHOQqpJXneYtZPmw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=fWdn60YXLAPyXZe/D6icm9/1W6OTKOnwy4q/Y4bmQPM=; b=GEoKNjrPqMvzV2FkSY9ehNhlPOJik3xuhEackqvpbTXhxvEhmR29Jio1To7EQFp9au v7kgpHHBR8sMQoN4LjvVkoJBov+nzz3RfRumJUaQVCLpwl3kDqZMqHgqbvXkfKytQkfm ZXKjK3DwYQmi8L1Yqyyeqm05570wYJo9asjNWX290JB0C3ohq1hxCrxMyp3pElFxIgvG ISgcWvrC3D2FXkFchgeNZn4pYPkBTApzlfN/H1YZZpxyVUonsTuKLNC1O4B4Ekn5PIXP DFpJ/Dv/SY7V3mukmLryGnRMTD6KmGyOwvJcK3OZL8U6U0mjFZCkoJgJbud6VxpOXeZc cVJQ== X-Gm-Message-State: AOAM532jy5BqYBv6X2FHW2q+cw+Yjg+IiKyu56vBu0N+q2veSJjo5iQw XzJzwqvHZcV4/HDJg0ldwkR1AE636bxd0ahlpDAgUqB1zwM04Q36rBWnQTr5mckNQsX1OS2kgz3 yGwld1UzomPAVWHgkkDfjOhMtgkQ4mQD07EAnNdiRerXYHT8HoWd3ll2ndy9A X-Received: by 2002:adf:f881:: with SMTP id u1mr26209721wrp.103.1607456099311; Tue, 08 Dec 2020 11:34:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJxXTi4Ogak4jeMvmhpuAGueB7TJtWnR4qxkVGh7qO62haI8E3x5iSp1syxMVOZTpmTXtYUFbw== X-Received: by 2002:adf:f881:: with SMTP id u1mr26209699wrp.103.1607456099087; Tue, 08 Dec 2020 11:34:59 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:55 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 25/66] failover: Remove primary_device_opts Message-ID: <20201208193307.646726-26-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela It was really only used once, in failover_add_primary(). Just search for it on global opts when it is needed. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-11-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/virtio-net.h | 1 - hw/net/virtio-net.c | 21 +++++---------------- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index ca68be759f..7159e6c0a0 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -202,7 +202,6 @@ struct VirtIONet { AnnounceTimer announce_timer; bool needs_vnet_hdr_swap; bool mtu_bypass_backend; - QemuOpts *primary_device_opts; QDict *primary_device_dict; DeviceState *primary_dev; char *primary_device_id; diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index e334f05352..2a99b0e0f6 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -791,17 +791,17 @@ static inline uint64_t virtio_net_supported_guest_off= loads(VirtIONet *n) static void failover_add_primary(VirtIONet *n, Error **errp) { Error *err =3D NULL; + QemuOpts *opts; =20 if (n->primary_dev) { return; } =20 - n->primary_device_opts =3D qemu_opts_find(qemu_find_opts("device"), - n->primary_device_id); - if (n->primary_device_opts) { - n->primary_dev =3D qdev_device_add(n->primary_device_opts, &err); + opts =3D qemu_opts_find(qemu_find_opts("device"), n->primary_device_id= ); + if (opts) { + n->primary_dev =3D qdev_device_add(opts, &err); if (err) { - qemu_opts_del(n->primary_device_opts); + qemu_opts_del(opts); } } else { error_setg(errp, "Primary device not found"); @@ -856,7 +856,6 @@ static DeviceState *virtio_connect_failover_devices(Vir= tIONet *n, Error **errp) prim_dev =3D virtio_net_find_primary(n, &err); if (prim_dev) { n->primary_device_id =3D g_strdup(prim_dev->id); - n->primary_device_opts =3D prim_dev->opts; } else { error_propagate(errp, err); } @@ -3113,14 +3112,6 @@ static bool failover_replug_primary(VirtIONet *n, Er= ror **errp) if (!pdev->partially_hotplugged) { return true; } - if (!n->primary_device_opts) { - n->primary_device_opts =3D qemu_opts_from_qdict(qemu_find_opts("de= vice"), - n->primary_device_di= ct, - errp); - if (!n->primary_device_opts) { - return false; - } - } primary_bus =3D n->primary_dev->parent_bus; if (!primary_bus) { error_setg(errp, "virtio_net: couldn't find primary bus"); @@ -3211,8 +3202,6 @@ static int virtio_net_primary_should_be_hidden(Device= Listener *listener, goto out; } =20 - n->primary_device_opts =3D device_opts; - /* failover_primary_hidden is set during feature negotiation */ hide =3D qatomic_read(&n->failover_primary_hidden); =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457488; cv=none; d=zohomail.com; s=zohoarc; b=IULqmIPuLg6N+26HR8qlSPLlO9IG2BQM3rCl8Uu70X7yAVlkt0zEhkmKcvyquYxreBy2eYzDardM44w3ZzPX3UQyE4aEoXyfOgt3Le5SSdHWbdp0TUk0pGQ6JlwDJCGI1lD5mcAMVPyOXJXo7ZGqhj9RiXEihkF8trwxBXp3iVg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457488; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=l0qss9gU1YSRIieMwhZYjklQs2fppW1raaUm6UbwM0U=; b=GDJK8S8PJ8KVEbH0uR+g7B4RFlnoht7BF0e0VDv8T2Zzhj6hDVVlwlaY+ed1DdBUJdNszOLCutm5GooCb2KmMNEbo5WsiecotId60KgCe+aWRTBY81PJIPhiw7JxNT8o6CTq8LTGdHt15WFMyd1lsl3/trwxJhKHFUuJVX/69CI= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457488859567.7491788683677; Tue, 8 Dec 2020 11:58:08 -0800 (PST) Received: from localhost ([::1]:55928 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj7f-0002vq-Lm for importer@patchew.org; Tue, 08 Dec 2020 14:58:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49258) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilU-0005e5-O9 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:12 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:45985) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilP-00051x-DW for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:12 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-529-_JUe08EtN2KHbcShJJTMmA-1; Tue, 08 Dec 2020 14:35:04 -0500 Received: by mail-wm1-f72.google.com with SMTP id d16so948650wmd.1 for ; Tue, 08 Dec 2020 11:35:04 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id q4sm5242575wmc.2.2020.12.08.11.35.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=l0qss9gU1YSRIieMwhZYjklQs2fppW1raaUm6UbwM0U=; b=W0x+e0AGOyOa6H+mrFhonDYvp1wa2ZXmoOc4oXPTtiDERdVMG2JYFjf732PyGgl+qMZp7F UZ8QIOQpX8Yoze73wLUk3J8JtQv7xy7dfFYrrBUJxx2ur2UwmV9bU7YUVmLhRdRYlyLQ3g zLTucjbnafMSUSfgCUFMWaIeQdnShP0= X-MC-Unique: _JUe08EtN2KHbcShJJTMmA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=l0qss9gU1YSRIieMwhZYjklQs2fppW1raaUm6UbwM0U=; b=P0TWOi2HOgrn5uBR5OWGtTkXHoHZskPb6cw4hKAA+i+JPjjpLSRVjuHV5nKVzoj4dd PO5FNFSFOSK6mFyt4roiPKaDEpuZIj07rLRraK1ZsbpPo+2t+fDIR7yi++/1bw9LsAiY wbBN1DMUEXUno4zecy8jQsrK10UwERxbfWTbmnkoQ+1DjILN+DrONw/aYJ6/AbawAV9w uocbLWdW/VsLF1zS2vrNZZlbmkoX+su+1h4fUO1fawztDqRL4S8JChlpLyCA79vYcNnb Wj1m6jNZ6PZrg299vzqxxIcGd8NQvSuRwjNXp9SyEm9a6hOBTl7MtcRdq3HNt8/cjgjb lzhA== X-Gm-Message-State: AOAM533PzS84zrlE7oW7XfOMzf85iEvIxCyQcFs4F3M91Hr6pk9Ql0PM HI1OkeFbWKqeviawW9ZYsau1GzhMvqqtlcquLe5b6rHIYivlmjqsJP5Hqet9mKpqyF54DMexNLe Khi150x0wrYjv6xeBDuNdo8qGD8ZEf1DfzO3M3wOJuEaSrPbRRdasExiHwMRy X-Received: by 2002:adf:fa05:: with SMTP id m5mr26953661wrr.26.1607456103019; Tue, 08 Dec 2020 11:35:03 -0800 (PST) X-Google-Smtp-Source: ABdhPJz4hjLwEi+AcdoPnUnz4Opl+cDDpwdm1j8zDvdrrjtVXfiCH9+aBKwUmSENGKek15hpXi++2g== X-Received: by 2002:adf:fa05:: with SMTP id m5mr26953632wrr.26.1607456102850; Tue, 08 Dec 2020 11:35:02 -0800 (PST) Date: Tue, 8 Dec 2020 14:34:59 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 26/66] failover: remove standby_id variable Message-ID: <20201208193307.646726-27-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela We can calculate it, and we only use it once anyways. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-12-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/virtio-net.h | 1 - hw/net/virtio-net.c | 11 +++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index 7159e6c0a0..a055f39dd6 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -205,7 +205,6 @@ struct VirtIONet { QDict *primary_device_dict; DeviceState *primary_dev; char *primary_device_id; - char *standby_id; /* primary failover device is hidden*/ bool failover_primary_hidden; bool failover; diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 2a99b0e0f6..953d5c2bc8 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3181,23 +3181,19 @@ static int virtio_net_primary_should_be_hidden(Devi= ceListener *listener, VirtIONet *n =3D container_of(listener, VirtIONet, primary_listener); bool match_found =3D false; bool hide =3D false; + const char *standby_id; =20 if (!device_opts) { return -1; } n->primary_device_dict =3D qemu_opts_to_qdict(device_opts, n->primary_device_dict); - if (n->primary_device_dict) { - g_free(n->standby_id); - n->standby_id =3D g_strdup(qdict_get_try_str(n->primary_device_dic= t, - "failover_pair_id")); - } - if (g_strcmp0(n->standby_id, n->netclient_name) =3D=3D 0) { + standby_id =3D qemu_opt_get(device_opts, "failover_pair_id"); + if (g_strcmp0(standby_id, n->netclient_name) =3D=3D 0) { match_found =3D true; } else { match_found =3D false; hide =3D false; - g_free(n->standby_id); n->primary_device_dict =3D NULL; goto out; } @@ -3400,7 +3396,6 @@ static void virtio_net_device_unrealize(DeviceState *= dev) if (n->failover) { device_listener_unregister(&n->primary_listener); g_free(n->primary_device_id); - g_free(n->standby_id); qobject_unref(n->primary_device_dict); n->primary_device_dict =3D NULL; } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459291; cv=none; d=zohomail.com; s=zohoarc; b=Wi5HWjWlaqVWMJFCOiI3ijJ8TFTwTGTJ3pvEZERqIECyVahjpcmxUZce5LdYKtHC7HRwF7WY7beDxqRS0J2p0gtsF2i08qtwiknjmhk+fHnVoVyCddVq2SQ1MHXeFD2p2r7J30vS2+0ciUcK9wh8uwxBizmExESfy1feKaS1z7c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459291; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=G9tzgdRg6V4aRBxWpzbtFZdDzKG4IFZ/VhXBU8iZDCI=; b=ZqpUKKxtc3d4fBnPn81xBmfnZdXeeSjKWbJQ2V//olE61GpaRI/vAwQf9ILgqGBV92gNu5Qux8UMBVBjhK1dPgnlqZl/YRQQzLAwoO0XZRJo6FvLn9pnUW81eYGXULw+KoVC5dT6X39c1dsF1JEPN0NUQHIFqlHkpSiSKOmihOk= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459291447355.9197501151083; Tue, 8 Dec 2020 12:28:11 -0800 (PST) Received: from localhost ([::1]:38070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjLT-0002IK-Jz for importer@patchew.org; Tue, 08 Dec 2020 15:12:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49260) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilV-0005eN-1j for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:13 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:51412) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilT-00053p-4m for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:12 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-264-uiW0zXXEOyeGC1X5aryR8g-1; Tue, 08 Dec 2020 14:35:08 -0500 Received: by mail-wr1-f72.google.com with SMTP id r11so4694433wrs.23 for ; Tue, 08 Dec 2020 11:35:08 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id x9sm21621655wru.55.2020.12.08.11.35.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=G9tzgdRg6V4aRBxWpzbtFZdDzKG4IFZ/VhXBU8iZDCI=; b=SdElqgPlR1LeElFS58Aj7uP4b6d0/yCz9DEFqUI9moI0t7iuP6c7r0Uk5RxjBtU7cb/pim aOasPvgMfsojRmTNzgBi889wVWeuX7uVQ0gMi51gDo9I8LW+T4GpzE9qaublmQGvvBjkNI beH+CPjRglq6MO3Sil2OGLoSL3ZsvUQ= X-MC-Unique: uiW0zXXEOyeGC1X5aryR8g-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=G9tzgdRg6V4aRBxWpzbtFZdDzKG4IFZ/VhXBU8iZDCI=; b=Fvkc7wT25YWPJKvenqCvY9PZN7C7VB9LUcJAc4rwaXY6kkvvKip18ApX23KOw38m83 1+opvqOTecOVWb4vA3IO7xbHoANSTUkACHWb59K1zrbukcWSz+RLp6RfEsE9tya0mFpH dP+phijULzrwAnGY+D53g/FA5ZT1lhdjzBmprBOpEMZupDE4qe9Ifx7LMhSzEdXOJGnw ob1G3YkCYwWcCZRODrB4+d6NT5tvlsBJte432Y5HIiaiNzoqb++R5vRIc0x7ijtvTTaB jt0TY0FEpwwbIMnuG6M9g2iUZgA3LSu9T//34uJtW495iCMoDUaWf9KaJrywGcQ4inRB adXw== X-Gm-Message-State: AOAM533E/X3U5lFcM2I4FZwVw1EMVwiKw4EtQzXjVSq7YKUY4gwLZ3eF 4joR+R+L9TZhfHS9Op4VES6CbOR2ijhAPZHz98W0Hqahg3djg1vojkTtBkxuEmKgEG5FRzGHjeH azECRokqsLo1oRB4rf6vvEujPd9Mh5VzCWR/0Zwxu4baLaFlLNn7gmKJQ0GES X-Received: by 2002:adf:f5c5:: with SMTP id k5mr7324119wrp.286.1607456106745; Tue, 08 Dec 2020 11:35:06 -0800 (PST) X-Google-Smtp-Source: ABdhPJzj5iXAbAXdS1fKYrzk0pU6JUduD/7ybq6WvWVC/gkfgqjGJLE4VmMcr0IHMG8ROEuUGPvo+A== X-Received: by 2002:adf:f5c5:: with SMTP id k5mr7324106wrp.286.1607456106577; Tue, 08 Dec 2020 11:35:06 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:02 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 27/66] failover: Remove primary_device_dict Message-ID: <20201208193307.646726-28-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela It was only used once. And we have there opts->id, so no need for it. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-13-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/virtio-net.h | 1 - hw/net/virtio-net.c | 17 ++++------------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index a055f39dd6..fe353d8299 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -202,7 +202,6 @@ struct VirtIONet { AnnounceTimer announce_timer; bool needs_vnet_hdr_swap; bool mtu_bypass_backend; - QDict *primary_device_dict; DeviceState *primary_dev; char *primary_device_id; /* primary failover device is hidden*/ diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 953d5c2bc8..6e5a56a230 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3186,28 +3186,21 @@ static int virtio_net_primary_should_be_hidden(Devi= ceListener *listener, if (!device_opts) { return -1; } - n->primary_device_dict =3D qemu_opts_to_qdict(device_opts, - n->primary_device_dict); standby_id =3D qemu_opt_get(device_opts, "failover_pair_id"); if (g_strcmp0(standby_id, n->netclient_name) =3D=3D 0) { match_found =3D true; } else { match_found =3D false; hide =3D false; - n->primary_device_dict =3D NULL; goto out; } =20 /* failover_primary_hidden is set during feature negotiation */ hide =3D qatomic_read(&n->failover_primary_hidden); - - if (n->primary_device_dict) { - g_free(n->primary_device_id); - n->primary_device_id =3D g_strdup(qdict_get_try_str( - n->primary_device_dict, "id")); - if (!n->primary_device_id) { - warn_report("primary_device_id not set"); - } + g_free(n->primary_device_id); + n->primary_device_id =3D g_strdup(device_opts->id); + if (!n->primary_device_id) { + warn_report("primary_device_id not set"); } =20 out: @@ -3396,8 +3389,6 @@ static void virtio_net_device_unrealize(DeviceState *= dev) if (n->failover) { device_listener_unregister(&n->primary_listener); g_free(n->primary_device_id); - qobject_unref(n->primary_device_dict); - n->primary_device_dict =3D NULL; } =20 max_queues =3D n->multiqueue ? n->max_queues : 1; --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457718; cv=none; d=zohomail.com; s=zohoarc; b=Hx9hiA2c4YTVGd7wYVeZZPOV7DWh7NBnc8VO5QD1G24d7G7InwFzXv0WfHFI07uURdoiBhFbnTBrDYW7LQUh0divD+dMNVDbP4KxmRYPzIpyQ8uEJ4Q7HAuoJM81qG+Nykgc7K3MqkT3lEK6ykQdMAVEavke6R32UOOr1CYFDSA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457718; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1HmGkQSaM8Ns8AyuR8g7tRnebE3hC78fFmzSbnpEopQ=; b=LDhR5jofUwx7JkrubA8Hsxj3LAmEFNyXXOmvTXpRwuSKe9oG9vibZMYIBioSPwZS8ZnFq5cboGI2lwbZiJH2wX20WvS9vVIXE0FpjClt570cD5pn8Pj7kRBZJ9m8egdgp4N/9ug14WkhuJt8cKeXOTbjW3ix0ouCoMj2crtTwRI= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457718055152.54448657459648; Tue, 8 Dec 2020 12:01:58 -0800 (PST) Received: from localhost ([::1]:36334 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjBK-0006X2-Q7 for importer@patchew.org; Tue, 08 Dec 2020 15:01:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49336) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilp-0005qJ-JW for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:33 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:40260) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmili-0005DC-LJ for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:33 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-387-BB9QU6iCPSOq89SJy3wXEQ-1; Tue, 08 Dec 2020 14:35:13 -0500 Received: by mail-wr1-f70.google.com with SMTP id o12so1748817wrq.13 for ; Tue, 08 Dec 2020 11:35:12 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id d8sm5086018wmb.11.2020.12.08.11.35.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1HmGkQSaM8Ns8AyuR8g7tRnebE3hC78fFmzSbnpEopQ=; b=UkIjoaVlyFneDRgjXcGrGrGmEo3D84b/eFItYi7E07DPT/Asx7rEJekVzStn5diIBdccIb WuhtwNygqrEoEexJA3AHRAq/K7oD5/O9vMgtu4SoahKnJDZ0XQ6ehh1baqAB9Z1Y7CpPDP BRcvr6UrtpNfl/Hm5qNckw7jSTC+3zY= X-MC-Unique: BB9QU6iCPSOq89SJy3wXEQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=1HmGkQSaM8Ns8AyuR8g7tRnebE3hC78fFmzSbnpEopQ=; b=aNq6Vs1gejN94XyzRWQE0ITTeFlSDGdh9ohy0WWKiLLkGVjY1vDbfOqPFbEdLt9d0b YcJVTeqRR7T0xQlTsVtIJ9rX/yqsGit3Ibkms4/oL4uLY0kAyaF7bbvXjBaoVsi/LGAu 5xwSa1xht4uEwSjfGJZGD4OH6sUz9CD5ORFvhQjhvj5T8xNF40nYjTXw7ljMdaFaveh1 48YlYKeF1tQ6dfH7ugde/26FQOBVk/XbqKy1C4wJ7c6fAhWqut5MqVBVfGC9uVuzVVx5 uUQUCjc6BhTxSEiwz4NxsXsp22hpOHdE+9Um9OM/qVLnCA/XWOyK4T1qQtdIcP7tcsg/ zF8g== X-Gm-Message-State: AOAM533cIrEII/xeNbBskReCO07D92LIO7sLYtpGsZaRh83sfv9AWmA1 64LaXYT5WlY0XrojNhmV3JiYhW7LmBSa3zqG0hbO4mLLAeIOGVh/niop8gNAbUz/oALnRVA4LRB XR6ScV/gYe6mQ9mX3Ujh+d0NJEre26m7T3lqJ5mLpWoWpqin84bVCM7CAIxBL X-Received: by 2002:a1c:1bcd:: with SMTP id b196mr5189571wmb.70.1607456111636; Tue, 08 Dec 2020 11:35:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJyb1wxdRJKbh5fvPuhuxCw5GWpKb5CDHjuwQ4Dj6ViXm5HUp6ZsTnydoAWBAfnVWiG/w8WpTA== X-Received: by 2002:a1c:1bcd:: with SMTP id b196mr5189554wmb.70.1607456111347; Tue, 08 Dec 2020 11:35:11 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:06 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 28/66] failover: Remove memory leak Message-ID: <20201208193307.646726-29-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Two things, at this point: * n->primary_device_id has to be set, otherwise virtio_net_find_primary don't work. So we have a leak here. * it has to be exactly the same that prim_dev->id because what qdev_find_recursive() does is just compare this two values. So remove the unneeded assignment and leaky bits. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-14-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 6e5a56a230..70fa372c08 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -854,9 +854,7 @@ static DeviceState *virtio_connect_failover_devices(Vir= tIONet *n, Error **errp) Error *err =3D NULL; =20 prim_dev =3D virtio_net_find_primary(n, &err); - if (prim_dev) { - n->primary_device_id =3D g_strdup(prim_dev->id); - } else { + if (!prim_dev) { error_propagate(errp, err); } =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457480; cv=none; d=zohomail.com; s=zohoarc; b=HmZlJtcrvAMtaEgC+QvazF+KmclBsZ08bW27nhaPM+4Vt1stKNAYLlQEaHHF/DzrTRkiSAL1WC80oe7H5aVl3Gf5sbEyGmijj4bUlxqO4JewaealsQEAxbSLK8zevkp5Q7raOYNuX5AKHl5a83BYmjo/8botJ0YxLYyp1HgZCK4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457480; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=iPcVMbbC9/jyi7aveu8uhy5sTDIu0BY2gLP3FrJ8Aig=; b=ZEQimVJoSy2YSNwPUjx8w1nta+TFUHsUAIeJiCi9GYPzoSV3KbLSBFHYlc4D0E9WvMs49OTRqts+eJHXjSgI2qD7FfnZn2q4Tqv2FxSQPEy3d3daO6cDISttbBfNk7BgtDUdCJ0q2s8X7okIeGZEDtV1utRPAq3qmYzo22l+PEE= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457480121238.68707827082596; Tue, 8 Dec 2020 11:58:00 -0800 (PST) Received: from localhost ([::1]:55600 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj7U-0002np-Rg for importer@patchew.org; Tue, 08 Dec 2020 14:57:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49294) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilh-0005jr-2T for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:26 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:50879) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmile-0005AH-2q for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:24 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-175-NNt_o_wOMwm9NdM8b9VtQA-1; Tue, 08 Dec 2020 14:35:17 -0500 Received: by mail-wr1-f71.google.com with SMTP id m2so6631358wro.1 for ; Tue, 08 Dec 2020 11:35:17 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id j15sm17221946wrr.85.2020.12.08.11.35.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=iPcVMbbC9/jyi7aveu8uhy5sTDIu0BY2gLP3FrJ8Aig=; b=T9lmsDnYibaM4Av6Y/YNIOi4P/POoW1B3KP9fEhD+k19HvgVQGFI+mERzlWSQ6BXmmyw91 rX2t5blRj6dbUWIE3dEHsfXd7ZGinTffTBCrB615m5dY1nIxJHOcOac0MF4PC3wxM8LwPM QP6yf89JLpGDRlKE/Wyl5XsKhXt4m6g= X-MC-Unique: NNt_o_wOMwm9NdM8b9VtQA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=iPcVMbbC9/jyi7aveu8uhy5sTDIu0BY2gLP3FrJ8Aig=; b=tJSK+94HZbYI3HcyvQ/yASxzt/6OQG7u9bvomz+//Ji6rj9Jl58St9nFBl4gXdFqPl nkmMogl+zu19EcCSCytEsn3nxq1zbR1CHdvWiEXuh4SQliegQv1y+xX2UDpRO28AIjwF b8emnbhbEG9T6RfgFGrM032UNyF29DRvObapogGdzTx7q3szdf6wVhKTKbq/U2L7atm5 IsBcGwsdVgYhXepFJsjPxzmbKK4cQIqE8pIi2CTLwo8mWCzboST5Ve4/jx34DGTR9x1L h7SrNPWErpWTEBXjzEIV57vAzivizZ1p9ha3G4K2dIluEC9jKlNRolV6s1kBABjktuLf 8iyw== X-Gm-Message-State: AOAM532Wikjc1uOrccLwh997ov8+xBrusBGcQg9v88eo8baSpd1jiK2O XIwqc+OP7MaapsXgmK1GbYyw26GssqEQp4SxQac5fuhoJnGmb9YVO+v64nRooijOc2R6kT6qflB /YsCNU0PlAI2uqS2lrMWCbgLACTPhRAuWF9/yjaNz5rY2ic2FT4fLwuehl0N0 X-Received: by 2002:a1c:4843:: with SMTP id v64mr5245479wma.186.1607456115865; Tue, 08 Dec 2020 11:35:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJwImrhwLQY+gUf4dHV5TSvO65kk5y6Shhoa/+MzGnfEq9Qx5XywU0Eb0OnCrDB9Do49ZMXnLg== X-Received: by 2002:a1c:4843:: with SMTP id v64mr5245464wma.186.1607456115621; Tue, 08 Dec 2020 11:35:15 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:11 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 29/66] failover: simplify virtio_net_find_primary() Message-ID: <20201208193307.646726-30-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela a - is_my_primary() never sets one error b - If we return 1, primary_device_id is always set Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-15-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 70fa372c08..881907d1bd 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -828,24 +828,12 @@ static int is_my_primary(void *opaque, QemuOpts *opts= , Error **errp) =20 static DeviceState *virtio_net_find_primary(VirtIONet *n, Error **errp) { - DeviceState *dev =3D NULL; Error *err =3D NULL; =20 - if (qemu_opts_foreach(qemu_find_opts("device"), - is_my_primary, n, &err)) { - if (err) { - error_propagate(errp, err); - return NULL; - } - if (n->primary_device_id) { - dev =3D qdev_find_recursive(sysbus_get_default(), - n->primary_device_id); - } else { - error_setg(errp, "Primary device id not found"); - return NULL; - } + if (!qemu_opts_foreach(qemu_find_opts("device"), is_my_primary, n, &er= r)) { + return NULL; } - return dev; + return qdev_find_recursive(sysbus_get_default(), n->primary_device_id); } =20 static DeviceState *virtio_connect_failover_devices(VirtIONet *n, Error **= errp) --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457706; cv=none; d=zohomail.com; s=zohoarc; b=JhLS+H3c2c0BZIGIxhs9luoBm6cv2zXVNB/Ccsng8ylAgaiMidyxlQ69Hx49jrtjRvKN70FSjdlCWmfhPj5S6GeUMVZrqcYNXjfSPsmGj0y2iQ/SHENS+DZ5nf7hyflmOHiBYOiUGKgJy5X8Ic0haru1yTgnINOtRcHmPZCGiiA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457706; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bYpqC60JxB3XDC5/IdZ1zt95y2s9bZdWYAE0X430Ko0=; b=jF8NQbvY333n7qFRXg9pqTw+/YlJX0/Yg2Z8OTZZ8njNbMUoYF5+6hi4BTSpkYBrikMCqxaSx1cD+aLazlEyLO8Xr2TX4MfuhNbeserh5DKCDOvifNMpxJJm24Y5NBl28Zj5FHgSshJjkxPm26lFddWFNC6FX6xYsHlFE4XXHMM= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457705958868.705462421384; Tue, 8 Dec 2020 12:01:45 -0800 (PST) Received: from localhost ([::1]:35760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjBA-0006ET-5M for importer@patchew.org; Tue, 08 Dec 2020 15:01:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49334) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilp-0005pr-PE for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:33 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:32272) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilh-0005D2-QY for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:32 -0500 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-399-cqrHxCq9NSKvuGFfJElaKQ-1; Tue, 08 Dec 2020 14:35:22 -0500 Received: by mail-wm1-f69.google.com with SMTP id b124so567443wmh.0 for ; Tue, 08 Dec 2020 11:35:22 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id c1sm4924048wml.8.2020.12.08.11.35.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bYpqC60JxB3XDC5/IdZ1zt95y2s9bZdWYAE0X430Ko0=; b=Whm6t1rypBVIJc1GRbSYVoDGtP0QgjYmpM76C1wUr+IvSlsAJ+4o2EUxq7ZQv7D8D0gy2H KP4R5Sh2a5B/eZ3NZbvSikF3/MxM/P1AT3C2yp2VI8c5g0vMhUWLYUQ7yWJbXqqNHG8cZf SA4WW+Wc33G9TLvEJ1WqDK+p9hp5VYk= X-MC-Unique: cqrHxCq9NSKvuGFfJElaKQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=bYpqC60JxB3XDC5/IdZ1zt95y2s9bZdWYAE0X430Ko0=; b=j5nFQzIbS0IYDMU5ZQAXbMWzSBmq9562733R0dNu6aa+/ntaHJAakmaQZz1OR42sw8 eS2AeBThTRI38YV2RNyuX406X5pDFKGC7pJ28xsiAUmy1dFLoLctGRaIrgH5mvC391sb QtxYdCtUr+Rb6V9LchjVEgjl2yJVGVyyq0rR++zTe3DpZKenhpculV0MwTAg3rsU+lyn CF3OaB5lhLvqFirGOlTo5kibCbjWQCpkoOeG5NE6xLzWbkKMvhSXdidh8MtrlKMe/tNe xbCYDJ0Oayd7lTVnZskLhEuIu5hR3kGAiqVl5qOe/keCXeF4AXARAmzN7uIcuh4AhlER SUJw== X-Gm-Message-State: AOAM530uFnMS4RxThlH9k5cltZbIT0Y9uEz/2nwxbzICEv0XumLbm/VD gdOQ0G0A2fqD9yZ1qyFuoI6uVANFACHYFe94WCoa38KogZijPiA/k+GMrNTRLcN8MBXy5qZIX8E DudvTD3MC7WLcQvDm9vY/7SteyUhbhtD7TSO8zK92BTU2c2V4p7EtdfeZaP5L X-Received: by 2002:a1c:b788:: with SMTP id h130mr5160057wmf.94.1607456120681; Tue, 08 Dec 2020 11:35:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJwtKuhGNCV43go+agEEV1FW8nbh0MuvKtGb2XZEl+mEx4AVhQf5NVwzpdQFug+SA+Cp89qzPQ== X-Received: by 2002:a1c:b788:: with SMTP id h130mr5160036wmf.94.1607456120481; Tue, 08 Dec 2020 11:35:20 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:15 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 30/66] failover: should_be_hidden() should take a bool Message-ID: <20201208193307.646726-31-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= , Eduardo Habkost , Juan Quintela , Jason Wang , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela We didn't use at all the -1 value, and we don't really care. It was only used for the cases when this is not the device that we are searching for. And in that case we should not hide the device. Once there, simplify virtio-Snet_primary_should_be_hidden. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-16-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/qdev-core.h | 2 +- hw/core/qdev.c | 19 +++++-------------- hw/net/virtio-net.c | 27 +++++++-------------------- 3 files changed, 13 insertions(+), 35 deletions(-) diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 5e737195b5..250f4edef6 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -200,7 +200,7 @@ struct DeviceListener { * inform qdev that a device should be hidden, depending on the device * opts, for example, to hide a standby device. */ - int (*should_be_hidden)(DeviceListener *listener, QemuOpts *device_opt= s); + bool (*should_be_hidden)(DeviceListener *listener, QemuOpts *device_op= ts); QTAILQ_ENTRY(DeviceListener) link; }; =20 diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 262bca716f..8f4b8f3cc1 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -214,26 +214,17 @@ void device_listener_unregister(DeviceListener *liste= ner) =20 bool qdev_should_hide_device(QemuOpts *opts) { - int rc =3D -1; DeviceListener *listener; =20 QTAILQ_FOREACH(listener, &device_listeners, link) { - if (listener->should_be_hidden) { - /* - * should_be_hidden_will return - * 1 if device matches opts and it should be hidden - * 0 if device matches opts and should not be hidden - * -1 if device doesn't match ops - */ - rc =3D listener->should_be_hidden(listener, opts); - } - - if (rc > 0) { - break; + if (listener->should_be_hidden) { + if (listener->should_be_hidden(listener, opts)) { + return true; + } } } =20 - return rc > 0; + return false; } =20 void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id, diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 881907d1bd..9f12d33da0 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3161,24 +3161,19 @@ static void virtio_net_migration_state_notifier(Not= ifier *notifier, void *data) virtio_net_handle_migration_primary(n, s); } =20 -static int virtio_net_primary_should_be_hidden(DeviceListener *listener, - QemuOpts *device_opts) +static bool virtio_net_primary_should_be_hidden(DeviceListener *listener, + QemuOpts *device_opts) { VirtIONet *n =3D container_of(listener, VirtIONet, primary_listener); - bool match_found =3D false; - bool hide =3D false; + bool hide; const char *standby_id; =20 if (!device_opts) { - return -1; + return false; } standby_id =3D qemu_opt_get(device_opts, "failover_pair_id"); - if (g_strcmp0(standby_id, n->netclient_name) =3D=3D 0) { - match_found =3D true; - } else { - match_found =3D false; - hide =3D false; - goto out; + if (g_strcmp0(standby_id, n->netclient_name) !=3D 0) { + return false; } =20 /* failover_primary_hidden is set during feature negotiation */ @@ -3188,15 +3183,7 @@ static int virtio_net_primary_should_be_hidden(Devic= eListener *listener, if (!n->primary_device_id) { warn_report("primary_device_id not set"); } - -out: - if (match_found && hide) { - return 1; - } else if (match_found && !hide) { - return 0; - } else { - return -1; - } + return hide; } =20 static void virtio_net_device_realize(DeviceState *dev, Error **errp) --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457572; cv=none; d=zohomail.com; s=zohoarc; b=YTgzbEuddIrtfOhpxPKm8KyfXELljAGN3BpOscxK2iMUD/0H5DYz+XUa464JLmpTBIxx+qrsMaciVx7C+59MzFdkQ4idqBnQN6kHzf3SXWyZzvkzWRU+iDXFTT6O4ukji0PccunBMWBiK2Yk87ut0/jjPEHLAsG1QrannJ7mZ6Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457572; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Sm4fkmkUZJjXxwX3FPm+Fo5gUyq1PEzc4bBPGNIoRY8=; b=dYAWCnXnWAT7zjDsXroDuU82Mn+Do1WOPQE5ZkXBBSniWRvqwuHRHnHUmgLvU6eHT80bGMfz0JkK15CEDc2APqNP7UBvR79QQuKVqVjlpdYsHkxLTRYvVfFKW43TCToZ2FlQV86NkNQ7o3lCTXtREMze4zFNbJbrTVauMxkeiB8= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457572240264.86708362177956; Tue, 8 Dec 2020 11:59:32 -0800 (PST) Received: from localhost ([::1]:60824 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmj8z-0004v1-V3 for importer@patchew.org; Tue, 08 Dec 2020 14:59:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49374) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilt-0005yv-Nw for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:37 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:52460) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilo-0005FJ-Ea for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:37 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-252-8-OUGIs_NXyugnU7_hUZYg-1; Tue, 08 Dec 2020 14:35:26 -0500 Received: by mail-wm1-f70.google.com with SMTP id v5so1288536wmj.0 for ; Tue, 08 Dec 2020 11:35:26 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id u66sm5040476wmg.2.2020.12.08.11.35.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Sm4fkmkUZJjXxwX3FPm+Fo5gUyq1PEzc4bBPGNIoRY8=; b=JyQ/mvLDjphdwD5bkLhfUREX58XL6RtK81o/Mu8G0f4D8G1mSfUSdNvQbKZweEMbf9EwVR Pwe9QNiilYSjhnRIWMtQk+xn71lDl3pDV54ckvXYvVIkmg8G2NLik6xF7+ALOWMjLGSeMO g/8L1Yb86AhxLp3ehS5GOAGhzyQvxEk= X-MC-Unique: 8-OUGIs_NXyugnU7_hUZYg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=Sm4fkmkUZJjXxwX3FPm+Fo5gUyq1PEzc4bBPGNIoRY8=; b=Waha4Q6uhL7K12UB4+8bo5pEla0M6/0nxjmaTAVMVKsp/0gWhjAEZzLckaGA2dHnPr 01jXUbgSyf5U8YvS3eX+potgtx0/h5tLh/uA4+zzfyijWoZQAEcVQJV/Y7pklqqgoYwh bhtAhwA0qaZt9KAINZ4HmqSCF3d2/ohwdztkY2cgHX/Y8ScaCVfKPzDlxE0WGkGR2brl KrlkwWh0KFQ5Xi61ajCFndEYybtEjSuDFSx3lZfo482PfTptvhf7PtaNzn56RdFWcNJM /2pn6+MTnXjS7OZZn9HUefGewDG7dhzyoWECMwimHyVvF6VkEZnrt+46SPVc0CZ88C9z MyeA== X-Gm-Message-State: AOAM533WDOI0h91fD8gp9wO+4G/pIYZeZhP4opVX6DZt/ADJkDkFZLF2 GphfLu1S76GWyQkaYgghSvUtiHn6ZM10wp2p5afgNUoFXWDLgavPHTjHVIJ2JxIf0JlIgN9UZGs QAY7zLhNL3h8KJy/b3gmO1+TKRz4p22LHVxB7UBS2C1IzWLscV2WpmF87XdYd X-Received: by 2002:a5d:55c6:: with SMTP id i6mr10307504wrw.137.1607456125300; Tue, 08 Dec 2020 11:35:25 -0800 (PST) X-Google-Smtp-Source: ABdhPJyVbPYujTtEBjhu15oJ1VEt4Gqc8D6fzqaDNAiMTaNOHdwZD5om6H6pBFNhxu/DAIqAe+sfqg== X-Received: by 2002:a5d:55c6:: with SMTP id i6mr10307488wrw.137.1607456125092; Tue, 08 Dec 2020 11:35:25 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:20 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 31/66] failover: Rename function to hide_device() Message-ID: <20201208193307.646726-32-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= , Eduardo Habkost , Juan Quintela , Jason Wang , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela You should not use pasive. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-17-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/qdev-core.h | 28 +++++++++++++++------------- hw/core/qdev.c | 4 ++-- hw/net/virtio-net.c | 7 +++---- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 250f4edef6..6ac86db44e 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -81,16 +81,17 @@ typedef void (*BusUnrealize)(BusState *bus); * * * # Hiding a device # - * To hide a device, a DeviceListener function should_be_hidden() needs to + * To hide a device, a DeviceListener function hide_device() needs to * be registered. - * It can be used to defer adding a device and therefore hide it from the - * guest. The handler registering to this DeviceListener can save the QOpts - * passed to it for re-using it later and must return that it wants the de= vice - * to be/remain hidden or not. When the handler function decides the device - * shall not be hidden it will be added in qdev_device_add() and - * realized as any other device. Otherwise qdev_device_add() will return e= arly - * without adding the device. The guest will not see a "hidden" device - * until it was marked don't hide and qdev_device_add called again. + * It can be used to defer adding a device and therefore hide it from + * the guest. The handler registering to this DeviceListener can save + * the QOpts passed to it for re-using it later. It must return if it + * wants the device to be hidden or visible. When the handler function + * decides the device shall be visible it will be added with + * qdev_device_add() and realized as any other device. Otherwise + * qdev_device_add() will return early without adding the device. The + * guest will not see a "hidden" device until it was marked visible + * and qdev_device_add called again. * */ struct DeviceClass { @@ -196,11 +197,12 @@ struct DeviceListener { void (*realize)(DeviceListener *listener, DeviceState *dev); void (*unrealize)(DeviceListener *listener, DeviceState *dev); /* - * This callback is called upon init of the DeviceState and allows to - * inform qdev that a device should be hidden, depending on the device - * opts, for example, to hide a standby device. + * This callback is called upon init of the DeviceState and + * informs qdev if a device should be visible or hidden. We can + * hide a failover device depending for example on the device + * opts. */ - bool (*should_be_hidden)(DeviceListener *listener, QemuOpts *device_op= ts); + bool (*hide_device)(DeviceListener *listener, QemuOpts *device_opts); QTAILQ_ENTRY(DeviceListener) link; }; =20 diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 8f4b8f3cc1..cbdff0b6c6 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -217,8 +217,8 @@ bool qdev_should_hide_device(QemuOpts *opts) DeviceListener *listener; =20 QTAILQ_FOREACH(listener, &device_listeners, link) { - if (listener->should_be_hidden) { - if (listener->should_be_hidden(listener, opts)) { + if (listener->hide_device) { + if (listener->hide_device(listener, opts)) { return true; } } diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 9f12d33da0..747614ff2a 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3161,8 +3161,8 @@ static void virtio_net_migration_state_notifier(Notif= ier *notifier, void *data) virtio_net_handle_migration_primary(n, s); } =20 -static bool virtio_net_primary_should_be_hidden(DeviceListener *listener, - QemuOpts *device_opts) +static bool failover_hide_primary_device(DeviceListener *listener, + QemuOpts *device_opts) { VirtIONet *n =3D container_of(listener, VirtIONet, primary_listener); bool hide; @@ -3220,8 +3220,7 @@ static void virtio_net_device_realize(DeviceState *de= v, Error **errp) } =20 if (n->failover) { - n->primary_listener.should_be_hidden =3D - virtio_net_primary_should_be_hidden; + n->primary_listener.hide_device =3D failover_hide_primary_device; qatomic_set(&n->failover_primary_hidden, true); device_listener_register(&n->primary_listener); n->migration_state.notify =3D virtio_net_migration_state_notifier; --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607461113; cv=none; d=zohomail.com; s=zohoarc; b=EEMFJgcEsjeaPmJjARfDXkj2Mgf3KI468zMSxAsnIrVe5p295V2lBAnwBtKkNcCZPtUKch3EPqIrKpjseoSwoMSjWR+zPQteBp7MPPqlETAsvxhN3KH9wbd4zPbN2DP89lrQMAgwVh5SKbGAIP3rLA2Us8HBbGS3GdADsTM3fdY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607461113; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Vx7oUqEVbRuE7vFFRNc/37oqJ1xHKKB+0YZAvOhK9cM=; b=DCTASu3D/7cnk2DgAcZBK30r1ndUs2h0+8zt6dEBWuTZZndg3R1UmokpDbhayCRKCn36V6MJ32tP9zyM2sQhKw4bI+oAaS36fTChbrzEdx7BwzW78odkCFPU2y5ARoWcNEX3plav3EPSR9vVhzh6jCubgFcmWkMhhyu6fx38T/E= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 160746111308895.76719683254953; Tue, 8 Dec 2020 12:58:33 -0800 (PST) Received: from localhost ([::1]:55086 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjRM-0000ze-92 for importer@patchew.org; Tue, 08 Dec 2020 15:18:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49358) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmils-0005vS-3v for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:36 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:28006) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilq-0005HC-AW for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:35 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-196-yMxXHfBEPf2MTmPW4HgxyA-1; Tue, 08 Dec 2020 14:35:30 -0500 Received: by mail-wr1-f72.google.com with SMTP id p18so6547370wro.9 for ; Tue, 08 Dec 2020 11:35:30 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id y68sm5734653wmc.0.2020.12.08.11.35.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Vx7oUqEVbRuE7vFFRNc/37oqJ1xHKKB+0YZAvOhK9cM=; b=EDYppNavEeTxB+KKpxMS/j98s/KFJDPZdrCYK9c9ajOc3+sivgof8w4NFIQRZVNHSyVTQE PRfnmEG5LpY3T6G9BJ+bMVDo/ySpIOJucFlhKpGHvK9+SI/lJ63GHTtvw9so+GupwwRYap 59fm0U3+nMHG2B0cl4f9RDFcjwlM9Nw= X-MC-Unique: yMxXHfBEPf2MTmPW4HgxyA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=Vx7oUqEVbRuE7vFFRNc/37oqJ1xHKKB+0YZAvOhK9cM=; b=dXwxYBiGeAMMKLblJRbSrS+pdOFdXoK1dHuYvHf5i239DgovkAOL1BnRrGxtO9WVqF XewtXVftcpVvKNw2cU+Mkgg45DsAm0OspbLdLyK4muwbhBmb54eFTkgRkr14D7gSAvTW zDCkq0hUNnTooX4U9IrfmJnu9r5skI2Art7YLM0ua7dwYKPJSHl4rsZWWjUO54hs7UzZ OU58H9uFz2ghRE5ZYV4JcupXLxnwHCgAZXYqsZW3gUoOPpO4zMD9H8iD+1vKSY3G3Air a9qTns7TAZxhAwA9S4Zki5OLDWyQazoheIinaTbgZpvxWYky/BjoJ03sOMdXhK3Do81Q WU4w== X-Gm-Message-State: AOAM533OUvJLG9MnWpbkQLYu5l6h+BJUc1a+AA74Y3gNhMbPYH7YeuMq qkzysUY9Bp6lj2Lt/A4or1XaVtNqOKFU0PAw7cSCKotNP9K51t5ebLwWLl7k0hSN5Bp3JvFcrFE eOhVHM9ACmYMXGFMB+Rao6Zgs+K8XYqmC30xGAdZCQ6B/gUKPb28R6r7Ic9Rb X-Received: by 2002:adf:eb91:: with SMTP id t17mr26882672wrn.330.1607456129068; Tue, 08 Dec 2020 11:35:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJyV7PGCZlHSrcVQ6sdwdvHq6Fjm8r1gHrQaYMY+VzaokTlobbq9FbGYxauPlc5D+n1DSX6XXw== X-Received: by 2002:adf:eb91:: with SMTP id t17mr26882651wrn.330.1607456128865; Tue, 08 Dec 2020 11:35:28 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:25 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 32/66] failover: virtio_net_connect_failover_devices() does nothing Message-ID: <20201208193307.646726-33-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela It just calls virtio_net_find_primary(), so just update the callers. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-18-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 747614ff2a..c6200b924e 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -836,19 +836,6 @@ static DeviceState *virtio_net_find_primary(VirtIONet = *n, Error **errp) return qdev_find_recursive(sysbus_get_default(), n->primary_device_id); } =20 -static DeviceState *virtio_connect_failover_devices(VirtIONet *n, Error **= errp) -{ - DeviceState *prim_dev =3D NULL; - Error *err =3D NULL; - - prim_dev =3D virtio_net_find_primary(n, &err); - if (!prim_dev) { - error_propagate(errp, err); - } - - return prim_dev; -} - static void virtio_net_set_features(VirtIODevice *vdev, uint64_t features) { VirtIONet *n =3D VIRTIO_NET(vdev); @@ -904,7 +891,7 @@ static void virtio_net_set_features(VirtIODevice *vdev,= uint64_t features) qatomic_set(&n->failover_primary_hidden, false); failover_add_primary(n, &err); if (err) { - n->primary_dev =3D virtio_connect_failover_devices(n, &err); + n->primary_dev =3D virtio_net_find_primary(n, &err); if (err) { goto out_err; } @@ -3128,7 +3115,7 @@ static void virtio_net_handle_migration_primary(VirtI= ONet *n, should_be_hidden =3D qatomic_read(&n->failover_primary_hidden); =20 if (!n->primary_dev) { - n->primary_dev =3D virtio_connect_failover_devices(n, &err); + n->primary_dev =3D virtio_net_find_primary(n, &err); if (!n->primary_dev) { return; } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457813; cv=none; d=zohomail.com; s=zohoarc; b=MTw8BlDy/z2XMfAhy/TbxdvK2QhECbtoxL4/+rsnSp4r4xR4UGmDvcoGFZzyVjCg+NADIw0NPJMaCEKWCClMFOCdKgP9+Zpu3Z0GFrMJws3lSvuhPvd/ESAYcnVYgbqIPhrPcCDfbodVRiz8x/vdmvSwvJrHXxXUNtkTF0VoOM8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457813; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/3+qUeIA+zTj+aCO/5vf0lMi8Wl7ZhxONweA15S3yAs=; b=SziymEla15BzWyAs+bzsu6+Kk8lU4m41j4H1KabDW1TTSeT6dni8tYcQz1Aoz3VFgqZ+3Q9/Oyr0iwcZ264nuxQD7aeyIl6EGzL4tEevOfcBGFg3xqx13RGND3PIR0mYpRPCMzha9wIE2KBRd1pBGtkBwapsTEuN6JfyqQQmUhM= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457812985316.12659393617264; Tue, 8 Dec 2020 12:03:32 -0800 (PST) Received: from localhost ([::1]:41240 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjCr-00006J-Bm for importer@patchew.org; Tue, 08 Dec 2020 15:03:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49394) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilv-000628-Fl for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:39 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:41123) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilt-0005LF-Q6 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:39 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-391-FGjozLV5NWKgaSg-E-_91g-1; Tue, 08 Dec 2020 14:35:35 -0500 Received: by mail-wr1-f69.google.com with SMTP id m2so6631746wro.1 for ; Tue, 08 Dec 2020 11:35:34 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id q16sm21803795wrn.13.2020.12.08.11.35.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/3+qUeIA+zTj+aCO/5vf0lMi8Wl7ZhxONweA15S3yAs=; b=V9rGh0r7+xNHNsl5JZxq6ne2PAsHC3IEsXAQ4CJGjq9ymikcgwMV7R+eBPK60zuzOJYdqu a+C8QM6nFr6X5p4hGDVPnWiPMeKC4PEjToEtPm/3t6pCChSuejAqH6eIhKAlQ1MMERQbqa Z7Pw0Xj9a1+B1cTtgyRkUaaVocJbPW8= X-MC-Unique: FGjozLV5NWKgaSg-E-_91g-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=/3+qUeIA+zTj+aCO/5vf0lMi8Wl7ZhxONweA15S3yAs=; b=K+o2Hr4z2L9Bndd88pubpjRpogLHPvNVX1ClGfIJPUP2M2u0fHEvKGSJL/daAknAz6 oLlYUWB0/pdTyg9c/+YBzi6XTUKTmTDO6bgY45zOzfO1JhgLlrHgEEFOgTjeeaPvCbbJ vhovq83O+3uqqCORUQdsXfx8t0JxNEMbvr3At/JyDwhvnC8attg9RIJfq3XJE2MSDZZF Y9WY3dLXW/1VVbFYKNHLi5fDB09epR990DXUrds9TuhckzJukVajlsknPZ73oytGynlx 3fBBPLN3Rkznyn1w099eQPHoFkszT/66LM1t6aYx3D7/c/6DQ5pGMJHMpW9RotlKyAus a3hA== X-Gm-Message-State: AOAM533xbdzDCQLavn4w6ANV1jrxmva6IKT5kE4xzMi4WJW81JPQ8vm4 OYrcwZNPTPj0gqq9KDKy9ENg7ah/FHMYfNCrPRleDdSB1q+4O2sk7w1/iYbreXsFfI6ePpSbUpE XfRCLM5dTt7BBs15g8S2ajEo34ipX5bDj0woHcEto+vI71f0NEK7Ft2x/gq0b X-Received: by 2002:a1c:1c1:: with SMTP id 184mr5176411wmb.112.1607456133628; Tue, 08 Dec 2020 11:35:33 -0800 (PST) X-Google-Smtp-Source: ABdhPJxlLGwaOiMMIyBQRES+T3u6g6fT5qGxe/pcxCsHLneYmzwPFiw7z1rNHo62if7PVai2bZ+I3A== X-Received: by 2002:a1c:1c1:: with SMTP id 184mr5176389wmb.112.1607456133347; Tue, 08 Dec 2020 11:35:33 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:29 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 33/66] failover: Rename to failover_find_primary_device() Message-ID: <20201208193307.646726-34-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela This commit: * Rename them to failover_find_primary_devices() so - it starts with failover_ - it don't connect anything, just find the primary device * Create documentation for the function Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-19-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index c6200b924e..ff82f1017d 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -826,7 +826,13 @@ static int is_my_primary(void *opaque, QemuOpts *opts,= Error **errp) return ret; } =20 -static DeviceState *virtio_net_find_primary(VirtIONet *n, Error **errp) +/** + * Find the primary device for this failover virtio-net + * + * @n: VirtIONet device + * @errp: returns an error if this function fails + */ +static DeviceState *failover_find_primary_device(VirtIONet *n, Error **err= p) { Error *err =3D NULL; =20 @@ -891,7 +897,7 @@ static void virtio_net_set_features(VirtIODevice *vdev,= uint64_t features) qatomic_set(&n->failover_primary_hidden, false); failover_add_primary(n, &err); if (err) { - n->primary_dev =3D virtio_net_find_primary(n, &err); + n->primary_dev =3D failover_find_primary_device(n, &err); if (err) { goto out_err; } @@ -3115,7 +3121,7 @@ static void virtio_net_handle_migration_primary(VirtI= ONet *n, should_be_hidden =3D qatomic_read(&n->failover_primary_hidden); =20 if (!n->primary_dev) { - n->primary_dev =3D virtio_net_find_primary(n, &err); + n->primary_dev =3D failover_find_primary_device(n, &err); if (!n->primary_dev) { return; } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459050; cv=none; d=zohomail.com; s=zohoarc; b=X+fhJDEmV3k3jAUPv9l8Dg+Cpr+F8sL4rOD008QstibaEH7GtiwdxzzhJigMJIkKn/COGaPxjuRr/HgSywZHAgM/bvtjaGjj8vqFKLWdkjyFk2axJAjd8W/hKPeQhY/Bay9ez8r8J8p1F0nh0S9yo4j5nQTWSKRQ21cqDW7vgwY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459050; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1wb8cjVjEm8LjY+gw2guY2LG1SKAkAGDpQL6LyRDU/U=; b=bSFJPJfOIrlBjQcU7YkgnMmGc1XGiI+CR1ZvJOYFaWjev2fi1Bbzz4Qq2qiqBv8JoqGE0lIghq2SAvgTMJ26dzE0/QmPY17EoJq0AdWT6otMaxSAds1cVaWsm7WfhcO3eVIv7mamx2lBe//jUJ8Dfu787tIqrdSk0Z5XBntL3h4= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459050832946.5733201294706; Tue, 8 Dec 2020 12:24:10 -0800 (PST) Received: from localhost ([::1]:37854 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjWr-0005oz-Nc for importer@patchew.org; Tue, 08 Dec 2020 15:24:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49420) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmilz-000686-H8 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:43 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:42121) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmilx-0005Mx-Ul for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:43 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-418-JfLwdbkDOUOUGAEEhlzC6w-1; Tue, 08 Dec 2020 14:35:39 -0500 Received: by mail-wm1-f72.google.com with SMTP id a205so690375wme.9 for ; Tue, 08 Dec 2020 11:35:39 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id r16sm282112wrx.36.2020.12.08.11.35.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1wb8cjVjEm8LjY+gw2guY2LG1SKAkAGDpQL6LyRDU/U=; b=QaXwNpvruy19SdTVQe037oz+wIhWXFw2vIATYOedDXA/M5sGLcqjCW1URf1fGLKgjnbr3l Qo/QVKR1FILsCjb6wmGBfnA/puwpFjGvtfmKhbgRq55EbbEAFsVBO8oaYmVRF/aTCEVbPc wxNlrsYYe3mezxReuQ8vHys4SMdWxNY= X-MC-Unique: JfLwdbkDOUOUGAEEhlzC6w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=1wb8cjVjEm8LjY+gw2guY2LG1SKAkAGDpQL6LyRDU/U=; b=a4bMzEimCjutWnYRVqNbR0wCuIpKKcZX+FBhNDQItMSRdo8YQ4hRQPCsBotkg5A1ii OAkv3QNzy3ynze4O5nIOUQXh1Zy1XJZRRq5gJ8jGGJRtAowWsN9MzBkiTtUxNr0By25/ GRMOpbZZUPIDlV+nuEr5QB7GKTsJ/8JVUE92hCMWrx6xzRRYqk8WpTekBBrSERSJDKTd Y9JJf5WhW4yX5f8clbUIqe6Ps18o+Xa6DR5+8UhGKkLv2iWFrX+R4w8Fv+NRbclpDq2l Z/3AdPCbpw6dI5vcK6+ilADucTdbD83lrbT0CORup7y18G1kRga84AwI4v+CnwhI4KY2 yA0A== X-Gm-Message-State: AOAM532gNYwuhEjHBMTIN2b/v/nJjf5dWzh8WkLwY6zI+2oufDosdCZG PZIAAsC2ozN7pyFZaUYKpJAC2xc7rWEXOv7n1bsezSIZKnNNfw/+hntoPFWb9iNd62LYHPH8Si9 +whU0sEDU/nggCyWSzNKwvVvVcREerHzgCEn+ZtyIkXmaoZ2+nuSebW+uhG99 X-Received: by 2002:adf:ef4c:: with SMTP id c12mr27390276wrp.242.1607456138106; Tue, 08 Dec 2020 11:35:38 -0800 (PST) X-Google-Smtp-Source: ABdhPJwVdj/qj5v6LixDS8L5NxVHubQaz0ztawbxbku5viehaKT1xZ4KIp0YJaMqFSs9C5YTPR2Hbg== X-Received: by 2002:adf:ef4c:: with SMTP id c12mr27390246wrp.242.1607456137897; Tue, 08 Dec 2020 11:35:37 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:33 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 34/66] failover: simplify qdev_device_add() failover case Message-ID: <20201208193307.646726-35-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Paolo Bonzini , Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= , Eduardo Habkost , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Just put allthe logic inside the same if. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-20-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- softmmu/qdev-monitor.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c index a25f5d612c..12b7540f17 100644 --- a/softmmu/qdev-monitor.c +++ b/softmmu/qdev-monitor.c @@ -600,7 +600,6 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **er= rp) const char *driver, *path; DeviceState *dev =3D NULL; BusState *bus =3D NULL; - bool hide; =20 driver =3D qemu_opt_get(opts, "driver"); if (!driver) { @@ -634,14 +633,16 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **= errp) return NULL; } } - hide =3D should_hide_device(opts); =20 - if ((hide || qdev_hotplug) && bus && !qbus_is_hotpluggable(bus)) { - error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name); + if (should_hide_device(opts)) { + if (bus && !qbus_is_hotpluggable(bus)) { + error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name); + } return NULL; } =20 - if (hide) { + if (qdev_hotplug && bus && !qbus_is_hotpluggable(bus)) { + error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name); return NULL; } =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457871; cv=none; d=zohomail.com; s=zohoarc; b=RKTao+ragoKPIcuvCMyLMqBgzox0b3omIhbTpaSX+wg166Glgg0VyBg6PkrC3t5n48mWJ49ER9EpevWjpCW3ZYEWVzQcVoB3/YMySBE/w7zvfK65jKpEvwrhpS/sdDEAnamyNOBj6LnH7R6EUVy5XlW7GabPJ2O/9xF5iggdxKo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457871; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3qrODYIJDbQpe00bcVbjfhxWWnd2OTx6N13MJEKnaIo=; b=F6tHSkdq6/j4zwfvKUlaUeZSdQsxyQ79jIsHtdUuuW+zgQIxXfkgB/0JithLUhmVxOFMkoXEiR67wGQuSGg/kLGC7Xia6GdGS3mIkeSjDZHJNr9pSrM33yRUWQ77pP8jk4kDVnGabDVWvI+yk+iP9ySSKOOE8i2Xzh7/PZXjA/E= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457871808734.0075869242642; Tue, 8 Dec 2020 12:04:31 -0800 (PST) Received: from localhost ([::1]:44724 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjDq-0001WO-KL for importer@patchew.org; Tue, 08 Dec 2020 15:04:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49542) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmimF-0006TL-5a for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:59 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:42781) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmim0-0005O4-NB for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:58 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-585-OvEue8DaOC-VHdLb8ue6OA-1; Tue, 08 Dec 2020 14:35:42 -0500 Received: by mail-wm1-f72.google.com with SMTP id v5so1288730wmj.0 for ; Tue, 08 Dec 2020 11:35:42 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id u66sm5000846wmg.30.2020.12.08.11.35.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=3qrODYIJDbQpe00bcVbjfhxWWnd2OTx6N13MJEKnaIo=; b=OEIDTfM8CsGjhD6kxCtr9N94uleLtdX1SGgAAHB+friz/7IXlLa8HyP03BzeCclEjqvIMH K7FcxZ0wBAIFWkuEEbQiXV3aGb6eCfYxGStiFE3u+LM9Qr1CzcgeoohS78mgTiNO7eu2DH IdfTgQu2+t0zJH/HwBLRedvZmFiejbM= X-MC-Unique: OvEue8DaOC-VHdLb8ue6OA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=3qrODYIJDbQpe00bcVbjfhxWWnd2OTx6N13MJEKnaIo=; b=V5BGGbIifVsrmNu1SHxVAADI5jAFOF5ui4R9LfybB9EqAfdRpxO7fQUHZP8XSXG+kd kGRfoDHoW1wDLsS99ByUi5yZJ6gEY39hXgt01GNDG0G17MImwB0mwRJuOjWLsjcIVl15 rXwcsIH5f3Fa0XX/N9QeTRZ9uTMMOYZef7Jp2YfnIcSl1gmkRlSVuXa1oBr3aKgivGoj 6oAo+OgGzDPbNbd1n7Caa9nGVNBMsKs4rGTYSzRDOpm/W2nORqIWsUd+HixQWPEr+MyY X7Br+5m8uoSU4o6Tev99O1yRXSBHtRoxx11YG/PzvYjbsEh6I2d8c2BvC/XwnyU+Nndi eq/A== X-Gm-Message-State: AOAM5303UxCI9Ud245nHGZvf9jSkk3tKm0tt+Gk/rl9oJnq34NA/EyVg ZzUk0tjOORhnCdbsEnSrO6f+rfdiGjIjcjN6VUpF4lLnbXp7GbaodFwnWpZxsDSgWHjiaLreBUs oEHzo06mR3kZHdylTx/ZfJ2Gf6r1yjCcOOcAnKUqdzOOAU3Jx0onGT2H0bhet X-Received: by 2002:a05:6000:1cf:: with SMTP id t15mr26130329wrx.321.1607456141027; Tue, 08 Dec 2020 11:35:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJymHVg/sNzN9wAIuCWuDMjEAy7gmuZkFPBww8iEuSZ9WKby/aRByrCZp75PrsxhxTikp4KOTA== X-Received: by 2002:a05:6000:1cf:: with SMTP id t15mr26130304wrx.321.1607456140744; Tue, 08 Dec 2020 11:35:40 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:38 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 35/66] failover: simplify qdev_device_add() Message-ID: <20201208193307.646726-36-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Paolo Bonzini , Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= , Eduardo Habkost , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela We don't need to walk the opts by hand. qmp_opt_get() already does that. And then we can remove the functions that did that walk. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-21-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- softmmu/qdev-monitor.c | 32 ++++++-------------------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c index 12b7540f17..0e10f0466f 100644 --- a/softmmu/qdev-monitor.c +++ b/softmmu/qdev-monitor.c @@ -572,28 +572,6 @@ void qdev_set_id(DeviceState *dev, const char *id) } } =20 -static int is_failover_device(void *opaque, const char *name, const char *= value, - Error **errp) -{ - if (strcmp(name, "failover_pair_id") =3D=3D 0) { - QemuOpts *opts =3D opaque; - - if (qdev_should_hide_device(opts)) { - return 1; - } - } - - return 0; -} - -static bool should_hide_device(QemuOpts *opts) -{ - if (qemu_opt_foreach(opts, is_failover_device, opts, NULL) =3D=3D 0) { - return false; - } - return true; -} - DeviceState *qdev_device_add(QemuOpts *opts, Error **errp) { DeviceClass *dc; @@ -634,11 +612,13 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **= errp) } } =20 - if (should_hide_device(opts)) { - if (bus && !qbus_is_hotpluggable(bus)) { - error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name); + if (qemu_opt_get(opts, "failover_pair_id")) { + if (qdev_should_hide_device(opts)) { + if (bus && !qbus_is_hotpluggable(bus)) { + error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name); + } + return NULL; } - return NULL; } =20 if (qdev_hotplug && bus && !qbus_is_hotpluggable(bus)) { --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459212; cv=none; d=zohomail.com; s=zohoarc; b=N6s5ujm03dZwrK7nQHH185LGBjh9vn6XH6wfD1UxaqbG5V4+Qm5NFgjAOUMFSWJGWcutfr746BXXXcJ8k+9JAQaJSDaiX+TQkbfYWBG3gNW9JLWCETLbqNG1c4wTwbQ/4zku3nEgSTJXjQIpz8iLj1cOvYINNTiSNpEsOFKJH3Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459212; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5ZgbqeJXgCxK3O2GUnfhbym96kBp64mbV0i3XbWKY/U=; b=gVa2chOBZhfyz6kXGW0A5W/H2vPYzCw9pTP8/TaZeS0Byc6L7Xlp5Y5c5SIHgOaNKUTHssjB4JXHBRC/p9Ni2t3dbgET234PP9fl3XNPwO6xuUK/3lZaaXFmu3xxHYmSIJFSRe5Leh/GdRDTSsDslSWRjmYlk8hs0OQVmqnMvo8= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459212584426.7019228796988; Tue, 8 Dec 2020 12:26:52 -0800 (PST) Received: from localhost ([::1]:46390 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjZT-0000y2-Gm for importer@patchew.org; Tue, 08 Dec 2020 15:26:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49510) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmim7-0006Ll-O0 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:51 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:35642) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmim5-0005PR-1e for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:51 -0500 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-316-Xr84PnSRMRe37IEZwm6pug-1; Tue, 08 Dec 2020 14:35:46 -0500 Received: by mail-wm1-f69.google.com with SMTP id j62so1278547wma.4 for ; Tue, 08 Dec 2020 11:35:46 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id i9sm16052149wrs.70.2020.12.08.11.35.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=5ZgbqeJXgCxK3O2GUnfhbym96kBp64mbV0i3XbWKY/U=; b=PTS2ST6f1nxeF8+87atHL3WEogTB89zg6AJ9KYxHfcZ0TVeLdAbcInLlkvfrAxsFJBdvg8 aDT3/haf6Fq9giXc+5wjQkYWvQAR3XAix8Y6qjnL3fjL5KUhnXvSV2WTk4IxBznbWYYfAl btNP4cmjszPbXZnVqzLSPgx2jV2Fet0= X-MC-Unique: Xr84PnSRMRe37IEZwm6pug-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=5ZgbqeJXgCxK3O2GUnfhbym96kBp64mbV0i3XbWKY/U=; b=lkBKn9XoRrqw/cikDED5a5V/aQfJBhnTH46QowuU44ehuCVMnHteWYEDe3WZdO1+Kb T4k2SIr/Op2+iI+X4jhKKu57ZinSrXdM+FvZXsfBra3eNRZqv9Z88/sNEB/i97vcBPkx 4VFiM4lbOaAyQ/b5rpzvg3lnTVt4vzt8tQYUhQ2TMC6jwJFtdTq3iU3icx4zz+CeuPmH cNhAbXH7dqWSVkbr2pyRx6Ebwv7sVpEXNLQlqb9HVk00K65DA4AEAv766H2BjTSaH+iv v63A0WDZxrhyH5wGy2IYFZwDclOhTzifky4RC5Fa8n9HtBVygqr0GZ0tnCBCxO7Fvre3 rSeQ== X-Gm-Message-State: AOAM5315ioamAbpIKDQZ739W0u7SvuKZ10f+AD1Xfr5LWgiH+ZPxsljL 9GSUYrqL6DoViAfzZWb0FZBTs73FiRmXY0cmpZEHvQSUo7DovghSq+ixVhCRO5eqHf7/XA00yIx u5jB/yn5s1hHNiuGf73+oTTmOz74+UUXSeQb2PFF0GTzL7dQRDqPZ1OTk0WgU X-Received: by 2002:a05:600c:21c7:: with SMTP id x7mr5106510wmj.75.1607456145287; Tue, 08 Dec 2020 11:35:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJxd+23apXPZF5pFCQWiCCSaEPfB5aJOXxL8WbjTJhUAy7LJaob+XqeSVP9bfBJyy9CckhM8hQ== X-Received: by 2002:a05:600c:21c7:: with SMTP id x7mr5106493wmj.75.1607456145099; Tue, 08 Dec 2020 11:35:45 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:40 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 36/66] failover: make sure that id always exist Message-ID: <20201208193307.646726-37-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= , Eduardo Habkost , Juan Quintela , Jason Wang , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela We check that it exist at device creation time, so we don't have to check anywhere else. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-22-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 3 --- softmmu/qdev-monitor.c | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index ff82f1017d..c708c03cf6 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3173,9 +3173,6 @@ static bool failover_hide_primary_device(DeviceListen= er *listener, hide =3D qatomic_read(&n->failover_primary_hidden); g_free(n->primary_device_id); n->primary_device_id =3D g_strdup(device_opts->id); - if (!n->primary_device_id) { - warn_report("primary_device_id not set"); - } return hide; } =20 diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c index 0e10f0466f..301089eaea 100644 --- a/softmmu/qdev-monitor.c +++ b/softmmu/qdev-monitor.c @@ -613,6 +613,10 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **e= rrp) } =20 if (qemu_opt_get(opts, "failover_pair_id")) { + if (!opts->id) { + error_setg(errp, "Device with failover_pair_id don't have id"); + return NULL; + } if (qdev_should_hide_device(opts)) { if (bus && !qbus_is_hotpluggable(bus)) { error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607460917; cv=none; d=zohomail.com; s=zohoarc; b=Yqj9l1ShC48fCArxMp/MpHq6cg+iFWFe8ALIBYh2H/9nIIIvT3/ED65LqJ3HYeU0gYJLIjs0p/t1v0M03216RwtGdvbrO3aBd70+EG7SDbtLEcl49Y2IFee3UC//S8x3rrIg3BoVYvdPPvYip1gMnB84SqAjA4A8lHpQfffShpQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607460917; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fuBQFRVVX5MCCmBwSGkeXs98mE92CY1nTcQhJRlOYBs=; b=JGg6C4lcfp8MMsOtJp/fCLuxBVVBGNH8zptT/jUnaScc2qp4O9qYIa5gB1kjD7QJR3W0EIicPyjGHO+RLJUbg4C2Sj9dAn4Z6DckYBieQtVOKvRXcnx6inag6dk987YuYQ9WakOmM73e+jAbSQPH/cZJ31lpYkt4XFgYlGUesi4= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607460917276393.53932470697544; Tue, 8 Dec 2020 12:55:17 -0800 (PST) Received: from localhost ([::1]:49752 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjFw-0003hk-1Y for importer@patchew.org; Tue, 08 Dec 2020 15:06:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49532) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmimA-0006Qq-6i for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:54 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:37013) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmim8-0005Rk-FB for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:35:53 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-195-y3LiqYkePumE3OJCE_9hiw-1; Tue, 08 Dec 2020 14:35:49 -0500 Received: by mail-wm1-f72.google.com with SMTP id j62so1278584wma.4 for ; Tue, 08 Dec 2020 11:35:49 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id w13sm11814554wrt.52.2020.12.08.11.35.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=fuBQFRVVX5MCCmBwSGkeXs98mE92CY1nTcQhJRlOYBs=; b=D/I1mAg8arCJlsfcxufSUgI4H0TymyTV5qIfSdQU6y/rBgav7+s5qV/vpPFEmhk6rujJaF Vh1K/AsNau+FTXpYzhTFiALiEaa//ZK8Yv1tb3hO8t+l+E7I/9zX6zbHYfXYt2Euz7RFWE qEOVrvfO0NwQN8Ibuhh1AeaCo2nFJmk= X-MC-Unique: y3LiqYkePumE3OJCE_9hiw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=fuBQFRVVX5MCCmBwSGkeXs98mE92CY1nTcQhJRlOYBs=; b=WnMycYfDb7qHsCZY9Q8yg25m8E+Uscg89s0sYkIlMO4H6M0CWPj2BgGJdj/LxU/QJB pygy3kE1q5G8vK9JvzXF+fXtJBOLysV9Fb6MSb2hVqm25KXIYts8cWBWlZpbckHgdY/W UekxBACYOirTmqALJpl5/5jpHesAUw1JIPW2HDatQ2lNkZmyIKVzZKrdLM90A+3t/Mzm Yt3/WrW6m/acHeItPE+canpTIBkBpxhUQZNnQY7rxOYWhPNC/pEy/WaSYHPj7jinhs7k rdpCuk/3pmzEXLMIGzD8EMpeR9E7bsoI+yqXEKxhpQzzxkKheOcmgDKsrCeBb3VmPxEr sL8Q== X-Gm-Message-State: AOAM530ZocLl9X5YG4Zd6AUnSAc1yoTxswTOLFARflUWB8XnSQfYNk4I guSAPhIAPCCo59aiLtsKKXzSNVwWxIq+5hk+uA/wI/luEIP2Cjp41aGVx8o8PKdlWnNGPLb0860 lWQD897MmEgNrzLl+gJTPAmYMniAy2KzBDqD0xLOEUKykYH7dUZRFVfI8PLN3 X-Received: by 2002:adf:e551:: with SMTP id z17mr26490776wrm.374.1607456148335; Tue, 08 Dec 2020 11:35:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJwbBJput458uLDflKY0c7iSbARtZ5JBsuD3NrtmkID6AEtyjnG/RBPRy+NRuyb6paQa0cSwUA== X-Received: by 2002:adf:e551:: with SMTP id z17mr26490757wrm.374.1607456148122; Tue, 08 Dec 2020 11:35:48 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:45 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 37/66] failover: remove failover_find_primary_device() error parameter Message-ID: <20201208193307.646726-38-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela It can never give one error. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-23-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index c708c03cf6..b994796734 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -832,7 +832,7 @@ static int is_my_primary(void *opaque, QemuOpts *opts, = Error **errp) * @n: VirtIONet device * @errp: returns an error if this function fails */ -static DeviceState *failover_find_primary_device(VirtIONet *n, Error **err= p) +static DeviceState *failover_find_primary_device(VirtIONet *n) { Error *err =3D NULL; =20 @@ -897,10 +897,7 @@ static void virtio_net_set_features(VirtIODevice *vdev= , uint64_t features) qatomic_set(&n->failover_primary_hidden, false); failover_add_primary(n, &err); if (err) { - n->primary_dev =3D failover_find_primary_device(n, &err); - if (err) { - goto out_err; - } + n->primary_dev =3D failover_find_primary_device(n); failover_add_primary(n, &err); if (err) { goto out_err; @@ -3121,7 +3118,7 @@ static void virtio_net_handle_migration_primary(VirtI= ONet *n, should_be_hidden =3D qatomic_read(&n->failover_primary_hidden); =20 if (!n->primary_dev) { - n->primary_dev =3D failover_find_primary_device(n, &err); + n->primary_dev =3D failover_find_primary_device(n); if (!n->primary_dev) { return; } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607457868; cv=none; d=zohomail.com; s=zohoarc; b=S0HWupWMNAVZL408WbnEVNwSWvcgqGdMJXyxX85bG3O3WxCD8HQ21n3wXTARff/A4vg/XBzFW78/Qb6hY5Wxu5jUNTfTdae5vSRwH/4M0P99Y8CdtZKGMTAvJXebeDnF0OuOFqNJRKu6Z45AosCCBxvis/z2cJoJ3OivesHlDHQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607457868; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4y8ENnJ8kq53lYL0I8MfUcoNrhixD3RXbbagN88+yWw=; b=Tvyz4+WmNbqtZ7gIBckhRxeinm/EXN1KUgshSYqkFXBcgY+2VBo4JHt+bD3W35T+d2laOFdqAxJVg0FSugetuYbPJYsKWWbsvIPw00XciuQh065XvxjVhJ+ZkFLwiAS9YDBg1CPGguTNa9HWbySWqBAuN2tTem+saDgnCvfn1hU= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607457868596250.36912282013225; Tue, 8 Dec 2020 12:04:28 -0800 (PST) Received: from localhost ([::1]:44546 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjDn-0001Rs-CU for importer@patchew.org; Tue, 08 Dec 2020 15:04:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49554) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmimG-0006X0-IH for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:00 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:54084) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmimE-0005Tr-Nw for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:00 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-411-MmPQJ3PjOr6QyrWbuZ6dgQ-1; Tue, 08 Dec 2020 14:35:53 -0500 Received: by mail-wr1-f69.google.com with SMTP id d2so2246768wrr.5 for ; Tue, 08 Dec 2020 11:35:53 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id b9sm5404334wmd.32.2020.12.08.11.35.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=4y8ENnJ8kq53lYL0I8MfUcoNrhixD3RXbbagN88+yWw=; b=WxsflilMUxo9LxMOoLdmMwnuENpfKPqS/rf4J9Klm7tM1IcRWQicLd/riIIEf1wde4gA4u d6CFtvxabiHufQBfat+yh5xPwiwQNjOk4dDz3hsg46lP+HwTIUTqMu5AsU008deCew3lpc Xho2c2YtknjsfjFusEQhm7H0tCLUiVM= X-MC-Unique: MmPQJ3PjOr6QyrWbuZ6dgQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=4y8ENnJ8kq53lYL0I8MfUcoNrhixD3RXbbagN88+yWw=; b=hRUy9DvFcI3bCwNTmYpyqc+o5B9qgossr4bMlAChl2H/V/iidR1KDTUG+BGFesbqvj P9+y1fm7WX/t4QvMdkCsBXJ0YG4bJTViTLNfqmGaEQ5r7XtDMolWXog2L6Vr/wBKpijT /9OcAk/Hy2XIz/HWtU/knaOEJTwNE9KLQDaGLWycy9dOLo4Idn/AbHsciqvUFKkFt7hP DnYGCPUDbfRbvGoBR+zXWcd8wrHbRJ21MqBeCH1zoWVW4yN2sbrDQfvw6wxv9CqClIe3 r0YRtSca2eAh8ycn7CGNGaPQdkyi/U+mD+bekWrLNEP6JM4c8QstrWRynfxGKsxw8im9 AHqg== X-Gm-Message-State: AOAM532+IBnp0ftzXdaBJCfvXGkwscuig4GKOavyj14hcKjAM3ZBZPXs 5bw3uwnt06PGNauJEvLXwf+m9SzIPnQiagm55O99Oa6D5ELf9czaKRsFS3FVJXACnvByub4F5uc forudvv2GnACOEYck5oDrkzEcbNtsIifs5RrWzl9TBL33U0Y9r4QvPkq+qaaN X-Received: by 2002:adf:c648:: with SMTP id u8mr26797233wrg.215.1607456152186; Tue, 08 Dec 2020 11:35:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJw+KqgvNidHXiuGndNUpb+XIXtefCnoJAc+/VTO6F/Y3wsa4oVEgxWiqqlGsIMU52/ABnwRAw== X-Received: by 2002:adf:c648:: with SMTP id u8mr26797212wrg.215.1607456151880; Tue, 08 Dec 2020 11:35:51 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:48 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 38/66] failover: split failover_find_primary_device_id() Message-ID: <20201208193307.646726-39-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela So we can calculate the device id when we need it. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-24-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 63 +++++++++++++++++++++++++++++++++------------ 1 file changed, 47 insertions(+), 16 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index b994796734..2c502c13fd 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -788,6 +788,49 @@ static inline uint64_t virtio_net_supported_guest_offl= oads(VirtIONet *n) return virtio_net_guest_offloads_by_features(vdev->guest_features); } =20 +typedef struct { + VirtIONet *n; + char *id; +} FailoverId; + +/** + * Set the id of the failover primary device + * + * @opaque: FailoverId to setup + * @opts: opts for device we are handling + * @errp: returns an error if this function fails + */ +static int failover_set_primary(void *opaque, QemuOpts *opts, Error **errp) +{ + FailoverId *fid =3D opaque; + const char *standby_id =3D qemu_opt_get(opts, "failover_pair_id"); + + if (g_strcmp0(standby_id, fid->n->netclient_name) =3D=3D 0) { + fid->id =3D g_strdup(opts->id); + return 1; + } + + return 0; +} + +/** + * Find the primary device id for this failover virtio-net + * + * @n: VirtIONet device + * @errp: returns an error if this function fails + */ +static char *failover_find_primary_device_id(VirtIONet *n) +{ + Error *err =3D NULL; + FailoverId fid; + + if (!qemu_opts_foreach(qemu_find_opts("device"), + failover_set_primary, &fid, &err)) { + return NULL; + } + return fid.id; +} + static void failover_add_primary(VirtIONet *n, Error **errp) { Error *err =3D NULL; @@ -812,20 +855,6 @@ static void failover_add_primary(VirtIONet *n, Error *= *errp) error_propagate(errp, err); } =20 -static int is_my_primary(void *opaque, QemuOpts *opts, Error **errp) -{ - VirtIONet *n =3D opaque; - int ret =3D 0; - const char *standby_id =3D qemu_opt_get(opts, "failover_pair_id"); - - if (g_strcmp0(standby_id, n->netclient_name) =3D=3D 0) { - n->primary_device_id =3D g_strdup(opts->id); - ret =3D 1; - } - - return ret; -} - /** * Find the primary device for this failover virtio-net * @@ -834,11 +863,13 @@ static int is_my_primary(void *opaque, QemuOpts *opts= , Error **errp) */ static DeviceState *failover_find_primary_device(VirtIONet *n) { - Error *err =3D NULL; + char *id =3D failover_find_primary_device_id(n); =20 - if (!qemu_opts_foreach(qemu_find_opts("device"), is_my_primary, n, &er= r)) { + if (!id) { return NULL; } + n->primary_device_id =3D g_strdup(id); + return qdev_find_recursive(sysbus_get_default(), n->primary_device_id); } =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459065; cv=none; d=zohomail.com; s=zohoarc; b=ZNgYE0mMWVq/LIdNx9lpx05bSEmsqJs+ifuLd3eVrDNP/uY3lDHQIjCM0WwVW6SyYCZTMglh8TbV1qUUB3ImtZQ8KTGoKDYIB5RYjDfsji3JwM19Uvd56EbXO1DF0r85C/FVJkM1zYpIe2ZuyT0yf3x9R1Uj6eI4SthQVvog1BM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459065; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=2BMOZfDtjZu0tqqgMznt2cenCUknJhSFUF1EIHeSHPI=; b=Lg9gTofOsFT5a2PbtbxpyOPDSWsym1TtrasLO/NU6V7zKJy5S5dtdfxA+YOLObI//LxoRCeeRsiqT59kfeOxLOLVv/xCAUChJwB8mHk3mt0bY0MyAgeY4pZ20WbyxbipmpTYvJ7b0cgHGrZ2E+4PIcAC+/5PbpRb86rvP+adsXo= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459065934363.8857586827522; Tue, 8 Dec 2020 12:24:25 -0800 (PST) Received: from localhost ([::1]:58258 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjIf-0007Kw-Te for importer@patchew.org; Tue, 08 Dec 2020 15:09:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49568) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmimI-0006b0-Mv for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:02 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:22126) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmimG-0005Uc-OQ for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:02 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-86-j0cUpSSoPLuJ0UIl3LBruw-1; Tue, 08 Dec 2020 14:35:57 -0500 Received: by mail-wr1-f72.google.com with SMTP id i4so3246550wrm.21 for ; Tue, 08 Dec 2020 11:35:57 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id 125sm5626527wmc.27.2020.12.08.11.35.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2BMOZfDtjZu0tqqgMznt2cenCUknJhSFUF1EIHeSHPI=; b=fo+53aRAQLqhK+11OQf091gJ5zC0ytdT/yonntKaeGhHtmXRAsF/1N69pZ5SBE0DN71VP1 8v3MMU523PwL7dmv2AwA36okHs4TNfXhGgQ1KE8gZ6VFFdPysLaa/GZNBNvAPQbJdF08rf fITcDeuJFN2rgIEkceQ/BCaNLxnbKxU= X-MC-Unique: j0cUpSSoPLuJ0UIl3LBruw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=2BMOZfDtjZu0tqqgMznt2cenCUknJhSFUF1EIHeSHPI=; b=SOuKdn67abuqEsbMAe1o5I7zNGSrTjwuPdA4SRkgCYwGtHxUlVE2wy6CuVriu83ROM 04LBMIp9wB5ySuGMS/pJeaZn/m5LYL5Vq1JVOR2/hA2AVvt5tuoNmWfpNW6Gl0Zw1Ww/ kypVpvW2jgQrfkBXFg7g9dBDH1PnPDccAidxbtQ1W6wQ34P2wM0wS+dq2VNbc5FXlE+m dS5l+H2CukPRb1jOfnquSxnHiPE6BT46QNYVN/w3aC4xBe1E6pK8P8pgl49hFeIpHrtj O+3B967NohhcLuUwegbX6Gl9qmk89pTRIiuGq3EpStyV8tvj+JnpCel9hCJLNCRUgBuF X2Lg== X-Gm-Message-State: AOAM533B6OEpc73VcUG0HblEN67bT+OJr47423Ihcu4d1szWidBt1/cH cTp+/tdEHPZ8B1Sg3ZdJsX4Zn3tAszTQc0nW/3ct3hxuUZtL+ByDG+jaKh9jr74KS8Arydq/Pd9 SD5MVVFXk23yjqtrZ9c7vB2Twn89+fUoWnVR1oKob+ZRD24vYstVSGTHAKl+8 X-Received: by 2002:a05:600c:224b:: with SMTP id a11mr5192788wmm.97.1607456155940; Tue, 08 Dec 2020 11:35:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJx2MZ328AA/Ox4b4geabTA5+UPe3zx/tjXdOd9+wGQ9z9XHXcgNCyzzpzrpcZZjDA5yTQLOMw== X-Received: by 2002:a05:600c:224b:: with SMTP id a11mr5192771wmm.97.1607456155694; Tue, 08 Dec 2020 11:35:55 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:52 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 39/66] failover: We don't need to cache primary_device_id anymore Message-ID: <20201208193307.646726-40-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-25-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/virtio-net.h | 1 - hw/net/virtio-net.c | 20 ++++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index fe353d8299..efef64e02f 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -203,7 +203,6 @@ struct VirtIONet { bool needs_vnet_hdr_swap; bool mtu_bypass_backend; DeviceState *primary_dev; - char *primary_device_id; /* primary failover device is hidden*/ bool failover_primary_hidden; bool failover; diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 2c502c13fd..746ed3fb71 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -824,6 +824,7 @@ static char *failover_find_primary_device_id(VirtIONet = *n) Error *err =3D NULL; FailoverId fid; =20 + fid.n =3D n; if (!qemu_opts_foreach(qemu_find_opts("device"), failover_set_primary, &fid, &err)) { return NULL; @@ -835,12 +836,17 @@ static void failover_add_primary(VirtIONet *n, Error = **errp) { Error *err =3D NULL; QemuOpts *opts; + char *id; =20 if (n->primary_dev) { return; } =20 - opts =3D qemu_opts_find(qemu_find_opts("device"), n->primary_device_id= ); + id =3D failover_find_primary_device_id(n); + if (!id) { + return; + } + opts =3D qemu_opts_find(qemu_find_opts("device"), id); if (opts) { n->primary_dev =3D qdev_device_add(opts, &err); if (err) { @@ -868,9 +874,8 @@ static DeviceState *failover_find_primary_device(VirtIO= Net *n) if (!id) { return NULL; } - n->primary_device_id =3D g_strdup(id); =20 - return qdev_find_recursive(sysbus_get_default(), n->primary_device_id); + return qdev_find_recursive(sysbus_get_default(), id); } =20 static void virtio_net_set_features(VirtIODevice *vdev, uint64_t features) @@ -3160,7 +3165,7 @@ static void virtio_net_handle_migration_primary(VirtI= ONet *n, vmstate_unregister(VMSTATE_IF(n->primary_dev), qdev_get_vmsd(n->primary_dev), n->primary_dev); - qapi_event_send_unplug_primary(n->primary_device_id); + qapi_event_send_unplug_primary(n->primary_dev->id); qatomic_set(&n->failover_primary_hidden, true); } else { warn_report("couldn't unplug primary device"); @@ -3186,7 +3191,6 @@ static bool failover_hide_primary_device(DeviceListen= er *listener, QemuOpts *device_opts) { VirtIONet *n =3D container_of(listener, VirtIONet, primary_listener); - bool hide; const char *standby_id; =20 if (!device_opts) { @@ -3198,10 +3202,7 @@ static bool failover_hide_primary_device(DeviceListe= ner *listener, } =20 /* failover_primary_hidden is set during feature negotiation */ - hide =3D qatomic_read(&n->failover_primary_hidden); - g_free(n->primary_device_id); - n->primary_device_id =3D g_strdup(device_opts->id); - return hide; + return qatomic_read(&n->failover_primary_hidden); } =20 static void virtio_net_device_realize(DeviceState *dev, Error **errp) @@ -3378,7 +3379,6 @@ static void virtio_net_device_unrealize(DeviceState *= dev) =20 if (n->failover) { device_listener_unregister(&n->primary_listener); - g_free(n->primary_device_id); } =20 max_queues =3D n->multiqueue ? n->max_queues : 1; --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459392; cv=none; d=zohomail.com; s=zohoarc; b=Gv57a7OW9EP06uWIGjldFkKTe3XsLT7F6HrP8B7s7IHMRD13Ablwge0MYBgrtAcRSRIAxPoFKTqIZWwkQFy6OhUhr1zPThvXp/SJusYkNSlzIhjzvoorF5LbbskoXdzW8eVzNwr12+7Z7P+CxBfVR7SrnjSuxAMygbw3RCJwtO0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459392; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5Ad7MPrUrEPsjPnzQmDTkeEewqARoHTT0yNjTvWPD84=; b=bvGKOVZJji7dpU7YNHc7ImDRT6hQa9UyvbDgxQV0ik77ztcdUJsAnmjrsewy5SIl8dcSZgiLAzaJQeli7f+ANB99U329DCE4jb8IVBB8woxx/YmG74TsJqJsy/9zsAZPFcaoNQ+fMjnw8Yy2PK8qJmsaJnwfQPrgaKAIIYBgY4g= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459392391203.99375869006076; Tue, 8 Dec 2020 12:29:52 -0800 (PST) Received: from localhost ([::1]:54988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjcN-0004ax-8x for importer@patchew.org; Tue, 08 Dec 2020 15:29:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49610) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmimM-0006kQ-UK for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:07 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:45866) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmimL-0005WN-3w for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:06 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-392-E9IpRlAvOBKYGLjSNUU4Ew-1; Tue, 08 Dec 2020 14:36:01 -0500 Received: by mail-wm1-f72.google.com with SMTP id h68so1278736wme.5 for ; Tue, 08 Dec 2020 11:36:01 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id u6sm1396239wrm.90.2020.12.08.11.35.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:35:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456164; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=5Ad7MPrUrEPsjPnzQmDTkeEewqARoHTT0yNjTvWPD84=; b=bc5jBCaKWVKlVeg2ytfkzqe0pGD8d5X3qrew9iY9sBmSPKTwkT6I75udJmHMiIMCSzDhKM U/DLNvx5p2gkmLhMRsi4AfHonFJ740L0Cwjlk5+gztJ7ODhGve+HT5w9798e5yIx3rg98D kiQd3rLOKAa8abmsdqUl2YgJ0XnJnZw= X-MC-Unique: E9IpRlAvOBKYGLjSNUU4Ew-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=5Ad7MPrUrEPsjPnzQmDTkeEewqARoHTT0yNjTvWPD84=; b=OeaXRbq6wGGOD6CNmlfKzrEWBRrWaSgdmNdcq6wRLh46Mk4IhxxUkLgmm3bT4xH6Rm Dh6TJaHAHZST0+O2+lmlK5Ksc2Zd2AdniU+POmca7tH4qF0eZt+SgBrknp5SN4ij96Qv om8ZPaJXb/dE7Ipl/kcykSRVq/r2XOQHO2hvBqNk+zqW1Jy6HjeK7mc051bJTcNTNqDS uR8YjIq9cV68LiBF0BBRWYJ4r3pIY0yFt9NMtepTj7u3ywVvczxvd2bJL0/JfDdcRWvG sgATzf3Rybw/PXRBSnL1jrSComoPliEbGgAyciIx2gWqBV6WfpgkGHBgIbhfZcT+/wxE 92Qg== X-Gm-Message-State: AOAM531tluS0pzmkMAX6SGYnUOV0SrbFwIwoHdxSOxoEghBoMcm+dpxI i/d8+eeGkvvcUYBqfDeyL9V9xuiIMXM9D1lGRJWQqyth6umnjRSM9LjHH7lhD+DmBLCcJ/pZjTv CsFI0UVInWjmuYh+LO0itVucWugbj9DHhdDO1ma1JVqSzGDPZZDID3I4lJEPC X-Received: by 2002:a7b:c205:: with SMTP id x5mr5399514wmi.115.1607456160175; Tue, 08 Dec 2020 11:36:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJzKtE5DpD/7mqu6kt05nq1SJ263fBOj9HcjNwrPMi1QtTk23C6qcKPdbzqDY7mhdrnZbzdSWg== X-Received: by 2002:a7b:c205:: with SMTP id x5mr5399498wmi.115.1607456159955; Tue, 08 Dec 2020 11:35:59 -0800 (PST) Date: Tue, 8 Dec 2020 14:35:55 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 40/66] failover: Caller of this two functions already have primary_dev Message-ID: <20201208193307.646726-41-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Pass it as an argument. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-26-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 746ed3fb71..b37e9cd1d9 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3093,17 +3093,17 @@ void virtio_net_set_netclient_name(VirtIONet *n, co= nst char *name, n->netclient_type =3D g_strdup(type); } =20 -static bool failover_unplug_primary(VirtIONet *n) +static bool failover_unplug_primary(VirtIONet *n, DeviceState *dev) { HotplugHandler *hotplug_ctrl; PCIDevice *pci_dev; Error *err =3D NULL; =20 - hotplug_ctrl =3D qdev_get_hotplug_handler(n->primary_dev); + hotplug_ctrl =3D qdev_get_hotplug_handler(dev); if (hotplug_ctrl) { - pci_dev =3D PCI_DEVICE(n->primary_dev); + pci_dev =3D PCI_DEVICE(dev); pci_dev->partially_hotplugged =3D true; - hotplug_handler_unplug_request(hotplug_ctrl, n->primary_dev, &err); + hotplug_handler_unplug_request(hotplug_ctrl, dev, &err); if (err) { error_report_err(err); return false; @@ -3114,30 +3114,31 @@ static bool failover_unplug_primary(VirtIONet *n) return true; } =20 -static bool failover_replug_primary(VirtIONet *n, Error **errp) +static bool failover_replug_primary(VirtIONet *n, DeviceState *dev, + Error **errp) { Error *err =3D NULL; HotplugHandler *hotplug_ctrl; - PCIDevice *pdev =3D PCI_DEVICE(n->primary_dev); + PCIDevice *pdev =3D PCI_DEVICE(dev); BusState *primary_bus; =20 if (!pdev->partially_hotplugged) { return true; } - primary_bus =3D n->primary_dev->parent_bus; + primary_bus =3D dev->parent_bus; if (!primary_bus) { error_setg(errp, "virtio_net: couldn't find primary bus"); return false; } - qdev_set_parent_bus(n->primary_dev, primary_bus, &error_abort); + qdev_set_parent_bus(dev, primary_bus, &error_abort); qatomic_set(&n->failover_primary_hidden, false); - hotplug_ctrl =3D qdev_get_hotplug_handler(n->primary_dev); + hotplug_ctrl =3D qdev_get_hotplug_handler(dev); if (hotplug_ctrl) { - hotplug_handler_pre_plug(hotplug_ctrl, n->primary_dev, &err); + hotplug_handler_pre_plug(hotplug_ctrl, dev, &err); if (err) { goto out; } - hotplug_handler_plug(hotplug_ctrl, n->primary_dev, &err); + hotplug_handler_plug(hotplug_ctrl, dev, &err); } =20 out: @@ -3161,7 +3162,7 @@ static void virtio_net_handle_migration_primary(VirtI= ONet *n, } =20 if (migration_in_setup(s) && !should_be_hidden) { - if (failover_unplug_primary(n)) { + if (failover_unplug_primary(n, n->primary_dev)) { vmstate_unregister(VMSTATE_IF(n->primary_dev), qdev_get_vmsd(n->primary_dev), n->primary_dev); @@ -3172,7 +3173,7 @@ static void virtio_net_handle_migration_primary(VirtI= ONet *n, } } else if (migration_has_failed(s)) { /* We already unplugged the device let's plug it back */ - if (!failover_replug_primary(n, &err)) { + if (!failover_replug_primary(n, n->primary_dev, &err)) { if (err) { error_report_err(err); } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459786; cv=none; d=zohomail.com; s=zohoarc; b=nrs63WCsuMrlcDpztY8fNUs4j8v8ks2nYGSJtDHHyBDu8sFidNtJcchti4L0CMpwamd99B8m7slmDCw5UKTCo5NeH8D30O06pbHiRdGFVrB0Io7ssD09Fh9vewyZIasY0/5WyJa4RmXvipSGDZjhUVlzbVmcycaRzF3LLr2nVp8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459786; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=QowV/giP343KnzfILfGamLCO9JCQa97xX2d65deKp4E=; b=PM6ECSgG7wMMCs0h4Ozm5aOaoglLVN6jHw1ckd4frblgQPkP8geW0y+V+tXtwTdCRM5IR7xeB8QV6iD8S4QATIIqAoyxFO8lPIXcDohXbpzRqD7SqVgX7LwkGq5DxWXmtzGqhxy2eNuG28ft8FkVTjDDkVkexx2N4sjMijMmVv4= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459786702297.03077202439795; Tue, 8 Dec 2020 12:36:26 -0800 (PST) Received: from localhost ([::1]:41698 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjij-0002dU-Ir for importer@patchew.org; Tue, 08 Dec 2020 15:36:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50700) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmipI-0000r3-4A for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:39:08 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:53265) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmipF-0006Lt-Af for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:39:07 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-224-EjonCmZMNaqbwxVMAN0rWg-1; Tue, 08 Dec 2020 14:36:05 -0500 Received: by mail-wm1-f72.google.com with SMTP id v5so1289045wmj.0 for ; Tue, 08 Dec 2020 11:36:05 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id b9sm5405077wmd.32.2020.12.08.11.36.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QowV/giP343KnzfILfGamLCO9JCQa97xX2d65deKp4E=; b=L60Z1xlQXCKl+4cJzafPErQeaQ+CqUVH9p33FeHBBKwjNjBZhv+xZAQByzGrsYJIXXKNVu 6L3vy7Y83WeOlkyUpOvlwQH+NI4vfgjy9u2T0geUYhrRux84C/HDvNl8Wyg6CYG1EszZD6 4b6dzDwpcntfVNHuXlGUP/E9WHBdD+c= X-MC-Unique: EjonCmZMNaqbwxVMAN0rWg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=QowV/giP343KnzfILfGamLCO9JCQa97xX2d65deKp4E=; b=KNBZlhPy2PePwvxrIpMhUzP231n72PmI/OT7v9XfzDZ2Wkqty0r6nlMATAmi9mB9Tf /58mXf3sgh/RXE6nvQeiI79nAVZke1aiXQkTqptR8alTDINFL2ZbYj69KiOFalMeWZu2 zTWh4Al/6rgalI2UiGlgRdOJw4vj1Zq+YlkF4MZK5GSnbx6V9MyDC5kYYiO1YYb8hGFX LDHDyAIIJm5LxUV3ZK6QMJexGWrMpuca6JEMu/8o+1QbZfkoFtKM/7kBqHZSXXTdK9ig IETRIiFCNghxUz8/ZoVrR0q4eOeQqpaMswX2gYaR66GQBbaZt4QeHaM9MSrnaYoNX0Vl duUg== X-Gm-Message-State: AOAM533IJYc+J6fFg07H5f3RUQYXh0n2ci/I3NOX42pfSOp4RCUMKUiN GR5dq02cWkR9EG1sZNwsNNEIrRF552GsbMirYyu1lVnPY/0udXAiqJscp6qubcDA02eXqUn+fbd 29lZ0WtiELyZXsc8OLKv4H1Bb0EE3HMyxGtmB9uafuCBwu4lagzJ5c7DC6NmP X-Received: by 2002:a1c:3b85:: with SMTP id i127mr5359594wma.150.1607456164138; Tue, 08 Dec 2020 11:36:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJzHACso/5pWFAw2J68o2tVutRdH2UDxaB4Fv+zdgYgtVmsOsSjM0WakHHa1TMX9jKqM48+YDw== X-Received: by 2002:a1c:3b85:: with SMTP id i127mr5359575wma.150.1607456163915; Tue, 08 Dec 2020 11:36:03 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:00 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 41/66] failover: simplify failover_unplug_primary Message-ID: <20201208193307.646726-42-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela We can calculate device just once. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-27-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index b37e9cd1d9..9203d81780 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3146,34 +3146,29 @@ out: return !err; } =20 -static void virtio_net_handle_migration_primary(VirtIONet *n, - MigrationState *s) +static void virtio_net_handle_migration_primary(VirtIONet *n, MigrationSta= te *s) { bool should_be_hidden; Error *err =3D NULL; + DeviceState *dev =3D failover_find_primary_device(n); + + if (!dev) { + return; + } =20 should_be_hidden =3D qatomic_read(&n->failover_primary_hidden); =20 - if (!n->primary_dev) { - n->primary_dev =3D failover_find_primary_device(n); - if (!n->primary_dev) { - return; - } - } - if (migration_in_setup(s) && !should_be_hidden) { - if (failover_unplug_primary(n, n->primary_dev)) { - vmstate_unregister(VMSTATE_IF(n->primary_dev), - qdev_get_vmsd(n->primary_dev), - n->primary_dev); - qapi_event_send_unplug_primary(n->primary_dev->id); + if (failover_unplug_primary(n, dev)) { + vmstate_unregister(VMSTATE_IF(dev), qdev_get_vmsd(dev), dev); + qapi_event_send_unplug_primary(dev->id); qatomic_set(&n->failover_primary_hidden, true); } else { warn_report("couldn't unplug primary device"); } } else if (migration_has_failed(s)) { /* We already unplugged the device let's plug it back */ - if (!failover_replug_primary(n, n->primary_dev, &err)) { + if (!failover_replug_primary(n, dev, &err)) { if (err) { error_report_err(err); } --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607461090; cv=none; d=zohomail.com; s=zohoarc; b=ioDsl7hGl/3DzLxPaguJ0vWeTylVDtWcrUxjmkSEkLs0LmDr6zLgRQ3TMHVG01HpXxJL3DdP5WEejO3lF5MZZ/z+7r9jafuo1VgwaT2d2+9kT/gnT+uaFx666ed8ai+xdIllftiLv0gzSjxsG7VFFlpmAKpR9p8B4f8/Co1O9Og= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607461090; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/6JOcPhUQFqc1kwmdgubQXhnbQ6P3mfE5pWlvANh7JM=; b=PevVkRg865tpSBbIkF6YAFCJR0wDOKLVH+Q91aEL6cpb4NdYX/Mhx0kT5c2poH7RzRi1vxres4Q3/ajyuZEdEl1/q94MeIFpQEhNgV2o+GGzIfpm3dw2RvCKmPK7mGsBda2PGq8Zx6XWhNEPsDeaL765ZaFUIMcUN9T4P7+r9fQ= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607461090832457.70742327014375; Tue, 8 Dec 2020 12:58:10 -0800 (PST) Received: from localhost ([::1]:53390 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjGx-0005IJ-4t for importer@patchew.org; Tue, 08 Dec 2020 15:07:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49722) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmimX-000703-1G for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:17 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:38999) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmimU-0005b7-47 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:15 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-509-zevb5agbOSW9Agvg8Fs4Hg-1; Tue, 08 Dec 2020 14:36:11 -0500 Received: by mail-wr1-f71.google.com with SMTP id q18so1161505wrc.20 for ; Tue, 08 Dec 2020 11:36:10 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id l1sm15998448wrq.64.2020.12.08.11.36.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/6JOcPhUQFqc1kwmdgubQXhnbQ6P3mfE5pWlvANh7JM=; b=V9IoESIBFOQnOGjQodRKZMy4w6fdF8V29S5Ez9SGXu6ABf3Bdg2jW+5XzdW6pPIx65uvs1 qPbgX017p2LuxbpJu0tfhJ1yg2A1UlNwm3yPJBLT+I4mk2hRuZ4jCUqzTWqb7KrnT6OKC3 m10eGliig1nRXglSYPT+D/wOKqxI9LE= X-MC-Unique: zevb5agbOSW9Agvg8Fs4Hg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=/6JOcPhUQFqc1kwmdgubQXhnbQ6P3mfE5pWlvANh7JM=; b=pxyJ3mvyuzDO9EyDCgiD2nvCut1cBYTnK0KkPmZDACoTzhhqce2QDHBADUe/jFLGbe wRLa4FBt8YIW1xBVCtNUqA5enOK5qM6wnaoZI8YnH3cZkKgtAh1lZAHVUorwTV1Tyf8V Gdr2i9q9fElBzxFNgj3OidLlBn5qRH0SkqJjWq9fTXtkILNitudFbFyGQeJ5Y5kXRpK1 WrnWsEE7Dmw60/mrPxZiaxhDgvisqpz+LaePD6oxLehAS59Nxhgd/BOMTaOtjom6xBcv P0+THZt+0WlzoGNlfFa6LOvW1KySWezEWscY1QzFt8z2Lp5wBZbhxWZW+WDV4AY8ebKF qjMg== X-Gm-Message-State: AOAM532dRaDIHCysok9VL4hqZs9vt36S/AhDbx0JfB6VKRrIhtKs52n2 8JPQr6MKfhUxFZWQwdflCxqmDNUgM9CFmk9eiEAPVdKqnkyPJ5dWdcPwhtbGDNvBvlCnCe9RsBu IbgpT6CBUFWeb73uDFdCiiJqGnRPkuXCzYi/Sz1VwuhA/FgVAPCPJDMJiqgnl X-Received: by 2002:adf:dc8d:: with SMTP id r13mr5905726wrj.325.1607456168727; Tue, 08 Dec 2020 11:36:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJyTAg96c8huD9QsAgUJjDeKLczhkeXLlZaP0qI1VAiddWfnoHFfxULnFgdLDMlg8nBFq9CWFg== X-Received: by 2002:adf:dc8d:: with SMTP id r13mr5905707wrj.325.1607456168499; Tue, 08 Dec 2020 11:36:08 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:04 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 42/66] failover: Remove primary_dev member Message-ID: <20201208193307.646726-43-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Jason Wang , Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Juan Quintela Only three uses remained, and we can remove them on that case. Signed-off-by: Juan Quintela Message-Id: <20201118083748.1328-28-quintela@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/virtio-net.h | 1 - hw/net/virtio-net.c | 75 +++++++++++++++------------------- 2 files changed, 34 insertions(+), 42 deletions(-) diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index efef64e02f..7e96d193aa 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -202,7 +202,6 @@ struct VirtIONet { AnnounceTimer announce_timer; bool needs_vnet_hdr_swap; bool mtu_bypass_backend; - DeviceState *primary_dev; /* primary failover device is hidden*/ bool failover_primary_hidden; bool failover; diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 9203d81780..044ac95f6f 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -832,35 +832,6 @@ static char *failover_find_primary_device_id(VirtIONet= *n) return fid.id; } =20 -static void failover_add_primary(VirtIONet *n, Error **errp) -{ - Error *err =3D NULL; - QemuOpts *opts; - char *id; - - if (n->primary_dev) { - return; - } - - id =3D failover_find_primary_device_id(n); - if (!id) { - return; - } - opts =3D qemu_opts_find(qemu_find_opts("device"), id); - if (opts) { - n->primary_dev =3D qdev_device_add(opts, &err); - if (err) { - qemu_opts_del(opts); - } - } else { - error_setg(errp, "Primary device not found"); - error_append_hint(errp, "Virtio-net failover will not work. Make " - "sure primary device has parameter" - " failover_pair_id=3D\n"); - } - error_propagate(errp, err); -} - /** * Find the primary device for this failover virtio-net * @@ -878,6 +849,36 @@ static DeviceState *failover_find_primary_device(VirtI= ONet *n) return qdev_find_recursive(sysbus_get_default(), id); } =20 +static void failover_add_primary(VirtIONet *n, Error **errp) +{ + Error *err =3D NULL; + QemuOpts *opts; + char *id; + DeviceState *dev =3D failover_find_primary_device(n); + + if (dev) { + return; + } + + id =3D failover_find_primary_device_id(n); + if (!id) { + return; + } + opts =3D qemu_opts_find(qemu_find_opts("device"), id); + if (opts) { + dev =3D qdev_device_add(opts, &err); + if (err) { + qemu_opts_del(opts); + } + } else { + error_setg(errp, "Primary device not found"); + error_append_hint(errp, "Virtio-net failover will not work. Make " + "sure primary device has parameter" + " failover_pair_id=3D\n"); + } + error_propagate(errp, err); +} + static void virtio_net_set_features(VirtIODevice *vdev, uint64_t features) { VirtIONet *n =3D VIRTIO_NET(vdev); @@ -933,19 +934,9 @@ static void virtio_net_set_features(VirtIODevice *vdev= , uint64_t features) qatomic_set(&n->failover_primary_hidden, false); failover_add_primary(n, &err); if (err) { - n->primary_dev =3D failover_find_primary_device(n); - failover_add_primary(n, &err); - if (err) { - goto out_err; - } + warn_report_err(err); } } - return; - -out_err: - if (err) { - warn_report_err(err); - } } =20 static int virtio_net_handle_rx_mode(VirtIONet *n, uint8_t cmd, @@ -3420,13 +3411,15 @@ static int virtio_net_pre_save(void *opaque) static bool primary_unplug_pending(void *opaque) { DeviceState *dev =3D opaque; + DeviceState *primary; VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIONet *n =3D VIRTIO_NET(vdev); =20 if (!virtio_vdev_has_feature(vdev, VIRTIO_NET_F_STANDBY)) { return false; } - return n->primary_dev ? n->primary_dev->pending_deleted_event : false; + primary =3D failover_find_primary_device(n); + return primary ? primary->pending_deleted_event : false; } =20 static bool dev_unplug_pending(void *opaque) --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459271; cv=none; d=zohomail.com; s=zohoarc; b=lcCoqyX1yFBZ4V+jqzOjsQJj7PGbqd2NC8WDO8DXQbOhyB7ScJ8SUkX6v1CDhiCI1OjRjUwRui9vOIbnpjym8D1RpqOTmA0Ta1oNVv1gsnAH/Z9tTY3AdUB2ydSew81ZJmh5dxKyGjMzGiJcQHuJIAB4/y565x8seVe5f6caCmw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459271; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Zmq5kZJrirBBBXS35ysh+mUgTzxp2lOUsH4CrA7XSDk=; b=Hb1uiKvZ1iZY4IROM3hFfdX97jH4YiQUTZvyWBRXXksNVo2PkL3iWf9vV27a06plFI/DkS6sIrvDmSEfQz2YlGlRzZrKpw5XOR/hK0o2DTkbR3h99rUlJjHq6n6ejmVT4jN8zF/0PMZm4zEfgmVuD6OI+yar1VIIOlOYEndsV+0= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459271579662.6905551254304; Tue, 8 Dec 2020 12:27:51 -0800 (PST) Received: from localhost ([::1]:54004 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjHK-0005YG-VG for importer@patchew.org; Tue, 08 Dec 2020 15:08:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49834) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmimj-00072q-KD for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:33 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:20543) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmimb-0005dQ-B1 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:29 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-105-pVVJhY0zOCOWHHTJJaMpcw-1; Tue, 08 Dec 2020 14:36:17 -0500 Received: by mail-wm1-f70.google.com with SMTP id f12so1275398wmf.6 for ; Tue, 08 Dec 2020 11:36:17 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id o203sm5548952wmb.0.2020.12.08.11.36.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Zmq5kZJrirBBBXS35ysh+mUgTzxp2lOUsH4CrA7XSDk=; b=YOof0EFDvbADPM8mdHcqFpQ5kMHBG6Wu8fiDUKI7q+ee8CkUvW90fsx5bj45Z8+re38C8+ DNnC3Lamq297FQbFq8DJZyTuD8d244SfGD36+6hOdJwBPB9jGPkE8nDjb9snhROGTAU+cE NUK9gq0IM+oZzbZozq13e7GRpxEhhhA= X-MC-Unique: pVVJhY0zOCOWHHTJJaMpcw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=Zmq5kZJrirBBBXS35ysh+mUgTzxp2lOUsH4CrA7XSDk=; b=J4aH/psE42oeMnda7vRbf/awvxbfPT/djoQ8a2M3RwlJ5rPVktqijqw+Najw34zf6E fWCuZLrfmqkivGkZldJ2rPTvCbOmuyb5TcQzbtWC0Dy1hot1YtlXfDi19veisakY0vP0 mlCxlbBbE5K5sM6qjWixaEu3Ox+ka0re8B+iJ9S9K4H6a3pY7ekSbekbbjAmHodeIyd2 TTBvm/UOwLvAIjeBxi/O3QHrzLvX1yXEidLmtOzr7xrr1YkWu75zEr1DeS1mIDgjKQ/v dWJUx4LCYU4g7C6AfbM+4ixsBZ3DoDPMmXv9YZ6vZTUb5N1E5OyBMSwdbSQnnMJWYS3l iVMg== X-Gm-Message-State: AOAM532dN60CbOkmZ7uA5W80rrfEGGb6GZKYGTl/wMQh4SO+Clx/R6zN ok8NYwjFM8aboLSa/I2Ts26UwVNdLsFeyULcZ+2q48Yv1gwm0t98CE1Uj5wfJnxF6FCwmfC+WUE 5I05cfRf7N2/pujEbhhKzYvDUWM+HPTidBZTSeUHn1js7ltsfkEcZjW7JDN+V X-Received: by 2002:adf:83c7:: with SMTP id 65mr7978527wre.221.1607456175916; Tue, 08 Dec 2020 11:36:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJwNQf8vxOeg3lZjQaaSD6a5iQNyzRYEUtPWVP264BObgWK7JMmfWt6cNO8c7XfGQEhwMxwJZg== X-Received: by 2002:adf:83c7:: with SMTP id 65mr7978495wre.221.1607456175661; Tue, 08 Dec 2020 11:36:15 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:08 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 43/66] hw: add compat machines for 6.0 Message-ID: <20201208193307.646726-44-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Thomas Huth , Eduardo Habkost , David Hildenbrand , Cornelia Huck , Richard Henderson , Halil Pasic , Christian Borntraeger , qemu-s390x@nongnu.org, qemu-arm@nongnu.org, qemu-ppc@nongnu.org, Paolo Bonzini , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Cornelia Huck Add 6.0 machine types for arm/i440fx/q35/s390x/spapr. Signed-off-by: Cornelia Huck Message-Id: <20201109173928.1001764-1-cohuck@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/boards.h | 3 +++ include/hw/i386/pc.h | 3 +++ hw/arm/virt.c | 11 +++++++++-- hw/core/machine.c | 3 +++ hw/i386/pc.c | 3 +++ hw/i386/pc_piix.c | 14 +++++++++++++- hw/i386/pc_q35.c | 13 ++++++++++++- hw/ppc/spapr.c | 17 ++++++++++++++--- hw/s390x/s390-virtio-ccw.c | 14 +++++++++++++- 9 files changed, 73 insertions(+), 8 deletions(-) diff --git a/include/hw/boards.h b/include/hw/boards.h index a49e3a6b44..f94f4ad5d8 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -310,6 +310,9 @@ struct MachineState { } \ type_init(machine_initfn##_register_types) =20 +extern GlobalProperty hw_compat_5_2[]; +extern const size_t hw_compat_5_2_len; + extern GlobalProperty hw_compat_5_1[]; extern const size_t hw_compat_5_1_len; =20 diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 911e460097..49dfa667de 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -191,6 +191,9 @@ void pc_system_firmware_init(PCMachineState *pcms, Memo= ryRegion *rom_memory); void pc_madt_cpu_entry(AcpiDeviceIf *adev, int uid, const CPUArchIdList *apic_ids, GArray *entry); =20 +extern GlobalProperty pc_compat_5_2[]; +extern const size_t pc_compat_5_2_len; + extern GlobalProperty pc_compat_5_1[]; extern const size_t pc_compat_5_1_len; =20 diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 847257aa5c..22572c32b7 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -2590,10 +2590,17 @@ static void machvirt_machine_init(void) } type_init(machvirt_machine_init); =20 -static void virt_machine_5_2_options(MachineClass *mc) +static void virt_machine_6_0_options(MachineClass *mc) { } -DEFINE_VIRT_MACHINE_AS_LATEST(5, 2) +DEFINE_VIRT_MACHINE_AS_LATEST(6, 0) + +static void virt_machine_5_2_options(MachineClass *mc) +{ + virt_machine_6_0_options(mc); + compat_props_add(mc->compat_props, hw_compat_5_2, hw_compat_5_2_len); +} +DEFINE_VIRT_MACHINE(5, 2) =20 static void virt_machine_5_1_options(MachineClass *mc) { diff --git a/hw/core/machine.c b/hw/core/machine.c index d0408049b5..9c41b94e0d 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -28,6 +28,9 @@ #include "hw/mem/nvdimm.h" #include "migration/vmstate.h" =20 +GlobalProperty hw_compat_5_2[] =3D {}; +const size_t hw_compat_5_2_len =3D G_N_ELEMENTS(hw_compat_5_2); + GlobalProperty hw_compat_5_1[] =3D { { "vhost-scsi", "num_queues", "1"}, { "vhost-user-blk", "num-queues", "1"}, diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 76a846ff9a..7113fb0770 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -97,6 +97,9 @@ #include "trace.h" #include CONFIG_DEVICES =20 +GlobalProperty pc_compat_5_2[] =3D {}; +const size_t pc_compat_5_2_len =3D G_N_ELEMENTS(pc_compat_5_2); + GlobalProperty pc_compat_5_1[] =3D { { "ICH9-LPC", "x-smi-cpu-hotplug", "off" }, }; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 13d1628f13..6188c3e97e 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -426,7 +426,7 @@ static void pc_i440fx_machine_options(MachineClass *m) machine_class_allow_dynamic_sysbus_dev(m, TYPE_VMBUS_BRIDGE); } =20 -static void pc_i440fx_5_2_machine_options(MachineClass *m) +static void pc_i440fx_6_0_machine_options(MachineClass *m) { PCMachineClass *pcmc =3D PC_MACHINE_CLASS(m); pc_i440fx_machine_options(m); @@ -435,6 +435,18 @@ static void pc_i440fx_5_2_machine_options(MachineClass= *m) pcmc->default_cpu_version =3D 1; } =20 +DEFINE_I440FX_MACHINE(v6_0, "pc-i440fx-6.0", NULL, + pc_i440fx_6_0_machine_options); + +static void pc_i440fx_5_2_machine_options(MachineClass *m) +{ + pc_i440fx_6_0_machine_options(m); + m->alias =3D NULL; + m->is_default =3D false; + compat_props_add(m->compat_props, hw_compat_5_2, hw_compat_5_2_len); + compat_props_add(m->compat_props, pc_compat_5_2, pc_compat_5_2_len); +} + DEFINE_I440FX_MACHINE(v5_2, "pc-i440fx-5.2", NULL, pc_i440fx_5_2_machine_options); =20 diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index a3f4959c43..0a212443aa 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -344,7 +344,7 @@ static void pc_q35_machine_options(MachineClass *m) m->max_cpus =3D 288; } =20 -static void pc_q35_5_2_machine_options(MachineClass *m) +static void pc_q35_6_0_machine_options(MachineClass *m) { PCMachineClass *pcmc =3D PC_MACHINE_CLASS(m); pc_q35_machine_options(m); @@ -352,6 +352,17 @@ static void pc_q35_5_2_machine_options(MachineClass *m) pcmc->default_cpu_version =3D 1; } =20 +DEFINE_Q35_MACHINE(v6_0, "pc-q35-6.0", NULL, + pc_q35_6_0_machine_options); + +static void pc_q35_5_2_machine_options(MachineClass *m) +{ + pc_q35_6_0_machine_options(m); + m->alias =3D NULL; + compat_props_add(m->compat_props, hw_compat_5_2, hw_compat_5_2_len); + compat_props_add(m->compat_props, pc_compat_5_2, pc_compat_5_2_len); +} + DEFINE_Q35_MACHINE(v5_2, "pc-q35-5.2", NULL, pc_q35_5_2_machine_options); =20 diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 12a012d9dd..c060702013 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -4510,14 +4510,25 @@ static void spapr_machine_latest_class_options(Mach= ineClass *mc) type_init(spapr_machine_register_##suffix) =20 /* - * pseries-5.2 + * pseries-6.0 */ -static void spapr_machine_5_2_class_options(MachineClass *mc) +static void spapr_machine_6_0_class_options(MachineClass *mc) { /* Defaults for the latest behaviour inherited from the base class */ } =20 -DEFINE_SPAPR_MACHINE(5_2, "5.2", true); +DEFINE_SPAPR_MACHINE(6_0, "6.0", true); + +/* + * pseries-5.2 + */ +static void spapr_machine_5_2_class_options(MachineClass *mc) +{ + spapr_machine_6_0_class_options(mc); + compat_props_add(mc->compat_props, hw_compat_5_2, hw_compat_5_2_len); +} + +DEFINE_SPAPR_MACHINE(5_2, "5.2", false); =20 /* * pseries-5.1 diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 4e140bbead..f0ee8dae68 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -789,14 +789,26 @@ bool css_migration_enabled(void) } = \ type_init(ccw_machine_register_##suffix) =20 +static void ccw_machine_6_0_instance_options(MachineState *machine) +{ +} + +static void ccw_machine_6_0_class_options(MachineClass *mc) +{ +} +DEFINE_CCW_MACHINE(6_0, "6.0", true); + static void ccw_machine_5_2_instance_options(MachineState *machine) { + ccw_machine_6_0_instance_options(machine); } =20 static void ccw_machine_5_2_class_options(MachineClass *mc) { + ccw_machine_6_0_class_options(mc); + compat_props_add(mc->compat_props, hw_compat_5_2, hw_compat_5_2_len); } -DEFINE_CCW_MACHINE(5_2, "5.2", true); +DEFINE_CCW_MACHINE(5_2, "5.2", false); =20 static void ccw_machine_5_1_instance_options(MachineState *machine) { --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459269; cv=none; d=zohomail.com; s=zohoarc; b=kIwOsyHugLj52xS8qCmZoIz6HhlEYnJuuz/SHPcGh61kyA3C9EtP9KLM2H1Hzf7WSGW9y8+bDyijgw0bHwYX7yrlKVGW2nc3vLUQmRKU3qUJGYb8OkR40SjqQ02l5aob/TNJajkdBA9eE64nAx+VOLwsW7qU42XaEQTopDMI6KM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459269; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bkqcL6Zyg/x8ymWrEnxQRMEnalGx2orBZXKaXR9zuFE=; b=k4/+nnONTQU4Dzfkb7POej/ukDPLzkn5I0OOD7y2EAMFwvvfXVE72TE0RqkLfRvy4QObL7SclYIDLcxHkT1O3hsikceIulFT7kI4bISQDLulo2UCBmhnzE4+KFhjfY89J2gpA0cWzRJ5PNsEE9nJ8ihDTyFfTdnCwpXXQkucu3E= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459269925863.6824224891035; Tue, 8 Dec 2020 12:27:49 -0800 (PST) Received: from localhost ([::1]:34364 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjKK-0000hr-4h for importer@patchew.org; Tue, 08 Dec 2020 15:11:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49994) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmims-00077D-Mp for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:40 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:25365) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmimg-0005ej-Pc for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:37 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-301-b2CYHippPAOrOp9YzaaH0w-1; Tue, 08 Dec 2020 14:36:22 -0500 Received: by mail-wm1-f70.google.com with SMTP id f12so1275473wmf.6 for ; Tue, 08 Dec 2020 11:36:22 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id g78sm5065354wme.33.2020.12.08.11.36.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bkqcL6Zyg/x8ymWrEnxQRMEnalGx2orBZXKaXR9zuFE=; b=LpWDLMOUdGnqVjKNuC3+Gi0jpiLG8MQ21Du/97C0uHQwRf7F/4Fl2OiDue89sdk2DrAYLy Fxu3faDl1+Rk5rF2EKeyKYifvahf+UAFOkaCe/tR/3kezJNh907yU392eTJEWUMe7PH05h ssLgwTIXidkil/l2TpJXnIRuQH8QrRI= X-MC-Unique: b2CYHippPAOrOp9YzaaH0w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=bkqcL6Zyg/x8ymWrEnxQRMEnalGx2orBZXKaXR9zuFE=; b=R65DVAWVsNZf+UP6G7VwRH2iyWgWC1dwhgis5rcNnrYZmgBQRvjNIAEq87XeWK6G3F 0iv7fVWJdCF4hkrgXorkS/lfAiguhw1lloKOxyz2cHk8jCIOzsVw2FGNORzdg2zFyBji KFprujQPVhFyX2AdIr8EOfHGk3ADOMDWuIV42Sixo7B7zJzt47kPVZmU+tM3518KJmSz V+sv+F6ikeQAfFdszEaj6QPY9F/L7be4oEJgJmMtd+5z2I2aBhYR7bLgbEe0zDTvInyp GWfTeuofRlYtl4lAwo1VbojdfVge/zrVzkaTU69s7qo7T/7KhBWQBrCN7uxW5jb/qn0r 0xaQ== X-Gm-Message-State: AOAM530pqKxB7Pgvkww4LX24LJEArNQLnW1xLjDysI8fMv+TjSDsHsXu d/R1IQTShkm8wdTp0qQ0vSM2OrqEAqkOu+8THuAqF/J/up1/p4XaIOB0nuF1eI/AHk+k46a0UpQ Ofw+9ybRO6T2SGwHEiHLc4nu1gzI1RBuc9GZFyq+m5Uu3UL3B4z8J/fbeuOsJ X-Received: by 2002:a05:6000:11c1:: with SMTP id i1mr10364298wrx.16.1607456181070; Tue, 08 Dec 2020 11:36:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJzgZJfNeubpqSTO/duySzd6CKailLQ+STkLhG4a5ctu/Tvilyor1JUZl/sVJiy972mS9QbLOg== X-Received: by 2002:a05:6000:11c1:: with SMTP id i1mr10364273wrx.16.1607456180833; Tue, 08 Dec 2020 11:36:20 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:15 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 44/66] libvhost-user: replace qemu/bswap.h with glibc endian.h Message-ID: <20201208193307.646726-45-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Raphael Norwitz , "Dr . David Alan Gilbert" , Stefan Hajnoczi , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Stefan Hajnoczi Message-Id: <20201125100640.366523-2-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/libvhost-user/libvhost-user.c | 77 ++++++++++++++------------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/contrib/libvhost-user/libvhost-user.c b/contrib/libvhost-user/= libvhost-user.c index 5c73ffdd6b..1c1cfbf1e7 100644 --- a/contrib/libvhost-user/libvhost-user.c +++ b/contrib/libvhost-user/libvhost-user.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "qemu/compiler.h" =20 #if defined(__linux__) @@ -42,7 +43,6 @@ =20 #include "qemu/atomic.h" #include "qemu/osdep.h" -#include "qemu/bswap.h" #include "qemu/memfd.h" =20 #include "libvhost-user.h" @@ -1081,7 +1081,7 @@ vu_set_vring_addr_exec(VuDev *dev, VhostUserMsg *vmsg) return false; } =20 - vq->used_idx =3D lduw_le_p(&vq->vring.used->idx); + vq->used_idx =3D le16toh(vq->vring.used->idx); =20 if (vq->last_avail_idx !=3D vq->used_idx) { bool resume =3D dev->iface->queue_is_processed_in_order && @@ -1198,7 +1198,7 @@ vu_check_queue_inflights(VuDev *dev, VuVirtq *vq) return 0; } =20 - vq->used_idx =3D lduw_le_p(&vq->vring.used->idx); + vq->used_idx =3D le16toh(vq->vring.used->idx); vq->resubmit_num =3D 0; vq->resubmit_list =3D NULL; vq->counter =3D 0; @@ -2031,13 +2031,13 @@ vu_queue_started(const VuDev *dev, const VuVirtq *v= q) static inline uint16_t vring_avail_flags(VuVirtq *vq) { - return lduw_le_p(&vq->vring.avail->flags); + return le16toh(vq->vring.avail->flags); } =20 static inline uint16_t vring_avail_idx(VuVirtq *vq) { - vq->shadow_avail_idx =3D lduw_le_p(&vq->vring.avail->idx); + vq->shadow_avail_idx =3D le16toh(vq->vring.avail->idx); =20 return vq->shadow_avail_idx; } @@ -2045,7 +2045,7 @@ vring_avail_idx(VuVirtq *vq) static inline uint16_t vring_avail_ring(VuVirtq *vq, int i) { - return lduw_le_p(&vq->vring.avail->ring[i]); + return le16toh(vq->vring.avail->ring[i]); } =20 static inline uint16_t @@ -2133,12 +2133,12 @@ virtqueue_read_next_desc(VuDev *dev, struct vring_d= esc *desc, int i, unsigned int max, unsigned int *next) { /* If this descriptor says it doesn't chain, we're done. */ - if (!(lduw_le_p(&desc[i].flags) & VRING_DESC_F_NEXT)) { + if (!(le16toh(desc[i].flags) & VRING_DESC_F_NEXT)) { return VIRTQUEUE_READ_DESC_DONE; } =20 /* Check they're not leading us off end of descriptors. */ - *next =3D lduw_le_p(&desc[i].next); + *next =3D le16toh(desc[i].next); /* Make sure compiler knows to grab that: we don't want it changing! */ smp_wmb(); =20 @@ -2181,8 +2181,8 @@ vu_queue_get_avail_bytes(VuDev *dev, VuVirtq *vq, uns= igned int *in_bytes, } desc =3D vq->vring.desc; =20 - if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_INDIRECT) { - if (ldl_le_p(&desc[i].len) % sizeof(struct vring_desc)) { + if (le16toh(desc[i].flags) & VRING_DESC_F_INDIRECT) { + if (le32toh(desc[i].len) % sizeof(struct vring_desc)) { vu_panic(dev, "Invalid size for indirect buffer table"); goto err; } @@ -2195,8 +2195,8 @@ vu_queue_get_avail_bytes(VuDev *dev, VuVirtq *vq, uns= igned int *in_bytes, =20 /* loop over the indirect descriptor table */ indirect =3D 1; - desc_addr =3D ldq_le_p(&desc[i].addr); - desc_len =3D ldl_le_p(&desc[i].len); + desc_addr =3D le64toh(desc[i].addr); + desc_len =3D le32toh(desc[i].len); max =3D desc_len / sizeof(struct vring_desc); read_len =3D desc_len; desc =3D vu_gpa_to_va(dev, &read_len, desc_addr); @@ -2223,10 +2223,10 @@ vu_queue_get_avail_bytes(VuDev *dev, VuVirtq *vq, u= nsigned int *in_bytes, goto err; } =20 - if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_WRITE) { - in_total +=3D ldl_le_p(&desc[i].len); + if (le16toh(desc[i].flags) & VRING_DESC_F_WRITE) { + in_total +=3D le32toh(desc[i].len); } else { - out_total +=3D ldl_le_p(&desc[i].len); + out_total +=3D le32toh(desc[i].len); } if (in_total >=3D max_in_bytes && out_total >=3D max_out_bytes= ) { goto done; @@ -2377,7 +2377,7 @@ vring_used_flags_set_bit(VuVirtq *vq, int mask) =20 flags =3D (uint16_t *)((char*)vq->vring.used + offsetof(struct vring_used, flags)); - stw_le_p(flags, lduw_le_p(flags) | mask); + *flags =3D htole16(le16toh(*flags) | mask); } =20 static inline void @@ -2387,17 +2387,20 @@ vring_used_flags_unset_bit(VuVirtq *vq, int mask) =20 flags =3D (uint16_t *)((char*)vq->vring.used + offsetof(struct vring_used, flags)); - stw_le_p(flags, lduw_le_p(flags) & ~mask); + *flags =3D htole16(le16toh(*flags) & ~mask); } =20 static inline void vring_set_avail_event(VuVirtq *vq, uint16_t val) { + uint16_t *avail; + if (!vq->notification) { return; } =20 - stw_le_p(&vq->vring.used->ring[vq->vring.num], val); + avail =3D (uint16_t *)&vq->vring.used->ring[vq->vring.num]; + *avail =3D htole16(val); } =20 void @@ -2487,15 +2490,15 @@ vu_queue_map_desc(VuDev *dev, VuVirtq *vq, unsigned= int idx, size_t sz) struct vring_desc desc_buf[VIRTQUEUE_MAX_SIZE]; int rc; =20 - if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_INDIRECT) { - if (ldl_le_p(&desc[i].len) % sizeof(struct vring_desc)) { + if (le16toh(desc[i].flags) & VRING_DESC_F_INDIRECT) { + if (le32toh(desc[i].len) % sizeof(struct vring_desc)) { vu_panic(dev, "Invalid size for indirect buffer table"); return NULL; } =20 /* loop over the indirect descriptor table */ - desc_addr =3D ldq_le_p(&desc[i].addr); - desc_len =3D ldl_le_p(&desc[i].len); + desc_addr =3D le64toh(desc[i].addr); + desc_len =3D le32toh(desc[i].len); max =3D desc_len / sizeof(struct vring_desc); read_len =3D desc_len; desc =3D vu_gpa_to_va(dev, &read_len, desc_addr); @@ -2517,11 +2520,11 @@ vu_queue_map_desc(VuDev *dev, VuVirtq *vq, unsigned= int idx, size_t sz) =20 /* Collect all the descriptors */ do { - if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_WRITE) { + if (le16toh(desc[i].flags) & VRING_DESC_F_WRITE) { if (!virtqueue_map_desc(dev, &in_num, iov + out_num, VIRTQUEUE_MAX_SIZE - out_num, true, - ldq_le_p(&desc[i].addr), - ldl_le_p(&desc[i].len))) { + le64toh(desc[i].addr), + le32toh(desc[i].len))) { return NULL; } } else { @@ -2531,8 +2534,8 @@ vu_queue_map_desc(VuDev *dev, VuVirtq *vq, unsigned i= nt idx, size_t sz) } if (!virtqueue_map_desc(dev, &out_num, iov, VIRTQUEUE_MAX_SIZE, false, - ldq_le_p(&desc[i].addr), - ldl_le_p(&desc[i].len))) { + le64toh(desc[i].addr), + le32toh(desc[i].len))) { return NULL; } } @@ -2731,15 +2734,15 @@ vu_log_queue_fill(VuDev *dev, VuVirtq *vq, max =3D vq->vring.num; i =3D elem->index; =20 - if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_INDIRECT) { - if (ldl_le_p(&desc[i].len) % sizeof(struct vring_desc)) { + if (le16toh(desc[i].flags) & VRING_DESC_F_INDIRECT) { + if (le32toh(desc[i].len) % sizeof(struct vring_desc)) { vu_panic(dev, "Invalid size for indirect buffer table"); return; } =20 /* loop over the indirect descriptor table */ - desc_addr =3D ldq_le_p(&desc[i].addr); - desc_len =3D ldl_le_p(&desc[i].len); + desc_addr =3D le64toh(desc[i].addr); + desc_len =3D le32toh(desc[i].len); max =3D desc_len / sizeof(struct vring_desc); read_len =3D desc_len; desc =3D vu_gpa_to_va(dev, &read_len, desc_addr); @@ -2765,9 +2768,9 @@ vu_log_queue_fill(VuDev *dev, VuVirtq *vq, return; } =20 - if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_WRITE) { - min =3D MIN(ldl_le_p(&desc[i].len), len); - vu_log_write(dev, ldq_le_p(&desc[i].addr), min); + if (le16toh(desc[i].flags) & VRING_DESC_F_WRITE) { + min =3D MIN(le32toh(desc[i].len), len); + vu_log_write(dev, le64toh(desc[i].addr), min); len -=3D min; } =20 @@ -2792,15 +2795,15 @@ vu_queue_fill(VuDev *dev, VuVirtq *vq, =20 idx =3D (idx + vq->used_idx) % vq->vring.num; =20 - stl_le_p(&uelem.id, elem->index); - stl_le_p(&uelem.len, len); + uelem.id =3D htole32(elem->index); + uelem.len =3D htole32(len); vring_used_write(dev, vq, &uelem, idx); } =20 static inline void vring_used_idx_set(VuDev *dev, VuVirtq *vq, uint16_t val) { - stw_le_p(&vq->vring.used->idx, val); + vq->vring.used->idx =3D htole16(val); vu_log_write(dev, vq->vring.log_guest_addr + offsetof(struct vring_used, id= x), sizeof(vq->vring.used->idx)); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607460823; cv=none; d=zohomail.com; s=zohoarc; b=B3tTuuFDPsMQ77M3VRDZ11cZnl5z0V5/LOrT4tIUDVI0c5C8k682KmOD2kDdgenSCvnnABqYbKDzfSC/2ODMMEBECHECwpoGbN4YjwdC8obbHN/2SfTUWoqK1+kMVlNRBdHVivYzJz0ebdPUd7SnA8dQ09aR0FPvbbs9UPczyMc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607460823; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bSoNUC7DG0wIijNBJsdQD+7RaOmhy7cd4bQD51mQOZk=; b=V2/QzeVgP1buoCNB3D1tlQg3BC68F99lYNI5jQkLC9yzX6D1CowCNnJCs567ezNNhcu1aKFgdX6BZ5NxIyLye4f+yDrTe/8ErmRE26g50Oh44VWG/3kBoQJ3r/WFIjhlb6IxdcmBlxCqqHUsCLAdbupnOoUTvuWbGlpEMV98TOk= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607460823016355.40653088831505; Tue, 8 Dec 2020 12:53:43 -0800 (PST) Received: from localhost ([::1]:42812 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjMs-0004HK-0O for importer@patchew.org; Tue, 08 Dec 2020 15:13:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50044) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmin1-0007Be-OC for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:47 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:60197) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmimk-0005gR-Pe for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:47 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-104-V3QMUcc1PA-R4NVQYbwbjg-1; Tue, 08 Dec 2020 14:36:28 -0500 Received: by mail-wr1-f71.google.com with SMTP id n13so6616004wrs.10 for ; Tue, 08 Dec 2020 11:36:27 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id u66sm5003252wmg.30.2020.12.08.11.36.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bSoNUC7DG0wIijNBJsdQD+7RaOmhy7cd4bQD51mQOZk=; b=NEGwGLjy0wsaT9sFB1cuTtTSy0awpFM4mK4xPwtPm57MUJeCo7eFNIGV9b18h4Cb4eAjYi RicyTU4L3adyee0/9beMxapcTAHmEW+14EwHfpINR01w1InZZd7smLnSz0mZDLiPrK5+S9 mLdwaduDOlJcJ8eyz6yu+6S9FcZ1MTg= X-MC-Unique: V3QMUcc1PA-R4NVQYbwbjg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=bSoNUC7DG0wIijNBJsdQD+7RaOmhy7cd4bQD51mQOZk=; b=dSQ35MEyAP5fnkl3Txaw/t16teG74s4auc4QYStajyIEKbirTAZ1alyiBuVRKZJ2zA 4wxnk5W+KUTt7NwmIi8Qxy62vvCzVRHnbEsvkaS/kMbK/J3vBiZsQGfi/wu3EGPZi0ww 43uc4qUY5sMgwibPvcDMOheLlhEnrbRrijtzktKIWpz8FHCrhVJYNElRRFL2sFE/o/vZ RhNaJpSFuGwL3axGH+ZwDVkJ9CkTADC36TJmZW3kJ4wevQbfoBXGv+CfRvBCDvH3VMf9 j8mE6wXf3VvQE6AwNVxpvU0zvX5roCcluQOfn2yvVDrIEE/q8oPTl6chtEla1MnkqKqj 81Bg== X-Gm-Message-State: AOAM533cQKucTBPq6qS2RuycGT4mvDLh4vS12E7xSjsdlVY0HQQD+Q+X CcC4ff1SZYMKQ0XpBV5JRf8J/o1dGgfkU9gPe/cjayOuFyCBLQrKbWaWZuPRFaIi240l0vyAjXw utg+opZnprNotf6gPulUXW+RR5vpDxMANLplvBcMUzmpbm5eeLrqPwEpHzQib X-Received: by 2002:a1c:f002:: with SMTP id a2mr5160758wmb.101.1607456186285; Tue, 08 Dec 2020 11:36:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJzw5ApoGMaYJHfh3QE9sLMH2I3MzqeNnYw7kKeA8nUFM8bSyC5hmywdLtJQTwfokDOT7Hb/Iw== X-Received: by 2002:a1c:f002:: with SMTP id a2mr5160741wmb.101.1607456186075; Tue, 08 Dec 2020 11:36:26 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:21 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 45/66] libvhost-user: replace qemu/memfd.h usage Message-ID: <20201208193307.646726-46-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Raphael Norwitz , "Dr. David Alan Gilbert" , Stefan Hajnoczi , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau Undo the damage from commit 5f9ff1eff3 ("libvhost-user: Support tracking inflight I/O in shared memory") which introduced glib dependency through osdep.h inclusion. libvhost-user.c tries to stay free from glib usage. Use glibc memfd_create directly when available (assumed so when MFD_ALLOW_SEALING is defined). A following commit will make the project standalone and check for memfd API at configure time, instead of a panic at runtime. Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Stefan Hajnoczi Message-Id: <20201125100640.366523-3-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/libvhost-user/libvhost-user.c | 50 +++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/contrib/libvhost-user/libvhost-user.c b/contrib/libvhost-user/= libvhost-user.c index 1c1cfbf1e7..54aabd1878 100644 --- a/contrib/libvhost-user/libvhost-user.c +++ b/contrib/libvhost-user/libvhost-user.c @@ -42,8 +42,6 @@ #endif =20 #include "qemu/atomic.h" -#include "qemu/osdep.h" -#include "qemu/memfd.h" =20 #include "libvhost-user.h" =20 @@ -1615,11 +1613,45 @@ vu_inflight_queue_size(uint16_t queue_size) sizeof(uint16_t), INFLIGHT_ALIGNMENT); } =20 +#ifdef MFD_ALLOW_SEALING +static void * +memfd_alloc(const char *name, size_t size, unsigned int flags, int *fd) +{ + void *ptr; + int ret; + + *fd =3D memfd_create(name, MFD_ALLOW_SEALING); + if (*fd < 0) { + return NULL; + } + + ret =3D ftruncate(*fd, size); + if (ret < 0) { + close(*fd); + return NULL; + } + + ret =3D fcntl(*fd, F_ADD_SEALS, flags); + if (ret < 0) { + close(*fd); + return NULL; + } + + ptr =3D mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, *fd, 0); + if (ptr =3D=3D MAP_FAILED) { + close(*fd); + return NULL; + } + + return ptr; +} +#endif + static bool vu_get_inflight_fd(VuDev *dev, VhostUserMsg *vmsg) { - int fd; - void *addr; + int fd =3D -1; + void *addr =3D NULL; uint64_t mmap_size; uint16_t num_queues, queue_size; =20 @@ -1637,9 +1669,13 @@ vu_get_inflight_fd(VuDev *dev, VhostUserMsg *vmsg) =20 mmap_size =3D vu_inflight_queue_size(queue_size) * num_queues; =20 - addr =3D qemu_memfd_alloc("vhost-inflight", mmap_size, - F_SEAL_GROW | F_SEAL_SHRINK | F_SEAL_SEAL, - &fd, NULL); +#ifdef MFD_ALLOW_SEALING + addr =3D memfd_alloc("vhost-inflight", mmap_size, + F_SEAL_GROW | F_SEAL_SHRINK | F_SEAL_SEAL, + &fd); +#else + vu_panic(dev, "Not implemented: memfd support is missing"); +#endif =20 if (!addr) { vu_panic(dev, "Failed to alloc vhost inflight area"); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459624; cv=none; d=zohomail.com; s=zohoarc; b=RhGyycYYhlRGiITJyLvZzH2+898mzUC1D5b0qJh5TzqDM5w106tNLMrrna663Ev0ijksAYbfRMZoQJSsJOsm37lwTuBTWeE/SwV1VJDRYmolFkGFn7UD3lF/kX+N4qw+mCJ9w5oc4VQhx0WZVYBtmfl7o4KvMmyKQUEvVk/5FLM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459624; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Urg1ebOe/xpAwplm9XU6ObuQmhPirq/STMsGbdggf6A=; b=O2q0cEaDzQs59uVznXfRr9T8Tcz6fVnrMz1MOQStKHhWb6V3zq1ON0YFMBZnruxfbblYtjauw8HTlcMHqyUZBQHfVUF4RvE2tZ9qxj1TyJ/lyM3VKmzqaz8WYpZsM3WRxUGtPaToe7/9AFG5NscIwoKRidRbbaarPS1zQdMb7hw= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459624705647.010111322795; Tue, 8 Dec 2020 12:33:44 -0800 (PST) Received: from localhost ([::1]:35472 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjg7-0008LJ-H9 for importer@patchew.org; Tue, 08 Dec 2020 15:33:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50042) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmin1-0007Bc-MY for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:47 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:29835) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmims-0005hH-AN for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:42 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-167-EK9idOhAOk-x8xXbR0YVNw-1; Tue, 08 Dec 2020 14:36:33 -0500 Received: by mail-wr1-f69.google.com with SMTP id v5so6604874wrr.0 for ; Tue, 08 Dec 2020 11:36:33 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id h98sm23763837wrh.69.2020.12.08.11.36.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Urg1ebOe/xpAwplm9XU6ObuQmhPirq/STMsGbdggf6A=; b=dJPLhWsEW+IaJKFov3anUxvT9vzbhpReETSKi2oE24Lv8rm1yr0PB4uo1iNWKDe9mTsyu+ ctbEJ57YkVfkOyDKEQrLrZ3XA0mGKxPi0unY/eABgWMuJmeSBkhDUqjCWwnGfItj+ARR6q jgPvEq5x5t7hcHQhXSfxdT8RHchdZu0= X-MC-Unique: EK9idOhAOk-x8xXbR0YVNw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=Urg1ebOe/xpAwplm9XU6ObuQmhPirq/STMsGbdggf6A=; b=cp4xNvgJAOULm1xSBb7iU0v/sNKk6Xl8a6eexxe0P34wc/YAzlN0jUWZWyAdqW+vH7 Yg992Wsa0DUBdj6OKSfmI39RM+UEU+aTk69luh/VNUTxsMBu+QZS2e4sWaPIFdf8Fq9W xVUbztvTpHtNPYhReE91BaG0yyEWEahUMwxTXVzVUTte/uN5S6MJYI+mle80bC6h4Wzw 6zz2W0vFeb2bMQRk+oZjrMkYXlp6hIHQqTMYldgoiIeFEbnF4u8tIls8irHlyc1pJUnZ c3eXg2YOrAwwV5ZGNOas/aXygHk5C4jNhWUvZoLF8WaZzdQM4n+KaVmpcgtRTxRt00uo iLxg== X-Gm-Message-State: AOAM532m0e7hSKOqvVJNfCdatvdmn5NoWynxNOXO8qDDCtaki2IOaEhk DEowpIAUi8JpyWuqLwUEVpQRIWaSzbb74Xzbp74hp2633E1kyUH35H8QcYiTUJfBYJOrcqj4BLX 50tNCfGoj3k2ZCQokbEujWwZgGU1VAwaMPIqP5cN0cZxa8gmtUjeFtvyfwK+q X-Received: by 2002:a1c:5f8a:: with SMTP id t132mr5164247wmb.121.1607456191774; Tue, 08 Dec 2020 11:36:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJy+CUoRUEFJGlqSPqCIEWzZOzWXCIdgSsg3MaJA6tEkVsr0VZkfd7027hdjIqDLcW3fqclaPw== X-Received: by 2002:a1c:5f8a:: with SMTP id t132mr5164231wmb.121.1607456191558; Tue, 08 Dec 2020 11:36:31 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:26 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 46/66] libvhost-user: remove qemu/compiler.h usage Message-ID: <20201208193307.646726-47-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Raphael Norwitz , "Dr. David Alan Gilbert" , Stefan Hajnoczi , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20201125100640.366523-4-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/libvhost-user/libvhost-user.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/libvhost-user/libvhost-user.c b/contrib/libvhost-user/= libvhost-user.c index 54aabd1878..fab7ca17ee 100644 --- a/contrib/libvhost-user/libvhost-user.c +++ b/contrib/libvhost-user/libvhost-user.c @@ -27,7 +27,6 @@ #include #include #include -#include "qemu/compiler.h" =20 #if defined(__linux__) #include @@ -60,6 +59,10 @@ /* Round number up to multiple */ #define ALIGN_UP(n, m) ALIGN_DOWN((n) + (m) - 1, (m)) =20 +#ifndef unlikely +#define unlikely(x) __builtin_expect(!!(x), 0) +#endif + /* Align each region to cache line size in inflight buffer */ #define INFLIGHT_ALIGNMENT 64 =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459086; cv=none; d=zohomail.com; s=zohoarc; b=DFXlmAImfC3G060olAskdKU+ACtPmwPwFhHtZ+kcCCn/UIZ6queIODoQzCIRzMBbHtIwSq45oZxl5RQj99Z4UBQUwDJ6S3QCYb2HYVU3cBWJwd8Ae+tFCNWc6xXXl5wlxWmbQuRjZ+n2uzq536SO/yd/mDoXsB/SfNGpCdG84Rs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459086; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=sHE/uRm8PGtDDHGDXS1NURqOE/Q/b84pUZq/OaljFlE=; b=Vjx5i+85hbVBErCdGJR4oDAk6+OJLtaSJWJ8d3tQpU9+S75Oe+LMYncswlRIyE0H1YUUHvhYM5+YJP/efg/r8tMPxTaxleApsuN8Yr60NnUx5AfrU6EESO746R2x+M4OCZbsse6j0a+TmASllFcyFl2PpLIXBYORSgTcBjgvho0= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459086059829.1084931936381; Tue, 8 Dec 2020 12:24:46 -0800 (PST) Received: from localhost ([::1]:38458 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjLj-0002Rq-8U for importer@patchew.org; Tue, 08 Dec 2020 15:12:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50050) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmin2-0007D3-73 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:48 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:44461) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmimu-0005ia-Hn for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:47 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-591-po6ON_sDMESq76Y4xKT07Q-1; Tue, 08 Dec 2020 14:36:37 -0500 Received: by mail-wr1-f69.google.com with SMTP id o17so39640wra.8 for ; Tue, 08 Dec 2020 11:36:37 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id a13sm12850635wrt.96.2020.12.08.11.36.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sHE/uRm8PGtDDHGDXS1NURqOE/Q/b84pUZq/OaljFlE=; b=GVO8TDn8cdHoWkNXp61RdrftIX5zvWuIRE1DKBAUCTeetS9F3QIcq/O+vxcBKwBdTFHW7B ZI8RelXSGYSHlFf/gKJczMFcHWgsJ3hiJiHLK0JIJpF3MkRek1F5kXtF+n/EHH5cHoCHd/ PxWXFaB25YlQPtwjbQqmQic9yppo43o= X-MC-Unique: po6ON_sDMESq76Y4xKT07Q-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=sHE/uRm8PGtDDHGDXS1NURqOE/Q/b84pUZq/OaljFlE=; b=fUInwRX+Q2tSYJWwQ8HwXsnBHhw90Kh9AgNMlY/6hK4qi5+hhDt1gjXQvtjn2wS5Nw tJcKTXFPjBKyoZPZFaRrHsWbKiriN1v8YRPJsEA/0Lu3wvTTVijPxWeXuMJRuEnNuZKx uaaugT1e8dNfBGG7aew2rp0OQSZg7HGFerCDlwiJTVjA9duoH5fI1j7eYeY6ipg6WJHd HG0EhPLek55it+cZM4EYe0hDTimb4iafiK3ep8BrZA438Z1Wp+x0FZvFJbSLZ+Ni2Vvn XgAvKT24fw4xnm/Xc9F8n/9JMOItLjWqf5FedM71olKnCIM5DboWd2kPR/7rU2q+gq7f fPOQ== X-Gm-Message-State: AOAM533qpBramq4ZwWx6I9ks1cEBWd+o+P1Z8NDwXd4u6BjDKskIcksO ni+pjR9K/SK80Dd2ffB8kbSUcOQauTRAlrSIp3l30evHmzP/VGCXkUsr0CEVUsU5bFLRXvxx6hh B7u/jGL0x094lqX2kZucJBmzjgPUYjezDsD0DEIokAFUPyxrE+7INlD5ll7a9 X-Received: by 2002:adf:eac7:: with SMTP id o7mr7497392wrn.23.1607456196267; Tue, 08 Dec 2020 11:36:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJwY2geD7CVv+y0rOqeVmJdjs46bydUpKmSyAxpogRCJeC8Hbb/27iGYEn5MF4gUJvVIzrVSpw== X-Received: by 2002:adf:eac7:: with SMTP id o7mr7497370wrn.23.1607456196004; Tue, 08 Dec 2020 11:36:36 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:31 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 47/66] libvhost-user: drop qemu/osdep.h dependency Message-ID: <20201208193307.646726-48-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Coiby Xu , Johannes Berg , Stefan Hajnoczi , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20201125100640.366523-5-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/libvhost-user/libvhost-user-glib.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/contrib/libvhost-user/libvhost-user-glib.c b/contrib/libvhost-= user/libvhost-user-glib.c index 0df2ec9271..efc9d814e3 100644 --- a/contrib/libvhost-user/libvhost-user-glib.c +++ b/contrib/libvhost-user/libvhost-user-glib.c @@ -12,10 +12,16 @@ * later. See the COPYING file in the top-level directory. */ =20 -#include "qemu/osdep.h" - #include "libvhost-user-glib.h" =20 +#ifndef container_of +#define container_of(ptr, type, member) \ + __extension__({ \ + void *__mptr =3D (void *)(ptr); \ + ((type *)(__mptr - offsetof(type, member))); \ + }) +#endif + /* glib event loop integration for libvhost-user and misc callbacks */ =20 G_STATIC_ASSERT((int)G_IO_IN =3D=3D (int)VU_WATCH_IN); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459268; cv=none; d=zohomail.com; s=zohoarc; b=QXTgEU0cw6MMlRjG7L6aqiGeaEFTXlKYxswpPHgN7ZvtbWQtt9MY8mTO2fTLWHKWXrvIf3Llehi+jM3ldq5/ZFQ5LNSgjubDqMGYIbPBeFYcg99WbBeiIR2/wXx+yQxY2uWag3bGJTtODXh35jbSFrOFPImJ4PZfrwVl35mBhvQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459268; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dV+7BzXez4+ny3udEAvAWmvm0532zQlUP4+qQ+UHZ0k=; b=IQND/QNdY7h9uwlZNC8OIE7mqYGlDk2FL/p/GGfGfHuMYeIw/FOCKODTrPiac+cot6H5lCkfXOMgyHq1P99JDQhWppXmNtSkNhiQD+YrRgTbJJTXl7+ELCTlRCmKi04bgUXU6HE7fjyqnQCypf/xC04swQel69NXgS3wGjCCK+A= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459268493226.1407972700182; Tue, 8 Dec 2020 12:27:48 -0800 (PST) Received: from localhost ([::1]:34846 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjKP-0000td-IA for importer@patchew.org; Tue, 08 Dec 2020 15:11:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50086) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmin5-0007FZ-25 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:51 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:26734) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmin1-0005iz-BB for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:50 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-437-DDOik0TfNYerFJkb1YblAg-1; Tue, 08 Dec 2020 14:36:42 -0500 Received: by mail-wr1-f70.google.com with SMTP id o4so2932992wrw.19 for ; Tue, 08 Dec 2020 11:36:42 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id v64sm5212201wme.25.2020.12.08.11.36.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dV+7BzXez4+ny3udEAvAWmvm0532zQlUP4+qQ+UHZ0k=; b=YUn35DRZGXJU+m3dIh2Lea4OF5H7PDZuJ+TAVsHCjz+d07soTHh5p8Fq71m7ZEiCcNMHoo luumKlQjCld62vZWp3pczMr3HNQDUW9Pe0+6qdoIOOBoiNAzLNeVtirfb5C7erHppwN+hk uRgD9osOq6GJmLCNTlu/bvFWpVL72SI= X-MC-Unique: DDOik0TfNYerFJkb1YblAg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=dV+7BzXez4+ny3udEAvAWmvm0532zQlUP4+qQ+UHZ0k=; b=o0T1DQsjxtJYCfqRWM0ijr+0ItWbBB1AQOuVwCEYX+37paMHULj1vr39dAiGpq8Ocb izRwmbTtGgkJ3y7WRonL/KciedcJ5zVT7QkkbIVO95NiZa7X4nfYyM+7WrZ31klDwGkA K7ymGCYjpP+sVHqZe0R5Ki5MIVzmDOVLJjdQyvJhfksEIk/I4qSud4tLE0LPHrusbG+6 pibnrp2BDzNB2w6FsYCd6tFt83/uQvpd4h18fk/1R/LER5uNNCn1weFFLn2leNitmKoZ n+LXqV/g4sTpBbQmfnbDITbnaREIzgtTMcLQUX0nXMHwL/7AuCtl3DyqGZxKhtMbI5Dm zqHg== X-Gm-Message-State: AOAM530MYgLlHCCTlfI920Dka8/IhTvPaGfUYt/+jZAAfjToOu11gmRi 6hppfe6Uf7exOyGlg5FeIrHSDLtD3+2pBkh5Zb0AEPn1N3pORr5MiD/KUH3kJDcji1SdAtlqmd7 UlVHBaXOkgARtxa+aXis1N4oYu6BO9mr7bMIT9VEqHDNjW1PA5CHFnJ+hV6fs X-Received: by 2002:a1c:730c:: with SMTP id d12mr5170823wmb.3.1607456200955; Tue, 08 Dec 2020 11:36:40 -0800 (PST) X-Google-Smtp-Source: ABdhPJwiJ8Vhb1wMFyibGbW268tqo7Dz/i5n7shy8UvIIzk3rjZBg7rR0ffrcs+eRIOwj2qTunqjQw== X-Received: by 2002:a1c:730c:: with SMTP id d12mr5170789wmb.3.1607456200640; Tue, 08 Dec 2020 11:36:40 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:36 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 48/66] libvhost-user: make it a meson subproject Message-ID: <20201208193307.646726-49-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , qemu-block@nongnu.org, "Dr. David Alan Gilbert" , Coiby Xu , Raphael Norwitz , Gerd Hoffmann , Stefan Hajnoczi , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau , Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau By making libvhost-user a subproject, check it builds standalone (without the global QEMU cflags etc). Note that the library still relies on QEMU include/qemu/atomic.h and linux_headers/. Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20201125100640.366523-6-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/vhost-user-gpu/vugpu.h | 2 +- include/qemu/vhost-user-server.h | 2 +- .../libvhost-user/libvhost-user-glib.h | 0 .../libvhost-user/libvhost-user.h | 0 block/export/vhost-user-blk-server.c | 2 +- contrib/vhost-user-blk/vhost-user-blk.c | 3 +-- contrib/vhost-user-input/main.c | 3 +-- contrib/vhost-user-scsi/vhost-user-scsi.c | 2 +- .../libvhost-user/libvhost-user-glib.c | 0 .../libvhost-user/libvhost-user.c | 0 tests/vhost-user-bridge.c | 2 +- tools/virtiofsd/fuse_virtio.c | 2 +- contrib/libvhost-user/meson.build | 4 ---- contrib/vhost-user-blk/meson.build | 3 +-- contrib/vhost-user-gpu/meson.build | 3 +-- contrib/vhost-user-input/meson.build | 3 +-- contrib/vhost-user-scsi/meson.build | 3 +-- meson.build | 7 ++++++- subprojects/libvhost-user/meson.build | 20 +++++++++++++++++++ tests/meson.build | 3 +-- tools/virtiofsd/meson.build | 3 +-- 21 files changed, 40 insertions(+), 27 deletions(-) rename {contrib =3D> subprojects}/libvhost-user/libvhost-user-glib.h (100%) rename {contrib =3D> subprojects}/libvhost-user/libvhost-user.h (100%) rename {contrib =3D> subprojects}/libvhost-user/libvhost-user-glib.c (100%) rename {contrib =3D> subprojects}/libvhost-user/libvhost-user.c (100%) delete mode 100644 contrib/libvhost-user/meson.build create mode 100644 subprojects/libvhost-user/meson.build diff --git a/contrib/vhost-user-gpu/vugpu.h b/contrib/vhost-user-gpu/vugpu.h index 3153c9a6de..bdf9a74b46 100644 --- a/contrib/vhost-user-gpu/vugpu.h +++ b/contrib/vhost-user-gpu/vugpu.h @@ -17,7 +17,7 @@ =20 #include "qemu/osdep.h" =20 -#include "contrib/libvhost-user/libvhost-user-glib.h" +#include "libvhost-user-glib.h" #include "standard-headers/linux/virtio_gpu.h" =20 #include "qemu/queue.h" diff --git a/include/qemu/vhost-user-server.h b/include/qemu/vhost-user-ser= ver.h index 0da4c2cc4c..121ea1dedf 100644 --- a/include/qemu/vhost-user-server.h +++ b/include/qemu/vhost-user-server.h @@ -11,7 +11,7 @@ #ifndef VHOST_USER_SERVER_H #define VHOST_USER_SERVER_H =20 -#include "contrib/libvhost-user/libvhost-user.h" +#include "subprojects/libvhost-user/libvhost-user.h" /* only for the type = definitions */ #include "io/channel-socket.h" #include "io/channel-file.h" #include "io/net-listener.h" diff --git a/contrib/libvhost-user/libvhost-user-glib.h b/subprojects/libvh= ost-user/libvhost-user-glib.h similarity index 100% rename from contrib/libvhost-user/libvhost-user-glib.h rename to subprojects/libvhost-user/libvhost-user-glib.h diff --git a/contrib/libvhost-user/libvhost-user.h b/subprojects/libvhost-u= ser/libvhost-user.h similarity index 100% rename from contrib/libvhost-user/libvhost-user.h rename to subprojects/libvhost-user/libvhost-user.h diff --git a/block/export/vhost-user-blk-server.c b/block/export/vhost-user= -blk-server.c index 62672d1cb9..a3d95ca012 100644 --- a/block/export/vhost-user-blk-server.c +++ b/block/export/vhost-user-blk-server.c @@ -11,7 +11,7 @@ */ #include "qemu/osdep.h" #include "block/block.h" -#include "contrib/libvhost-user/libvhost-user.h" +#include "subprojects/libvhost-user/libvhost-user.h" /* only for the type = definitions */ #include "standard-headers/linux/virtio_blk.h" #include "qemu/vhost-user-server.h" #include "vhost-user-blk-server.h" diff --git a/contrib/vhost-user-blk/vhost-user-blk.c b/contrib/vhost-user-b= lk/vhost-user-blk.c index dc981bf945..6abd7835a8 100644 --- a/contrib/vhost-user-blk/vhost-user-blk.c +++ b/contrib/vhost-user-blk/vhost-user-blk.c @@ -17,8 +17,7 @@ =20 #include "qemu/osdep.h" #include "standard-headers/linux/virtio_blk.h" -#include "contrib/libvhost-user/libvhost-user-glib.h" -#include "contrib/libvhost-user/libvhost-user.h" +#include "libvhost-user-glib.h" =20 #if defined(__linux__) #include diff --git a/contrib/vhost-user-input/main.c b/contrib/vhost-user-input/mai= n.c index 6020c6f33a..3ea840cf44 100644 --- a/contrib/vhost-user-input/main.c +++ b/contrib/vhost-user-input/main.c @@ -12,8 +12,7 @@ #include "qemu/iov.h" #include "qemu/bswap.h" #include "qemu/sockets.h" -#include "contrib/libvhost-user/libvhost-user.h" -#include "contrib/libvhost-user/libvhost-user-glib.h" +#include "libvhost-user-glib.h" #include "standard-headers/linux/virtio_input.h" #include "qapi/error.h" =20 diff --git a/contrib/vhost-user-scsi/vhost-user-scsi.c b/contrib/vhost-user= -scsi/vhost-user-scsi.c index 4639440a70..4f6e3e2a24 100644 --- a/contrib/vhost-user-scsi/vhost-user-scsi.c +++ b/contrib/vhost-user-scsi/vhost-user-scsi.c @@ -15,7 +15,7 @@ #define inline __attribute__((gnu_inline)) /* required for libiscsi v1.9.= 0 */ #include #undef inline -#include "contrib/libvhost-user/libvhost-user-glib.h" +#include "libvhost-user-glib.h" #include "standard-headers/linux/virtio_scsi.h" =20 =20 diff --git a/contrib/libvhost-user/libvhost-user-glib.c b/subprojects/libvh= ost-user/libvhost-user-glib.c similarity index 100% rename from contrib/libvhost-user/libvhost-user-glib.c rename to subprojects/libvhost-user/libvhost-user-glib.c diff --git a/contrib/libvhost-user/libvhost-user.c b/subprojects/libvhost-u= ser/libvhost-user.c similarity index 100% rename from contrib/libvhost-user/libvhost-user.c rename to subprojects/libvhost-user/libvhost-user.c diff --git a/tests/vhost-user-bridge.c b/tests/vhost-user-bridge.c index bd43607a4d..24815920b2 100644 --- a/tests/vhost-user-bridge.c +++ b/tests/vhost-user-bridge.c @@ -34,7 +34,7 @@ #include "qemu/ctype.h" #include "qemu/iov.h" #include "standard-headers/linux/virtio_net.h" -#include "contrib/libvhost-user/libvhost-user.h" +#include "libvhost-user.h" =20 #define VHOST_USER_BRIDGE_DEBUG 1 =20 diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c index 83ba07c6cd..623812c432 100644 --- a/tools/virtiofsd/fuse_virtio.c +++ b/tools/virtiofsd/fuse_virtio.c @@ -35,7 +35,7 @@ #include #include =20 -#include "contrib/libvhost-user/libvhost-user.h" +#include "libvhost-user.h" =20 struct fv_VuDev; struct fv_QueueInfo { diff --git a/contrib/libvhost-user/meson.build b/contrib/libvhost-user/meso= n.build deleted file mode 100644 index a261e7665f..0000000000 --- a/contrib/libvhost-user/meson.build +++ /dev/null @@ -1,4 +0,0 @@ -libvhost_user =3D static_library('vhost-user', - files('libvhost-user.c', 'libvhost-user-gli= b.c'), - build_by_default: false) -vhost_user =3D declare_dependency(link_with: libvhost_user) diff --git a/contrib/vhost-user-blk/meson.build b/contrib/vhost-user-blk/me= son.build index 5db8cc3fe2..601ea15ef5 100644 --- a/contrib/vhost-user-blk/meson.build +++ b/contrib/vhost-user-blk/meson.build @@ -1,6 +1,5 @@ # FIXME: broken on 32-bit architectures executable('vhost-user-blk', files('vhost-user-blk.c'), - link_with: libvhost_user, - dependencies: qemuutil, + dependencies: [qemuutil, vhost_user], build_by_default: false, install: false) diff --git a/contrib/vhost-user-gpu/meson.build b/contrib/vhost-user-gpu/me= son.build index c487ca72c1..2fc2320b52 100644 --- a/contrib/vhost-user-gpu/meson.build +++ b/contrib/vhost-user-gpu/meson.build @@ -2,8 +2,7 @@ if 'CONFIG_TOOLS' in config_host and 'CONFIG_VIRGL' in conf= ig_host \ and 'CONFIG_GBM' in config_host and 'CONFIG_LINUX' in config_host \ and pixman.found() executable('vhost-user-gpu', files('vhost-user-gpu.c', 'virgl.c', 'vugbm= .c'), - link_with: libvhost_user, - dependencies: [qemuutil, pixman, gbm, virgl], + dependencies: [qemuutil, pixman, gbm, virgl, vhost_user], install: true, install_dir: get_option('libexecdir')) =20 diff --git a/contrib/vhost-user-input/meson.build b/contrib/vhost-user-inpu= t/meson.build index 1eeb1329d9..21a9ed4f15 100644 --- a/contrib/vhost-user-input/meson.build +++ b/contrib/vhost-user-input/meson.build @@ -1,5 +1,4 @@ executable('vhost-user-input', files('main.c'), - link_with: libvhost_user, - dependencies: qemuutil, + dependencies: [qemuutil, vhost_user], build_by_default: targetos =3D=3D 'linux', install: false) diff --git a/contrib/vhost-user-scsi/meson.build b/contrib/vhost-user-scsi/= meson.build index 257cbffc8e..044c50bf43 100644 --- a/contrib/vhost-user-scsi/meson.build +++ b/contrib/vhost-user-scsi/meson.build @@ -1,7 +1,6 @@ if 'CONFIG_LIBISCSI' in config_host executable('vhost-user-scsi', files('vhost-user-scsi.c'), - link_with: libvhost_user, - dependencies: [qemuutil, libiscsi], + dependencies: [qemuutil, libiscsi, vhost_user], build_by_default: targetos =3D=3D 'linux', install: false) endif diff --git a/meson.build b/meson.build index e3386196ba..732b29a1f3 100644 --- a/meson.build +++ b/meson.build @@ -1475,7 +1475,12 @@ trace_events_subdirs +=3D [ 'util', ] =20 -subdir('contrib/libvhost-user') +vhost_user =3D not_found +if 'CONFIG_VHOST_USER' in config_host + libvhost_user =3D subproject('libvhost-user') + vhost_user =3D libvhost_user.get_variable('vhost_user_dep') +endif + subdir('qapi') subdir('qobject') subdir('stubs') diff --git a/subprojects/libvhost-user/meson.build b/subprojects/libvhost-u= ser/meson.build new file mode 100644 index 0000000000..f9ecc534cf --- /dev/null +++ b/subprojects/libvhost-user/meson.build @@ -0,0 +1,20 @@ +project('libvhost-user', 'c', + license: 'GPL-2.0-or-later', + default_options: ['c_std=3Dgnu99']) + +glib =3D dependency('glib-2.0') +inc =3D include_directories('../../include', '../../linux-headers') + +vhost_user =3D static_library('vhost-user', + files('libvhost-user.c'), + include_directories: inc, + c_args: '-D_GNU_SOURCE') + +vhost_user_glib =3D static_library('vhost-user-glib', + files('libvhost-user-glib.c'), + include_directories: inc, + link_with: vhost_user, + dependencies: glib) + +vhost_user_dep =3D declare_dependency(link_with: vhost_user_glib, + include_directories: include_directori= es('.')) diff --git a/tests/meson.build b/tests/meson.build index afeb6be689..1fa068f27b 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -264,8 +264,7 @@ endforeach if have_tools and 'CONFIG_VHOST_USER' in config_host and 'CONFIG_LINUX' in= config_host executable('vhost-user-bridge', sources: files('vhost-user-bridge.c'), - link_with: [libvhost_user], - dependencies: [qemuutil]) + dependencies: [qemuutil, vhost_user]) endif =20 if have_system and 'CONFIG_POSIX' in config_host diff --git a/tools/virtiofsd/meson.build b/tools/virtiofsd/meson.build index 17edecf55c..c134ba633f 100644 --- a/tools/virtiofsd/meson.build +++ b/tools/virtiofsd/meson.build @@ -8,8 +8,7 @@ executable('virtiofsd', files( 'helper.c', 'passthrough_ll.c', 'passthrough_seccomp.c'), - link_with: libvhost_user, - dependencies: [seccomp, qemuutil, libcap_ng], + dependencies: [seccomp, qemuutil, libcap_ng, vhost_user], install: true, install_dir: get_option('libexecdir')) =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607461046; cv=none; d=zohomail.com; s=zohoarc; b=SK2Sryx0D85p0GnQS5hIKF7RvqSGm5h9cPlNnW2wIXHRT+PQ7kP4xKA0F1ZZ1sdJU76Vc8Z9Yl4zgc/isQu47WGNb1pvCY8Avoq2GkVnQtdtkr2k9APLbkk2k54GBItjurAOTpMueMVkp13l2UkmaiuYexqGvFYYHnAGM8QO9hQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607461046; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=QbqEn1PQqGTyBypVQN7GtxbjLn0NlsZ+rRoNGrDe06E=; b=FeIpwmqybclyH8ljoWHnfZoiLIp5cqNTpdHReYfO43eGMzOf1N+WuNq2GsrHLHVPU9HiaQEFg5wfbUSTZYeT36txrg+I/R3mc8fG2Wqnwx0fFrAYlVe/U+II3VRvWmRgmOOY8hhG22gcIfwxfps6u6AUdPDLcbnOJW78tP1/0Ak= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607461046655978.1389166225579; Tue, 8 Dec 2020 12:57:26 -0800 (PST) Received: from localhost ([::1]:35716 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjVw-0004wj-Jh for importer@patchew.org; Tue, 08 Dec 2020 15:23:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50158) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminL-0007UW-3h for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:07 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:26911) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmin3-0005jo-Ld for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:05 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-586-dg0PZHDQOdi5dXx1Xx7K9w-1; Tue, 08 Dec 2020 14:36:47 -0500 Received: by mail-wr1-f70.google.com with SMTP id v5so6605115wrr.0 for ; Tue, 08 Dec 2020 11:36:46 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id b4sm21471042wrr.30.2020.12.08.11.36.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QbqEn1PQqGTyBypVQN7GtxbjLn0NlsZ+rRoNGrDe06E=; b=ciLNZRN6iTgVpUMIadChbckusG82yMC8Jqfh3bhljki/UBRZaDvo6+ybGWoELuCNSz+vmV O2LdmPZ+2XdQ4WuvSjuYX1h3D1GOmN7giL+24ObpqzKpZQgw40K1C/m22IMKvubXruEEFi fJn64tcV0SrrvLNN/OEUt1wa4LqE9Tc= X-MC-Unique: dg0PZHDQOdi5dXx1Xx7K9w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=QbqEn1PQqGTyBypVQN7GtxbjLn0NlsZ+rRoNGrDe06E=; b=UyYrjTTySHrr7/GbF1/a0aS/RMSWPU9y9pufdjivtUo97qVMUJd74u8D6afCS68y0M dCcHGwAwwMPX25f0nSrUow5SsPICdoWSXuqAcOeZovStdJ/Usum56aoM0JRJ4Wx0Tuhc wFKj/uLcaFvc4nmlffEcflaeswWoy7YE1f4F0PX9l8Xm02lRK1JvYyUts82oARGYZIzn 3FABbxHzt48zq2Kbq4JF2w7gURK45MjlULorKzcUcRhCckEIM6wxDM+VVweP99j6PKxy wHwK9pGYSkE8AuGSNjo0bTod2nEE0Q2U2NadhTrlO8iNtzg38NCZUZ+ZDcwXJCnBhaib VBSQ== X-Gm-Message-State: AOAM531VvHXeaaeHULunsTSNdsZEMfL1OMNUulRlOaJzVtpvLWt3I8RB IzCx8v8y+xkqLLfYuBz+BSSo9SC5dNIdYqBAUsGqQmXafQyXc9sX/yhuL6fxkRgVQoSmpp4Wgwf ohDMwvdEKT22lRBQ2jr2gqnCzhaTyMpdakaY+oMFX6Qtk2IOTs5n2Vuq3KZNp X-Received: by 2002:adf:f881:: with SMTP id u1mr26216575wrp.103.1607456205546; Tue, 08 Dec 2020 11:36:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJwgviH4J/14mhT0rN7lYLuZEmGjapRv3q/M6hUMazfj3LS+3f56kkF6J/B7FGtOZoWs1XyTsg== X-Received: by 2002:adf:f881:: with SMTP id u1mr26216558wrp.103.1607456205335; Tue, 08 Dec 2020 11:36:45 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:40 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 49/66] libvhost-user: check memfd API Message-ID: <20201208193307.646726-50-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Raphael Norwitz , "Dr. David Alan Gilbert" , Stefan Hajnoczi , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau Do not compile potentially panicking code, instead check memfd API is present during configure time. Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20201125100640.366523-7-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- subprojects/libvhost-user/libvhost-user.c | 6 ------ subprojects/libvhost-user/meson.build | 12 ++++++++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/subprojects/libvhost-user/libvhost-user.c b/subprojects/libvho= st-user/libvhost-user.c index fab7ca17ee..09741a7b49 100644 --- a/subprojects/libvhost-user/libvhost-user.c +++ b/subprojects/libvhost-user/libvhost-user.c @@ -1616,7 +1616,6 @@ vu_inflight_queue_size(uint16_t queue_size) sizeof(uint16_t), INFLIGHT_ALIGNMENT); } =20 -#ifdef MFD_ALLOW_SEALING static void * memfd_alloc(const char *name, size_t size, unsigned int flags, int *fd) { @@ -1648,7 +1647,6 @@ memfd_alloc(const char *name, size_t size, unsigned i= nt flags, int *fd) =20 return ptr; } -#endif =20 static bool vu_get_inflight_fd(VuDev *dev, VhostUserMsg *vmsg) @@ -1672,13 +1670,9 @@ vu_get_inflight_fd(VuDev *dev, VhostUserMsg *vmsg) =20 mmap_size =3D vu_inflight_queue_size(queue_size) * num_queues; =20 -#ifdef MFD_ALLOW_SEALING addr =3D memfd_alloc("vhost-inflight", mmap_size, F_SEAL_GROW | F_SEAL_SHRINK | F_SEAL_SEAL, &fd); -#else - vu_panic(dev, "Not implemented: memfd support is missing"); -#endif =20 if (!addr) { vu_panic(dev, "Failed to alloc vhost inflight area"); diff --git a/subprojects/libvhost-user/meson.build b/subprojects/libvhost-u= ser/meson.build index f9ecc534cf..ac228b5ba6 100644 --- a/subprojects/libvhost-user/meson.build +++ b/subprojects/libvhost-user/meson.build @@ -2,7 +2,19 @@ project('libvhost-user', 'c', license: 'GPL-2.0-or-later', default_options: ['c_std=3Dgnu99']) =20 +cc =3D meson.get_compiler('c') + glib =3D dependency('glib-2.0') +foreach h, syms: { + 'sys/mman.h': ['memfd_create', 'MFD_ALLOW_SEALING'], + 'sys/fcntl.h': ['F_SEAL_GROW', 'F_SEAL_SHRINK', 'F_SEAL_SEAL'] } + foreach sym: syms + cc.has_header_symbol(h, sym, + args: ['-D_GNU_SOURCE'], + required: true) + endforeach +endforeach + inc =3D include_directories('../../include', '../../linux-headers') =20 vhost_user =3D static_library('vhost-user', --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607461088; cv=none; d=zohomail.com; s=zohoarc; b=dtdOFr9oymQPcAegJ/1SD2LxFsbkY/71KBV4rYScGr1c50TOoXLKPBz5/td39KsElX3C3DW36YfAPgJTxjfQDOGDoCTDQmf2cq8SXmXNkio2+ssY2k7l0C7FYvb+oJUswl4fmVIOjMSD/M9mP9zPz2SU1/b9P5EdrdBezlp6caM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607461088; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=B+6W9Mb9rZ+usz8UfiPZvbML2zO+iX6F0+pPim0euZE=; b=JLp9HeTQwogMHpVXB0A6r4L4RHlowSQSp3UQxLdv3xvs80RUXYXJR8pYDRR+zpWXk9As3dCqpJn9TaendMDO/+vUO636O90umBI5kGXkldggxb/CMzNDmA6591/mwS1V/nggrTnarYXGf1WixIW5EB/M/xkg3GxjJiUYkTFB65Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607461088917150.61582862660327; Tue, 8 Dec 2020 12:58:08 -0800 (PST) Received: from localhost ([::1]:46998 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjNx-0005yL-Nk for importer@patchew.org; Tue, 08 Dec 2020 15:14:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50116) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminA-0007MO-Ii for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:56 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:53074) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmin8-0005lW-HA for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:36:56 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-15-odSgHrXaMIej9oPj8EGMsQ-1; Tue, 08 Dec 2020 14:36:50 -0500 Received: by mail-wr1-f69.google.com with SMTP id q18so1162212wrc.20 for ; Tue, 08 Dec 2020 11:36:50 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id q25sm6232392wmq.37.2020.12.08.11.36.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=B+6W9Mb9rZ+usz8UfiPZvbML2zO+iX6F0+pPim0euZE=; b=UGLlwKokhYvI7RNglwD9zz+KGmWhu0UCyX6BgA7QOO57X6p65xmCSoF6Wy5sfIPB+r6FwA ozDgOuXvrt6W1rFLcqT0U0odCusRpWHdyuIQso44qKDynX+W4aVHwKuG1lgYmJAbGXPSUS 0HwDDpMJ3FFWU0vwhFSKKcOa1bSDJSM= X-MC-Unique: odSgHrXaMIej9oPj8EGMsQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=B+6W9Mb9rZ+usz8UfiPZvbML2zO+iX6F0+pPim0euZE=; b=Hkr+Axk4d5jE3opfMvtF3on9b/hwH3YMcfenGynwNdf2VFj4iiMqnuAR185DLJpX+b i1dVIolA4JnLIi0iFW0DEwme07DtgTza28bHzbnFAHFmlDX533oVPO3RXAG05JhyySR+ +0birKdoWoneRTGuSHx5ULKHvg6qg3J5xvIOe+cHK8NIlfOpBGy5MjDlQhFjGxVVvXlK I6PA2rE/7nfBeat+Sk70ogA6S+BI/VI+Kj4hsWEgZqRdr1jIeHufJ0IqhIBsC7kFC3rl VOe5jOLVnsD6QfiZp3ni6JxVC8B0jhkUaayMMBLZqxThgOMBuZr4FS1OEwPPxI+JBLm3 HJLA== X-Gm-Message-State: AOAM5332zzzaitSTARuHVSfAaewiMy8sdel/Sd8ESDKruNAou/hCtOhi xylsxbHEt2pxC7j/mnfUehyEm47x+Cn3yIil3ABVwVNBzUHEsjZTcMA3c/ssoNFGeNTkVHIB8+t jsEi8HSlBxH1xzzeplMO3CYPhmXZkfxZz00kab/OhXZENQocf49uOfU2AvF72 X-Received: by 2002:adf:bb89:: with SMTP id q9mr9381362wrg.250.1607456209498; Tue, 08 Dec 2020 11:36:49 -0800 (PST) X-Google-Smtp-Source: ABdhPJzuc8YAvmWnIcZ0d7IVUuFZr4XeCnEVcFVqIBXDhU9J/82SYxqrV2Ia00qpHQO+q0MAOM3MvQ== X-Received: by 2002:adf:bb89:: with SMTP id q9mr9381345wrg.250.1607456209324; Tue, 08 Dec 2020 11:36:49 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:45 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 50/66] libvhost-user: add a simple link test without glib Message-ID: <20201208193307.646726-51-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20201125100640.366523-8-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- subprojects/libvhost-user/link-test.c | 45 +++++++++++++++++++++++++++ subprojects/libvhost-user/meson.build | 4 +++ 2 files changed, 49 insertions(+) create mode 100644 subprojects/libvhost-user/link-test.c diff --git a/subprojects/libvhost-user/link-test.c b/subprojects/libvhost-u= ser/link-test.c new file mode 100644 index 0000000000..e01d6eb1fa --- /dev/null +++ b/subprojects/libvhost-user/link-test.c @@ -0,0 +1,45 @@ +/* + * A trivial unit test to check linking without glib. A real test suite sh= ould + * probably based off libvhost-user-glib instead. + */ +#include +#include +#include "libvhost-user.h" + +static void +panic(VuDev *dev, const char *err) +{ + abort(); +} + +static void +set_watch(VuDev *dev, int fd, int condition, + vu_watch_cb cb, void *data) +{ + abort(); +} + +static void +remove_watch(VuDev *dev, int fd) +{ + abort(); +} + +static const VuDevIface iface =3D { + 0, +}; + +int +main(int argc, const char *argv[]) +{ + bool rc; + uint16_t max_queues =3D 2; + int socket =3D 0; + VuDev dev =3D { 0, }; + + rc =3D vu_init(&dev, max_queues, socket, panic, NULL, set_watch, remov= e_watch, &iface); + assert(rc =3D=3D true); + vu_deinit(&dev); + + return 0; +} diff --git a/subprojects/libvhost-user/meson.build b/subprojects/libvhost-u= ser/meson.build index ac228b5ba6..76e83c0cec 100644 --- a/subprojects/libvhost-user/meson.build +++ b/subprojects/libvhost-user/meson.build @@ -22,6 +22,10 @@ vhost_user =3D static_library('vhost-user', include_directories: inc, c_args: '-D_GNU_SOURCE') =20 +executable('link-test', files('link-test.c'), + link_whole: vhost_user, + include_directories: inc) + vhost_user_glib =3D static_library('vhost-user-glib', files('libvhost-user-glib.c'), include_directories: inc, --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459059; cv=none; d=zohomail.com; s=zohoarc; b=d4I1dpbqTFGFXt0uFyOPrn7jUmxzXR1gytwre4RsqnofR5zQ52t6ITqmysmgpMHBMrAwV4BUwLxZPUAiARCGQuUNwdITuMMate+o9UNvScWFDQVb/dfjtTBAI8JVGExjZ0h75u2YYz2J6JKsvoNJDmWEqebmMQtMcqgEeRF8g8M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459059; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Cmy8dzKxb5dkMOpVo6KH3hOeRH+OpUhJIkOvuYngI4A=; b=GP7Zcls8I6MCdKj0W+O24uHtd6BXDgqcOdLCIRH5p6srDaFVFV9nOIb6x59u8hmPRLo8zQk+L6wwOQL24BhhrMfjS8pmllUs0Y5Lz7r2hk7oB/lo+c7LmyDKtn599KGcHCg9YsP4PnjfdWT0VNQRdxb5FK2jOEuxws1wfOj/1BQ= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459059406721.7469607578527; Tue, 8 Dec 2020 12:24:19 -0800 (PST) Received: from localhost ([::1]:55372 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjRf-00016z-FL for importer@patchew.org; Tue, 08 Dec 2020 15:18:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50142) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminG-0007QA-DA for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:02 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:20277) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminB-0005mc-7v for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:02 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-58-1_0S7bQPNOGhrYLAMDOCOA-1; Tue, 08 Dec 2020 14:36:54 -0500 Received: by mail-wr1-f72.google.com with SMTP id w8so3199416wrv.18 for ; Tue, 08 Dec 2020 11:36:54 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id v20sm5253740wml.34.2020.12.08.11.36.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Cmy8dzKxb5dkMOpVo6KH3hOeRH+OpUhJIkOvuYngI4A=; b=PegM5wh3nqf3oWmG3pB1wiZLOjarIMQG+q/QyXjb6xVfqiJhOzigwIUhopYS4WqBwhFydJ pEMN9xwpzWhZH4/0JlWP8+HFhsw15vCHpe5+QAbDudDVDLBdNB5nvisyZgJhwcqG7OABec 9mGdtZtVCzWpe4hzqlKtbDwP2W00vtU= X-MC-Unique: 1_0S7bQPNOGhrYLAMDOCOA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=Cmy8dzKxb5dkMOpVo6KH3hOeRH+OpUhJIkOvuYngI4A=; b=SGvJtjfU/XYI6sbUn3Oj+2WI3nKfwjFP1d1dioQjvaxPCq2cl/km7PuKIJqY3iis1O sidSJPKje6Mq19u3EDLeyHIaHnTHVRnzMTPx46QKgetfWOybL5yczHRiwURbE4ERSlbG uoE878xywNwpo7oHzDRGtkE76UHt9H4sdXfAV4kBx4iCRabUHv/pDBP4LsCam5erOs8K g1FDCkNtSu+zkooCLi9UncHGei481Whtwcmd4iUrQ7zydI/1a1xXKQMNJ4Yi948a2Q6X 8KEbg4YeMzbBUcIEGwCLYIKhEnMElnUZc/EdLO6jP7ysdMvODZcSxnJ+jhZgRZ+a6US+ v+Wg== X-Gm-Message-State: AOAM5322mty126EFs9MEmKXLoGynFc9PRfu/81Qa5SMfWwSmmWOt+Qte s2Sj6ga1ell5CqpFSDH7HLybRxBUtkmtyhnZmJZYgTRuz4ccHBBx5EgckyhxzZ/A+X7MnMMnBhg bmNChxqiyr0UHnmjB0hxWTffEPL7QCoAtmN/mo0riJSXp/yB6j/EvFw33zU2z X-Received: by 2002:a5d:4682:: with SMTP id u2mr23888382wrq.265.1607456213261; Tue, 08 Dec 2020 11:36:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJzxhigiEXXGR438EtbFdiqP94sc/C96yswvvKn/+tbQUhJZJb94u17bREbNm3Z9qcKZd0fohA== X-Received: by 2002:a5d:4682:: with SMTP id u2mr23888366wrq.265.1607456213099; Tue, 08 Dec 2020 11:36:53 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:49 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 51/66] .gitlab-ci: add build-libvhost-user Message-ID: <20201208193307.646726-52-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Thomas Huth , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau , Alex =?utf-8?Q?Benn=C3=A9e?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20201125100640.366523-9-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- .gitlab-ci.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d0173e82b1..e517506c35 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -455,6 +455,17 @@ check-dco: variables: GIT_DEPTH: 1000 =20 +build-libvhost-user: + stage: build + image: $CI_REGISTRY_IMAGE/qemu/fedora:latest + before_script: + - dnf install -y meson ninja-build + script: + - mkdir subprojects/libvhost-user/build + - cd subprojects/libvhost-user/build + - meson + - ninja + pages: image: $CI_REGISTRY_IMAGE/qemu/ubuntu2004:latest stage: test --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607460821; cv=none; d=zohomail.com; s=zohoarc; b=U/JeaC9YHVGGu5I30wzZAVh4f45jR30mHa9xnbg9l78WJmShLH/ky5zoX76X7KqR1d5mTtDOeK4eSoJc96MoCkJFUsEXE9x2KQVv37d2TZQ0xH59RNdDwf5gVMwT1fdZyaV+VJuaKNpfE2ngFHzhzbou4O+xONW/FqX3BTCh+38= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607460821; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=j9H1uI5lMJn6lpI26L/tMaP17cyPrnspRPrI7rHkTu4=; b=BipQ1O4H4XQ8dQ5fc4FV/0UIsD2piKbmcH3iiifnOGvPAdkMT4mGARDuyq1WTKS7m9DDqZFtGVxwVRaSKx7pp2R4UVvwKS0gME/U9RmZ6UKU7fKrS1uMNd6ltM2VBtIbEKOocadKNsdeMUwEOFMhd6q5FLQYXM4vR5qwh8CT5+4= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607460821916564.9319249559735; Tue, 8 Dec 2020 12:53:41 -0800 (PST) Received: from localhost ([::1]:46264 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjNs-0005gT-AK for importer@patchew.org; Tue, 08 Dec 2020 15:14:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50154) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminI-0007TO-1V for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:04 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:45344) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminG-0005mr-C3 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:03 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-84-E-L2k4DZMlKRd8geu0v1EA-1; Tue, 08 Dec 2020 14:36:58 -0500 Received: by mail-wr1-f72.google.com with SMTP id o17so40019wra.8 for ; Tue, 08 Dec 2020 11:36:58 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id h20sm5163944wmb.29.2020.12.08.11.36.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:36:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=j9H1uI5lMJn6lpI26L/tMaP17cyPrnspRPrI7rHkTu4=; b=btuXVKGKTT5tTIhpuqDk+KROMLEkKWilV+FY6m28DdlgLzcDNPoEwfYIUtvUAZ5WeROCS0 IZqLaNN4R25qEnHEKFgZ17rPGocE4TCn2wyF2Up474PbNqINzPqEQcwxLYtpTflitdj2Wf 335QLHsFkkxdINQahKjEIHbbc0Z8vbA= X-MC-Unique: E-L2k4DZMlKRd8geu0v1EA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=j9H1uI5lMJn6lpI26L/tMaP17cyPrnspRPrI7rHkTu4=; b=JVWDWXRLy7Xi9WX+Od3tzSZh2HZMDMQ9/z8YBWk37XuoHomlyrvfo76ClbfxeSGlKk MjB/e5X7ZL11uLzF7IQzaANbKS0ko/cv64wJ0QHGFA1O+d74JMCpca2bbSDOBjpSbGC7 WnAzm8y7WlpSPDQzxA3PWtvwFRl/G4Yfmc1fGMb1YZmenxGj7QVOsntYWPzViJpTTksJ HZTliuBMtGDbEttNs7BdP1EPYfCGTbZ6UQ3kWgpEOMF1GQg/eGEHL5YmY4GIs/9V4jut Gv9SfH88g4MFALRSL3k4lfyIdiLvRHArFhRyX35yNrzu2oxY5LXQiGxvi8cjG5bF7mP5 WG+w== X-Gm-Message-State: AOAM530noKIspcMCojnSkVkfMNnIWhT50wREki1DUaXFvih46AizJZvs 1vUypIbibcokZE68DPyVQMK3dt0Fzey5lyacWB1GtcWleWaboXMOfm4lvr1UaZWp4i6jaI8fyAZ BNISLMpxewoeT+e3ehRIfV7irMeDgHNzWblozjfrBv86PgNJ/Vn8w9ry48KZ5 X-Received: by 2002:adf:ef4c:: with SMTP id c12mr27395491wrp.242.1607456217246; Tue, 08 Dec 2020 11:36:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJxb10xaa7/6KvL/OSLL68eU0jY3E1ivEwAfif3kwDujivIcs0OP+EcrQyqqANf++ochGBquIg== X-Received: by 2002:adf:ef4c:: with SMTP id c12mr27395468wrp.242.1607456217081; Tue, 08 Dec 2020 11:36:57 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:53 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 52/66] contrib/vhost-user-blk: avoid g_return_val_if() input validation Message-ID: <20201208193307.646726-53-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Markus Armbruster , Stefan Hajnoczi , Raphael Norwitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stefan Hajnoczi Do not validate input with g_return_val_if(). This API is intended for checking programming errors and is compiled out with -DG_DISABLE_CHECKS. Use an explicit if statement for input validation so it cannot accidentally be compiled out. Suggested-by: Markus Armbruster Signed-off-by: Stefan Hajnoczi Message-Id: <20201118091644.199527-2-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/vhost-user-blk/vhost-user-blk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contrib/vhost-user-blk/vhost-user-blk.c b/contrib/vhost-user-b= lk/vhost-user-blk.c index 6abd7835a8..d14b2896bf 100644 --- a/contrib/vhost-user-blk/vhost-user-blk.c +++ b/contrib/vhost-user-blk/vhost-user-blk.c @@ -403,7 +403,9 @@ vub_get_config(VuDev *vu_dev, uint8_t *config, uint32_t= len) VugDev *gdev; VubDev *vdev_blk; =20 - g_return_val_if_fail(len <=3D sizeof(struct virtio_blk_config), -1); + if (len > sizeof(struct virtio_blk_config)) { + return -1; + } =20 gdev =3D container_of(vu_dev, VugDev, parent); vdev_blk =3D container_of(gdev, VubDev, parent); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459225; cv=none; d=zohomail.com; s=zohoarc; b=iO2pCoIWx6ciob/tO9ltmfIfzt0xjXaFVwwN1lUfA26T5yxriilViiqPZkTVwO0CUA2kgAIloybBecgvF7I4Tae4Srpj+cmNXc2Y4h8HIPUHRLHrlHmJjVgIKoqJP+YjqGJ91sXrukpmHsIli0IB+ghYkXxthYVcQ9P0LDS71OU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459225; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=c0kBt8I1oCPYpFP4q5PRaWZkMHzl2YDLms+Egf+MHrY=; b=mh/87w1Zlp7hdVfwd+EBR7rQWtVah8GwTd889Xdd24RlBxQ4k3hqkt+ZGTtUeajO70Iter295dN9FqjZx/fvNOdiIwzx5W5B7v7p85J417GE2S53Pdp4dFFgg3Zss9NETnAvCijPTf1jY9AQHPRNyOzXIfcwWe+bq34vrWAhtb8= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16074592251221000.3952484107082; Tue, 8 Dec 2020 12:27:05 -0800 (PST) Received: from localhost ([::1]:51022 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjPO-0007fA-QO for importer@patchew.org; Tue, 08 Dec 2020 15:16:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminP-0007eF-Ru for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:12 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:40230) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminK-0005nx-00 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:11 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-497-woOzQdT2OIeYHbT-2VxTPg-1; Tue, 08 Dec 2020 14:37:02 -0500 Received: by mail-wr1-f71.google.com with SMTP id z6so6544551wrl.7 for ; Tue, 08 Dec 2020 11:37:02 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id 65sm19646106wri.95.2020.12.08.11.36.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=c0kBt8I1oCPYpFP4q5PRaWZkMHzl2YDLms+Egf+MHrY=; b=D+pJ90ok+QTlUVucUc2j0ahx/+wRlO5W1OcIteQJknlr4QM8iusFOjgL/KuAQwHf4xReo7 2UBCzJ4iHyZQZorS2XlXZLXOweTpq7gh3PQFIv6E1f+bH8lY3SREWUQtDYBDeTtMw6p7lM bsQ5UlL+BN2AqJMfBbOloFK0MhJ9Qx8= X-MC-Unique: woOzQdT2OIeYHbT-2VxTPg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=c0kBt8I1oCPYpFP4q5PRaWZkMHzl2YDLms+Egf+MHrY=; b=tlpTLB8ltTmhuOEhw1N9sFvIahuu4yBSjHQsqwWCxuLu+/D8k5wU8TLIUvpPGCovB6 mpEIvIr2kuQQaj3vFS9YX6tcGjs1Yd/4GMK7mdRzupsNxdc0dRgVQwAD3l2jdsH9qO1I LKKx0K/51WInBAQYegSWFMHyeRTnCApadoP9BRSSfwertbz7aOQaBpxYFtf54eNwIyjl hY/hSNhcyU98WSOdk2+8dq61zdsH5leSHkoASyu3pY4i9M7FFO3QwRXeBo9BFBVAC/FM SK6ZGJMCdHOdXboNN9B2sXwqWNEXAc6SozUJa82qfKt+S0NyF6yrbLK1S2Syk2P9fbrn 3J/Q== X-Gm-Message-State: AOAM533id2R3JgyDbvbk9wnwJCYkdijywoiyg/1IJa0ghHAMtmPIT4th EttfZMqKvSrRAb+6DKJDf6uhhU1bFhd/S2tZPM1HNAg3pqcbngPArWhC4C9GwSKWOjEupqaSLPL TR9xRI82Ktqd8YyeEo99+B1f4m69pE919WQxGLAPD24+9R3vrvFaj+NPX+ugM X-Received: by 2002:adf:f401:: with SMTP id g1mr3635818wro.258.1607456220849; Tue, 08 Dec 2020 11:37:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJy8pWgJziB6ytnibla5JGKT3KYD9LSBdrSIYc2iH2YAy86FLJSU/8SEkAkrucX4IiG4YLP29A== X-Received: by 2002:adf:f401:: with SMTP id g1mr3635799wro.258.1607456220634; Tue, 08 Dec 2020 11:37:00 -0800 (PST) Date: Tue, 8 Dec 2020 14:36:57 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 53/66] contrib/vhost-user-gpu: avoid g_return_val_if() input validation Message-ID: <20201208193307.646726-54-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Gerd Hoffmann , Markus Armbruster , Stefan Hajnoczi , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stefan Hajnoczi Do not validate input with g_return_val_if(). This API is intended for checking programming errors and is compiled out with -DG_DISABLE_CHECKS. Use an explicit if statement for input validation so it cannot accidentally be compiled out. Suggested-by: Markus Armbruster Signed-off-by: Stefan Hajnoczi Message-Id: <20201118091644.199527-3-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/vhost-user-gpu/vhost-user-gpu.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contrib/vhost-user-gpu/vhost-user-gpu.c b/contrib/vhost-user-g= pu/vhost-user-gpu.c index a019d0a9ac..f445ef28ec 100644 --- a/contrib/vhost-user-gpu/vhost-user-gpu.c +++ b/contrib/vhost-user-gpu/vhost-user-gpu.c @@ -1044,7 +1044,9 @@ vg_get_config(VuDev *dev, uint8_t *config, uint32_t l= en) { VuGpu *g =3D container_of(dev, VuGpu, dev.parent); =20 - g_return_val_if_fail(len <=3D sizeof(struct virtio_gpu_config), -1); + if (len > sizeof(struct virtio_gpu_config)) { + return -1; + } =20 if (opt_virgl) { g->virtio_config.num_capsets =3D vg_virgl_get_num_capsets(); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459160; cv=none; d=zohomail.com; s=zohoarc; b=RajmFl/hfdm8FY71kMu+I1XQ2yYf5A79ojWzNNGP87hI4Tk5oZhaS41Vj/yZ1ZzZ5bVcQx8mBb75H4TFNBlN50hGEBupOM+bmPXwJI+8FIG+jjDmCL3NGae77D0DrsWH44/N1Cold6RH/uCh2oWHjJ1Ca7KXi9VOr9HzYacq6/k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459160; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EjFghi3WS2AvoBsu5lJuVir5yWvf/AU0cavtmFT/jVA=; b=PW1svWYLwnKkNhTlGAyckwDOdzFpds6OcQMsSJ+HL6EiDF3FFKUG2CSOEFEVhCrjyzmOTtCW2p7CeQZc5tz68i4bdi/vZ9pkTORBMtbToq+kC81Fczs/ZHujd/CpflPFv18e1BmQIeuLeLoe5iHp6bTTRENX2YqejmPVpXTsbkw= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459160066776.4099474985934; Tue, 8 Dec 2020 12:26:00 -0800 (PST) Received: from localhost ([::1]:44314 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjYc-0008Re-Jr for importer@patchew.org; Tue, 08 Dec 2020 15:25:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50220) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminQ-0007fI-FG for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:12 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:26519) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminM-0005p4-0o for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:12 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-190-PHQV7t3SMAu9z9djwYJQxQ-1; Tue, 08 Dec 2020 14:37:05 -0500 Received: by mail-wr1-f70.google.com with SMTP id o12so1750792wrq.13 for ; Tue, 08 Dec 2020 11:37:05 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id i16sm2931777wrx.89.2020.12.08.11.37.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=EjFghi3WS2AvoBsu5lJuVir5yWvf/AU0cavtmFT/jVA=; b=MBEJOv+7z4WTd+NQIaWRmadjMKQXfOXWrO86G+Banh+UdcRiExa8h3A7WiorLHu9FBz3BY 1KuMHYgEjooB6MOMziPjj17Y57Z2mibr8bD0TqrrnbhpGew3TGhwuqger395t+3ZEzfZXz WYRzvq02axSoEeOw5wdsW6MgPBiCprI= X-MC-Unique: PHQV7t3SMAu9z9djwYJQxQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=EjFghi3WS2AvoBsu5lJuVir5yWvf/AU0cavtmFT/jVA=; b=jVjsj1gESkv9BgbxHGc27yw5p9g6qQYcyMOCSGX8a2ljan1SPQ0EVxbwr3McceZy5r 7mTBsTl4GtBOWjV+8ZaToI8xCN72HbG2oRVaKXpgD8RxRRN6MldTrXmMzeTCNoGdrIQ1 DarCg9/jUZQsBH3XxZKFx7h4cMN2o7333Dj1nmQYy5WvW2WZYrtpz6WglGVTG10jZCfj 37P12lMBFHRf/BQpl+Eck/sR4CYA6pOejbK4eFLWc1gDSraDkVNSRzWIS/bH3iOTXIWi omC63y/FTuHiQLwdoEumPNcFet63x8W06T2IgIdAJFhJOjm7sdJ5suZkL+GU+qRIfvL0 gu6A== X-Gm-Message-State: AOAM530i8C6RnViLlKBVTPcYmZn7msZsdz5ldxjLFD8nvbt49sHLNyKc ot4yeAiX7gvDf63PH/A6SDtkUM/edJpdIsl+ZS7W4ZAF949p2Tgk3T30/mCnTjky/8v57s9ys05 O2ZbC4j0u7HmUPBjqIOZ8LYvxLfsb38zWFe6d6z/gdUaJhakduxkyFIB415vo X-Received: by 2002:adf:90d0:: with SMTP id i74mr27302874wri.288.1607456223914; Tue, 08 Dec 2020 11:37:03 -0800 (PST) X-Google-Smtp-Source: ABdhPJzs0QvlWo8v9D34EU1dvh2L7HZAhIZh/Jado+tnPzg/+zSz8oWHlh1byt7hFpa+Kh5gCEpKDg== X-Received: by 2002:adf:90d0:: with SMTP id i74mr27302862wri.288.1607456223756; Tue, 08 Dec 2020 11:37:03 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:00 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 54/66] contrib/vhost-user-input: avoid g_return_val_if() input validation Message-ID: <20201208193307.646726-55-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Markus Armbruster , Stefan Hajnoczi , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stefan Hajnoczi Do not validate input with g_return_val_if(). This API is intended for checking programming errors and is compiled out with -DG_DISABLE_CHECKS. Use an explicit if statement for input validation so it cannot accidentally be compiled out. Suggested-by: Markus Armbruster Signed-off-by: Stefan Hajnoczi Message-Id: <20201118091644.199527-4-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/vhost-user-input/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contrib/vhost-user-input/main.c b/contrib/vhost-user-input/mai= n.c index 3ea840cf44..d2de47cee7 100644 --- a/contrib/vhost-user-input/main.c +++ b/contrib/vhost-user-input/main.c @@ -211,7 +211,9 @@ static int vi_get_config(VuDev *dev, uint8_t *config, u= int32_t len) { VuInput *vi =3D container_of(dev, VuInput, dev.parent); =20 - g_return_val_if_fail(len <=3D sizeof(*vi->sel_config), -1); + if (len > sizeof(*vi->sel_config)) { + return -1; + } =20 if (vi->sel_config) { memcpy(config, vi->sel_config, len); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607461058; cv=none; d=zohomail.com; s=zohoarc; b=AunyfyiVb5lthw4qdcWtTPKhSnDicwmbe5vyTUDLcnm4pUClFNY6akVsrV6Rm/u/LUMwnzjYiv7csS4FzE1eueem8FRf0q//UrlCJj7CilJtd+X4zwZLmcJSgqhtvDUlp4iygBF7xADLv4sityvardaZ93BQk8RIaq4FjutBpX4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607461058; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bOnIWc8QuS0vqpM39al5k9XO8qlC2v1q1F92knb7erU=; b=gHKqvNeccIv3+ZEg6U2N2p4ON+6/KAvqyDDW33ZGKBpUClBe6//Xh7ENtFEwX4wBscHgEWhOZIU32PcgYvFxvnzjF88515fiWNSGZHHeOxRmTRyk+tKxq4GvSITfZUBqfV4xTZC8lKJh0aNDcBPcUnz5/oEviWAsB4LHQ6vjBTk= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607461058754332.05806933202587; Tue, 8 Dec 2020 12:57:38 -0800 (PST) Received: from localhost ([::1]:59420 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjTv-0002qQ-Ek for importer@patchew.org; Tue, 08 Dec 2020 15:21:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50242) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminS-0007kF-Ss for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:14 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:41992) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminR-0005rW-B6 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:14 -0500 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-407-06UTAj8HOWKWFzwCWP9okg-1; Tue, 08 Dec 2020 14:37:10 -0500 Received: by mail-wm1-f69.google.com with SMTP id z12so1269708wmf.9 for ; Tue, 08 Dec 2020 11:37:10 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id w13sm11820806wrt.52.2020.12.08.11.37.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bOnIWc8QuS0vqpM39al5k9XO8qlC2v1q1F92knb7erU=; b=NYs0JCushRi2Yfk1Er0MzaTSmM7Any6NikslAiSez83tZysL35G2jPGwZOMoyN/iKC0lI/ eBMxXeKcy4gyWSezyAxy8LAgukE5Mnc8SxpT0GrYu8qvnhLB/6S0BfMGLiqQ8xr3HwCIVD hXRx0aIwUhYM74ESBD7RIlZQBnwYwSA= X-MC-Unique: 06UTAj8HOWKWFzwCWP9okg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=bOnIWc8QuS0vqpM39al5k9XO8qlC2v1q1F92knb7erU=; b=efrm+gIs8+0cS6pWpbTGpvz2m+2shKcxG+dWp3RQgHcaNUUdi6j6fn1csd0Bjgihd2 L18wshhO5q6ilNzegP2aYlvcfJWnL6Ca6fHAX+bhl96IZg9bo399rr07FDhMc4vuj+d1 0mNrgLsgLyZaupK67QZToXv4w/bPBoCeNLdGOchlVYjHrJw4pNO9RgJw/UIgepkqyfUR /LQLc3aS3XYzUm8dxG5Eugz25JOoTkPg2Hkb2fHgHlMMBf3950pJEHcYpGC9BEjd0mtF Q+gShC3VHhIk2U64d/Vxx3PLxt6xSxnWZISBlPUqyRravWNaL5wrp90eCli1OaJtKts6 GLHQ== X-Gm-Message-State: AOAM533a1SEN//5+KhKXBYCQi5RfK8XmleWExBKjXocyxJuPzDGADGDg /dI+NMDWLd/PcRzwcWgHr+mAByqEMjyiLBm2AQRT/US3NNDr7fYoNavAyXo0+EcLjSnPvf8+1ml +5vI4EdkYqdk8glhCe5YES72qJwZaGyPIzAgMQjPvcp9UhJ/QawUthFFIDHJh X-Received: by 2002:a5d:6a05:: with SMTP id m5mr3197444wru.96.1607456228806; Tue, 08 Dec 2020 11:37:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJz3na8QVS0+mSjcGAcixVymgdAvNRDXFN9xMPtijFv05zE9fT5NUZHx6HmjW4xBFL6tjRSwsQ== X-Received: by 2002:a5d:6a05:: with SMTP id m5mr3197414wru.96.1607456228536; Tue, 08 Dec 2020 11:37:08 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:03 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 55/66] block/export: avoid g_return_val_if() input validation Message-ID: <20201208193307.646726-56-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , qemu-block@nongnu.org, Markus Armbruster , Coiby Xu , Max Reitz , Stefan Hajnoczi Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stefan Hajnoczi Do not validate input with g_return_val_if(). This API is intended for checking programming errors and is compiled out with -DG_DISABLE_CHECKS. Use an explicit if statement for input validation so it cannot accidentally be compiled out. Suggested-by: Markus Armbruster Signed-off-by: Stefan Hajnoczi Message-Id: <20201118091644.199527-5-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- block/export/vhost-user-blk-server.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/block/export/vhost-user-blk-server.c b/block/export/vhost-user= -blk-server.c index a3d95ca012..ab2c4d44c4 100644 --- a/block/export/vhost-user-blk-server.c +++ b/block/export/vhost-user-blk-server.c @@ -267,7 +267,9 @@ vu_blk_get_config(VuDev *vu_dev, uint8_t *config, uint3= 2_t len) VuServer *server =3D container_of(vu_dev, VuServer, vu_dev); VuBlkExport *vexp =3D container_of(server, VuBlkExport, vu_server); =20 - g_return_val_if_fail(len <=3D sizeof(struct virtio_blk_config), -1); + if (len > sizeof(struct virtio_blk_config)) { + return -1; + } =20 memcpy(config, &vexp->blkcfg, len); return 0; --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459259; cv=none; d=zohomail.com; s=zohoarc; b=S4A3WlOIMCry8Krpgez+WPK6YfVZChBU7yVR0WbjpvlTiRvJmm7FP3K4g/EIDdniLCJ/iHYhNafemlJIYy6lcgjUKueha5P2vh3qRu24knPmqBmKNTc1HOYUbV0ChPi+3jhiNubwi/z+BnZfJ+5RAKJkEpV43NRhVRvBJkCitC4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459259; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GgqegJ2AwPrrSt1c+ZG97wYMfpCS+LJtHRAzqe50o9Y=; b=DYD4LtPsbuO0uF9rG44C67TJzH3Fj5wSZukGlCsOxjXxwMkwjk19nKyaFkVEVmuCJPOvVWten3Hfjlztw3Kkx/icRGCv5Q95Cd9PdgCZCSZ4H2dqKD0+OMx8LnV7HmLEdzkOl9Vd0LZbR+MXGiUhZ4teEV4wMBM2FASGVrw3Hsw= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459259746217.82846233370356; Tue, 8 Dec 2020 12:27:39 -0800 (PST) Received: from localhost ([::1]:55676 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjS4-0001Fn-5g for importer@patchew.org; Tue, 08 Dec 2020 15:19:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50296) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminY-0007sG-Sb for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:21 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:56654) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminV-0005th-Py for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:20 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-158-5d5BvvxIN5mb_51YnwrscA-1; Tue, 08 Dec 2020 14:37:13 -0500 Received: by mail-wr1-f71.google.com with SMTP id d2so2248139wrr.5 for ; Tue, 08 Dec 2020 11:37:13 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id c1sm4929869wml.8.2020.12.08.11.37.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GgqegJ2AwPrrSt1c+ZG97wYMfpCS+LJtHRAzqe50o9Y=; b=Eyi0hfMHF142gyA9DESQhHGRzoo1XyMx81CVhg9CXG8EPj5852XA01qzFTi6ZIsv+rTx+g qHF3qt/eRYRwApJB09Xvjzq+2aNfjjpumfhiMe4FyCERSYb44nFUUAx1GDD/RpoNFl4hUv GzaMAZ6mYvTrt18VRgxUKklYBo/6vIE= X-MC-Unique: 5d5BvvxIN5mb_51YnwrscA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=GgqegJ2AwPrrSt1c+ZG97wYMfpCS+LJtHRAzqe50o9Y=; b=EjXfvEtTNqD/yHLmVQXGAuJdUUoBTwL/0zuJ3kQoa3rX8IJBnsW0ldNHLLlqKYZSbd fzOmAzVTrLgFOzvUFDsZPgwaHFhdWFfRTtbwDhfBAsrtZlaJX5MfaDoeG/DAbJnDgO2j mjk5NewlVLf5mc/WlTYYbmvp03xBCNUQGRZpZx8GkquM5n4UmBxrocxcXsAmBH30Czdf /ghlwzqtoHU/bMmRu0iHH1oi2gq9OjUmzBxXRqYt6bHY3/BppAnAtpFBg5oR+WhKLtYB V1gc1ssvRe6hVnDTD2AssVoFZSOuJnNU1bOJnOHkor2x+YyBQw9vN9MMOcBKg1ut12Wf 4TRw== X-Gm-Message-State: AOAM532emko8hsvwhdfBjXazw+yeMtVceTk1i46TcmUYmGthdS6B/hfg IQKUoLl/TiQ1ci+IPyS3dNde9p32D8yO5pJHZt3v6PZMBYp5kJhJlYTCzhBVi4gGMD+7qHtU3sA NcdLuNMsnaXGAsbK8fCfejwJAvAp0QF+TUyzVbIl1tNE5RYuw870OuBO6TgAt X-Received: by 2002:a05:600c:410d:: with SMTP id j13mr5220381wmi.95.1607456231858; Tue, 08 Dec 2020 11:37:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJzBW3IK5NrY7DNga+YUUaKx2DM3yRyOMSy6vgfo74XVtQS7THs6qSmSSJs0bZ9r/bFiU/mUsA== X-Received: by 2002:a05:600c:410d:: with SMTP id j13mr5220361wmi.95.1607456231592; Tue, 08 Dec 2020 11:37:11 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:08 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 56/66] hw/i386/pc: add max combined fw size as machine configuration option Message-ID: <20201208193307.646726-57-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Eduardo Habkost , Richard Henderson , Erich-McMillan , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Erich-McMillan At Hewlett Packard Inc. we have a need for increased fw size to enable test= ing of our custom fw. Rebase v6 patch to d73c46e4 Signed-off-by: Erich McMillan Message-Id: <20201208155338.14-1-erich.mcmillan@hp.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/i386/pc.h | 2 ++ hw/i386/pc.c | 51 ++++++++++++++++++++++++++++++++++++++++++++ hw/i386/pc_sysfw.c | 15 +++---------- 3 files changed, 56 insertions(+), 12 deletions(-) diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 49dfa667de..2aa8797c6e 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -44,6 +44,7 @@ typedef struct PCMachineState { bool sata_enabled; bool pit_enabled; bool hpet_enabled; + uint64_t max_fw_size; =20 /* NUMA information: */ uint64_t numa_nodes; @@ -60,6 +61,7 @@ typedef struct PCMachineState { #define PC_MACHINE_SMBUS "smbus" #define PC_MACHINE_SATA "sata" #define PC_MACHINE_PIT "pit" +#define PC_MACHINE_MAX_FW_SIZE "max-fw-size" =20 /** * PCMachineClass: diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 7113fb0770..675e15c0aa 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1569,6 +1569,50 @@ static void pc_machine_set_max_ram_below_4g(Object *= obj, Visitor *v, pcms->max_ram_below_4g =3D value; } =20 +static void pc_machine_get_max_fw_size(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) +{ + PCMachineState *pcms =3D PC_MACHINE(obj); + uint64_t value =3D pcms->max_fw_size; + + visit_type_size(v, name, &value, errp); +} + +static void pc_machine_set_max_fw_size(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) +{ + PCMachineState *pcms =3D PC_MACHINE(obj); + Error *error =3D NULL; + uint64_t value; + + visit_type_size(v, name, &value, &error); + if (error) { + error_propagate(errp, error); + return; + } + + /* + * We don't have a theoretically justifiable exact lower bound on the b= ase + * address of any flash mapping. In practice, the IO-APIC MMIO range is + * [0xFEE00000..0xFEE01000] -- see IO_APIC_DEFAULT_ADDRESS --, leaving = free + * only 18MB-4KB below 4G. For now, restrict the cumulative mapping to = 8MB in + * size. + */ + if (value > 16 * MiB) { + error_setg(errp, + "User specified max allowed firmware size %" PRIu64 " i= s " + "greater than 16MiB. If combined firwmare size exceeds " + "16MiB the system may not boot, or experience intermitt= ent" + "stability issues.", + value); + return; + } + + pcms->max_fw_size =3D value; +} + static void pc_machine_initfn(Object *obj) { PCMachineState *pcms =3D PC_MACHINE(obj); @@ -1584,6 +1628,7 @@ static void pc_machine_initfn(Object *obj) pcms->smbus_enabled =3D true; pcms->sata_enabled =3D true; pcms->pit_enabled =3D true; + pcms->max_fw_size =3D 8 * MiB; #ifdef CONFIG_HPET pcms->hpet_enabled =3D true; #endif @@ -1710,6 +1755,12 @@ static void pc_machine_class_init(ObjectClass *oc, v= oid *data) =20 object_class_property_add_bool(oc, "hpet", pc_machine_get_hpet, pc_machine_set_hpet); + + object_class_property_add(oc, PC_MACHINE_MAX_FW_SIZE, "size", + pc_machine_get_max_fw_size, pc_machine_set_max_fw_size, + NULL, NULL); + object_class_property_set_description(oc, PC_MACHINE_MAX_FW_SIZE, + "Maximum combined firmware size"); } =20 static const TypeInfo pc_machine_info =3D { diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c index b6c0822fe3..f8bd3a8b85 100644 --- a/hw/i386/pc_sysfw.c +++ b/hw/i386/pc_sysfw.c @@ -39,15 +39,6 @@ #include "hw/block/flash.h" #include "sysemu/kvm.h" =20 -/* - * We don't have a theoretically justifiable exact lower bound on the base - * address of any flash mapping. In practice, the IO-APIC MMIO range is - * [0xFEE00000..0xFEE01000] -- see IO_APIC_DEFAULT_ADDRESS --, leaving free - * only 18MB-4KB below 4G. For now, restrict the cumulative mapping to 8MB= in - * size. - */ -#define FLASH_SIZE_LIMIT (8 * MiB) - #define FLASH_SECTOR_SIZE 4096 =20 static void pc_isa_bios_init(MemoryRegion *rom_memory, @@ -140,7 +131,7 @@ void pc_system_flash_cleanup_unused(PCMachineState *pcm= s) * Stop at the first pcms->flash[0] lacking a block backend. * Set each flash's size from its block backend. Fatal error if the * size isn't a non-zero multiple of 4KiB, or the total size exceeds - * FLASH_SIZE_LIMIT. + * pcms->max_fw_size. * * If pcms->flash[0] has a block backend, its memory is passed to * pc_isa_bios_init(). Merging several flash devices for isa-bios is @@ -182,10 +173,10 @@ static void pc_system_flash_map(PCMachineState *pcms, } if ((hwaddr)size !=3D size || total_size > HWADDR_MAX - size - || total_size + size > FLASH_SIZE_LIMIT) { + || total_size + size > pcms->max_fw_size) { error_report("combined size of system firmware exceeds " "%" PRIu64 " bytes", - FLASH_SIZE_LIMIT); + pcms->max_fw_size); exit(1); } =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459790; cv=none; d=zohomail.com; s=zohoarc; b=naosEsOdvPud32fT8ZWP+gndsb3YpJLvY77hQVp6keVpru2UE5d20Seb5a5wl7hNsLuCH0SftcE6gm5fSl/5m+ybxK1TCZXu36fbjBZ4bqugxbVYRn9Pw7fA+aUvzwu6ef8ciLGg8twY2nGnP8k5PtdXTSdQdAz01ovrSSIHiTw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459790; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Y6bcvJiA50tTF+KEnd2Ti5O08HtqauxYfsjzK0d3T08=; b=enO743hmUqCZO5fEIJcqe0mPjU7Ba2azEkmwNSA7DQE7KfKZaZjb0DMpRzOjfTOutnL1nNTJVhdsu5QY2JkfIMccFReDBWZQCswguEU0X+ywSmKVzW/jFzZ/PBfR9lmhBQsNJs2Av8gsn11zngY0z0zBCIHNJxhBux7YGKertCY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459790390815.3416863226414; Tue, 8 Dec 2020 12:36:30 -0800 (PST) Received: from localhost ([::1]:41996 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjin-0002lQ-8z for importer@patchew.org; Tue, 08 Dec 2020 15:36:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50982) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmiqS-0001pk-Hs for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:40:20 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:51599) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmiqK-0006eG-L8 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:40:20 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-460-G_iLHWOvO1OsEPR_cZmVUA-1; Tue, 08 Dec 2020 14:37:16 -0500 Received: by mail-wr1-f71.google.com with SMTP id q18so1162663wrc.20 for ; Tue, 08 Dec 2020 11:37:16 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id n12sm12376839wrg.76.2020.12.08.11.37.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Y6bcvJiA50tTF+KEnd2Ti5O08HtqauxYfsjzK0d3T08=; b=fM1mLy75cIY1gEF25rJd8k9Z9H+Hal5sgfQaOa/h7GaA9z5gwLQFmvZ/35y51VtYA0rHLY LeaTRO+ONB0qaoIBbvWi2rL8mnDq6fDXRRSi8m7V7IM/ht7yfGhvzco8W9RPCqbNA5YqqS LOdiUup+B7ZgmR52pYo4YWKs3PAGxMw= X-MC-Unique: G_iLHWOvO1OsEPR_cZmVUA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=Y6bcvJiA50tTF+KEnd2Ti5O08HtqauxYfsjzK0d3T08=; b=Bes5jVgLPQ+tMNyEE7/Fgg98XyNl/GWLFjqbESmC3hH85YfzwPZG/7gZGs1bpGcVZR kZSZSpw02ueClTrQO8RPtoekzoIYR3meKlsEn5ljwkQlt/dADhvQ4xvlmgiPX1tdD8La FkXK0QzQK1ZDRywwPyRrqS/aDDMpOLtp6b6oBFbQUib01nzs6ZBaNWoYSYrmrp+ys0Dq sQankjiItu4ny0v5GXS+jqZamFE+aRuaRtgt2cLafDl1abjAvZh6RbHDneaKPzqnU36H ld/gjWkKBZ2BqiZtppszIGFQS74vtycB8vhA9xomjYEP+VYJfImIQ/9TTPx0fKY1NKur OqnA== X-Gm-Message-State: AOAM532HCNsou1AB5RKC7m9uPNcu5zl7IAdBsTAcsRvAhU+y3NsnwQ0u lw72xCVGvs1ASk0N3z0vfX5w/MWplqFm/cBljNv+zCnACG8PM+ahIqOUTy6c5kFa9mOPx7Q+LPD 4Z9B/6aIdDYH6sGFeJUcBCiQyMzOQJRVGrGR+qg6TRPM+sCBCVKad6f573SWh X-Received: by 2002:adf:cd8f:: with SMTP id q15mr9256485wrj.79.1607456234658; Tue, 08 Dec 2020 11:37:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJwesaqxa95pjwr3X54snNBFbhv6Iv+JAXekEPvdwi8PxhiTbfIqV+p60yR3XDeU8kAwoqnVhA== X-Received: by 2002:adf:cd8f:: with SMTP id q15mr9256459wrj.79.1607456234337; Tue, 08 Dec 2020 11:37:14 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:11 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 57/66] acpi: cpuhp: introduce 'firmware performs eject' status/control bits Message-ID: <20201208193307.646726-58-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Adds bit #4 to status/control field of CPU hotplug MMIO interface. New bit will be used OSPM to mark CPUs as pending for removal by firmware, when it calls _EJ0 method on CPU device node. Later on, when firmware sees this bit set, it will perform CPU eject which will clear bit #4 as well. Signed-off-by: Igor Mammedov Message-Id: <20201207140739.3829993-3-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- docs/specs/acpi_cpu_hotplug.txt | 19 ++++++++++++++----- include/hw/acpi/cpu.h | 1 + hw/acpi/cpu.c | 12 +++++++++++- hw/acpi/trace-events | 2 ++ 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/docs/specs/acpi_cpu_hotplug.txt b/docs/specs/acpi_cpu_hotplug.= txt index 9bb22d1270..9bd59ae0da 100644 --- a/docs/specs/acpi_cpu_hotplug.txt +++ b/docs/specs/acpi_cpu_hotplug.txt @@ -56,8 +56,11 @@ read access: no device check event to OSPM was issued. It's valid only when bit 0 is set. 2: Device remove event, used to distinguish device for which - no device eject request to OSPM was issued. - 3-7: reserved and should be ignored by OSPM + no device eject request to OSPM was issued. Firmware must + ignore this bit. + 3: reserved and should be ignored by OSPM + 4: if set to 1, OSPM requests firmware to perform device eject. + 5-7: reserved and should be ignored by OSPM [0x5-0x7] reserved [0x8] Command data: (DWORD access) contains 0 unless value last stored in 'Command field' is one of: @@ -79,10 +82,16 @@ write access: selected CPU device 2: if set to 1 clears device remove event, set by OSPM after it has emitted device eject request for the - selected CPU device + selected CPU device. 3: if set to 1 initiates device eject, set by OSPM when it - triggers CPU device removal and calls _EJ0 method - 4-7: reserved, OSPM must clear them before writing to register + triggers CPU device removal and calls _EJ0 method or by fir= mware + when bit #4 is set. In case bit #4 were set, it's cleared as + part of device eject. + 4: if set to 1, OSPM hands over device eject to firmware. + Firmware shall issue device eject request as described above + (bit #3) and OSPM should not touch device eject bit (#3) in= case + it's asked firmware to perform CPU device eject. + 5-7: reserved, OSPM must clear them before writing to register [0x5] Command field: (1 byte access) value: 0: selects a CPU device with inserting/removing events and diff --git a/include/hw/acpi/cpu.h b/include/hw/acpi/cpu.h index 0eeedaa491..d71edde456 100644 --- a/include/hw/acpi/cpu.h +++ b/include/hw/acpi/cpu.h @@ -22,6 +22,7 @@ typedef struct AcpiCpuStatus { uint64_t arch_id; bool is_inserting; bool is_removing; + bool fw_remove; uint32_t ost_event; uint32_t ost_status; } AcpiCpuStatus; diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c index f099b50927..1293204438 100644 --- a/hw/acpi/cpu.c +++ b/hw/acpi/cpu.c @@ -71,6 +71,7 @@ static uint64_t cpu_hotplug_rd(void *opaque, hwaddr addr,= unsigned size) val |=3D cdev->cpu ? 1 : 0; val |=3D cdev->is_inserting ? 2 : 0; val |=3D cdev->is_removing ? 4 : 0; + val |=3D cdev->fw_remove ? 16 : 0; trace_cpuhp_acpi_read_flags(cpu_st->selector, val); break; case ACPI_CPU_CMD_DATA_OFFSET_RW: @@ -148,6 +149,14 @@ static void cpu_hotplug_wr(void *opaque, hwaddr addr, = uint64_t data, hotplug_ctrl =3D qdev_get_hotplug_handler(dev); hotplug_handler_unplug(hotplug_ctrl, dev, NULL); object_unparent(OBJECT(dev)); + cdev->fw_remove =3D false; + } else if (data & 16) { + if (!cdev->cpu || cdev->cpu =3D=3D first_cpu) { + trace_cpuhp_acpi_fw_remove_invalid_cpu(cpu_st->selector); + break; + } + trace_cpuhp_acpi_fw_remove_cpu(cpu_st->selector); + cdev->fw_remove =3D true; } break; case ACPI_CPU_CMD_OFFSET_WR: @@ -159,7 +168,8 @@ static void cpu_hotplug_wr(void *opaque, hwaddr addr, u= int64_t data, =20 do { cdev =3D &cpu_st->devs[iter]; - if (cdev->is_inserting || cdev->is_removing) { + if (cdev->is_inserting || cdev->is_removing || + cdev->fw_remove) { cpu_st->selector =3D iter; trace_cpuhp_acpi_cpu_has_events(cpu_st->selector, cdev->is_inserting, cdev->is_removing); diff --git a/hw/acpi/trace-events b/hw/acpi/trace-events index afbc77de1c..f91ced477d 100644 --- a/hw/acpi/trace-events +++ b/hw/acpi/trace-events @@ -29,6 +29,8 @@ cpuhp_acpi_clear_inserting_evt(uint32_t idx) "idx[0x%"PRI= x32"]" cpuhp_acpi_clear_remove_evt(uint32_t idx) "idx[0x%"PRIx32"]" cpuhp_acpi_ejecting_invalid_cpu(uint32_t idx) "0x%"PRIx32 cpuhp_acpi_ejecting_cpu(uint32_t idx) "0x%"PRIx32 +cpuhp_acpi_fw_remove_invalid_cpu(uint32_t idx) "0x%"PRIx32 +cpuhp_acpi_fw_remove_cpu(uint32_t idx) "0x%"PRIx32 cpuhp_acpi_write_ost_ev(uint32_t slot, uint32_t ev) "idx[0x%"PRIx32"] OST = EVENT: 0x%"PRIx32 cpuhp_acpi_write_ost_status(uint32_t slot, uint32_t st) "idx[0x%"PRIx32"] = OST STATUS: 0x%"PRIx32 =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607461085; cv=none; d=zohomail.com; s=zohoarc; b=SSmI18k8MWb10OBVDTKihXpHWH8NPLo+29+hY8CYFfT/0ZTjLb62rBp22Bzd+4V4OfeLY2ud4o+5wOQ1osjrtJTVJBqPacCM4P6m86s97VWhjW7DDfeq87CFeJsA8iv4Md3dM6o1z4hOsSzDwF15OeuisJHmiS8DNylljGmVf18= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607461085; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Ss36U8za5czG2yM1M9Hh0SqAuQfgDaUEj+51fMZlZGs=; b=DQqOE7zm64KrYuKVXRGA2D3ghJNcC465lkwhg9nim06BFv2O/FVg7x/C/9XVc4Iix3C7ak+TTLNhtqwlfHe7LPrwk81zxidFoAgkmPy03JYjtbeNsSgq51X8SbbW5RckU+OSjceQcldch6t4JN72BUI2OpDDSXtKgd3cs812JJQ= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607461085607896.3409721267856; Tue, 8 Dec 2020 12:58:05 -0800 (PST) Received: from localhost ([::1]:35968 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjVz-00052x-KV for importer@patchew.org; Tue, 08 Dec 2020 15:23:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50312) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminb-0007t0-IO for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:27 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:21202) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminZ-0005uJ-VP for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:23 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-353-906L-6uMMsW3CWEwttcJ6w-1; Tue, 08 Dec 2020 14:37:19 -0500 Received: by mail-wr1-f69.google.com with SMTP id d2so2248246wrr.5 for ; Tue, 08 Dec 2020 11:37:19 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id z3sm16744817wrn.59.2020.12.08.11.37.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Ss36U8za5czG2yM1M9Hh0SqAuQfgDaUEj+51fMZlZGs=; b=d2xpslLo4iqIEFfVRGwo31XtPcJ5gJpAInWOgkkEJp7abgzxZ87slKZXhF0IcJlECJrdsx 05MA2QxNUc7g0FPyUVZLXmdQTyg8rDVc+BqiBcYsa6JVAwd25mWVVsUVTeyDZ1nJJc+lCQ TZCM/SD17rGjDWZ5vqIM7EruPVV0hnY= X-MC-Unique: 906L-6uMMsW3CWEwttcJ6w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=Ss36U8za5czG2yM1M9Hh0SqAuQfgDaUEj+51fMZlZGs=; b=KE8Dgh/psWBQI9PnnZcpCYkXdj1mKs16pjgjMcf92pWFRZHMwxYRFyw1RVQvN0lmdO eaeA5MNh9JcOJgp8Ad+nC6XfogwxgA8Ic3EEWUKdpGo9GkxJaYLgc57zp9mATDubwXJI 4TofkP1mDfP/ie1wavPJ48S9E12MEYoOdnPIDFMyXCPWIiAiGWKQ3JAydxeulHzAJq3R JYNT3e1yTJKFdc2L2JeuI33eDt9DAVF4BjeQaz6kj9gV7iW/UzlarH6yplrq3r7hRAiH xvxsz606STz8M/BjKx+XNCOjP+MuVVn/2Pk9eHt8dEp/Z4Elm9PV/hoPQzU3TwYR3cgP Csbg== X-Gm-Message-State: AOAM532YINIV2qfsMXjINXsVh4nv5iYoOQpcvWx4cQYCpEkWScxHxeon wW8hNYAO9ODvtUIQD7pdDbCEUqtb7eApZyE8CUwHvQz2GFOmtXOpZKZxUh5eshESnbFxkFDlTaA xNoxA7W723tjHTobOnNo7TDaXlvok268hjTisgV1gSm7zrs2z0zdsNQojDH14 X-Received: by 2002:adf:a29d:: with SMTP id s29mr8728426wra.329.1607456237919; Tue, 08 Dec 2020 11:37:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJxxB1Tc3D2F+8zesojGiMEOv2dftHyuXv0lR/uTxGuAeMAXgKQ29EsFWKs9DX3s9X0jSCY9yg== X-Received: by 2002:adf:a29d:: with SMTP id s29mr8728398wra.329.1607456237664; Tue, 08 Dec 2020 11:37:17 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:14 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 58/66] x86: acpi: introduce AcpiPmInfo::smi_on_cpu_unplug Message-ID: <20201208193307.646726-59-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Eduardo Habkost , Richard Henderson , Igor Mammedov , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Signed-off-by: Igor Mammedov Message-Id: <20201207140739.3829993-4-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/acpi-build.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 76e27f8fad..44c9da5112 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -96,6 +96,7 @@ typedef struct AcpiPmInfo { bool s4_disabled; bool pcihp_bridge_en; bool smi_on_cpuhp; + bool smi_on_cpu_unplug; bool pcihp_root_en; uint8_t s4_val; AcpiFadtData fadt; @@ -197,6 +198,7 @@ static void acpi_get_pm_info(MachineState *machine, Acp= iPmInfo *pm) pm->pcihp_io_base =3D 0; pm->pcihp_io_len =3D 0; pm->smi_on_cpuhp =3D false; + pm->smi_on_cpu_unplug =3D false; =20 assert(obj); init_common_fadt_data(machine, obj, &pm->fadt); @@ -220,6 +222,8 @@ static void acpi_get_pm_info(MachineState *machine, Acp= iPmInfo *pm) pm->cpu_hp_io_base =3D ICH9_CPU_HOTPLUG_IO_BASE; pm->smi_on_cpuhp =3D !!(smi_features & BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT)); + pm->smi_on_cpu_unplug =3D + !!(smi_features & BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT)); } =20 /* The above need not be conditional on machine type because the reset= port --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607460138; cv=none; d=zohomail.com; s=zohoarc; b=QxE45rwsxd2DJv1ayzgoefpK0ZqjCiFsvymEyYj3ZVMViRlFcvfLgrhMobQZGd/UQL/AKiN05YWjwKaRrt5nDsqzAIME63WRC4fb9FZAmkbNSz53apuS1eGcISVROZdPNmCktoGdE6ihFeZ0Gd5hNw23KDWoHCP/bcawEPE6IMY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607460138; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DbpWHn7kujA8od1bySqWm905L7EHYrNPshpti/pX4Go=; b=iaHPGFJ3ttClx8RueVG6/YkmBPLvI6ldk+pTJzyBmUtuF71oWPECMA4ESRZchTJj6CHtl+lGmX4MYh+HJdb7UTD56f/d+aU4U2MQddMl1Bkj5NiQwWLE84nSOOk9/Pj+5eME2SxtiO8R4NaSYMa3BKkhVnO5LvjlI4jyEvBg5hY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607460138792492.23296600902756; Tue, 8 Dec 2020 12:42:18 -0800 (PST) Received: from localhost ([::1]:54242 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjoP-00089X-M1 for importer@patchew.org; Tue, 08 Dec 2020 15:42:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50354) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminm-0007uh-QX for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:36 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:39893) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmink-0005vK-11 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:34 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-589-A1_cs9-hMNumqvchmgvcKg-1; Tue, 08 Dec 2020 14:37:23 -0500 Received: by mail-wr1-f69.google.com with SMTP id y5so2619371wrs.15 for ; Tue, 08 Dec 2020 11:37:22 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id k7sm9311751wrn.63.2020.12.08.11.37.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=DbpWHn7kujA8od1bySqWm905L7EHYrNPshpti/pX4Go=; b=AJwqldjUc3cMF9ofLLbXsvLEmsO3EqqiRd1FDSFxB7OlZMGgi14LdvvbaicsJMwc0Ua7ty KfhrwwZ4r6HA/Fn/0aCNa87oywAvBsr+X5YS9uxKwFSiY7Bq2yoRt6mtPtWqHNqshuW8OL VzUUzecR7zIqmUfIL4tPEPTKQfnbaK4= X-MC-Unique: A1_cs9-hMNumqvchmgvcKg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=DbpWHn7kujA8od1bySqWm905L7EHYrNPshpti/pX4Go=; b=SPbWDyiEVUXv7faZ5RZvhcE/PZV1KBvrsK1yehBKIAbe3z/RiPZTkGkaVx0IorjZY2 t/8PbUfVfGwbBj9CF6yANqQHN0Hv9wBWl7rOTOz7Y/5M3XRRpA3sSBf4AlFGdaUp47eo R4ry2v41y/cu6Q8OMSJyG8sKBcv+ReuM9RHrvC2NzV/TAefiTyEPVvq22cVfmrkhhDWd Heb1oR/zz7lL3CmIoCEeREkM6tB5a5yd4lpjF7iU1NrMvKc3uQ7Mf1A7mKysC0J9/U0I QEv5CKPzL41+bZyzz99V90ODfv/8spvuoX0EANWhL6ZPX3zrGJ8C9EFl5UcI+ybCV0xn F5cw== X-Gm-Message-State: AOAM531j21WwebK1H2vhm36rZK5HoIbkRwT+ilOJeBFJ4VDZOECa0h8u z5cX8jRgZFIP15UiR5urysBbvQlIz+gzUgpwZVfXEsYvMemqIJS9LBn3VKXVMUBdueoqZtn3Uex v+aU1fmn2m1LWK1bqUBStj+H/MHHaRHsI3FoWDJk+tYVcatxlehe6WCdsN7g4 X-Received: by 2002:a5d:5105:: with SMTP id s5mr9751204wrt.136.1607456241619; Tue, 08 Dec 2020 11:37:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJzYSt74A8PJgjSPjTvtQ0uqCCnQempJxlJc99okz9810oyoSBKbo7qjVx/SPAavzA4zuWvnEA== X-Received: by 2002:a5d:5105:: with SMTP id s5mr9751192wrt.136.1607456241468; Tue, 08 Dec 2020 11:37:21 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:18 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 59/66] tests/acpi: allow expected files change Message-ID: <20201208193307.646726-60-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Change that will be introduced by following patch: @@ -557,6 +557,7 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0= x00000001) CINS, 1, CRMV, 1, CEJ0, 1, + CEJF, 1, Offset (0x05), CCMD, 8 } Signed-off-by: Igor Mammedov Message-Id: <20201207140739.3829993-5-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..cc75f3fc46 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,22 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/pc/DSDT", +"tests/data/acpi/q35/DSDT", +"tests/data/acpi/q35/DSDT.tis", +"tests/data/acpi/q35/DSDT.bridge", +"tests/data/acpi/q35/DSDT.mmio64", +"tests/data/acpi/q35/DSDT.ipmibt", +"tests/data/acpi/q35/DSDT.cphp", +"tests/data/acpi/q35/DSDT.memhp", +"tests/data/acpi/q35/DSDT.numamem", +"tests/data/acpi/q35/DSDT.dimmpxm", +"tests/data/acpi/q35/DSDT.acpihmat", +"tests/data/acpi/pc/DSDT.bridge", +"tests/data/acpi/pc/DSDT.ipmikcs", +"tests/data/acpi/pc/DSDT.cphp", +"tests/data/acpi/pc/DSDT.memhp", +"tests/data/acpi/pc/DSDT.numamem", +"tests/data/acpi/pc/DSDT.dimmpxm", +"tests/data/acpi/pc/DSDT.acpihmat", +"tests/data/acpi/pc/DSDT.roothp", +"tests/data/acpi/pc/DSDT.hpbridge", +"tests/data/acpi/pc/DSDT.hpbrroot", --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459569; cv=none; d=zohomail.com; s=zohoarc; b=IJLxyvtANlsYZDguWX0f4vZCr6gHj5x+iY/2g1FKoo86J8cufmui7dpMMWveVFimpT1KkyBgeWN0JlfdNwkYRryOta5RpTGeL1MUk051CF8WcAoelYZFB8BOIRWF1r6E+wLYJ6ysOuLqCoZifyDGq1hLc9Ix2hL2YpSERADFiyw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459569; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=rCTXiBiz0IVDGz/6PAJRoYm80wXw7KG34Wn42GEidrE=; b=ksa4zP3/uF3XR34xMvFIoaCOc/RloTe25c01AhLtmt6hL1UWlrDB5Ml3kgakt5zJOtnIqzBgiWKBcWquM+1i1HRsMPJVMW8jR7qk9uI/Qrjb7DL7eQSanXorkdYpzWRTd8HMHiqG0tn7YAtdg7bkcvcuw3At/cI4pcE67lOxL34= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459569231342.14488706169095; Tue, 8 Dec 2020 12:32:49 -0800 (PST) Received: from localhost ([::1]:33340 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjfD-0007Pl-Ul for importer@patchew.org; Tue, 08 Dec 2020 15:32:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50516) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmioH-0008G6-Po for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:38:06 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:42066) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmioE-00063O-Tx for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:38:05 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-529-XZCHTCZPPQWLDPgjHAjtUw-1; Tue, 08 Dec 2020 14:37:27 -0500 Received: by mail-wr1-f70.google.com with SMTP id o4so2933784wrw.19 for ; Tue, 08 Dec 2020 11:37:27 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id 90sm22147852wrl.60.2020.12.08.11.37.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rCTXiBiz0IVDGz/6PAJRoYm80wXw7KG34Wn42GEidrE=; b=aSJ6UGPryCGtywSKYqyl5lPzRRrOfK7cshxXlmoNvHZsyALiCMf68vmgexPeoJMYtuOito HGmUZlKa/kmEXEkuttO48wCVfw55NLJSLz+s1kPuQrEVtx8Fv7/AhlTkWm2g1csBQ0Zls9 6LwO+SmdAEaDIbd3t8gJZBNCaPFYX8U= X-MC-Unique: XZCHTCZPPQWLDPgjHAjtUw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=rCTXiBiz0IVDGz/6PAJRoYm80wXw7KG34Wn42GEidrE=; b=OfidIQTKyhT0sMoUpQHhXMT7AIJ/2mQFZdDUe/jje8ViPAUhSkldHDqrXXKQZbF/zi IczdZeXMCza/Ke8v/lgREVL2SlLUNRKoay6I+UVD9+xcYX4KWnblhGgGbC0jLCM2xavW nOHq9ByF21ptNq7oGKpo99/CkwlS9turvtz0rrXuNSd17QG8TnxzrKvrGQrXYf4fQBTE gWdhSO4iwJVvH1x47B+hQo4ZOf/BfQRmdi+9E6rhqksKbpBaVZXUbN4KmcQ1vSONcRCN PwtGpYGicjhTMueKhvq/mfGTXKWS7mAFUBTIoUL++LmYk42JPKcxT7/7oZvWvfzxShLw ubOw== X-Gm-Message-State: AOAM5313EnLtqRa4ExW07xfDgcahdILA2CKg9jj88qy6IJsyGN0mEpAz 4ce4IBon73FgBxhahbOK9Q2hgDs4H/5YMVqpHoe8wCGf+G9D8oTkCAkMcwkwuDML0kYLdx4jK99 8CJYy57MsZBd8/hwoy12EfPxHgpDxBiWl8DHha+560t4IvaziQEWGVnQzzzXr X-Received: by 2002:a7b:cbd0:: with SMTP id n16mr5285588wmi.162.1607456245336; Tue, 08 Dec 2020 11:37:25 -0800 (PST) X-Google-Smtp-Source: ABdhPJxOSZajj6ET6rigEOwmkuc1+Rd9NbBqBusEvKui1yQ4U0fBYbu8LlgARmpuSn9DlPY7lWlK2Q== X-Received: by 2002:a7b:cbd0:: with SMTP id n16mr5285562wmi.162.1607456245049; Tue, 08 Dec 2020 11:37:25 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:21 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 60/66] x86: acpi: let the firmware handle pending "CPU remove" events in SMM Message-ID: <20201208193307.646726-61-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Eduardo Habkost , Richard Henderson , Igor Mammedov , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Igor Mammedov if firmware and QEMU negotiated CPU hotunplug support, generate _EJ0 method so that it will mark CPU for removal by firmware and pass control to it by triggering SMI. Signed-off-by: Igor Mammedov Message-Id: <20201207140739.3829993-6-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/cpu.h | 1 + hw/acpi/cpu.c | 14 ++++++++++++-- hw/i386/acpi-build.c | 1 + 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/include/hw/acpi/cpu.h b/include/hw/acpi/cpu.h index d71edde456..999caaf510 100644 --- a/include/hw/acpi/cpu.h +++ b/include/hw/acpi/cpu.h @@ -51,6 +51,7 @@ void cpu_hotplug_hw_init(MemoryRegion *as, Object *owner, typedef struct CPUHotplugFeatures { bool acpi_1_compatible; bool has_legacy_cphp; + bool fw_unplugs_cpu; const char *smi_path; } CPUHotplugFeatures; =20 diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c index 1293204438..6350caa765 100644 --- a/hw/acpi/cpu.c +++ b/hw/acpi/cpu.c @@ -342,6 +342,7 @@ const VMStateDescription vmstate_cpu_hotplug =3D { #define CPU_INSERT_EVENT "CINS" #define CPU_REMOVE_EVENT "CRMV" #define CPU_EJECT_EVENT "CEJ0" +#define CPU_FW_EJECT_EVENT "CEJF" =20 void build_cpus_aml(Aml *table, MachineState *machine, CPUHotplugFeatures = opts, hwaddr io_base, @@ -394,7 +395,9 @@ void build_cpus_aml(Aml *table, MachineState *machine, = CPUHotplugFeatures opts, aml_append(field, aml_named_field(CPU_REMOVE_EVENT, 1)); /* initiates device eject, write only */ aml_append(field, aml_named_field(CPU_EJECT_EVENT, 1)); - aml_append(field, aml_reserved_field(4)); + /* tell firmware to do device eject, write only */ + aml_append(field, aml_named_field(CPU_FW_EJECT_EVENT, 1)); + aml_append(field, aml_reserved_field(3)); aml_append(field, aml_named_field(CPU_COMMAND, 8)); aml_append(cpu_ctrl_dev, field); =20 @@ -429,6 +432,7 @@ void build_cpus_aml(Aml *table, MachineState *machine, = CPUHotplugFeatures opts, Aml *ins_evt =3D aml_name("%s.%s", cphp_res_path, CPU_INSERT_EVENT= ); Aml *rm_evt =3D aml_name("%s.%s", cphp_res_path, CPU_REMOVE_EVENT); Aml *ej_evt =3D aml_name("%s.%s", cphp_res_path, CPU_EJECT_EVENT); + Aml *fw_ej_evt =3D aml_name("%s.%s", cphp_res_path, CPU_FW_EJECT_E= VENT); =20 aml_append(cpus_dev, aml_name_decl("_HID", aml_string("ACPI0010"))= ); aml_append(cpus_dev, aml_name_decl("_CID", aml_eisaid("PNP0A05"))); @@ -471,7 +475,13 @@ void build_cpus_aml(Aml *table, MachineState *machine,= CPUHotplugFeatures opts, =20 aml_append(method, aml_acquire(ctrl_lock, 0xFFFF)); aml_append(method, aml_store(idx, cpu_selector)); - aml_append(method, aml_store(one, ej_evt)); + if (opts.fw_unplugs_cpu) { + aml_append(method, aml_store(one, fw_ej_evt)); + aml_append(method, aml_store(aml_int(OVMF_CPUHP_SMI_CMD), + aml_name("%s", opts.smi_path))); + } else { + aml_append(method, aml_store(one, ej_evt)); + } aml_append(method, aml_release(ctrl_lock)); } aml_append(cpus_dev, method); diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 44c9da5112..f18b71dea9 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -1293,6 +1293,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, CPUHotplugFeatures opts =3D { .acpi_1_compatible =3D true, .has_legacy_cphp =3D true, .smi_path =3D pm->smi_on_cpuhp ? "\\_SB.PCI0.SMI0.SMIC" : NULL, + .fw_unplugs_cpu =3D pm->smi_on_cpu_unplug, }; build_cpus_aml(dsdt, machine, opts, pm->cpu_hp_io_base, "\\_SB.PCI0", "\\_GPE._E02"); --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607460309; cv=none; d=zohomail.com; s=zohoarc; b=HnAz2U32vEsglJVniPa8sjpc6F9cdk30ad28zvBAm2BVe7yWdbV6YW1UCP4L1o4HVDhdTzjhAXkb26DpEaMHxtWkzy8ZoUpdhPb2ZYukBEHbaQB4WTRYXeMNe78vg47uM7JOTNk39JEr3dy8B+VBeV+bH9yik7+AdgKEEnthStw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607460309; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Jijh0a7q2bzOg4rz5uZnaNopVlUK5XP7tMKVUO6pQaU=; b=DHwCsSKxFiLQLzXE1/rgjatYukrb/spiJxxli239bCVAmDUf99QkejB+Bee5HWFph/efzbec1g4BXgxDx6s8gzsBxaGu2UfsE7vU3Vbh/91P1/rEYYXQHRZEnbXql44vmelTRIGmgr0PUSvUS3xxv9fJjjk6ZDROg7hRxAjY7yI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607460309086469.4343084318316; Tue, 8 Dec 2020 12:45:09 -0800 (PST) Received: from localhost ([::1]:34776 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjr9-0003N9-UZ for importer@patchew.org; Tue, 08 Dec 2020 15:45:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50422) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminq-0007wf-Qw for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:38 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:21003) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminl-0005wS-7g for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:38 -0500 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-334-hkBHvYGWP0ic4wnNrtvoQA-1; Tue, 08 Dec 2020 14:37:30 -0500 Received: by mail-wm1-f69.google.com with SMTP id r5so1286032wma.2 for ; Tue, 08 Dec 2020 11:37:30 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id x25sm5112025wmc.3.2020.12.08.11.37.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Jijh0a7q2bzOg4rz5uZnaNopVlUK5XP7tMKVUO6pQaU=; b=QxgDQ8J9bFR5nzKztiwwTbfQ8zzEROiHLpjloN1z1lA7bEiUr1KuU/iBcqn/to55nfp1cn cYp5bbISA2wQMpHKuoiTXVZXgc4QDaXzFFM2tvtyRzh0ENpk+5VuEzynGVzTWsD0qNGKyH +TkZMGBFUo48CDMR9ikjmM42DygryEY= X-MC-Unique: hkBHvYGWP0ic4wnNrtvoQA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=Jijh0a7q2bzOg4rz5uZnaNopVlUK5XP7tMKVUO6pQaU=; b=i90RMB2OXi9C8TzqMNiLTXGQ2/nHTegeqOoYQ6dOsSwjna3wZLE6If3F4aXzZa3u8r Quv3EIdkGtFQbFGuQdMXOdVqKLxex/ktKTl/k85wF2TUjd6asGVsA6eNkT8+oo3BQQey NRVy0PSVQyqzDxW/xp5GnOrTGqBOBrrk8MaCIDRFMCrtUenoZqd0/Iny4igmbSA/yMan Shk/atJP4sr+4KlZs+qrkeVakFwY1r6AGXsHjYD4mdD8SZK2KIS4YRSbhzLnhpQv0U4F icjd7LrmkvHhZatmBGHvZYlHkW4uBW7uPoe+Lkx0La/nE68jPEymfVBvaiX2268gJLfS 55WA== X-Gm-Message-State: AOAM532rs4ts3QptsRS37j+p7KLoGx95BxofjlZzSf9q9WUbAQO0C07n zNzi1YNeuEW3gM02zCd5C9gqwkS7wfiKctCE5gSG/OgnvaCS2/IYo6FVoLH22kZE8bHaYewEyGD ke9YWReZ19Ru7V26hsQeEhr113QZRF/WGCn1YfACOYPmMv3rqjnheDKOGsuKT X-Received: by 2002:adf:fc90:: with SMTP id g16mr12767909wrr.40.1607456248961; Tue, 08 Dec 2020 11:37:28 -0800 (PST) X-Google-Smtp-Source: ABdhPJwaz/gVtd0cR7FAc50HaAU1iF7ekbEM7+qhQdmPqzhK5OUO3uTo/XeFS6lG6XrkUZxX/pCGvw== X-Received: by 2002:adf:fc90:: with SMTP id g16mr12767883wrr.40.1607456248719; Tue, 08 Dec 2020 11:37:28 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:25 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 61/66] tests/acpi: update expected files Message-ID: <20201208193307.646726-62-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Igor Mammedov update expected files with following change: @@ -557,6 +557,7 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0= x00000001) CINS, 1, CRMV, 1, CEJ0, 1, + CEJF, 1, Offset (0x05), CCMD, 8 } Signed-off-by: Igor Mammedov Message-Id: <20201207140739.3829993-7-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 21 -------------------- tests/data/acpi/pc/DSDT | Bin 5060 -> 5065 bytes tests/data/acpi/pc/DSDT.acpihmat | Bin 6385 -> 6390 bytes tests/data/acpi/pc/DSDT.bridge | Bin 6919 -> 6924 bytes tests/data/acpi/pc/DSDT.cphp | Bin 5524 -> 5529 bytes tests/data/acpi/pc/DSDT.dimmpxm | Bin 6714 -> 6719 bytes tests/data/acpi/pc/DSDT.hpbridge | Bin 5021 -> 5026 bytes tests/data/acpi/pc/DSDT.hpbrroot | Bin 3079 -> 3084 bytes tests/data/acpi/pc/DSDT.ipmikcs | Bin 5132 -> 5137 bytes tests/data/acpi/pc/DSDT.memhp | Bin 6419 -> 6424 bytes tests/data/acpi/pc/DSDT.numamem | Bin 5066 -> 5071 bytes tests/data/acpi/pc/DSDT.roothp | Bin 5256 -> 5261 bytes tests/data/acpi/q35/DSDT | Bin 7796 -> 7801 bytes tests/data/acpi/q35/DSDT.acpihmat | Bin 9121 -> 9126 bytes tests/data/acpi/q35/DSDT.bridge | Bin 7814 -> 7819 bytes tests/data/acpi/q35/DSDT.cphp | Bin 8260 -> 8265 bytes tests/data/acpi/q35/DSDT.dimmpxm | Bin 9450 -> 9455 bytes tests/data/acpi/q35/DSDT.ipmibt | Bin 7871 -> 7876 bytes tests/data/acpi/q35/DSDT.memhp | Bin 9155 -> 9160 bytes tests/data/acpi/q35/DSDT.mmio64 | Bin 8927 -> 8932 bytes tests/data/acpi/q35/DSDT.numamem | Bin 7802 -> 7807 bytes tests/data/acpi/q35/DSDT.tis | Bin 8402 -> 8407 bytes 22 files changed, 21 deletions(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index cc75f3fc46..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,22 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/pc/DSDT", -"tests/data/acpi/q35/DSDT", -"tests/data/acpi/q35/DSDT.tis", -"tests/data/acpi/q35/DSDT.bridge", -"tests/data/acpi/q35/DSDT.mmio64", -"tests/data/acpi/q35/DSDT.ipmibt", -"tests/data/acpi/q35/DSDT.cphp", -"tests/data/acpi/q35/DSDT.memhp", -"tests/data/acpi/q35/DSDT.numamem", -"tests/data/acpi/q35/DSDT.dimmpxm", -"tests/data/acpi/q35/DSDT.acpihmat", -"tests/data/acpi/pc/DSDT.bridge", -"tests/data/acpi/pc/DSDT.ipmikcs", -"tests/data/acpi/pc/DSDT.cphp", -"tests/data/acpi/pc/DSDT.memhp", -"tests/data/acpi/pc/DSDT.numamem", -"tests/data/acpi/pc/DSDT.dimmpxm", -"tests/data/acpi/pc/DSDT.acpihmat", -"tests/data/acpi/pc/DSDT.roothp", -"tests/data/acpi/pc/DSDT.hpbridge", -"tests/data/acpi/pc/DSDT.hpbrroot", diff --git a/tests/data/acpi/pc/DSDT b/tests/data/acpi/pc/DSDT index 4ca46e5a2bdb1dfab79dd8630aeeb9a386d8b30e..f6173df1d598767a79aa34ad758= 5ad7d45c5d4f3 100644 GIT binary patch delta 74 zcmX@2eo~#wCDmuQ`QIw3J!5(P;d@#^<#AQ b^b2Nm4)P6SbawSJ01oMbU33dtLk!E0Ee6f*h3md1uU3{=3Dpd~}n?0|1#g5zGJp diff --git a/tests/data/acpi/pc/DSDT.dimmpxm b/tests/data/acpi/pc/DSDT.dimm= pxm index e015b4594c96a6e0f34c0668e3383b9a91dff38e..c44385cc01879324738ffb7f997= b8cdd762cbf97 100644 GIT binary patch delta 74 zcmdmGvfqTuCD@~J diff --git a/tests/data/acpi/pc/DSDT.hpbridge b/tests/data/acpi/pc/DSDT.hpb= ridge index 56032bcf1ba4e251f16c9028429826090531efdd..4ecf1eb13bf49499f729b53a6d0= 114672a76e28d 100644 GIT binary patch delta 74 zcmbQMzDS+RCDuQ`QIw3J!5(P;d@#^<#AQ b^b2Nm4)P6SbawSJ01A;%M( delta 69 zcmZ3aK3AQ~CD=3Dy(9?$i@R delta 69 zcmbPXG}(yDCD@Zg!6A+e3eEwpevHnZ Ye!+~+LB3&(&aPetj0`NBJ=3Dk4&0kY;2I{*Lx diff --git a/tests/data/acpi/q35/DSDT b/tests/data/acpi/q35/DSDT index e7414e78563372fca4d2aab9d16c58c0ff8468f4..d25cd7072932886d6967f4023fa= ac1e1fa6e836c 100644 GIT binary patch delta 74 zcmexj^V5dQCD delta 69 zcmexq^TmeCCD-hQE4OB1PM+ryZB(I_~<6*$%`f8W62|}l diff --git a/tests/data/acpi/q35/DSDT.bridge b/tests/data/acpi/q35/DSDT.bri= dge index 118476ff6101e11d6b1f2d3399241d7fd1a6f634..06bac139d668ddfc7914e258b47= 1a303c9dbd192 100644 GIT binary patch delta 74 zcmZp(?Y8A|33dtTmSbRG?BB>WL4woYE@Zg!6A+e3eEwpevHnZ Ye!+~+LB3&(&aPetj0`NBRV33{0jsML6aWAK diff --git a/tests/data/acpi/q35/DSDT.cphp b/tests/data/acpi/q35/DSDT.cphp index 69c5edf620529e995461ccba63b76a083f25b2b6..2b933ac482e6883efccbd7d6c96= 089602f2c0b4d 100644 GIT binary patch delta 74 zcmX@&aMFRxCD&WMJN$ IB^k;J0IQk~=3DKufz delta 47 zcmX?NyWf_}CD;VA-568OjO( DX1NXL diff --git a/tests/data/acpi/q35/DSDT.memhp b/tests/data/acpi/q35/DSDT.memhp index 85598ca3f68f437e8d5048e2cb9815f20b332152..9a802e4c67022386442976d5cb9= 97ea3fc57b58f 100644 GIT binary patch delta 74 zcmX@?e!`v0CDh($ delta 69 zcmaFjdf%1HCD (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459346624965.6767582205184; Tue, 8 Dec 2020 12:29:06 -0800 (PST) Received: from localhost ([::1]:52820 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjbd-0003gB-DA for importer@patchew.org; Tue, 08 Dec 2020 15:29:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50426) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminr-0007xc-59 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:39 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:22604) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminp-0005xl-E5 for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:38 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-508-OboB_aobNUOyhVjMiV1R3A-1; Tue, 08 Dec 2020 14:37:34 -0500 Received: by mail-wr1-f71.google.com with SMTP id r11so4696986wrs.23 for ; Tue, 08 Dec 2020 11:37:33 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id c4sm5506915wmf.19.2020.12.08.11.37.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=mZUQSSm1IlD4lFJVF8AvCKDdkoRkM4eh9etogMBBR1A=; b=P3eDXHkernSvkwrX/XE71IBpuYk+E4oxq7gQeq7JjLcaYqRCWA/nTwsFD3KV6Fq9BeTLHu QPKVDGESg4BUGvLw6+jA2w89sq/E6j4F7/T3MwKRmpdCU3e12PFyrsfrgxChR4wvucwkkc 6w+16eIhXuv1CMmezvsH668ZZE6UT4Y= X-MC-Unique: OboB_aobNUOyhVjMiV1R3A-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=mZUQSSm1IlD4lFJVF8AvCKDdkoRkM4eh9etogMBBR1A=; b=WtEEQdDHmN5PltufvwYbSn/V4HMiFO0MNMOyrTKCJJrJ8dEOtUulMa7vGMA0FfmVZ4 H4xGzw5/cl+owv1Qrt30Ji5hiaCPjhTY/qdQBCA98KHT0iopVnR7Jo4WgOF0MqENrFW0 XzZ67HXvdeFu0yRILN9dKayLD0RXy/PAe7dhzAT3wUlb1bLV9il8hxNiFgSbbTmLCMr5 TX0//QuNHGeicP3QdbZjF9XOWuqWVpeUPZk8bTCNjk9URyBNST5r37/IYKx1Bq0cesl6 YNg8uDLFwoIHkB/2ZDLJKzVREYG7resjaDVcZU0LluiCNukdRo7pvxJkFCGO5p15Upix Ix8w== X-Gm-Message-State: AOAM531cy7Hm5U17yD2Og8ediEDiJpViXLdi1N+9ZcQPdVPiEbXysVSP jQ1OmTiPxmR5dBmwV+IGpO2cawjboBlxhv334TPrUFemO4UY1asG+9OrtK0vsPBxHJafyEdcZbn DTUfO+FlyYAXYyfcxqArIshU8IoU7lHuhj5P4yPkU5iyRiZCRRE/V3fuIS886 X-Received: by 2002:adf:e9c9:: with SMTP id l9mr27093540wrn.124.1607456252356; Tue, 08 Dec 2020 11:37:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJyaJ0wOGyuKB22CcGGQBhARgLPrh9BA+dJoosqItDw2eHeny1XxGk4IHGGZEAd+x1/ra9lUSg== X-Received: by 2002:adf:e9c9:: with SMTP id l9mr27093520wrn.124.1607456252154; Tue, 08 Dec 2020 11:37:32 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:29 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 62/66] x86: ich9: factor out "guest_cpu_hotplug_features" Message-ID: <20201208193307.646726-63-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Igor Mammedov it will be reused by next patch to check validity of unplug feature. Signed-off-by: Igor Mammedov Message-Id: <20201207140739.3829993-8-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/isa/lpc_ich9.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index 087a18d04d..da80430144 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -366,6 +366,7 @@ static void smi_features_ok_callback(void *opaque) { ICH9LPCState *lpc =3D opaque; uint64_t guest_features; + uint64_t guest_cpu_hotplug_features; =20 if (lpc->smi_features_ok) { /* negotiation already complete, features locked */ @@ -378,9 +379,12 @@ static void smi_features_ok_callback(void *opaque) /* guest requests invalid features, leave @features_ok at zero */ return; } + + guest_cpu_hotplug_features =3D guest_features & + (BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT) | + BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BI= T)); if (!(guest_features & BIT_ULL(ICH9_LPC_SMI_F_BROADCAST_BIT)) && - guest_features & (BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT) | - BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT))) { + guest_cpu_hotplug_features) { /* * cpu hot-[un]plug with SMI requires SMI broadcast, * leave @features_ok at zero --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459566; cv=none; d=zohomail.com; s=zohoarc; b=jW+yfj3tojjVBbOwbwbmiCJc4brLfM5w8rEBEIILvIlUsBxxz6c1yveoCwG2UEaUj9W1vzyr3spiOuZi5cudppTnUiCB2nlHX12PTAEg1zMmUkw8X5jIYExiZ0WD56iaGLuI1EoLV9/vTM4qPSyw/OKWEati975K4uLVaZ3OAhE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459566; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ao4RDAEOM2YLTiIdrHeiCtTgsP0kjiPBhD8XurXHvys=; b=FLUB7fVPRdgYMLBiFaqliGZn5txIRNVhgI3P0gScuskyWwd5NmSit/hTCzDcZ2GPUVcWU+O54xMbPE9kFBVaeIos+NAfT7JAxyHQ1l7tbZEuIJ0gXxK7x/5jfooQPrchlr8swrnqTPY9h7P/kOygn+o/aGhlR0fJBpX+TXLvbrI= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459566661386.82757033638336; Tue, 8 Dec 2020 12:32:46 -0800 (PST) Received: from localhost ([::1]:33192 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjfB-0007Lm-2u for importer@patchew.org; Tue, 08 Dec 2020 15:32:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50454) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminy-000860-VB for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:46 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:27580) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminx-0005z2-9R for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:46 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-419-4uwNj7AYODOIDPX4ya9EVg-1; Tue, 08 Dec 2020 14:37:38 -0500 Received: by mail-wr1-f71.google.com with SMTP id p18so6549494wro.9 for ; Tue, 08 Dec 2020 11:37:38 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id 35sm21637947wro.71.2020.12.08.11.37.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ao4RDAEOM2YLTiIdrHeiCtTgsP0kjiPBhD8XurXHvys=; b=ZPoVxl8gfySZSjIuKW6xk0RGo8H58lIhe/9lQWpsBmKW9IEpHA9HcdYtvaYek4YhF10mhU iO0P24wWk0yqj8B1HuKC0AnoyqU39mFjwxFM+B2nXeM67B9ecre5eR5UrXJyBh89NdDJla W+BnWiunRpGizNgLhIPZ1yImyAdEMU0= X-MC-Unique: 4uwNj7AYODOIDPX4ya9EVg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=ao4RDAEOM2YLTiIdrHeiCtTgsP0kjiPBhD8XurXHvys=; b=lkZKacRXnPoBx7V7bPsT2pZeyU2lwfZhMQ2kkqMMbj9Z3O+VQqXTQaNox9IZsQlx4X 8AVB7yfah0NDud9u+lH4no+rCp6FIFVBKwg32HgEa3QcVKcPZYdYKSsD1eGZshmhRhxG rHyIuejBUWyZ3V3eUursmpmXHatnJodUAfWkdP/gJOvThjlw3DXG8rbWdun3Bkmoq77w AWdKPvn+3CMbZQgEIdxQ3ldeIk6pPwz8oaD0669fdiJ9EnkftVGBAO3rVC4I+HBXS6QW es0W4aHpe5ZQ2na0J03Fl8r8tKkK9KLHDzzHatafcbYe1FYR+iyjoxfr1kXbsKdT7d3/ kCqw== X-Gm-Message-State: AOAM531h2VVbV7ppd/N4xSnFJMqsLCZ1vsrRdYc3NG9DKxgqw/ExLdzy gDUzBPlqtLTzDbwioRG3ZhanMLQMfqwWiw3qF87ta90vROV32r/n8Bm7rFqWkRwPHphbFdvDerK rUe2SSCguI6BURa89sCQb+1nzk9whyHydcC77sDGGx/Q7uJNrAO9qepEiGVDe X-Received: by 2002:a1c:23d5:: with SMTP id j204mr5277348wmj.130.1607456257358; Tue, 08 Dec 2020 11:37:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJx3fQLfBO2ETf9BJVmFBVT+1erqI7Hq9XmBQRuLLczIxXhYdVZ41qPNgn3IBNduKEueM3GE1Q== X-Received: by 2002:a1c:23d5:: with SMTP id j204mr5277325wmj.130.1607456257113; Tue, 08 Dec 2020 11:37:37 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:32 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 63/66] x86: ich9: let firmware negotiate 'CPU hot-unplug with SMI' feature Message-ID: <20201208193307.646726-64-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Eduardo Habkost , Richard Henderson , Igor Mammedov , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Keep CPU hotunplug with SMI disabled on 5.2 and older and enable it by default on newer machine types. Signed-off-by: Igor Mammedov Message-Id: <20201207140739.3829993-9-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/pc.c | 4 +++- hw/isa/lpc_ich9.c | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 675e15c0aa..9e29f3792b 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -97,7 +97,9 @@ #include "trace.h" #include CONFIG_DEVICES =20 -GlobalProperty pc_compat_5_2[] =3D {}; +GlobalProperty pc_compat_5_2[] =3D { + { "ICH9-LPC", "x-smi-cpu-hotunplug", "off" }, +}; const size_t pc_compat_5_2_len =3D G_N_ELEMENTS(pc_compat_5_2); =20 GlobalProperty pc_compat_5_1[] =3D { diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index da80430144..d3145bf014 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -392,6 +392,12 @@ static void smi_features_ok_callback(void *opaque) return; } =20 + if (guest_cpu_hotplug_features =3D=3D + BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT)) { + /* cpu hot-unplug is unsupported without cpu-hotplug */ + return; + } + /* valid feature subset requested, lock it down, report success */ lpc->smi_negotiated_features =3D guest_features; lpc->smi_features_ok =3D 1; @@ -774,7 +780,7 @@ static Property ich9_lpc_properties[] =3D { DEFINE_PROP_BIT64("x-smi-cpu-hotplug", ICH9LPCState, smi_host_features, ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT, true), DEFINE_PROP_BIT64("x-smi-cpu-hotunplug", ICH9LPCState, smi_host_featur= es, - ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT, false), + ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT, true), DEFINE_PROP_END_OF_LIST(), }; =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459072; cv=none; d=zohomail.com; s=zohoarc; b=e0sfZ090iZ9jZp0ybwzzRnaMB7pxk2EXV9XJVBC6b5PwqU0ZyaYMQI3/GULrTHRP043AhdCxkQ0/nfhfyizEccAA+gBnYijiemx1ZSgYJRfK7GYwmmfeK+naqSJ6U91ZVTBYFWHujyAr+B1aFod469HeVWhg/4ex/f4eW2jyM2g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459072; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=IXfUWibUDD3qvFBeOlmCILSH/5yiUugL3d2LfLjhcv4=; b=EsxdEVpBn/dzZ2q1jbYj2bV3UN51X/xpnSlfVOFHx6nmQ8xaOLuaqwtdNNx6xseROrehkzIAt9xVVGtTRYwPPUjOW3BYw/9Q74r7Ba4E1l5Hw3Ku/B1u08GUE7Df8emJOC5VRyBjEaaqMqBxGLG/RLA8sShZXZ9A8b3wweuMSNE= ARC-Authentication-Results: i=1; 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+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459072012158.61149892889114; Tue, 8 Dec 2020 12:24:32 -0800 (PST) Received: from localhost ([::1]:39600 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjXC-0006Xw-U0 for importer@patchew.org; Tue, 08 Dec 2020 15:24:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50458) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kminz-00087D-My for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:47 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:29340) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kminy-0005z9-4H for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:47 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-332-95eyzux2OgK7xn3YEKKttA-1; Tue, 08 Dec 2020 14:37:43 -0500 Received: by mail-wr1-f70.google.com with SMTP id q18so1163081wrc.20 for ; Tue, 08 Dec 2020 11:37:43 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id c4sm5507627wmf.19.2020.12.08.11.37.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=IXfUWibUDD3qvFBeOlmCILSH/5yiUugL3d2LfLjhcv4=; b=TTPIqbq7Cd7Y5CYIDGlm2yyZjVHz/vW6X4j5Xw1E5eDIRO4VWGxv0qDHuYOwsxolo8TAIw PZ6HseuXjEfV4BY/iMUc7AQQCDMrNWFAZ8sod+o+x2N+37OAGeCZBq5K6+4cyGWZRDCnBO 08K7rot8joT4agUC/28wSdakcJThAMk= X-MC-Unique: 95eyzux2OgK7xn3YEKKttA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=IXfUWibUDD3qvFBeOlmCILSH/5yiUugL3d2LfLjhcv4=; b=Ku0CWAXYdndpYoPFlompjEWnXTDcrrwdDgJudqPkQwLkLKM2pyWUDS3F6J41NV7shk MUfMVtuGnvfh2+BAekA2xSdkQ/gDaEFbZx8Uj6ElwZa2DUKvk6FsLS2EZssPE1JvOWaG F6paUyqZOqzqznzHUEGGF1/1JnZK2YNxMVHmebZWbswaQtujtCjTZ75s6xVcyXXj7Y4F e2/428AxGtEsn4cX1GNSQx+MEJWPPK8u1v+IebvWQqLmA0RZf8xIM5II5iNdCTcUGgK4 jSiJMjFY6PembDuEBFjP4hPlAxxQk/L0T8YYPHTJvc6d15yaEHNeS0GBBF3QF2CES1RX 2SoQ== X-Gm-Message-State: AOAM531LSOhYWNY/96fMmbQil0xo6B2UmvRVzagRpFcOzfokRQC7Sy9K KrTdRBn1uE63ydxKNrr2TpUtmg+nhPgXAkUhe1xR1LPq1/OOn4nQY8hFuck3aZ4GHwlbX0WXOoa +pM0XbDcBdTFfGsYCJiyRNVRmnHdmQyvN/9FhyiTZZh2O88zQCO8zcNbN1Q66 X-Received: by 2002:a1c:b402:: with SMTP id d2mr5147739wmf.38.1607456261887; Tue, 08 Dec 2020 11:37:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJxMjx0QrQwuz38tBf1zjDgcapKTn4cCfU3L/H8NThVvTQpW0lQ9vSo2gH91GyFkxbeWS7B0Kg== X-Received: by 2002:a1c:b402:: with SMTP id d2mr5147723wmf.38.1607456261685; Tue, 08 Dec 2020 11:37:41 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:37 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 64/66] pcie_aer: Fix help message of pcie_aer_inject_error command Message-ID: <20201208193307.646726-65-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Zenghui Yu , Peter Maydell , "Dr . David Alan Gilbert" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zenghui Yu There is an interesting typo in the help message of pcie_aer_inject_error command. Use 'tlp' instead of 'tlb' to match the PCIe AER term. Signed-off-by: Zenghui Yu Message-Id: <20201204030953.837-1-yuzenghui@huawei.com> Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hmp-commands.hx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hmp-commands.hx b/hmp-commands.hx index ff2d7aa8f3..dd460eb908 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -1302,8 +1302,8 @@ ERST " -c for correctable error\n\t\t\t" " =3D qdev device id\n\t\t\t" " =3D error string or 32bit\n\t\t\t" - " =3D 32bit x 4\n\t\t\t" - " =3D 32bit x 4", + " =3D 32bit x 4\n\t\t\t" + " =3D 32bit x 4", .cmd =3D hmp_pcie_aer_inject_error, }, =20 --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459161; cv=none; d=zohomail.com; s=zohoarc; b=dy+7khpr7uwNkptwfvKvOqj+1up8TfLfzkDaJ+SqtJTNcArmva2O3kQ0eUYEr7BbT4qu+odaOkgH99ZBW/fc5PktPq7MfHUnGnNTenOPwiVLJCxVKtQRO3Da98TQpOhR+jTvJYvb79Nam36Q0fk4Qks0ipqPGHe5eh2SeApjkz8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459161; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dSzwVw/hkV56GLy5TZF/v4GucSr1UWG0d48xB0yK0m8=; b=MW1xq6GPnq3czKrfJmbs2iQFZ8vTHI7raMZd7rszjFbIoGShBPdGAdjyUQOiWQev0t5O8rAZpz8S9LS6ls6LbMky9MbL7CopcddIWgFNfvyhgrbClopMg2yv3hz1C4rAnuLJ5555yVX7r699pCmfkuOACL+BlZsfMTQgtg14AuE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459161417896.0500474658521; Tue, 8 Dec 2020 12:26:01 -0800 (PST) Received: from localhost ([::1]:44486 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjYe-00005o-8E for importer@patchew.org; Tue, 08 Dec 2020 15:26:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50478) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmio3-0008BM-Mh for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:53 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:51929) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmio1-00060h-RW for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:51 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-564-RRICeIEnPn2l3wNbmQpFog-1; Tue, 08 Dec 2020 14:37:47 -0500 Received: by mail-wr1-f70.google.com with SMTP id r11so4697286wrs.23 for ; Tue, 08 Dec 2020 11:37:46 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id d9sm14505771wrc.87.2020.12.08.11.37.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=dSzwVw/hkV56GLy5TZF/v4GucSr1UWG0d48xB0yK0m8=; b=Lt6yE8QsrkCpdXkVkoKzdJ38oO07IQLMkx9FEdorrX1L4VwW47ANqbDxmdTRoS7Ja1xkhU i+qpvd6Gzv5PmWbshORiW8CXSYM9gnhzZfFMamjYIqLfK6JGUoIKsPKwyMOP224hTzNjXa A+pH+aW+4Dvod4PpBzlVrvYyjQwDMWs= X-MC-Unique: RRICeIEnPn2l3wNbmQpFog-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=dSzwVw/hkV56GLy5TZF/v4GucSr1UWG0d48xB0yK0m8=; b=E/Fdb8kCuCOVAFdqaQJMtPeQyBfsXEb9N/8MQLktNFwXLBlsnmw123cV5giz6Jz8cZ zHuUmdBsUQHzHtbujMJc0Sebp1z7mj2Q8n3jhUk5vmE1NJh3Y5CJD1Y9rMMdvjd/JjrZ iT1MaYLUB4DnP4V07qiHdF0bAeJwxYUxmZuq99lp6UmF7zfDhMmKYMSaRN7T8oUyFYDw Zm13clktZH5M7v3sN6dHt571RyRqWof73acasVtNOxhSqkH5znd0oLNlvcZ1xSYM0tzO I1MFTfQzO/Cmeog2eyoI1c+2FkzabA9q1hfsqDhcss6yqRDZiA306ORt3LB11QGcVsK0 HRtA== X-Gm-Message-State: AOAM53109TiUgsO6NLyAyDFRttzfNC0pavg1mhMynE+uVQfU8sAdiTNc FuuEKJhCfIOvHsLAiQscwarbg26kAUOQUFcm+6TWLSfpfEyfPZp+GXSB9uPQeM5byKRTAMqa/dS 2CUHvvbOGRGJN1+sIKIcbWsuicnS9IjHp/vKoxZ+k/7Ta4AQnLxPS15FLlfZn X-Received: by 2002:adf:ed12:: with SMTP id a18mr26519265wro.5.1607456265567; Tue, 08 Dec 2020 11:37:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJz0Ljky2ukm72d7uy4g1XsLfZID54Kgw8SKpnlrqj3LrQ7GeW/RKuLX1gVWe7ZT4fgzn5fMog== X-Received: by 2002:adf:ed12:: with SMTP id a18mr26519250wro.5.1607456265381; Tue, 08 Dec 2020 11:37:45 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:41 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 65/66] hw/virtio-pci Added counter for pcie capabilities offsets. Message-ID: <20201208193307.646726-66-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Andrew Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Andrew Removed hardcoded offset for ats. Added cap offset counter for future capabilities like AER. Signed-off-by: Andrew Melnychenko Message-Id: <20201203110713.204938-2-andrew@daynix.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-pci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index 36524a5728..ceaa233129 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -1798,6 +1798,7 @@ static void virtio_pci_realize(PCIDevice *pci_dev, Er= ror **errp) =20 if (pcie_port && pci_is_express(pci_dev)) { int pos; + uint16_t last_pcie_cap_offset =3D PCI_CONFIG_SPACE_SIZE; =20 pos =3D pcie_endpoint_cap_init(pci_dev, 0); assert(pos > 0); @@ -1833,7 +1834,8 @@ static void virtio_pci_realize(PCIDevice *pci_dev, Er= ror **errp) } =20 if (proxy->flags & VIRTIO_PCI_FLAG_ATS) { - pcie_ats_init(pci_dev, 256); + pcie_ats_init(pci_dev, last_pcie_cap_offset); + last_pcie_cap_offset +=3D PCI_EXT_CAP_ATS_SIZEOF; } =20 if (proxy->flags & VIRTIO_PCI_FLAG_INIT_FLR) { --=20 MST From nobody Tue May 21 19:15:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607459357; cv=none; d=zohomail.com; s=zohoarc; b=mAM/5TNoDRbegcSmqazOv7CiGO3YpH74VRhQEc4AUJVUsFPQbaqQn3EzPOZRUwZQu6h46FKFl6SMNrZsnCyDN7OQVrUnd37ad2HhkhVuK0TjZ0xCLDAUdnviQD6K7kHdXtSGphtTxLawTm4B1O2Eg4lnHCt1Pinubr29+9zjd4I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607459357; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=NfyJIWm9NTNXJoxhCiducqmGoodXPdSLT7zCKbR/FRw=; b=bzMJlzM8at12HNn+y56rli28CnKydRJBXKe3Y23vOv/4uHPiMpZNAakb0KLWsQ9pgmt7X99uukNXNMcTk+4uPx17Vdoo8rCP9jYPKzB/Rn5kw6+VyAtDWrXvQYi4VWRx0Yx5uIZV0zAG9cDkrR3nNcWujq9ZeB2rOLFepgllsq0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607459357610549.0310137224909; Tue, 8 Dec 2020 12:29:17 -0800 (PST) Received: from localhost ([::1]:53128 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmjbo-0003nx-Cp for importer@patchew.org; Tue, 08 Dec 2020 15:29:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50492) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmio7-0008DF-IL for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:55 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:38455) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kmio5-000622-1J for qemu-devel@nongnu.org; Tue, 08 Dec 2020 14:37:55 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-334-Q9ukITgpMRi_jGhjkBQusA-1; Tue, 08 Dec 2020 14:37:50 -0500 Received: by mail-wm1-f72.google.com with SMTP id k128so1272824wme.7 for ; Tue, 08 Dec 2020 11:37:50 -0800 (PST) Received: from redhat.com (bzq-79-176-44-197.red.bezeqint.net. [79.176.44.197]) by smtp.gmail.com with ESMTPSA id m81sm5250533wmf.29.2020.12.08.11.37.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 11:37:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607456272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=NfyJIWm9NTNXJoxhCiducqmGoodXPdSLT7zCKbR/FRw=; b=Kuk8tNPs9nwuKs37Hz6qnkRdwPRD+z8KxKW8QlSmdRICqCV9iWHGPwvaG73nTaBTyg99YZ fCvK8/ahM2q61alh2qvn+aIog1K3v/HBakSOyYbPP3SMhgft9dglk58G+7ebb6F6x0CIWG /OLI89jwvdblxESiacvIUJbylgvZdOg= X-MC-Unique: Q9ukITgpMRi_jGhjkBQusA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=NfyJIWm9NTNXJoxhCiducqmGoodXPdSLT7zCKbR/FRw=; b=pVa082xQLjiykkYLnLxYX6N92LotZfXvmww6HHUWVIltk7qv5wqh0U4jmxuOKZCIxd /MzFM7dkxy8ASxYBb6zTmpcTxkqPALhR3GRLP/gRLhjnh9ecgEL2dPhBrdjkgLrymJmx jQhqNk94glL8gyV7tZg+OMl9uri7cGh8aBZOuIQrRTC5t75NC4ia4+vAdJhrtKECZLyU 43OJtpME4dprntg2vD0pHcC9VhD7/FIZV9QN8UMit2JON2P70fO7kwQPDOwtzBRoAQ4K Z3vmqayh7re9+kNikhKHzedka92HL6zn350cELsfqI7jGGsSrOW+6YaBmtTzrHiMQniN Zb+g== X-Gm-Message-State: AOAM531EmS5POk/pqeVJKt5d+KSJuj5DLQhAYAUjoDBmmK88B7B4JSOE zg+JKVcP2ydYOqGVxnjgVfGVc/MtibxSZkEYyadnj654z0OAFvleY8Kk+TJYhq/p44bZroBSG/K 3T3BB1J5JKQr19/iSWh4jJPuPvcUWqv4Q2q0wd0W2bJhDyyyT3LziHCpHUJrh X-Received: by 2002:a05:600c:2255:: with SMTP id a21mr5321120wmm.122.1607456268993; Tue, 08 Dec 2020 11:37:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJzQ++BzOhkJSgBGQqBtEHOZDbONyRAHGWQfKR7bpce5HPcFzbg1+amxhZx/qNk22ghLxRJTDA== X-Received: by 2002:a05:600c:2255:: with SMTP id a21mr5321109wmm.122.1607456268758; Tue, 08 Dec 2020 11:37:48 -0800 (PST) Date: Tue, 8 Dec 2020 14:37:45 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 66/66] hw/virtio-pci Added AER capability. Message-ID: <20201208193307.646726-67-mst@redhat.com> References: <20201208193307.646726-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201208193307.646726-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Andrew Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Andrew Added AER capability for virtio-pci devices. Also added property for devices, by default AER is disabled. Signed-off-by: Andrew Melnychenko Message-Id: <20201203110713.204938-3-andrew@daynix.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-pci.h | 4 ++++ hw/virtio/virtio-pci.c | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/hw/virtio/virtio-pci.h b/hw/virtio/virtio-pci.h index 06e2af12de..d7d5d403a9 100644 --- a/hw/virtio/virtio-pci.h +++ b/hw/virtio/virtio-pci.h @@ -41,6 +41,7 @@ enum { VIRTIO_PCI_FLAG_INIT_LNKCTL_BIT, VIRTIO_PCI_FLAG_INIT_PM_BIT, VIRTIO_PCI_FLAG_INIT_FLR_BIT, + VIRTIO_PCI_FLAG_AER_BIT, }; =20 /* Need to activate work-arounds for buggy guests at vmstate load. */ @@ -80,6 +81,9 @@ enum { /* Init Function Level Reset capability */ #define VIRTIO_PCI_FLAG_INIT_FLR (1 << VIRTIO_PCI_FLAG_INIT_FLR_BIT) =20 +/* Advanced Error Reporting capability */ +#define VIRTIO_PCI_FLAG_AER (1 << VIRTIO_PCI_FLAG_AER_BIT) + typedef struct { MSIMessage msg; int virq; diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index ceaa233129..f863f69ede 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -1817,6 +1817,12 @@ static void virtio_pci_realize(PCIDevice *pci_dev, E= rror **errp) */ pci_set_word(pci_dev->config + pos + PCI_PM_PMC, 0x3); =20 + if (proxy->flags & VIRTIO_PCI_FLAG_AER) { + pcie_aer_init(pci_dev, PCI_ERR_VER, last_pcie_cap_offset, + PCI_ERR_SIZEOF, NULL); + last_pcie_cap_offset +=3D PCI_ERR_SIZEOF; + } + if (proxy->flags & VIRTIO_PCI_FLAG_INIT_DEVERR) { /* Init error enabling flags */ pcie_cap_deverr_init(pci_dev); @@ -1858,7 +1864,15 @@ static void virtio_pci_realize(PCIDevice *pci_dev, E= rror **errp) =20 static void virtio_pci_exit(PCIDevice *pci_dev) { + VirtIOPCIProxy *proxy =3D VIRTIO_PCI(pci_dev); + bool pcie_port =3D pci_bus_is_express(pci_get_bus(pci_dev)) && + !pci_bus_is_root(pci_get_bus(pci_dev)); + msix_uninit_exclusive_bar(pci_dev); + if (proxy->flags & VIRTIO_PCI_FLAG_AER && pcie_port && + pci_is_express(pci_dev)) { + pcie_aer_exit(pci_dev); + } } =20 static void virtio_pci_reset(DeviceState *qdev) @@ -1911,6 +1925,8 @@ static Property virtio_pci_properties[] =3D { VIRTIO_PCI_FLAG_INIT_PM_BIT, true), DEFINE_PROP_BIT("x-pcie-flr-init", VirtIOPCIProxy, flags, VIRTIO_PCI_FLAG_INIT_FLR_BIT, true), + DEFINE_PROP_BIT("aer", VirtIOPCIProxy, flags, + VIRTIO_PCI_FLAG_AER_BIT, false), DEFINE_PROP_END_OF_LIST(), }; =20 --=20 MST