From nobody Fri May 17 03:54:41 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=1604515390; cv=none; d=zohomail.com; s=zohoarc; b=JZ97Rw9clrA1/tQEyamQHGjygYVMLr4w3a8Cggw9tBopE3GUkLErvJb1/iSrzipaFeKgCIUDaI1klwOA6rvayuVRWIkasOv3gTJZKi0Ws+ekL6nSW00hFt5kIyLHRWD0aucDtkvx75DqNMl/695DEp9TbMAsBcksbgbx08ulJi8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515390; 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=h0heXC8AZt7eXzCvDvOmqsibMEQ+v+zzRIJ+pXZVz+w=; b=NLxZOjQLZRRBRjSCGayd6dKWNQpozXZ13fBcm6pr7vKU0o6BM6r2v6IvecvMRAc7nhkz7WP+MTkYbHd+uHfpMdYQTpxVijGZFEPZCEmZVuerBrojbroyjx8S9VcmGXoXIF3CMS81UtCRVULy2OI6VzughPiaXlk4grfnZLTmSSg= 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 160451539068650.45769453878597; Wed, 4 Nov 2020 10:43:10 -0800 (PST) Received: from localhost ([::1]:48038 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNkT-0001nW-F1 for importer@patchew.org; Wed, 04 Nov 2020 13:43:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52100) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNio-0008S3-LV for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:26 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:42164) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNin-0001tT-4C for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:26 -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-141-IklPdRX6MU2Hg-kjgBdfrg-1; Wed, 04 Nov 2020 13:41:22 -0500 Received: by mail-wr1-f69.google.com with SMTP id w1so9592950wrr.5 for ; Wed, 04 Nov 2020 10:41:22 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id h81sm3437209wmf.44.2020.11.04.10.41.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515284; 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=h0heXC8AZt7eXzCvDvOmqsibMEQ+v+zzRIJ+pXZVz+w=; b=UYj3p6vp5wGaqKt6OlmC/pOnHu311n4YiHOqKgWfEyqOXg04DbmuiM1DdDz6Wxw0WvdAMi rLswqNlbShbH2TsyFga0BUpXQHM+7b+ShGZKIanuWMYGnulh7ma8Nj/dFZYhu3eAGumcHR 0X/AkSuRSg5VE5VET1CjeK472aAvZeU= X-MC-Unique: IklPdRX6MU2Hg-kjgBdfrg-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=h0heXC8AZt7eXzCvDvOmqsibMEQ+v+zzRIJ+pXZVz+w=; b=c1cLLUcULUxHwBkbrxmQ9y+cg2pzITWIZC0PzVK9TsS+UuWrhGr3g93TtjwMWjP6ZO yeNX5AHjwCEjNcxg2wD8NSFpEliNlLGOmhPCUwXvKQ6O01bPA/b6li3eJOhzD+E2LwDr geDJXJUOA/R4gI0M8eBzadipGH7yP6kf99SBqvCMcM/AHt8hpi1rTNIeD2AMzqFOJJ83 DPTGHmDO6VsdNpvj3ZTtcXvSTjuY57swRdyuuL4Rcp4Rtgp6/5nkuAuez9hRAKv7Zlpr VLYle0C1BQ2n6ebMzAmMBpjGTN2cL+xuAwEHIcHJWC+JHEBx7ffU/5W9oaszCJMdhNu8 RdKw== X-Gm-Message-State: AOAM533u4Jx9gvJ81zHrw0JxerZm1YJFx6Xr6j2D65WXKbm6u92+MGoc XfE8uRzvutjFenWM1xnn+EyRBj9NSCuQKrjflwb7ejxxCiBNCctjZbTzys7uZTkR9PN7YwfHhL7 2qMs/qJ0cmeR0m7E= X-Received: by 2002:a7b:c7d3:: with SMTP id z19mr6292073wmk.4.1604515281174; Wed, 04 Nov 2020 10:41:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJzY4NM5GG1s2kd45AUSVpLRtzPwV5xiwPkOxdXhGMNLQb1fJEhFxgf0C2RBgOD4lVfKbstkhw== X-Received: by 2002:a7b:c7d3:: with SMTP id z19mr6292060wmk.4.1604515281033; Wed, 04 Nov 2020 10:41:21 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:18 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 01/31] pc: comment style fixup Message-ID: <20201104184040.285057-2-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Chen Qun , Paolo Bonzini , Richard Henderson 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" Fix up checkpatch comment style warnings. Signed-off-by: Michael S. Tsirkin Reviewed-by: Chen Qun --- hw/i386/pc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 5e6c0023e0..17b514d1da 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1149,10 +1149,11 @@ void pc_basic_device_init(struct PCMachineState *pc= ms, error_report("couldn't create HPET device"); exit(1); } - /* For pc-piix-*, hpet's intcap is always IRQ2. For pc-q35-1.7 - * and earlier, use IRQ2 for compat. Otherwise, use IRQ16~23, - * IRQ8 and IRQ2. - */ + /* + * For pc-piix-*, hpet's intcap is always IRQ2. For pc-q35-1.7 and + * earlier, use IRQ2 for compat. Otherwise, use IRQ16~23, IRQ8 and + * IRQ2. + */ uint8_t compat =3D object_property_get_uint(OBJECT(hpet), HPET_INTCAP, NULL); if (!compat) { --=20 MST From nobody Fri May 17 03:54:41 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=1604515394; cv=none; d=zohomail.com; s=zohoarc; b=RRxlRAAuooAt4kHfUME3xv65NWRhkfs3pGmTIzz0GqceVMYKefI/+Ns9Jraiphd+w20zKKfayoOjADxGTBKlKlgcUhLdtZz2a+R7Pv1nAXlAf7DY7SDqy6i/5Mu5RwNjkvPf0Wt3Cv386YMNvNlYLu8cJRMRJT7QDEGRqQ9ZvEw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515394; 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=6mgCjhnq9faNGq2/uhjHeag8wnNyBtF7y3xz069QrTc=; b=Qr3Dn6LONGW6YjUEQvwUX8DQVGV+DmDwai3aGX0J0BUU2hBuA2qVTzeAuE1+re3IJk+5xGA9VgsMl+RHlsWF47nVwnBsTBvZ2fo8ei8VceIBA6mdtvLNClHnR6GgnoKUMBId/ka1VCUvA7HJmUTvPkt/5cKChayPW3dDdXbqjGE= 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 1604515394473176.97408753988077; Wed, 4 Nov 2020 10:43:14 -0800 (PST) Received: from localhost ([::1]:48420 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNkX-0001yt-Bh for importer@patchew.org; Wed, 04 Nov 2020 13:43:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52116) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNis-00007K-Aj for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:30 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:33614) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNiq-0001tw-EA for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:30 -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-198-eJDnAk8DNqWjXY7HLmD2pg-1; Wed, 04 Nov 2020 13:41:25 -0500 Received: by mail-wr1-f69.google.com with SMTP id m20so9617515wrb.21 for ; Wed, 04 Nov 2020 10:41:25 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id u195sm3451875wmu.18.2020.11.04.10.41.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515287; 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=6mgCjhnq9faNGq2/uhjHeag8wnNyBtF7y3xz069QrTc=; b=KfR6NPiKD6ueigNk5zHcx/GkgHSBQZ5as2GWis8zGmTL6IRjkahZaAVpqnmikAKmhR96UD vIgp8YOU84FCTESvj8HvBf9p7VC1kpFmvK1bX1y8eyokN2eRx320gQd0mK7H5Tz59yaSXJ oqWZsGy3SOYea4s3vc29gakB/P3supE= X-MC-Unique: eJDnAk8DNqWjXY7HLmD2pg-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=6mgCjhnq9faNGq2/uhjHeag8wnNyBtF7y3xz069QrTc=; b=CWVU34Aubi2MSsCDpLmxgM34FTNtOc6YSTTyQJgWhZBDglk1+HuWx9fzIqBeZu38/n PoxA1iMZ2BJ5QpNjRLW1R9Qlhu/lRt8gVjFbeleJ0NEIjieCXlMGKJEkYrqmVfIPa6Nd EpotFKWgcaBRb9XXWIi3m1rXMAkQV39nQgVC+Dkgm462c3h9xw1TQXUG8csMbNo5xuBB wZEq24Vr74eaNv0nu2mCKThIC/yiAeTrErgX8v3QjR1LHhL1mJgc36tpOYFccVm0r1dC gmctVcIEUrAHkq7ncxlO44YD39rLosGTmBp9dHR5bpE8pe2LHkbbtWsA3BCvF9yImDk0 WvPw== X-Gm-Message-State: AOAM5336je6Th4IfJYwR/7hNy48yXM9uCNI+3ZcRfoCAJTUsP6D+dfj5 Fo0nWn9oP55tuD4ewyVxu4VRJHfcGoMPE+NrCrn3bAMrxdiCq0Cr6UZcEjr2G/uRqCoBpdK1kOs 8RRIAKjXtY3TwXTI= X-Received: by 2002:a5d:5701:: with SMTP id a1mr33507557wrv.414.1604515284232; Wed, 04 Nov 2020 10:41:24 -0800 (PST) X-Google-Smtp-Source: ABdhPJzJna2NsDHXZbX+en4FhfrT+SuGKLaHeTNlHBFGf/A7uo9rvx9dMRLm1qRiZJBK+AkWhYJb6Q== X-Received: by 2002:a5d:5701:: with SMTP id a1mr33507534wrv.414.1604515284058; Wed, 04 Nov 2020 10:41:24 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:21 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 02/31] virtio-mem: Make sure "addr" is always multiples of the block size Message-ID: <20201104184040.285057-3-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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 , Pankaj Gupta , David Hildenbrand , "Dr . David Alan Gilbert" , Wei Yang , 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: David Hildenbrand The spec states: "The device MUST set addr, region_size, usable_region_size, plugged_size, requested_size to multiples of block_size." In some cases, we currently don't guarantee that for "addr": For example, when starting a VM with 4 GiB boot memory and a virtio-mem device with a block size of 2 GiB, "memaddr"/"addr" will be auto-assigned to 0x140000000 (5 GiB). We'll try to improve auto-assignment for memory devices next, to avoid bailing out in case memory device code selects a bad address. Note: The Linux driver doesn't support such big block sizes yet. Reviewed-by: Pankaj Gupta Fixes: 910b25766b33 ("virtio-mem: Paravirtualized memory hot(un)plug") Cc: "Michael S. Tsirkin" Cc: Wei Yang Cc: Dr. David Alan Gilbert Cc: Igor Mammedov Cc: Pankaj Gupta Signed-off-by: David Hildenbrand Message-Id: <20201008083029.9504-2-david@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-mem.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c index 7c8ca9f28b..70200b4eac 100644 --- a/hw/virtio/virtio-mem.c +++ b/hw/virtio/virtio-mem.c @@ -449,6 +449,11 @@ static void virtio_mem_device_realize(DeviceState *dev= , Error **errp) ")", VIRTIO_MEM_REQUESTED_SIZE_PROP, VIRTIO_MEM_BLOCK_SIZE_PROP, vmem->block_size); return; + } else if (!QEMU_IS_ALIGNED(vmem->addr, vmem->block_size)) { + error_setg(errp, "'%s' property has to be multiples of '%s' (0x%" = PRIx64 + ")", VIRTIO_MEM_ADDR_PROP, VIRTIO_MEM_BLOCK_SIZE_PROP, + vmem->block_size); + return; } else if (!QEMU_IS_ALIGNED(memory_region_size(&vmem->memdev->mr), vmem->block_size)) { error_setg(errp, "'%s' property memdev size has to be multiples of" --=20 MST From nobody Fri May 17 03:54:41 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=1604515509; cv=none; d=zohomail.com; s=zohoarc; b=aaG8j2dbS2jJFQy09+2nj/s+SVA7jQ1jmlLn+qEUl09BcHMjxdQnDmOZAO552pIHeCTiYCpYnlBEPLGz+eRYZEpHdR0Pn+6c1YHJkqWe5eupt6/tzKo+T0loQ9jcNNXxTJggtrI4rbiq0YSufcyNeXKMJ660fwFCScK2dbUoTo0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515509; 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=aiHSSZpWVmtRhYn18w/DUuKk+CQD6Uz5cJmFPDvNuls=; b=eP1UYdSHO1vIEkFnfIsZCT4S+Tu8O2fMd4vzI9AMwKpKdnvYaEDecMc3D+qRPakN/5L/lStrJHxKULiIQLah1mp6w1+VP9t9+oXUefDVtz9DR2yrz7UGwJAJwyYGi62xsJrW0tja/dlmFTKWGEpTJVUqB1HdDncWwhYVeOroM+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 1604515509520587.4070067420503; Wed, 4 Nov 2020 10:45:09 -0800 (PST) Received: from localhost ([::1]:56798 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNmO-0005P0-BE for importer@patchew.org; Wed, 04 Nov 2020 13:45:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52132) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNiu-0000CB-MK for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:32 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:26076) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNit-0001us-2E for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:32 -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-331-gfFJRv1tOwe0zFmAzvTS5g-1; Wed, 04 Nov 2020 13:41:28 -0500 Received: by mail-wr1-f71.google.com with SMTP id h11so6640263wrq.20 for ; Wed, 04 Nov 2020 10:41:28 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id z5sm3859713wrw.87.2020.11.04.10.41.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515290; 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=aiHSSZpWVmtRhYn18w/DUuKk+CQD6Uz5cJmFPDvNuls=; b=SgbPE+NBCiAh55BSlz51GOZeYegwmNdW/S3YuI89Ui1uPvSayl9CTpUcWUwqTQa6S36MkH baYRMDBbs33cUCNeSyXUvByo0TZnVMM8kXFDKkZdpmPUMxRrflgWnFmso6uBi1fRxV/YBS omLSA+YYM+2UTSevzmdKl360reXNsj4= X-MC-Unique: gfFJRv1tOwe0zFmAzvTS5g-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=aiHSSZpWVmtRhYn18w/DUuKk+CQD6Uz5cJmFPDvNuls=; b=Rv+cET4uEenu5WP4OdKX+qucb6y8WxqWr9JSrMzBLQ+YafyQjYHhdgLdJ/0iqsbmIl 7jx4XngxMuzuTWy2ihLRyZVUBGlZ0DOXbcm9xkqYgC43M4Je+jUwxtySvctLBHL52aFO QXJk0uOGp7GMqBsgahg08ITdWPXuBkmiV4fty791RNwCcTqhORUftmP6B3HUTqh+YKvp Z4s45JJJ2YszD66MZcW/ijo2prOf3txE/Ujv8EMNBlSeDwwBwpbn0L51AuESUY4GH7PZ FhlHnBXSbCXbgutXhu9jzOjI1F7iEi74F5r2l7jjFI4gPRUNceYabFlreOcfCLxpDwjR dIrA== X-Gm-Message-State: AOAM5302z/NSnB/5KEbEsqoVG0h2VSbE6xOhYLTGBYQNH3YgSu3pIG2n tI/rCEO5JM6y8TqTE808siF80Kor6H/kueFLajSK9o5RbK3xRwN9uY4j637aOrwUN59TeEtc+3a 51JQYZnANI0h9cn0= X-Received: by 2002:a1c:7515:: with SMTP id o21mr6343179wmc.5.1604515287185; Wed, 04 Nov 2020 10:41:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJyZoOuGeTcPScXfx4NnoV4Fb3cypRPKzFPIH5tkFVUAE8MgySqu9yqfEv1wRtH/tODisnTrTg== X-Received: by 2002:a1c:7515:: with SMTP id o21mr6343162wmc.5.1604515287001; Wed, 04 Nov 2020 10:41:27 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:24 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 03/31] virtio-mem: Make sure "usable_region_size" is always multiples of the block size Message-ID: <20201104184040.285057-4-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Pankaj Gupta , David Hildenbrand , "Dr . David Alan Gilbert" , Wei Yang , 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: David Hildenbrand The spec states: "The device MUST set addr, region_size, usable_region_size, plugged_size, requested_size to multiples of block_size." With block sizes > 256MB, we currently wouldn't guarantee that for the usable_region_size. Note that we cannot exceed the region_size, as we already enforce the alignment there properly. Fixes: 910b25766b33 ("virtio-mem: Paravirtualized memory hot(un)plug") Cc: "Michael S. Tsirkin" Cc: Wei Yang Cc: Dr. David Alan Gilbert Cc: Igor Mammedov Cc: Pankaj Gupta Signed-off-by: David Hildenbrand Message-Id: <20201008083029.9504-3-david@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-mem.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c index 70200b4eac..461ac68ee8 100644 --- a/hw/virtio/virtio-mem.c +++ b/hw/virtio/virtio-mem.c @@ -227,6 +227,9 @@ static void virtio_mem_resize_usable_region(VirtIOMEM *= vmem, uint64_t newsize =3D MIN(memory_region_size(&vmem->memdev->mr), requested_size + VIRTIO_MEM_USABLE_EXTENT); =20 + /* The usable region size always has to be multiples of the block size= . */ + newsize =3D QEMU_ALIGN_UP(newsize, vmem->block_size); + if (!requested_size) { newsize =3D 0; } --=20 MST From nobody Fri May 17 03:54:41 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=1604515430; cv=none; d=zohomail.com; s=zohoarc; b=YrF/Q+MfaBs/sQRosJ3FuJuHJJrBQsPTwOZ5Gd1pjI+MeSnkoSyYDAXWFuNm4EshXWG+p5OpxWl5F6yYYsJJztxzIAj3eNudtIJ0tzvOmjTzj8TwA3U9XzbpQiwPn0Z6/oR7tfadXNKwq/MgfWUO7/luwKDonj6psh0GjDdsggE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515430; 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=Bbvtq4HGVJ/wSfBQLsW+iRV9/tlIpRrNFHMItefyjY8=; b=ZnD3nK73xEDf9F4yM5LpmuI6YuRHiBcPPt/vkiuWNJD4KRUgQ6fwvcmehuQXXad2dp14HEgcACsk4I3zB9nKo4Y8lh/WfvkcNBOxHJ+W5AkKV919iX4Uu119l07x6xoPaoUgvz7rQfcnRU9xyxoPd2o3gqiICB5+XfUxJ6BdJCc= 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 1604515430625603.523684394326; Wed, 4 Nov 2020 10:43:50 -0800 (PST) Received: from localhost ([::1]:51158 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNl7-000383-EW for importer@patchew.org; Wed, 04 Nov 2020 13:43:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52158) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNiy-0000Le-Fl for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:36 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:30447) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNiw-0001vC-BJ for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:36 -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-393-4Q02eU6ZN7iZpRWXr7w_1g-1; Wed, 04 Nov 2020 13:41:31 -0500 Received: by mail-wr1-f72.google.com with SMTP id x16so9538457wrg.7 for ; Wed, 04 Nov 2020 10:41:31 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id b4sm3723480wro.57.2020.11.04.10.41.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515293; 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=Bbvtq4HGVJ/wSfBQLsW+iRV9/tlIpRrNFHMItefyjY8=; b=WWfHPIjojMCjmUtjYeYdbU9mXru40iIW9/OUoMHDsDgpRSnpmxFGtJrOu6GALEqOXCwItY jCC5sWJwIDXDHl7o005lirjhTEUMZ7uf4uPoL72ceh2MksTcJPl5j/IB39Q+t0pok0H28K 0eJZsQWnrzVBvFOHoabyPPZOnZ0Z2Uk= X-MC-Unique: 4Q02eU6ZN7iZpRWXr7w_1g-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=Bbvtq4HGVJ/wSfBQLsW+iRV9/tlIpRrNFHMItefyjY8=; b=RW+VZtnj64lKtS9NqWSAQt6yGPrZqiTjS2aH1w+oeqv2xdi7dGaUEXyt3AvvczzV9k rJRwH7/kKMktuyKtCfCMiVGTW78yo/gyCnK1uARittTLekXsHRq/olfMyMJoqbbDo9nq y+7+SccT7BilQ2zWpO/KJnSugDdWjIjk/pgwIRVn7y+uInFznwouaoKWPaT983eYtcbJ HoVy2/dwWtYAuCl93ynQtQpqUl+VuW9GYqlGjzrcvFP6o71bPjjmoTSuggzqTfdKOm5f UYiSiBtdznD/ZZV55PQ8kTR/1J5QpC2CauUxfn6ANWvGVyRIAhlNhnhrysM+AKYQ1h9B Tw7A== X-Gm-Message-State: AOAM531C6aItG/eFRaffctou8FqURkL8snhlypv5ucimtt95dVXIR/HJ /XnKLjESHYDpEnfUdc6AziVEng2eD2JlczhClJVuYK/eZZ8BZV/sLMdQ7BOjm1Xcpmel2vYJDvZ /1uoueVa319AgWZ0= X-Received: by 2002:adf:ed92:: with SMTP id c18mr35868472wro.363.1604515290154; Wed, 04 Nov 2020 10:41:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJwoQMfoMrpNtZzxRLAnt2kUrChcGDlsUqG4t535zxfYCl2X/yRE+l9JGzwxzUzPVDj0zdCPUA== X-Received: by 2002:adf:ed92:: with SMTP id c18mr35868453wro.363.1604515289987; Wed, 04 Nov 2020 10:41:29 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:27 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 04/31] virtio-mem: Probe THP size to determine default block size Message-ID: <20201104184040.285057-5-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Pankaj Gupta , David Hildenbrand , "Dr . David Alan Gilbert" , Wei Yang , 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: David Hildenbrand Let's allow a minimum block size of 1 MiB in all configurations. Select the default block size based on - The page size of the memory backend. - The THP size if the memory backend size corresponds to the real host page size. - The global minimum of 1 MiB. and warn if something smaller is configured by the user. VIRTIO_MEM only supports Linux (depends on LINUX), so we can probe the THP size unconditionally. For now we only support virtio-mem on x86-64 - there isn't a user-visible change (x86-64 only supports 2 MiB THP on the PMD level) - the default was, and will be 2 MiB. If we ever have THP on the PUD level (e.g., 1 GiB THP on x86-64), we expect it to be more transparent - e.g., to only optimize fully populated ranges unless explicitly told /configured otherwise (in contrast to PMD THP). Reviewed-by: Pankaj Gupta Cc: "Michael S. Tsirkin" Cc: Wei Yang Cc: Dr. David Alan Gilbert Cc: Igor Mammedov Cc: Pankaj Gupta Signed-off-by: David Hildenbrand Message-Id: <20201008083029.9504-4-david@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-mem.c | 105 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 101 insertions(+), 4 deletions(-) diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c index 461ac68ee8..655824ff81 100644 --- a/hw/virtio/virtio-mem.c +++ b/hw/virtio/virtio-mem.c @@ -33,10 +33,83 @@ #include "trace.h" =20 /* - * Use QEMU_VMALLOC_ALIGN, so no THP will have to be split when unplugging - * memory (e.g., 2MB on x86_64). + * Let's not allow blocks smaller than 1 MiB, for example, to keep the tra= cking + * bitmap small. */ -#define VIRTIO_MEM_MIN_BLOCK_SIZE ((uint32_t)QEMU_VMALLOC_ALIGN) +#define VIRTIO_MEM_MIN_BLOCK_SIZE ((uint32_t)(1 * MiB)) + +#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \ + defined(__powerpc64__) +#define VIRTIO_MEM_DEFAULT_THP_SIZE ((uint32_t)(2 * MiB)) +#else + /* fallback to 1 MiB (e.g., the THP size on s390x) */ +#define VIRTIO_MEM_DEFAULT_THP_SIZE VIRTIO_MEM_MIN_BLOCK_SIZE +#endif + +/* + * We want to have a reasonable default block size such that + * 1. We avoid splitting THPs when unplugging memory, which degrades + * performance. + * 2. We avoid placing THPs for plugged blocks that also cover unplugged + * blocks. + * + * The actual THP size might differ between Linux kernels, so we try to pr= obe + * it. In the future (if we ever run into issues regarding 2.), we might w= ant + * to disable THP in case we fail to properly probe the THP size, or if the + * block size is configured smaller than the THP size. + */ +static uint32_t thp_size; + +#define HPAGE_PMD_SIZE_PATH "/sys/kernel/mm/transparent_hugepage/hpage_pmd= _size" +static uint32_t virtio_mem_thp_size(void) +{ + gchar *content =3D NULL; + const char *endptr; + uint64_t tmp; + + if (thp_size) { + return thp_size; + } + + /* + * Try to probe the actual THP size, fallback to (sane but eventually + * incorrect) default sizes. + */ + if (g_file_get_contents(HPAGE_PMD_SIZE_PATH, &content, NULL, NULL) && + !qemu_strtou64(content, &endptr, 0, &tmp) && + (!endptr || *endptr =3D=3D '\n')) { + /* + * Sanity-check the value, if it's too big (e.g., aarch64 with 64k= base + * pages) or weird, fallback to something smaller. + */ + if (!tmp || !is_power_of_2(tmp) || tmp > 16 * MiB) { + warn_report("Read unsupported THP size: %" PRIx64, tmp); + } else { + thp_size =3D tmp; + } + } + + if (!thp_size) { + thp_size =3D VIRTIO_MEM_DEFAULT_THP_SIZE; + warn_report("Could not detect THP size, falling back to %" PRIx64 + " MiB.", thp_size / MiB); + } + + g_free(content); + return thp_size; +} + +static uint64_t virtio_mem_default_block_size(RAMBlock *rb) +{ + const uint64_t page_size =3D qemu_ram_pagesize(rb); + + /* We can have hugetlbfs with a page size smaller than the THP size. */ + if (page_size =3D=3D qemu_real_host_page_size) { + return MAX(page_size, virtio_mem_thp_size()); + } + return MAX(page_size, VIRTIO_MEM_MIN_BLOCK_SIZE); +} + /* * Size the usable region bigger than the requested size if possible. Esp. * Linux guests will only add (aligned) memory blocks in case they fully @@ -443,10 +516,23 @@ static void virtio_mem_device_realize(DeviceState *de= v, Error **errp) rb =3D vmem->memdev->mr.ram_block; page_size =3D qemu_ram_pagesize(rb); =20 + /* + * If the block size wasn't configured by the user, use a sane default= . This + * allows using hugetlbfs backends of any page size without manual + * intervention. + */ + if (!vmem->block_size) { + vmem->block_size =3D virtio_mem_default_block_size(rb); + } + if (vmem->block_size < page_size) { error_setg(errp, "'%s' property has to be at least the page size (= 0x%" PRIx64 ")", VIRTIO_MEM_BLOCK_SIZE_PROP, page_size); return; + } else if (vmem->block_size < virtio_mem_default_block_size(rb)) { + warn_report("'%s' property is smaller than the default block size = (%" + PRIx64 " MiB)", VIRTIO_MEM_BLOCK_SIZE_PROP, + virtio_mem_default_block_size(rb) / MiB); } else if (!QEMU_IS_ALIGNED(vmem->requested_size, vmem->block_size)) { error_setg(errp, "'%s' property has to be multiples of '%s' (0x%" = PRIx64 ")", VIRTIO_MEM_REQUESTED_SIZE_PROP, @@ -742,6 +828,18 @@ static void virtio_mem_get_block_size(Object *obj, Vis= itor *v, const char *name, const VirtIOMEM *vmem =3D VIRTIO_MEM(obj); uint64_t value =3D vmem->block_size; =20 + /* + * If not configured by the user (and we're not realized yet), use the + * default block size we would use with the current memory backend. + */ + if (!value) { + if (vmem->memdev && memory_region_is_ram(&vmem->memdev->mr)) { + value =3D virtio_mem_default_block_size(vmem->memdev->mr.ram_b= lock); + } else { + value =3D virtio_mem_thp_size(); + } + } + visit_type_size(v, name, &value, errp); } =20 @@ -821,7 +919,6 @@ static void virtio_mem_instance_init(Object *obj) { VirtIOMEM *vmem =3D VIRTIO_MEM(obj); =20 - vmem->block_size =3D VIRTIO_MEM_MIN_BLOCK_SIZE; notifier_list_init(&vmem->size_change_notifiers); vmem->precopy_notifier.notify =3D virtio_mem_precopy_notify; =20 --=20 MST From nobody Fri May 17 03:54:41 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=1604515649; cv=none; d=zohomail.com; s=zohoarc; b=naUOpt6HQUIkEcy9umBYzYZi5eSMDXuigAnNZSWRdCJqG9VNwiFHIqNHI0Ut0CJ80VtuV35j3fZ2CTCPHiiIlkq04Ne6C1428YXKP8E4FP8NAv1OVKS3eaG7ddJsq8PhPQdbca46Vuo1Z8/GEIOg9byYtSFBnx2MZTmv07lz+RY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515649; 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=Sdg1XQq2wWnBWKWHjU6hAJQnpSiiinwLqOwmCIMoYHk=; b=nSVYpugO2SfCjjpjbq7x35eX+4jt1as/9BlJeYUHxPrxMVWS4np4wxMgjvEf1ZwGtQsgkmyKpVSKhHBSQOs4QqM4qpmJUELHrdfmlqHwwyZ5kAdLyhVzKHmF9ivsmVqKZkZXF5HQ1+DbK+wfGmZLkXHCESy0WABvw3JKaLdE/Xs= 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 1604515649022920.4459921565241; Wed, 4 Nov 2020 10:47:29 -0800 (PST) Received: from localhost ([::1]:36978 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNoc-0000Vl-UI for importer@patchew.org; Wed, 04 Nov 2020 13:47:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52182) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNj1-0000ST-Sz for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:39 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:38628) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNiy-0001vK-RJ for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:39 -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-553-O-m-yhI8MQK7bksLZNnSlw-1; Wed, 04 Nov 2020 13:41:34 -0500 Received: by mail-wm1-f70.google.com with SMTP id t201so1564191wmt.1 for ; Wed, 04 Nov 2020 10:41:34 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id y4sm3682702wrp.74.2020.11.04.10.41.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515296; 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=Sdg1XQq2wWnBWKWHjU6hAJQnpSiiinwLqOwmCIMoYHk=; b=LgLGBBrhdYpUVOnxWdmam6frz3YRDMsF26GIqjC/RDsAA+/dnaEGXcJbCruhQRH54Hn1JT DoRRJgALT8VkQLEXzNeHvNpTjryV8pyndgWy/8AWSoeiSPIesC0j9x+pWfsvOJIim3ITK2 k7vKTArxWsv2vnGz9kb/F+AS0sybWGw= X-MC-Unique: O-m-yhI8MQK7bksLZNnSlw-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=Sdg1XQq2wWnBWKWHjU6hAJQnpSiiinwLqOwmCIMoYHk=; b=FFDzC6UseCwfFK/3hZbVkHnRdc+yg2s507jQ+fFis6tCxL2Oh7lsB2NffQ2DA9ft7E TuAk9OVMb3CYuF/1O+7zGZeM/aCszAfisscvZyP7rlsgoQvEo9QtnH3nWihwlQ3cVSKY mO8L4Xpmq4Iv/aGKMC6b4dkei8ECijMqZWq6g65RVxcqzP+INGVFMNmsSxj9xwqDqe4n IK9ygfj/ehpScE/AqrsbgzA6xlIE/lo4KCG48DkmoWcKM0/M7hZABTaPBh3ZhKZiAsP7 hUXHT1XpBVG5smBaggkEiBOZ7KE7wVCyrLDK3Vwrmi4savOeSdGK7Xyaxx5EHA0ZaIke dmcA== X-Gm-Message-State: AOAM5333coi1FSkA0/j88Y196xy0rBh4zcuJ88yOFwOiFu8TsGdrIqva 9h7weibBlL0wVB3cbx/5NY0AJXKdgqHsKL6QZZE8SNZLdeZa1PK8rmSMg5hFiWBEcd2S1eZ8BOC 0IVOJ252a+Dz3xug= X-Received: by 2002:a1c:ddc4:: with SMTP id u187mr5988920wmg.55.1604515293230; Wed, 04 Nov 2020 10:41:33 -0800 (PST) X-Google-Smtp-Source: ABdhPJwxa/lqinC32R1qAdNqW7fw4dyydl8bIKsQYRQAC5RbimM+ke99QYSIr4KEzfA1a2F9kSUJ7A== X-Received: by 2002:a1c:ddc4:: with SMTP id u187mr5988902wmg.55.1604515293075; Wed, 04 Nov 2020 10:41:33 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:30 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 05/31] memory-device: Support big alignment requirements Message-ID: <20201104184040.285057-6-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Pankaj Gupta , David Hildenbrand , "Dr . David Alan Gilbert" , Wei Yang , 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: David Hildenbrand Let's warn instead of bailing out - the worst thing that can happen is that we'll fail hot/coldplug later. The user got warned, and this should be rare. This will be necessary for memory devices with rather big (user-defined) alignment requirements - say a virtio-mem device with a 2G block size - which will become important, for example, when supporting vfio in the future. Reviewed-by: Pankaj Gupta Cc: "Michael S. Tsirkin" Cc: Wei Yang Cc: Dr. David Alan Gilbert Cc: Igor Mammedov Cc: Pankaj Gupta Signed-off-by: David Hildenbrand Message-Id: <20201008083029.9504-5-david@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/mem/memory-device.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c index 4bc9cf0917..8a736f1a26 100644 --- a/hw/mem/memory-device.c +++ b/hw/mem/memory-device.c @@ -119,9 +119,10 @@ static uint64_t memory_device_get_free_addr(MachineSta= te *ms, =20 /* start of address space indicates the maximum alignment we expect */ if (!QEMU_IS_ALIGNED(range_lob(&as), align)) { - error_setg(errp, "the alignment (0x%" PRIx64 ") is not supported", - align); - return 0; + warn_report("the alignment (0x%" PRIx64 ") exceeds the expected" + " maximum alignment, memory will get fragmented and no= t" + " all 'maxmem' might be usable for memory devices.", + align); } =20 memory_device_check_addable(ms, size, &err); @@ -151,7 +152,7 @@ static uint64_t memory_device_get_free_addr(MachineStat= e *ms, return 0; } } else { - if (range_init(&new, range_lob(&as), size)) { + if (range_init(&new, QEMU_ALIGN_UP(range_lob(&as), align), size)) { error_setg(errp, "can't add memory device, device too big"); return 0; } --=20 MST From nobody Fri May 17 03:54:41 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=1604515770; cv=none; d=zohomail.com; s=zohoarc; b=kexqGjByQTAARvFeB3Akb0scqAEwYjOx0z2AN29ATmdJkELssk4cuahbu59tNbKNLIF4PBpJULybALXipEaamx7pKpaeUuU5RwKvrqzdUglunBIq/IqsxZhyA7ZD5aiEnYxysd63+rrM7bCVOJTt68vfTEghvqRLj4sPVtZCxsU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515770; 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=73Mpz3vICh9QEBEOeL5uEWGSphcZBjM+o5MkFyzWxeI=; b=ANDoEOVDT+Y2RFrGfd9tssZc+1Wh+E1Mdt6+G4etvLom8jA5OIW5IOfOYAOoh8E+KyQ9vbw9ykbw5tC3/9WeNqrG8pCV1aJtqco4PpXF/HwvE0TXVbIVHE7Oo3xVBYXVdurNyhVWX498tJDXfsf/H2kuyd9Mv8j97WMuEM301Zg= 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 1604515770242126.72624921329486; Wed, 4 Nov 2020 10:49:30 -0800 (PST) Received: from localhost ([::1]:45330 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNqb-0003vz-3N for importer@patchew.org; Wed, 04 Nov 2020 13:49:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNj6-0000dh-Ts for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:44 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:60688) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNj4-0001wf-VX for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:44 -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-490-LYVv4JK5MGmW5bIZheAGiQ-1; Wed, 04 Nov 2020 13:41:38 -0500 Received: by mail-wr1-f72.google.com with SMTP id m20so9617684wrb.21 for ; Wed, 04 Nov 2020 10:41:37 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id m1sm3342310wme.48.2020.11.04.10.41.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515302; 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=73Mpz3vICh9QEBEOeL5uEWGSphcZBjM+o5MkFyzWxeI=; b=FKRwzjqqzp5CYquKT6GYF8e4KWzsf9tK49h/Gkmi4me72JejXutLQn4PsGGqXRyXqJNEJd qGSHh6rHPqFswAJNqRqTDJ1jCe9qhBnTg81t4iDCG7OSJ2MFeT/RmwBo/Uyv0uPGoVLcI4 E9XS7RHDB3RD4hxQLaclxO2mU0YCSlE= X-MC-Unique: LYVv4JK5MGmW5bIZheAGiQ-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=73Mpz3vICh9QEBEOeL5uEWGSphcZBjM+o5MkFyzWxeI=; b=U8vXoSa7DFdmUpdfY6StBkpzY9O9LAJlwcERit5qrsCTp/RUCqsPRu7lsokTmKUqpt cLk2DqJfZnTmvO2dR23n1/hXy/67cspBLh6meVqDg+1CxDUVOLuwDd1FO/aVkJ85HroU Y7/l3jflYmp0jAo4t8nVcyQCNoY2dwxY5Wt5uQ2HDFnuDY1c6a9k+mia5dgCZfpToHik WcjxCoskIXLHSce41mB2/nxPvZCC2H+SJ9hFVf3FxBNi6jwRd7mtKWPLzjM/cih5Bu0P ATsDeEr025J8rceiWStw95B1qV8hDbiANWjFddip8pzplvUr9E97q/knchYEfjCiWxVh ldSQ== X-Gm-Message-State: AOAM530CeVFdg6ewhzaMYZE+byjZmg6UI5xzy+bgO1u0BtPadAVAWL3W X36E5Jk0Cn2jAsRITNB+Ooprzjcn3wVEH6iL5XjKKvx/t+mGIBKJyITJqAFgo6bX9ImxijIEkzv XHogU3VLBWzXG5+M= X-Received: by 2002:a1c:99d3:: with SMTP id b202mr6012003wme.0.1604515296581; Wed, 04 Nov 2020 10:41:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJwOphEw6zEwJnClQGThbqzu7B+GB3A+b245i3U2i8A9zmLcfdortit7vCjQsRtLY+jsG/0UyA== X-Received: by 2002:a1c:99d3:: with SMTP id b202mr6011987wme.0.1604515296427; Wed, 04 Nov 2020 10:41:36 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:33 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 06/31] memory-device: Add get_min_alignment() callback Message-ID: <20201104184040.285057-7-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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 , Pankaj Gupta , David Hildenbrand , "Dr . David Alan Gilbert" , Wei Yang , 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: David Hildenbrand Add a callback that can be used to express additional alignment requirements (exceeding the ones from the memory region). Will be used by virtio-mem to express special alignment requirements due to manually configured, big block sizes (e.g., 1GB with an ordinary memory-backend-ram). This avoids failing later when realizing, because auto-detection wasn't able to assign a properly aligned address. Reviewed-by: Pankaj Gupta Cc: "Michael S. Tsirkin" Cc: Wei Yang Cc: Dr. David Alan Gilbert Cc: Igor Mammedov Cc: Pankaj Gupta Signed-off-by: David Hildenbrand Message-Id: <20201008083029.9504-6-david@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/mem/memory-device.h | 10 ++++++++++ hw/mem/memory-device.c | 11 +++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/include/hw/mem/memory-device.h b/include/hw/mem/memory-device.h index 30d7e99f52..48d2611fc5 100644 --- a/include/hw/mem/memory-device.h +++ b/include/hw/mem/memory-device.h @@ -88,6 +88,16 @@ struct MemoryDeviceClass { */ MemoryRegion *(*get_memory_region)(MemoryDeviceState *md, Error **errp= ); =20 + /* + * Optional: Return the desired minimum alignment of the device in gue= st + * physical address space. The final alignment is computed based on th= is + * alignment and the alignment requirements of the memory region. + * + * Called when plugging the memory device to detect the required align= ment + * during address assignment. + */ + uint64_t (*get_min_alignment)(const MemoryDeviceState *md); + /* * Translate the memory device into #MemoryDeviceInfo. */ diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c index 8a736f1a26..cf0627fd01 100644 --- a/hw/mem/memory-device.c +++ b/hw/mem/memory-device.c @@ -259,7 +259,7 @@ void memory_device_pre_plug(MemoryDeviceState *md, Mach= ineState *ms, { const MemoryDeviceClass *mdc =3D MEMORY_DEVICE_GET_CLASS(md); Error *local_err =3D NULL; - uint64_t addr, align; + uint64_t addr, align =3D 0; MemoryRegion *mr; =20 mr =3D mdc->get_memory_region(md, &local_err); @@ -267,7 +267,14 @@ void memory_device_pre_plug(MemoryDeviceState *md, Mac= hineState *ms, goto out; } =20 - align =3D legacy_align ? *legacy_align : memory_region_get_alignment(m= r); + if (legacy_align) { + align =3D *legacy_align; + } else { + if (mdc->get_min_alignment) { + align =3D mdc->get_min_alignment(md); + } + align =3D MAX(align, memory_region_get_alignment(mr)); + } addr =3D mdc->get_addr(md); addr =3D memory_device_get_free_addr(ms, !addr ? NULL : &addr, align, memory_region_size(mr), &local_err); --=20 MST From nobody Fri May 17 03:54:41 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=1604515505; cv=none; d=zohomail.com; s=zohoarc; b=dSOdm7KqHX3t6jUPnhCdOQYu+RaWZ7bf1sLF7gYWrOZCaLewRU8U0Lnm6inhIBkO5lXXM0/asq6zeT1uK5KG6j7gRbTOD5G0w3ChO2ftBvGV4GJ8bNX75B58l3LgBPYXS6gHQ228sEQgh9rv49NH+glkYIzEFwkDUYjcyFEMw1E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515505; 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=NLAI6E52qR6iiwo+p5ybiNDvz6sVMxaw+nStvrHSOQ4=; b=diGO0UN3qcieEdoFsKbHQpjJX8TNnvUUuZ2tySKYKGSvEpyb5O8fW2zf3bjFhxGxZFpmdeKF9wzzVNd0uVrGwbVMPDgD+8+xHOWi8DIMxC8dKlofX8rFTjJzroYCSQrjxdblNubhLvBsEUFEYbtP+149bqUQr9Iz0LQeGhjD76g= 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 1604515505043930.0973236339923; Wed, 4 Nov 2020 10:45:05 -0800 (PST) Received: from localhost ([::1]:56414 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNmJ-0005FV-So for importer@patchew.org; Wed, 04 Nov 2020 13:45:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjD-0000pL-94 for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:51 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:59405) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjB-0001yq-HZ for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:50 -0500 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-268-0qRGICcRM1G3sEs39zBbyA-1; Wed, 04 Nov 2020 13:41:40 -0500 Received: by mail-wm1-f71.google.com with SMTP id 3so1548185wms.9 for ; Wed, 04 Nov 2020 10:41:40 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id f8sm3703180wrt.88.2020.11.04.10.41.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515308; 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=NLAI6E52qR6iiwo+p5ybiNDvz6sVMxaw+nStvrHSOQ4=; b=SV5YG5LoeENTMt06x8N14NK7j6VgLNIK4/5hF3tYf8A4fJVvpe8mcFjAMvDW1xS6panCVI TRKIEHbIQd5IpOE+NXLAzHxvtY46xwOUtzPs6LmqW1hIWGFb6QdluBhQ0fqnas3fBB4tbz MI8EmaD12GvdCVg4YW+LkEyroFwfF/I= X-MC-Unique: 0qRGICcRM1G3sEs39zBbyA-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=NLAI6E52qR6iiwo+p5ybiNDvz6sVMxaw+nStvrHSOQ4=; b=VHLT5ZDF0lkaGUKT4l0bXsKIo4HdonuyZWGBpXHFCxixPi+PhOsHTjGpO9Kj31J90P J8wEJX6Xt616Ri5Af6eArhd/yDmxwFilbVxPZG2ZlgI7f5qvYnQglUXyK22ATuYpnOk3 mqV6bX6DnFV8gdTCNMzKauGI9UeV9mrjXIhJatUac/oHJ7Ru9XQfDdzYJs+Ceu2H+qs9 nHfosW+dl8yCSX6fTN6T3w1cMYIHEaRNrPitirPiJ3bfpu2ebfCO98QCbUIMsJ54SRb+ iymE2JG4sVMYZRgdCUWIj8Sdrp/tq4QsRkmkhfjCxS0KLOfpqQP/vGlNH10UGM4y9EA5 dYuQ== X-Gm-Message-State: AOAM533Q6UP6S7amh1zsjxXmvmlrdbGBGFT7pu4bQ1c0vU1TQsxXqkQG D8qO4t1PYDmJnnuKjDEQCyH47tpDU47yBfo3QgoLwlYY3Ldf5B9XmzgLsaYQT6/SvlPTs4Gfgwf DcKN9aTMyXEhpoEk= X-Received: by 2002:adf:ab02:: with SMTP id q2mr24439237wrc.320.1604515299402; Wed, 04 Nov 2020 10:41:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJwM5pQcB2Q47JqsuCG9QhpSXhMQZKVpxhMqups1Yy5GG/jafRJHJxOH3PwEQjk7BnsZSp+8Qw== X-Received: by 2002:adf:ab02:: with SMTP id q2mr24439222wrc.320.1604515299267; Wed, 04 Nov 2020 10:41:39 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:36 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 07/31] virito-mem: Implement get_min_alignment() Message-ID: <20201104184040.285057-8-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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 , Pankaj Gupta , David Hildenbrand , "Dr . David Alan Gilbert" , Wei Yang , 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: David Hildenbrand The block size determines the alignment requirements. Implement get_min_alignment() of the TYPE_MEMORY_DEVICE interface. This allows auto-assignment of a properly aligned address in guest physical address space. For example, when specifying a 2GB block size for a virtio-mem device with 10GB with a memory setup "-m 4G, 20G", we'll no longer fail when realizing. Reviewed-by: Pankaj Gupta Cc: "Michael S. Tsirkin" Cc: Wei Yang Cc: Dr. David Alan Gilbert Cc: Igor Mammedov Cc: Pankaj Gupta Signed-off-by: David Hildenbrand Message-Id: <20201008083029.9504-7-david@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-mem-pci.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hw/virtio/virtio-mem-pci.c b/hw/virtio/virtio-mem-pci.c index 913f4a3326..fa5395cd88 100644 --- a/hw/virtio/virtio-mem-pci.c +++ b/hw/virtio/virtio-mem-pci.c @@ -76,6 +76,12 @@ static void virtio_mem_pci_fill_device_info(const Memory= DeviceState *md, info->type =3D MEMORY_DEVICE_INFO_KIND_VIRTIO_MEM; } =20 +static uint64_t virtio_mem_pci_get_min_alignment(const MemoryDeviceState *= md) +{ + return object_property_get_uint(OBJECT(md), VIRTIO_MEM_BLOCK_SIZE_PROP, + &error_abort); +} + static void virtio_mem_pci_size_change_notify(Notifier *notifier, void *da= ta) { VirtIOMEMPCI *pci_mem =3D container_of(notifier, VirtIOMEMPCI, @@ -110,6 +116,7 @@ static void virtio_mem_pci_class_init(ObjectClass *klas= s, void *data) mdc->get_plugged_size =3D virtio_mem_pci_get_plugged_size; mdc->get_memory_region =3D virtio_mem_pci_get_memory_region; mdc->fill_device_info =3D virtio_mem_pci_fill_device_info; + mdc->get_min_alignment =3D virtio_mem_pci_get_min_alignment; } =20 static void virtio_mem_pci_instance_init(Object *obj) --=20 MST From nobody Fri May 17 03:54:41 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=1604515506; cv=none; d=zohomail.com; s=zohoarc; b=hoSy04M4PeXQk+T0ITey0MV8zOumxeL4hZgwykW+YZv9kFzJyCHZ54EuiJeKRa88ba9gLOhSkwURHW6t501zak1s/iQMhsEzcwL5wZpf9DwmIUcRHn1y3vtVLtwSQHiAyQk3Jucy+A2UjInpjNuCm4evutYdUvkfZrszbQspZAQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515506; 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=ghKT3iuLd9VX4UT4KJCLl/E2c6yAP84MyPy0077dPys=; b=er025bC03Up4yGBKlFYTAdsezyM5rO6DJs9EZbgkL90kqrtKzk0BdC2XT5niBhOK9jSGQQXfq6dnW+TnufemgCcjPDfqq0X0LH1uXY7OnNiwP2/ETkc8YFZ3Eb5DTj5yMwisRsX6HXG9ee3V+Zd8euXlSta04HEFaciL26Kbc4o= 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 1604515506913564.8520174468608; Wed, 4 Nov 2020 10:45:06 -0800 (PST) Received: from localhost ([::1]:56510 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNmL-0005Ho-Ml for importer@patchew.org; Wed, 04 Nov 2020 13:45:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52230) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNj9-0000kY-Td for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:47 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:41004) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNj7-0001x3-Uk for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:47 -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-255-VrMxgYn-PEO-vyUiwayFlg-1; Wed, 04 Nov 2020 13:41:43 -0500 Received: by mail-wr1-f72.google.com with SMTP id j13so9674426wrn.4 for ; Wed, 04 Nov 2020 10:41:43 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id o63sm3565900wmo.2.2020.11.04.10.41.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515305; 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=ghKT3iuLd9VX4UT4KJCLl/E2c6yAP84MyPy0077dPys=; b=UBHV/ITGGZbZ79gl0aqGPnUtfTmvnWRipU+wMx5NcocpON0HsX78i+1O1s0x+VewzgZE7O 1Q6nzQHOwQEnamw87YEa+MpG+ASLuAH1WiTS7zUCPENnykQ2VV27+rJlmbUHFfk4M4Gcma 1E7ql44f4tj169umjEv+fH/kIcppgrI= X-MC-Unique: VrMxgYn-PEO-vyUiwayFlg-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=ghKT3iuLd9VX4UT4KJCLl/E2c6yAP84MyPy0077dPys=; b=tWwSt5+17kHJsPmlIh6PJpPNxWPzTwPsTs7DaT3fHao30ihheH7R/u71zPBzy6xiCU fHdcs5SisODXx+hf8S7p4T4mYAIKXeIKnm3Xy5Epx1Z+vbzpb8CG4p5rdBS5iTB0s0GK EDioAKtOfZRc6cyVES31itWLYetE7JDlyaMB9Cc2NNiAEjL1AEMYSrPf/ZFFCUSp+CYk zh3p/PaWYXTBrj37jZ9tk95I5XTNnOV24Z7I1wvdaNP+jGpu2PgKja/kizaSxcQb7JC5 7eNPnIXTGq5je7NWcKKk32U3QBGVINc0s0LuVvgP+gdd3mQURcRJ5x92P/2H04kuHuIk cbXQ== X-Gm-Message-State: AOAM532NeTWI2yUlqYQCzoH3K3Ri6ttdWtuedg3hfKYMlx+Jn8Si3jLs bSLpIo4IRP0Tvvm6320StKOpWbPZVel/rX5DJ7kez5kKRdEFkiQJiCXIIYToQBqu0LaBg9i9Hkq oDHSU2xBs7UpwakY= X-Received: by 2002:adf:e7c1:: with SMTP id e1mr35629813wrn.247.1604515302264; Wed, 04 Nov 2020 10:41:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJxc+jwNfmhHFJqp/PTDe9owKAjiynSCwtH2vOTe79Z6+4lgB0tLojWQjlTq0LjTg6+kyVHc+w== X-Received: by 2002:adf:e7c1:: with SMTP id e1mr35629796wrn.247.1604515302091; Wed, 04 Nov 2020 10:41:42 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:39 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 08/31] hw/acpi : Don't use '#' flag of printf format Message-ID: <20201104184040.285057-9-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Kai Deng , Xiao Guangrong , Xinhao Zhang 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: Xinhao Zhang Fix code style. Don't use '#' flag of printf format ('%#') in format strings, use '0x' prefix instead Signed-off-by: Xinhao Zhang Signed-off-by: Kai Deng Message-Id: <20201103102634.273021-1-zhangxinhao1@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/acpi/nvdimm.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c index 8f7cc16add..8ad5516142 100644 --- a/hw/acpi/nvdimm.c +++ b/hw/acpi/nvdimm.c @@ -556,7 +556,7 @@ static void nvdimm_dsm_func_read_fit(NVDIMMState *state= , NvdimmDsmIn *in, =20 fit =3D fit_buf->fit; =20 - nvdimm_debug("Read FIT: offset %#x FIT size %#x Dirty %s.\n", + nvdimm_debug("Read FIT: offset 0x%x FIT size 0x%x Dirty %s.\n", read_fit->offset, fit->len, fit_buf->dirty ? "Yes" : "No"= ); =20 if (read_fit->offset > fit->len) { @@ -664,7 +664,7 @@ static void nvdimm_dsm_label_size(NVDIMMDevice *nvdimm,= hwaddr dsm_mem_addr) label_size =3D nvdimm->label_size; mxfer =3D nvdimm_get_max_xfer_label_size(); =20 - nvdimm_debug("label_size %#x, max_xfer %#x.\n", label_size, mxfer); + nvdimm_debug("label_size 0x%x, max_xfer 0x%x.\n", label_size, mxfer); =20 label_size_out.func_ret_status =3D cpu_to_le32(NVDIMM_DSM_RET_STATUS_S= UCCESS); label_size_out.label_size =3D cpu_to_le32(label_size); @@ -680,19 +680,19 @@ static uint32_t nvdimm_rw_label_data_check(NVDIMMDevi= ce *nvdimm, uint32_t ret =3D NVDIMM_DSM_RET_STATUS_INVALID; =20 if (offset + length < offset) { - nvdimm_debug("offset %#x + length %#x is overflow.\n", offset, + nvdimm_debug("offset 0x%x + length 0x%x is overflow.\n", offset, length); return ret; } =20 if (nvdimm->label_size < offset + length) { - nvdimm_debug("position %#x is beyond label data (len =3D %" PRIx64= ").\n", + nvdimm_debug("position 0x%x is beyond label data (len =3D %" PRIx6= 4 ").\n", offset + length, nvdimm->label_size); return ret; } =20 if (length > nvdimm_get_max_xfer_label_size()) { - nvdimm_debug("length (%#x) is larger than max_xfer (%#x).\n", + nvdimm_debug("length (0x%x) is larger than max_xfer (0x%x).\n", length, nvdimm_get_max_xfer_label_size()); return ret; } @@ -716,7 +716,7 @@ static void nvdimm_dsm_get_label_data(NVDIMMDevice *nvd= imm, NvdimmDsmIn *in, get_label_data->offset =3D le32_to_cpu(get_label_data->offset); get_label_data->length =3D le32_to_cpu(get_label_data->length); =20 - nvdimm_debug("Read Label Data: offset %#x length %#x.\n", + nvdimm_debug("Read Label Data: offset 0x%x length 0x%x.\n", get_label_data->offset, get_label_data->length); =20 status =3D nvdimm_rw_label_data_check(nvdimm, get_label_data->offset, @@ -755,7 +755,7 @@ static void nvdimm_dsm_set_label_data(NVDIMMDevice *nvd= imm, NvdimmDsmIn *in, set_label_data->offset =3D le32_to_cpu(set_label_data->offset); set_label_data->length =3D le32_to_cpu(set_label_data->length); =20 - nvdimm_debug("Write Label Data: offset %#x length %#x.\n", + nvdimm_debug("Write Label Data: offset 0x%x length 0x%x.\n", set_label_data->offset, set_label_data->length); =20 status =3D nvdimm_rw_label_data_check(nvdimm, set_label_data->offset, @@ -838,7 +838,7 @@ nvdimm_dsm_write(void *opaque, hwaddr addr, uint64_t va= l, unsigned size) NvdimmDsmIn *in; hwaddr dsm_mem_addr =3D val; =20 - nvdimm_debug("dsm memory address %#" HWADDR_PRIx ".\n", dsm_mem_addr); + nvdimm_debug("dsm memory address 0x%" HWADDR_PRIx ".\n", dsm_mem_addr); =20 /* * The DSM memory is mapped to guest address space so an evil guest @@ -852,11 +852,11 @@ nvdimm_dsm_write(void *opaque, hwaddr addr, uint64_t = val, unsigned size) in->function =3D le32_to_cpu(in->function); in->handle =3D le32_to_cpu(in->handle); =20 - nvdimm_debug("Revision %#x Handler %#x Function %#x.\n", in->revision, + nvdimm_debug("Revision 0x%x Handler 0x%x Function 0x%x.\n", in->revisi= on, in->handle, in->function); =20 if (in->revision !=3D 0x1 /* Currently we only support DSM Spec Rev1. = */) { - nvdimm_debug("Revision %#x is not supported, expect %#x.\n", + nvdimm_debug("Revision 0x%x is not supported, expect 0x%x.\n", in->revision, 0x1); nvdimm_dsm_no_payload(NVDIMM_DSM_RET_STATUS_UNSUPPORT, dsm_mem_add= r); goto exit; --=20 MST From nobody Fri May 17 03:54:41 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=1604515646; cv=none; d=zohomail.com; s=zohoarc; b=U9sYg4V+x4gnOgRl+w9WvRj3nxANf4qKkWCrjHw59TDPF+HZx8o+F7D4qNv6VfqXtSzX8LsAQ15botRovnqvHiMCcm7A40KyQG8NBB+ZHYnUcvvOX2i/64vMewclPu1/KzqABHxig3idLtUuR24BIw9ytK+uqQtnBKqqxaEL4fQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515646; 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=g3L/0LWUS5AALGZ/Ad9jPepioK718BBOf2ilNljz6+w=; b=BunBcou0tkrJlKfJb4teUMrBgHxbTHRcs8WsZATmb9bad8EGLpqXGfpZZaz/T3tOor3BTMTPn6QH00zvAeKLVtAoA+in+zIpkTLJvvDqx21Jc2qW5h0KoL2MUo/dT9nsddpS9CnNFuYasoGPJmclSDuqthsJh+0upRU/jgy35ss= 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 1604515646233817.2387417897992; Wed, 4 Nov 2020 10:47:26 -0800 (PST) Received: from localhost ([::1]:36800 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNob-0000Ph-6j for importer@patchew.org; Wed, 04 Nov 2020 13:47:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52272) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjE-0000pU-CZ for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:53 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:26091) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjC-0001zc-50 for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:51 -0500 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-84-mOA9BdrNOou9dsrtTiMTfQ-1; Wed, 04 Nov 2020 13:41:47 -0500 Received: by mail-wm1-f71.google.com with SMTP id z62so1477676wmb.1 for ; Wed, 04 Nov 2020 10:41:46 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id g190sm165104wmg.29.2020.11.04.10.41.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515309; 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=g3L/0LWUS5AALGZ/Ad9jPepioK718BBOf2ilNljz6+w=; b=CwNLRFq2jBRXn1GQaqQoPjpboTeC0LwGi6bgVisasExz3u0PbvvYXq3T0pvvREI8ixs/h/ j6YkpXaHKRaXspgAG6FN3NIYPRylCgYWvMKq1q3I5kY+YWPKPvB4p5Vfwc2ur2MCv0MS6I 9P2liqt0Foq1xeeVzE5jpyp/WvlB8+U= X-MC-Unique: mOA9BdrNOou9dsrtTiMTfQ-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=g3L/0LWUS5AALGZ/Ad9jPepioK718BBOf2ilNljz6+w=; b=teY7jz0/GJ8rctxiGwY0qCuDqvYVDxZpsLduIs3HtTNF5g7C2E3eRx3pGnr4rIMCOR fb2pGDiGeZCRjAOJkNZYjCey/ssA9EozDiVMX5RrxDzgDQ82Xq/nBXSz/xVCj7uzoxvR ISL1cJwRifM77J9qCxCXxkWh6qoGLDWMZdqoh55KPhyEzex82dYxJH8WYzCPWV7Zdd5a yoPm1tyLoNCLqysCpQUiZCADRGLCmWJEr3+Ukj4u4O4QkN392Kn0NJgxOufGH2UDD5v7 5xq7nuIg5Xf1wQ/xwhngOR8I2fD1yGYz9LEwKzEvVhYHrT339S/01lhtqJFkvNJE7yy1 71RA== X-Gm-Message-State: AOAM5316YjEuyeI2WdPFGWY2OzTEdBuGk5WI8XliW1t98vmsAF9iK6o5 Fl4S6zNEHew008XzsK0mWU4URJkxthGG68dHybm/7lw1SQuAoBHn6mqEqHwV7JXPeSkuoh/uplw 2xpxNzLfyOzXP8kg= X-Received: by 2002:adf:9544:: with SMTP id 62mr233340wrs.223.1604515305333; Wed, 04 Nov 2020 10:41:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJzp2XWJ38E9Qo5hR9cTdSGT4LK1JpFCnexGRxULJDLq8MeYQBdTbr5V2Rq6qIOCsEvZIJ26iQ== X-Received: by 2002:adf:9544:: with SMTP id 62mr233329wrs.223.1604515305194; Wed, 04 Nov 2020 10:41:45 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:42 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 09/31] hw/acpi : add space before the open parenthesis '(' Message-ID: <20201104184040.285057-10-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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 , Kai Deng , Xinhao Zhang 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: Xinhao Zhang Fix code style. Space required before the open parenthesis '('. Signed-off-by: Xinhao Zhang Signed-off-by: Kai Deng Message-Id: <20201103102634.273021-2-zhangxinhao1@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/acpi/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/acpi/core.c b/hw/acpi/core.c index ade9158cbf..2c0c83221f 100644 --- a/hw/acpi/core.c +++ b/hw/acpi/core.c @@ -558,7 +558,7 @@ static void acpi_pm1_cnt_write(ACPIREGS *ar, uint16_t v= al) if (val & ACPI_BITMASK_SLEEP_ENABLE) { /* change suspend type */ uint16_t sus_typ =3D (val >> 10) & 7; - switch(sus_typ) { + switch (sus_typ) { case 0: /* soft power off */ qemu_system_shutdown_request(SHUTDOWN_CAUSE_GUEST_SHUTDOWN); break; --=20 MST From nobody Fri May 17 03:54:41 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=1604516603; cv=none; d=zohomail.com; s=zohoarc; b=fS2aqR5K1tAEzIlxkqVAjtbyk6ZIHU6BKllDTkLmfjmkcne4yh89iPHTn0Wo5CDqotGMPxYwy73nBm7zIinluBktRRMw/ehCjOa0N7GXoFVAIqsSdBYZ4otov1u15ocZzvqIPKvjIZ1odeBSPIVxU0MezoC+yxgj2bVPq7ary14= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516603; 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=kxx7KBtrm7vYLNNi8ILRStjcIKIqdM/KqZjCc2FDurE=; b=U5EcKgw35YfSzRgUXc7mVXzcBGN6+orsOT8GV0lyON18jtuC/WrzuP2H0rumzzONmZTAeRu/Pdqi95PJjY10TSFTxV/c7zalj9Xu5jnspWAaQ5pskv9qXGB0v42aYLcbRpsCvK9wqp8nfWLDRZtbU2Jg7+bW7DUAffzygo3Ru0c= 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 1604516603452476.4332972633242; Wed, 4 Nov 2020 11:03:23 -0800 (PST) Received: from localhost ([::1]:41616 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaO41-0000ps-N3 for importer@patchew.org; Wed, 04 Nov 2020 14:03:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53266) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNmW-0006Oi-8v for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:45:16 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:47405) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNmU-0002Lk-Fb for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:45:15 -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-256-e6qEdUAWNMelND6yoi6pnQ-1; Wed, 04 Nov 2020 13:41:49 -0500 Received: by mail-wr1-f70.google.com with SMTP id w3so7464224wrt.11 for ; Wed, 04 Nov 2020 10:41:49 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id e25sm4060413wrc.76.2020.11.04.10.41.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515513; 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=kxx7KBtrm7vYLNNi8ILRStjcIKIqdM/KqZjCc2FDurE=; b=TdqkMUuwHa3BSofhcpwNkMHW+2L3g84agcwxrfxRK9OaqqHPtedilpKxOf3fujiWEn2xp/ 25AKQ5B6zU3NVxOn1FZH7M6ZjPAlUaVX7AhBZnI1kIUis4GmEl2VR2zfDlFjuhOQDZS1RV Gt9FQXx4P1gSucvNVfSsl3sIZx5xK6g= X-MC-Unique: e6qEdUAWNMelND6yoi6pnQ-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=kxx7KBtrm7vYLNNi8ILRStjcIKIqdM/KqZjCc2FDurE=; b=TvnFwjqRG2X0szWqq3I0tX1lZfeEwzVHb73RRWfzMxTsVlsNO457P4oVzixEUi79DJ v1nQkGkQeIne7pqPCTDWKWFVz9JPBgFaUw70FOYESyzBjAaAQ8ymbOQ2I3ULwqY3gSuP wbh1UFE2CbeSs9jz8LIXLC1wW3XdwPodjm3wH5mmxWO1wtRgotO0atcdstta9h9cJ1ha KDVWZFDG5qBwDoP153imaPOctXyIB4LSaXJfGH+0WjBoG07VoDgBJHAtQtSl1bboxKUJ XlE8KUx3e0B0449cKchzqWD9b4e5U4tC7D78OViITq6E4vorB2ojFEdiqTnPMhuEuW7m ZVew== X-Gm-Message-State: AOAM530jEr9CnnG/dtU1zp12nR4pnGnFOvkbL1RRCygY3RZ+x9TD3zzg z5jTjbZ4gBAeUvd9pwlxdFNbYFY6+Ic9nMKc7sqDdudUARHBoPkgfG+AI7RkFL0ACyIldR7l/d7 I/u2zVxlcEqY7Kxg= X-Received: by 2002:a5d:4a4b:: with SMTP id v11mr4991421wrs.364.1604515308323; Wed, 04 Nov 2020 10:41:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJzfwnDOViGTq5wQ3OuZ0qzf8RSJNybaKD314ntar/NDYKJx3NbK1KJRPQZKq/HvZaRGWJAgEA== X-Received: by 2002:a5d:4a4b:: with SMTP id v11mr4991398wrs.364.1604515308126; Wed, 04 Nov 2020 10:41:48 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:45 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 10/31] hw/acpi : add spaces around operator Message-ID: <20201104184040.285057-11-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Kai Deng , Xinhao Zhang 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: Xinhao Zhang Fix code style. Operator needs spaces both sides. Signed-off-by: Xinhao Zhang Signed-off-by: Kai Deng Message-Id: <20201103102634.273021-3-zhangxinhao1@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/acpi/pcihp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 32ae8b2c0a..17c32e0ffd 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -400,7 +400,7 @@ void acpi_pcihp_init(Object *owner, AcpiPciHpState *s, = PCIBus *root_bus, s->io_len =3D ACPI_PCIHP_SIZE; s->io_base =3D ACPI_PCIHP_ADDR; =20 - s->root=3D root_bus; + s->root =3D root_bus; s->legacy_piix =3D !bridges_enabled; =20 memory_region_init_io(&s->io, owner, &acpi_pcihp_io_ops, s, --=20 MST From nobody Fri May 17 03:54:41 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=1604515877; cv=none; d=zohomail.com; s=zohoarc; b=RtMXSO5mVG5COMlbiG5FzgrPhudC9VMRJBOKfzXjF63mIcNk61U+GSly+KrPx2HAE2eHA0o3iXfB0QoaRS6i9FL+iZQzhg6t7iSUd4BgImBGUjs2xNGX6Cci028kSqbmQuoVh+CRfuZ3OXhe1qkYifTvlYIFgHlv9liTejTe0Ds= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515877; 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=4t5NY5zyTFxf5JdPvPR+dRhfn/ny8MSoW1vs+UM3VkI=; b=jLZ4o5ZnmYDtD66kktJ3n1BDZZi4VIhsE7EcGU3WpzMcEyBYFHiNdSs/HdySXsgpddli81mFSS55xkwsHYL7Je8fYSdV+ezVzH1Q2Nf42CiJuyjvaIUYwmo2Lp1SmAx8Xqyx+H8qVl6kHiPceAcrmlnPX5oYRVa7RfoOTKOrGw8= 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 1604515877095938.170198615945; Wed, 4 Nov 2020 10:51:17 -0800 (PST) Received: from localhost ([::1]:53756 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNsK-0007P9-0J for importer@patchew.org; Wed, 04 Nov 2020 13:51:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52310) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjJ-0000qj-Hf for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41:57 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:55523) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjG-0001zz-Pc for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41: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-279-i35KCU4dN32AfPJoe42eXQ-1; Wed, 04 Nov 2020 13:41:52 -0500 Received: by mail-wr1-f72.google.com with SMTP id i1so9579870wrb.18 for ; Wed, 04 Nov 2020 10:41:52 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id v9sm3842592wrp.11.2020.11.04.10.41.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515314; 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=4t5NY5zyTFxf5JdPvPR+dRhfn/ny8MSoW1vs+UM3VkI=; b=UTUBRq5tHd6nZoiNJHUwZy98pBUgpiDCZbYspd04rIPR+nWoABdJ2KJxQOOh5GRa/6SMMI faXVY27rKVQKJl066h4IMnGlpO/hItkhpPO8uO9lr68GqXNVgAYxcV7pQwJEhjg6kxWo9J aYUchzJ4PyBm+D6Uk3E+Pfh6+M14gsA= X-MC-Unique: i35KCU4dN32AfPJoe42eXQ-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=4t5NY5zyTFxf5JdPvPR+dRhfn/ny8MSoW1vs+UM3VkI=; b=TNPYA1I1q1T5RUZo70UDAY/+l1MqQHJ813mQrju3vDLpyDYKQzUMsFlOK1nvxW74u9 VmSKw8eKBqA9Y7Sv3eOPubK/XcJNXHCytNMMgDB8SLegY7ZFxVin3WUGRm4lLeZSkUNM FHKuuumvOqBYqWFVmSDnd++88A5VXs8Lw25n2FeRpLL/SaY89t9jceyLTZRbvGiR1I9q 2J7BWrAyziJg92wq0LYTeGtmHNwacRvgiQgtwDp2e2+Tr2CTM2IQiQIa5qj8ZMLe1wye aVQ/3gnK0tHDNJuPfzytRR/TL4Z/F1NwgvoyL6GdJDwevyUJiIPRB46lzG6V57dmhz3W c7Ag== X-Gm-Message-State: AOAM532dFKq+rJS+SvODpoTlfo8Sr3JUX1T1wp2P336sYDFcids7tyaL VBKQXpXzYJB6TLmGDsIO4C8YcfweVgt0FPGI/r7N+Bdum33YXEYrOZcJWI87n7EtF8YdlgRcHN2 GeAYW71Kn6me9bKc= X-Received: by 2002:a1c:4c05:: with SMTP id z5mr6009840wmf.122.1604515310964; Wed, 04 Nov 2020 10:41:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJyf3b9+yMVBIePMFeNBD5GOP5wDkiBwgclDvHep9CCCd3ijq6gYto2fx38cec1yJa5n26PrdA== X-Received: by 2002:a1c:4c05:: with SMTP id z5mr6009824wmf.122.1604515310824; Wed, 04 Nov 2020 10:41:50 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:48 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 11/31] hw/virtio/vhost-backend: Fix Coverity CID 1432871 Message-ID: <20201104184040.285057-12-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Stefano Garzarella Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) From: Philippe Mathieu-Daud=C3=A9 Fix uninitialized value issues reported by Coverity: Field 'msg.reserved' is uninitialized when calling write(). While the 'struct vhost_msg' does not have a 'reserved' field, we still initialize it to have the two parts of the function consistent. Reported-by: Coverity (CID 1432864: UNINIT) Fixes: c471ad0e9bd ("vhost_net: device IOTLB support") Reviewed-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20201103063541.2463363-1-philmd@redhat.com> Reviewed-by: Stefano Garzarella Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/vhost-backend.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vhost-backend.c index 88c8ecc9e0..222bbcc62d 100644 --- a/hw/virtio/vhost-backend.c +++ b/hw/virtio/vhost-backend.c @@ -257,7 +257,7 @@ static int vhost_kernel_send_device_iotlb_msg(struct vh= ost_dev *dev, struct vhost_iotlb_msg *imsg) { if (dev->backend_cap & (1ULL << VHOST_BACKEND_F_IOTLB_MSG_V2)) { - struct vhost_msg_v2 msg; + struct vhost_msg_v2 msg =3D {}; =20 msg.type =3D VHOST_IOTLB_MSG_V2; msg.iotlb =3D *imsg; @@ -267,7 +267,7 @@ static int vhost_kernel_send_device_iotlb_msg(struct vh= ost_dev *dev, return -EFAULT; } } else { - struct vhost_msg msg; + struct vhost_msg msg =3D {}; =20 msg.type =3D VHOST_IOTLB_MSG; msg.iotlb =3D *imsg; --=20 MST From nobody Fri May 17 03:54:41 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=1604516002; cv=none; d=zohomail.com; s=zohoarc; b=bSu1ngL2LPo2h3j5QCIvOHmjI2a4Yc7bNXkCbVhBhKaeeuLtdn9Hm/Kszw5V9S5q/h5K2z5xjyh0TUysyfU3E0RtBH2S92m+I4k1Enp1YKUVnNneF0pHWnYZDBs/KHLGpWaqWmYY2XwV3z2sGHylXcoWIj8LRuF8bgDtD1V0VSs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516002; 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=QTkwT/HJ1lj3VKT9unaRe9zAEsq3t6jIEnXFjz8fDHg=; b=TDzuAxpS0lTUcQuvQh/ejqCOc0PtrmoEmywoAgHdqsV+gvg2Hz7Gm8CQFdxBeojbs4cAr13yasFqnL/6YllA33M/JnXIKZsd+COcHUPST+HST08wUT8lXlo4/s2r8zc2GXkxAU8Oqm6gRep/v806/VEEjCRMG8h51LwXt5F0rrM= 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 1604516002977364.07045762072664; Wed, 4 Nov 2020 10:53:22 -0800 (PST) Received: from localhost ([::1]:34010 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNuL-0002UK-UX for importer@patchew.org; Wed, 04 Nov 2020 13:53:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52340) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjM-0000wU-4F for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:00 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:51578) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjK-00020a-Az for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:41: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-518-jCDQI1k2MeS7ZPbyRftYug-1; Wed, 04 Nov 2020 13:41:55 -0500 Received: by mail-wr1-f69.google.com with SMTP id y6so333920wrt.22 for ; Wed, 04 Nov 2020 10:41:55 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id n9sm3311248wmd.4.2020.11.04.10.41.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515317; 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=QTkwT/HJ1lj3VKT9unaRe9zAEsq3t6jIEnXFjz8fDHg=; b=R8tZFxyCgwj9VbBQSeTQi7E7yxR1t39mEAvYv09OSIp+R4EtnDfxTCjWIRu3oklhRi8iXI lFjZUCgzchgWpmT1IUtY515WzleC2ACArl5QdeNQzb0OxmiLynxGq8ZEe4n0AVb8A60oI7 mrqOBeJWtbeJn2PiZFR33VmYQo3u8NY= X-MC-Unique: jCDQI1k2MeS7ZPbyRftYug-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=QTkwT/HJ1lj3VKT9unaRe9zAEsq3t6jIEnXFjz8fDHg=; b=Jh4Xgct+b8iM+LI/9D+FA5pw/5wQu2rQdoVtHA0CXa2ZfqNzeZBStnlsIw2YU/+PNR 8AYwfVo1cP/29K//t/zv2ju3OFSpbXOBwosctltvGD2FgBTmTxfAf0RQ9TPv8gPr+XRp 8+HSfvYlGhuHckVevyXh1Jp1VJYFra7LajllNQD0xPbMSqfkJrjXQ/C2ybN07BsBfYvV J1ae9J+2VkbYPGGlS5yKhc2Bt7XlGNb3ZWZZOAjdSss8Xpg9gFuE93LeX/BeKI+NspB6 fA6hoUmjqymhjC+lk39E7EOP1GKDtGdsKHulZrZZlkldgErCf7lpr2SI5NqsBhjLWgoG Xi5Q== X-Gm-Message-State: AOAM530573cH5BiN7o4NvSTQHBr6Dmgc57eBus9s4lo8SNugMJFoKj+U h4jiF17WC1SrUBUPiSnYa1QIiSR/IQ2H821x2X70nHPALbRqEoNVEBpNPpfHorvp5be87B17Y1U Kwr8KhOfUBWd+iPw= X-Received: by 2002:a7b:c94d:: with SMTP id i13mr6019966wml.130.1604515314002; Wed, 04 Nov 2020 10:41:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJzFR7fPeQqqsaG9WxompWLgjuhwXhyM5RHygM2F5QD4TQDWTWvj/J4JhM76QDAdioSNR0HahA== X-Received: by 2002:a7b:c94d:: with SMTP id i13mr6019955wml.130.1604515313871; Wed, 04 Nov 2020 10:41:53 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:51 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 12/31] hw/smbios: Fix leaked fd in save_opt_one() error path Message-ID: <20201104184040.285057-13-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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 , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Laszlo Ersek , Stefano Garzarella Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Philippe Mathieu-Daud=C3=A9 Fix the following Coverity issue (RESOURCE_LEAK): CID 1432879: Resource leak Handle variable fd going out of scope leaks the handle. Replace a close() call by qemu_close() since the handle is opened with qemu_open(). Fixes: bb99f4772f5 ("hw/smbios: support loading OEM strings values from a f= ile") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20201030152742.1553968-1-philmd@redhat.com> Reviewed-by: Stefano Garzarella Reviewed-by: Laszlo Ersek Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/smbios/smbios.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c index 8b30906e50..6a3d39793b 100644 --- a/hw/smbios/smbios.c +++ b/hw/smbios/smbios.c @@ -988,16 +988,18 @@ static int save_opt_one(void *opaque, if (ret < 0) { error_setg(errp, "Unable to read from %s: %s", value, strerror(errno)); + qemu_close(fd); return -1; } if (memchr(buf, '\0', ret)) { error_setg(errp, "NUL in OEM strings value in %s", value); + qemu_close(fd); return -1; } g_byte_array_append(data, (guint8 *)buf, ret); } =20 - close(fd); + qemu_close(fd); =20 *opt->dest =3D g_renew(char *, *opt->dest, (*opt->ndest) + 1); (*opt->dest)[*opt->ndest] =3D (char *)g_byte_array_free(data, FAL= SE); --=20 MST From nobody Fri May 17 03:54:41 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=1604515640; cv=none; d=zohomail.com; s=zohoarc; b=PwQNb+WOghupcoBi9fSTzS7O0r5Gev0XeOVE/mhCjzzqRaG/XsJ1cYbAATXTdzW8j50cXoDmDm6gBhXcSrKdRbLPWIE3Q6kYSWJeUsSYyjbnlgkTw947e6Ux4IwgiwTe357untaT3vohWddlRg7z4hzr4svUpJIQjHZ1yUm7gnU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515640; 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=yb0+hTu/cI4h7Se3wHsf9S5j6pZCfXhlBpQERrIdWig=; b=CGP8NpavyQq9zWW0dEGhoqD0oz8Rjs4G33pdDG8ptDA16seWucB/TEWcM4fgM6tgfUaG4fTp2bxyuhoB2rUHaqGUg/b/QdnU3Eal/N0YORtG2+iOC3uT6/OggH+rEMRCNCdhO4wBsJ5840fKun/xV6OuyDEMuUM1reJuqOAq038= 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 1604515640510336.79591178379326; Wed, 4 Nov 2020 10:47:20 -0800 (PST) Received: from localhost ([::1]:36572 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNoV-0000Jq-6A for importer@patchew.org; Wed, 04 Nov 2020 13:47:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52394) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjQ-00013X-3O for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:04 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:51785) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjN-00021Y-JY for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42: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-225-IyBkSYblOSmNp14Ouqg0Pw-1; Wed, 04 Nov 2020 13:41:58 -0500 Received: by mail-wr1-f72.google.com with SMTP id h8so9633835wrt.9 for ; Wed, 04 Nov 2020 10:41:58 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id u23sm3158102wmc.22.2020.11.04.10.41.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515320; 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=yb0+hTu/cI4h7Se3wHsf9S5j6pZCfXhlBpQERrIdWig=; b=MRbU3cYVzV0jXCS9m2CfwP8f7C5/Cy1I6OKsGO1zcsL690eKhcqAsf4iKsnt5SKsF2DVJ2 4kZ+pRTIE+MHKQ5cWWI5DjBae4dyQNudkCEWFEpcpdqHB3JtxDMsfEypqaOVq2KPwPsI2K Ke2hLCSM6G/iyN3cwdx/x4ZkaqFseII= X-MC-Unique: IyBkSYblOSmNp14Ouqg0Pw-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=yb0+hTu/cI4h7Se3wHsf9S5j6pZCfXhlBpQERrIdWig=; b=ltzwDKvMtSb7uLM0yDVKE4d0yhlI150eW7WG9a1gBCysDISR8qYFjHpiHC6Kkghzku fFBQHaFfaGvXMzLpzhKPXHU2L8K0x2rpcGcV/DUZnYverjHx1amLL3JgjRzfUqH3xMi4 lVZgIHhFWMKXmMvs8IidqzPIhT+gmEYwexcxqOAh0L8SFqFxgASGcYrEQgxefmVw2j8M QmsOCQqhIN8e6dzn0bBpYkKJO7Ev8CAV9GNvuV/E75COu/6CN4RhsObhsoYX3ZmZ3Tl5 yizTpiezPd5G81ZtWErd/u2CjwEqKMZJEPUIgFUNT79bHzSem4s3wgWNcRQZ2yzWCGXl nwmw== X-Gm-Message-State: AOAM53184gSD2fZyjy35paVJIA1NIo/i14WV3wbnusGDNrpuH+tEnfHW BJUjrK3vYBJ8o81zR9AZ1M11zWuJXntjNHl5pzAzfNbXWGNCvDM4mkqwADORI6WZ7lJ4W+dxEaj uFuViuf7Tsi96In0= X-Received: by 2002:adf:a551:: with SMTP id j17mr35913506wrb.217.1604515317026; Wed, 04 Nov 2020 10:41:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJzif6kJPWWIqQLRE+Xsa2+DT3ne1XbRCcaIZd1ix1xiw40hXDzwFtXdHoeDtaRpMOPjzlHYdA== X-Received: by 2002:adf:a551:: with SMTP id j17mr35913491wrb.217.1604515316845; Wed, 04 Nov 2020 10:41:56 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:54 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 13/31] virtio-iommu: Fix virtio_iommu_mr() Message-ID: <20201104184040.285057-14-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Peter Xu , QEMU Stable , Eric Auger , Jean-Philippe Brucker 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: Jean-Philippe Brucker Due to an invalid mask, virtio_iommu_mr() may return the wrong memory region. It hasn't been too problematic so far because the function was only used to test existence of an endpoint, but that is about to change. Fixes: cfb42188b24d ("virtio-iommu: Implement attach/detach command") Cc: QEMU Stable Acked-by: Eric Auger Reviewed-by: Peter Xu Signed-off-by: Jean-Philippe Brucker Message-Id: <20201030180510.747225-2-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 21ec63b108..4c8f3909b7 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -101,7 +101,7 @@ static IOMMUMemoryRegion *virtio_iommu_mr(VirtIOIOMMU *= s, uint32_t sid) bus_n =3D PCI_BUS_NUM(sid); iommu_pci_bus =3D iommu_find_iommu_pcibus(s, bus_n); if (iommu_pci_bus) { - devfn =3D sid & PCI_DEVFN_MAX; + devfn =3D sid & (PCI_DEVFN_MAX - 1); dev =3D iommu_pci_bus->pbdev[devfn]; if (dev) { return &dev->iommu_mr; --=20 MST From nobody Fri May 17 03:54:41 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=1604515768; cv=none; d=zohomail.com; s=zohoarc; b=i45zmfGjJzHcVhkbATb88EWW+02Y4V/1o1yojWkSP8tP9D9sLfm8yA+Bu+c0gxPjl24scMi02jkQNzK7ecd31r0DIEu+tLhr+2QKfaW5/dMjrIIVmejlAbygV41tYlqQCSKE7UpwtDy2f0YyZEalCK/IbLBriIZFU/vzXuzV66U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515768; 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=tvJ0s3bSV9g9bsoYugn7fOSbhCEdSfwOqB79D2kkBqw=; b=NZm7swg1MObtOjXNxNuAiGpCBTYof/dhc64K9feVyS+6hnGve9Sc6GoDsAZGNPEnjbYuqBZNbX/t+Zi1tg2c3cG2Co4pndbMHAyqVmlcmSomGFIV8maHH5G6PvHmoL2njUpEd9Y9G/tQZCDbSsmcXqDvBfXvFSMIcfZwIv3+hqg= 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 1604515768571801.7195706503292; Wed, 4 Nov 2020 10:49:28 -0800 (PST) Received: from localhost ([::1]:45042 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNqY-0003om-Bx for importer@patchew.org; Wed, 04 Nov 2020 13:49:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52422) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjS-00016X-E0 for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:06 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:23010) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjP-00022Y-Vt for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:06 -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-306-feUFggKJNGSwbSMd1jKBSA-1; Wed, 04 Nov 2020 13:42:01 -0500 Received: by mail-wr1-f72.google.com with SMTP id h8so9633889wrt.9 for ; Wed, 04 Nov 2020 10:42:01 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id z5sm3862094wrw.87.2020.11.04.10.41.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:41:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515323; 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=tvJ0s3bSV9g9bsoYugn7fOSbhCEdSfwOqB79D2kkBqw=; b=QSSLW0JQcsLfV8t2b3++I3hq+uDC/IKOJKXXSda0HJaXrATW5hVFxLHzt3OUMY00WuHpST yqV7TvuwdxPZG5lW3RJ5K8Bvz9gKf1z6BL4s83ys9bwwjMri1ZYtBeaptT9fyOv0a3cvrW QOVvHa+drUCmXuhvo+o5hGvB1xrH0c8= X-MC-Unique: feUFggKJNGSwbSMd1jKBSA-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=tvJ0s3bSV9g9bsoYugn7fOSbhCEdSfwOqB79D2kkBqw=; b=lm9vumkS8YTvaYJ6kvp8vbkIbzCe7QT6Aag2kXzAg1WWyeloW30E6rDgj7urmCCBJq tQwVE5LBIEe1UG9wHtBxQA0I/caxoP0j1mbfMlVUd6ifvPq0s55DC9MgIVwzwxlRuqlq u6SSDOfSOD0Wtugji8i41Kfn1UoNDVFg6fIGECaWw2DFjbE6IiVkN5VuNdj4bO5mUXHu M+vhPqtOqimNBd7lZVfkA9Wcqgta/d/Ms+OnyPQ9UkSDv4sFSyFUE8r6Gw0S8lvBLvWq gHSI0ZchTPSc2EFn63DtXYJ0RVEp4RWESvPyQaZ4Hf9KSk3Lrf3k9xAuwuVxzBfObuVp lXdw== X-Gm-Message-State: AOAM531ou/HpITKp4FDbHNYuuCYbqqoNPce06aBn5EAxxPWvsg00a69+ coTfin80YKA/DZVEJOl6qFYI1rw1j+2pCjaYgBNS4R+q3wuGavJEogBg1koLvttoTOiO6W1Qov6 l+PN+wtDVL9oyjwQ= X-Received: by 2002:a05:6000:1109:: with SMTP id z9mr31002987wrw.388.1604515319654; Wed, 04 Nov 2020 10:41:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJwrm1KOqxxSjN6AM2Dx+GKzggLqagfQrZuTmNHgqNmliHhSVPKMUq4E0Ef8wPmqoAZG1Ed/mg== X-Received: by 2002:a05:6000:1109:: with SMTP id z9mr31002970wrw.388.1604515319464; Wed, 04 Nov 2020 10:41:59 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:57 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 14/31] virtio-iommu: Store memory region in endpoint struct Message-ID: <20201104184040.285057-15-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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 , Eric Auger , Jean-Philippe Brucker 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: Jean-Philippe Brucker Store the memory region associated to each endpoint into the endpoint structure, to allow efficient memory notification on map/unmap. Acked-by: Eric Auger Signed-off-by: Jean-Philippe Brucker Message-Id: <20201030180510.747225-3-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-iommu.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 4c8f3909b7..a5c2d69aad 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -49,6 +49,7 @@ typedef struct VirtIOIOMMUDomain { typedef struct VirtIOIOMMUEndpoint { uint32_t id; VirtIOIOMMUDomain *domain; + IOMMUMemoryRegion *iommu_mr; QLIST_ENTRY(VirtIOIOMMUEndpoint) next; } VirtIOIOMMUEndpoint; =20 @@ -137,16 +138,19 @@ static VirtIOIOMMUEndpoint *virtio_iommu_get_endpoint= (VirtIOIOMMU *s, uint32_t ep_id) { VirtIOIOMMUEndpoint *ep; + IOMMUMemoryRegion *mr; =20 ep =3D g_tree_lookup(s->endpoints, GUINT_TO_POINTER(ep_id)); if (ep) { return ep; } - if (!virtio_iommu_mr(s, ep_id)) { + mr =3D virtio_iommu_mr(s, ep_id); + if (!mr) { return NULL; } ep =3D g_malloc0(sizeof(*ep)); ep->id =3D ep_id; + ep->iommu_mr =3D mr; trace_virtio_iommu_get_endpoint(ep_id); g_tree_insert(s->endpoints, GUINT_TO_POINTER(ep_id), ep); return ep; @@ -910,9 +914,14 @@ static gboolean reconstruct_endpoints(gpointer key, gp= ointer value, VirtIOIOMMU *s =3D (VirtIOIOMMU *)data; VirtIOIOMMUDomain *d =3D (VirtIOIOMMUDomain *)value; VirtIOIOMMUEndpoint *iter; + IOMMUMemoryRegion *mr; =20 QLIST_FOREACH(iter, &d->endpoint_list, next) { + mr =3D virtio_iommu_mr(s, iter->id); + assert(mr); + iter->domain =3D d; + iter->iommu_mr =3D mr; g_tree_insert(s->endpoints, GUINT_TO_POINTER(iter->id), iter); } return false; /* continue the domain traversal */ --=20 MST From nobody Fri May 17 03:54:41 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=1604515569; cv=none; d=zohomail.com; s=zohoarc; b=GuI1DW4ZFP4vEp0sFoaX4agWz2EHinAzumEWG2i+33KxqEP8op//MsNiFBZPdgF3EDfTqXh8UAmQs2WV2Mz6h1ilaVBTLcYPofnSDbSmJDWXTqs8Z05ygg4PfrzBd5KY3PHQ5FyVaI2O/txnDg5yfOnydUWMUW/vhWJN19ICsfY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515569; 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=2pTrzfIlEtuFgKli+YZx2cSmkYnPe9QRNfZXCU2zweM=; b=Kee1pIxKq+vTBkJavemL4dWgMv6Oqvz+ZHjQRkSwgczsI1A1L4lzFQwsCbDXjZdQKWUs5DHss46eB9kKU8CC9/nusjhGfpb22lUdJndJ2JOakYpdpo21tZUetPlg6WHoss1nQWYFWrgeLIAbqX/NB4BAO+HHSs4BbZLO3v1FeBA= 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 160451556928575.89238027935107; Wed, 4 Nov 2020 10:46:09 -0800 (PST) Received: from localhost ([::1]:60716 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNnM-00075K-5Z for importer@patchew.org; Wed, 04 Nov 2020 13:46:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52454) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjV-0001B0-AJ for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:09 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:54295) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjT-00022q-3X for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:08 -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-573-srUypeYDPhu4YyjNO7UwNQ-1; Wed, 04 Nov 2020 13:42:04 -0500 Received: by mail-wm1-f69.google.com with SMTP id b68so935657wme.5 for ; Wed, 04 Nov 2020 10:42:03 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id 90sm3953924wrl.30.2020.11.04.10.42.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515326; 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=2pTrzfIlEtuFgKli+YZx2cSmkYnPe9QRNfZXCU2zweM=; b=cZ3vF2HCKtQntqgCDd5vb+EWifsF0jNsCZ3AwB64ZufiSgPujdseq/0zE5A7hGko1vBMG6 lIEF++iIjkxUWqnFjEaTITN0L2qYelrTDQDU5w5Qw3AUgtH7ClMsDA+wBfoOO5le1mn1nh WokKejqZrOimigG6e7zJ86HV0yv9MJQ= X-MC-Unique: srUypeYDPhu4YyjNO7UwNQ-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=2pTrzfIlEtuFgKli+YZx2cSmkYnPe9QRNfZXCU2zweM=; b=Igyc8atdaKHHoOfvvpxg2Y5G0qSDQIYWncOMFyz8uvIKiRz4SpR4PiRqJ3A/sQuKyP dyAF6ROFWY2tIsFdCIq4/7nqU3A0oqg2nIJENEZ2hNXh0JrKNnlDYkO23noBsmuL4anV NFSh8kw06T2FINBcr/k0AaOOEixGauZz9kDMknM5Bo0h4FORCRIh1ePgmMrBobFdHYNY eVwOFKNtiOD4JIK+Xka8ZbbSVvnCqxSltBBpSBUfeY8h4HNm2MtEXQCK1IuqsQy+W9xg 8Db3S8eDkv5pSIQKdllsxlkt9XrRNh/+Id2VPuiDn0ZwZ0jkVbLzAWXlj26uex/PD9pb xFtA== X-Gm-Message-State: AOAM533eYAzBk5pRxTEjAAtF5OlFqA/rIO8ZVw35dzL7nafJ+andIs0L kZRyFyK/PynNtloAAHhjvzhgwbWcnVZyk5str+T3QQYi7vO1ghAt1BzXuwmy1rLOBOV2/wXGjLj +VE9QnUo7BxBQijc= X-Received: by 2002:a7b:cf1a:: with SMTP id l26mr6130271wmg.18.1604515322415; Wed, 04 Nov 2020 10:42:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJx9alEUfDA2spCSmp2WbOKx3dYz18jI494EiudIwOA/3w9Ccp/B6z3/vUoruwqPU2EsQjclkQ== X-Received: by 2002:a7b:cf1a:: with SMTP id l26mr6130253wmg.18.1604515322242; Wed, 04 Nov 2020 10:42:02 -0800 (PST) Date: Wed, 4 Nov 2020 13:41:59 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 15/31] virtio-iommu: Add memory notifiers for map/unmap Message-ID: <20201104184040.285057-16-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Bharat Bhushan , Jean-Philippe Brucker , Eric Auger 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: Bharat Bhushan Extend VIRTIO_IOMMU_T_MAP/UNMAP request to notify memory listeners. It will call VFIO notifier to map/unmap regions in the physical IOMMU. Signed-off-by: Bharat Bhushan Signed-off-by: Eric Auger Signed-off-by: Jean-Philippe Brucker Message-Id: <20201030180510.747225-4-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-iommu.c | 56 ++++++++++++++++++++++++++++++++++++++++ hw/virtio/trace-events | 2 ++ 2 files changed, 58 insertions(+) diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index a5c2d69aad..7dd15c5eac 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -125,6 +125,51 @@ static gint interval_cmp(gconstpointer a, gconstpointe= r b, gpointer user_data) } } =20 +static void virtio_iommu_notify_map(IOMMUMemoryRegion *mr, hwaddr virt_sta= rt, + hwaddr virt_end, hwaddr paddr, + uint32_t flags) +{ + IOMMUTLBEntry entry; + IOMMUAccessFlags perm =3D IOMMU_ACCESS_FLAG(flags & VIRTIO_IOMMU_MAP_F= _READ, + flags & VIRTIO_IOMMU_MAP_F_W= RITE); + + if (!(mr->iommu_notify_flags & IOMMU_NOTIFIER_MAP) || + (flags & VIRTIO_IOMMU_MAP_F_MMIO) || !perm) { + return; + } + + trace_virtio_iommu_notify_map(mr->parent_obj.name, virt_start, virt_en= d, + paddr, perm); + + 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; + + memory_region_notify_iommu(mr, 0, entry); +} + +static void virtio_iommu_notify_unmap(IOMMUMemoryRegion *mr, hwaddr virt_s= tart, + hwaddr virt_end) +{ + IOMMUTLBEntry entry; + + if (!(mr->iommu_notify_flags & IOMMU_NOTIFIER_UNMAP)) { + return; + } + + trace_virtio_iommu_notify_unmap(mr->parent_obj.name, virt_start, virt_= end); + + 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; + + memory_region_notify_iommu(mr, 0, entry); +} + static void virtio_iommu_detach_endpoint_from_domain(VirtIOIOMMUEndpoint *= ep) { if (!ep->domain) { @@ -315,6 +360,7 @@ static int virtio_iommu_map(VirtIOIOMMU *s, VirtIOIOMMUDomain *domain; VirtIOIOMMUInterval *interval; VirtIOIOMMUMapping *mapping; + VirtIOIOMMUEndpoint *ep; =20 if (flags & ~VIRTIO_IOMMU_MAP_F_MASK) { return VIRTIO_IOMMU_S_INVAL; @@ -344,6 +390,11 @@ static int virtio_iommu_map(VirtIOIOMMU *s, =20 g_tree_insert(domain->mappings, interval, mapping); =20 + QLIST_FOREACH(ep, &domain->endpoint_list, next) { + virtio_iommu_notify_map(ep->iommu_mr, virt_start, virt_end, phys_s= tart, + flags); + } + return VIRTIO_IOMMU_S_OK; } =20 @@ -356,6 +407,7 @@ static int virtio_iommu_unmap(VirtIOIOMMU *s, VirtIOIOMMUMapping *iter_val; VirtIOIOMMUInterval interval, *iter_key; VirtIOIOMMUDomain *domain; + VirtIOIOMMUEndpoint *ep; int ret =3D VIRTIO_IOMMU_S_OK; =20 trace_virtio_iommu_unmap(domain_id, virt_start, virt_end); @@ -373,6 +425,10 @@ static int virtio_iommu_unmap(VirtIOIOMMU *s, uint64_t current_high =3D iter_key->high; =20 if (interval.low <=3D current_low && interval.high >=3D current_hi= gh) { + QLIST_FOREACH(ep, &domain->endpoint_list, next) { + virtio_iommu_notify_unmap(ep->iommu_mr, current_low, + current_high); + } g_tree_remove(domain->mappings, iter_key); trace_virtio_iommu_unmap_done(domain_id, current_low, current_= high); } else { diff --git a/hw/virtio/trace-events b/hw/virtio/trace-events index cf1e59de30..b87a397406 100644 --- a/hw/virtio/trace-events +++ b/hw/virtio/trace-events @@ -106,6 +106,8 @@ virtio_iommu_put_domain(uint32_t domain_id) "Free domai= n=3D%d" virtio_iommu_translate_out(uint64_t virt_addr, uint64_t phys_addr, uint32_= t sid) "0x%"PRIx64" -> 0x%"PRIx64 " for sid=3D%d" virtio_iommu_report_fault(uint8_t reason, uint32_t flags, uint32_t endpoin= t, uint64_t addr) "FAULT reason=3D%d flags=3D%d endpoint=3D%d address =3D0x= %"PRIx64 virtio_iommu_fill_resv_property(uint32_t devid, uint8_t subtype, uint64_t = start, uint64_t end) "dev=3D %d, type=3D%d start=3D0x%"PRIx64" end=3D0x%"PR= Ix64 +virtio_iommu_notify_map(const char *name, uint64_t virt_start, uint64_t vi= rt_end, uint64_t phys_start, uint32_t flags) "mr=3D%s virt_start=3D0x%"PRIx= 64" virt_end=3D0x%"PRIx64" phys_start=3D0x%"PRIx64" flags=3D%d" +virtio_iommu_notify_unmap(const char *name, uint64_t virt_start, uint64_t = virt_end) "mr=3D%s virt_start=3D0x%"PRIx64" virt_end=3D0x%"PRIx64 =20 # virtio-mem.c virtio_mem_send_response(uint16_t type) "type=3D%" PRIu16 --=20 MST From nobody Fri May 17 03:54:41 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=1604515770; cv=none; d=zohomail.com; s=zohoarc; b=UKxJAcg8F3I2gHYhmOJ93fY/sLimm3H5w0V2z1iTwRoONZmJ7DCMPlXoFlBaks6O1Jj9x1CMGse3vsCko9ICtR3uCBjNMlACoLsIleQYCiCkB+rqS51FA11MdVf9JWONpt9yyVFPotLJbtdKX8wlTudG6AAkJ6s4KBrDMr02iqM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515770; 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=CO5kV6TOgl7VkllXO+Cj7QHVQ3FQj45OIYdaYC1hBZU=; b=agHR8ImfXEa40U/nZbtj7lFYYdx4DZFiGNIzqm7IKuJiLu0DHn/5MD2NNMpDAsHBUSzvTTwlFMkqoMc2onZ4xfx/k05Vv+gVUl630lzvU+FYuG3eneC70EVMrGPJqFHJ2ErwyrBZndRoW+/jnVMKlLWMq84UO4d1kKNrkbyRoGI= 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 160451577004680.0067599234128; Wed, 4 Nov 2020 10:49:30 -0800 (PST) Received: from localhost ([::1]:45220 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNqa-0003tC-GW for importer@patchew.org; Wed, 04 Nov 2020 13:49:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52474) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjW-0001Ey-Qx for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:10 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:59399) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjV-00024L-2i for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:10 -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-249-aXbbKZ2lOfWTzlk-zCGouQ-1; Wed, 04 Nov 2020 13:42:06 -0500 Received: by mail-wr1-f69.google.com with SMTP id i1so9580059wrb.18 for ; Wed, 04 Nov 2020 10:42:06 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id l1sm4146616wrb.1.2020.11.04.10.42.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515328; 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=CO5kV6TOgl7VkllXO+Cj7QHVQ3FQj45OIYdaYC1hBZU=; b=DUDnYRb5dlNZEUo1kejlk8cKALQkv4EIJ/XM61VULaaDkssG1pGJZRFqujvzeYX9JJANHA dDiJpW+sRxt+8P0eb1LrB7OMig0nj3hVvvwdcJeKyL9ghdDs48GWLcYLS0MFxvWxJSLpI4 VBWrKSids7I4xmt9+oivVXpcqgAFnn8= X-MC-Unique: aXbbKZ2lOfWTzlk-zCGouQ-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=CO5kV6TOgl7VkllXO+Cj7QHVQ3FQj45OIYdaYC1hBZU=; b=md0nMy27Y6IjYzpvPLG6+U9sFZFg3/5p9nxdKv22NRrI0p+3JqXcmxmRlcXfTGTrKR ZSVN4Y/xZEsAQa3ehQv4TGcpaJNv3Tc1+cD9S2Vt3qz1LPgXXL51ED7N5+KY9rocYSk7 gJpJBwUV1n+3wd2rN5+NwCOBYEWYhJwF5EBvCpHY095IxJxzstJ5q2aSqsdb3czAzxgo HQV06J0Jrel/4ZvXH/X9/HDBOHNoBRLKj7AZ+RcoSpJxk2TuEvkX1/W4w2t0/YWdTPkA PJ6CJqGmA8Sn1pJQv2TzKSwX1/YnPKoNJyxozTWI9IrRlr08PB1It1xCpKWCEGmbJ9Rc KtUQ== X-Gm-Message-State: AOAM532rzNVAZSyG7mdPKlwr9qCjU4EWO19DbkYeTT60VLn8LScnEeKd ewLR7dn8GCV11gHBxKgXpVjoPt6oc3UIt5Tu05T7Qkm43iav+PbtD8SP9i7faqNmhflaDoL210t zRw4urVHGX+Q4oLA= X-Received: by 2002:a5d:60c4:: with SMTP id x4mr35830536wrt.175.1604515325236; Wed, 04 Nov 2020 10:42:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJz6Dy0F6GR6UnqLZn65rM3HddEm7KF9VRexPdu3AzmNkvreR//Gh71T88/RO8sqh10JPmWtog== X-Received: by 2002:a5d:60c4:: with SMTP id x4mr35830517wrt.175.1604515325041; Wed, 04 Nov 2020 10:42:05 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:02 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 16/31] virtio-iommu: Call memory notifiers in attach/detach Message-ID: <20201104184040.285057-17-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Bharat Bhushan , Eric Auger , Jean-Philippe Brucker 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: Bharat Bhushan Call the memory notifiers when attaching an endpoint to a domain, to replay existing mappings, and when detaching the endpoint, to remove all mappings. Signed-off-by: Bharat Bhushan Signed-off-by: Jean-Philippe Brucker Message-Id: <20201030180510.747225-5-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-iommu.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 7dd15c5eac..7b64892351 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -170,11 +170,39 @@ static void virtio_iommu_notify_unmap(IOMMUMemoryRegi= on *mr, hwaddr virt_start, memory_region_notify_iommu(mr, 0, entry); } =20 +static gboolean virtio_iommu_notify_unmap_cb(gpointer key, gpointer value, + gpointer data) +{ + VirtIOIOMMUInterval *interval =3D (VirtIOIOMMUInterval *) key; + IOMMUMemoryRegion *mr =3D (IOMMUMemoryRegion *) data; + + virtio_iommu_notify_unmap(mr, interval->low, interval->high); + + return false; +} + +static gboolean virtio_iommu_notify_map_cb(gpointer key, gpointer value, + gpointer data) +{ + VirtIOIOMMUMapping *mapping =3D (VirtIOIOMMUMapping *) value; + VirtIOIOMMUInterval *interval =3D (VirtIOIOMMUInterval *) key; + IOMMUMemoryRegion *mr =3D (IOMMUMemoryRegion *) data; + + virtio_iommu_notify_map(mr, interval->low, interval->high, + mapping->phys_addr, mapping->flags); + + return false; +} + static void virtio_iommu_detach_endpoint_from_domain(VirtIOIOMMUEndpoint *= ep) { + VirtIOIOMMUDomain *domain =3D ep->domain; + if (!ep->domain) { return; } + g_tree_foreach(domain->mappings, virtio_iommu_notify_unmap_cb, + ep->iommu_mr); QLIST_REMOVE(ep, next); ep->domain =3D NULL; } @@ -317,6 +345,10 @@ static int virtio_iommu_attach(VirtIOIOMMU *s, =20 ep->domain =3D domain; =20 + /* Replay domain mappings on the associated memory region */ + g_tree_foreach(domain->mappings, virtio_iommu_notify_map_cb, + ep->iommu_mr); + return VIRTIO_IOMMU_S_OK; } =20 --=20 MST From nobody Fri May 17 03:54:41 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=1604515876; cv=none; d=zohomail.com; s=zohoarc; b=Ca7uNoms2hYkW6RA/mlACxblb2PVjDqbexI2m0p+BsoJEWqF4RTJHVoE5FVeIOFwpKv+IOlcPlPVcYlxkl1IqwZPmsGPv3X8DeJj3aR3LnKGsUZcpF+d5/7Z/LLxdoQR6j7Z6asjLX2eUlSnVJh4SpbcUPsKgd5NmFM3ofFo/3w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515876; 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=Vj2K5KfIjYgXaS/HA+9u99+5hxZOJUDzQMD8f8h61Sg=; b=MlHfXPEQAC/XYNT6QPfWQf0LnBsWOQbsxR8p6v+HApSnZilTOC51d4J76F8cOouWpoapMw6oMmby+xu6PQ6QdKfaokVz+c9f6WPJtpwGqSJrRcUWgHnACFLkeNk+s0vV2f2E1lRs+qN8y6xdXkm4GH4jHD5SRUuo7iQtiNeKS78= 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 1604515876334370.9835026469891; Wed, 4 Nov 2020 10:51:16 -0800 (PST) Received: from localhost ([::1]:53664 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNsJ-0007N2-4b for importer@patchew.org; Wed, 04 Nov 2020 13:51:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52534) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjb-0001R0-SO for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:15 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:20663) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjZ-00024z-Vl for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:15 -0500 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-6-S_RWgsFPNTOzkJWRRt81hw-1; Wed, 04 Nov 2020 13:42:11 -0500 Received: by mail-wm1-f71.google.com with SMTP id h2so244629wmm.0 for ; Wed, 04 Nov 2020 10:42:10 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id u5sm3261102wml.13.2020.11.04.10.42.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515333; 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=Vj2K5KfIjYgXaS/HA+9u99+5hxZOJUDzQMD8f8h61Sg=; b=MUEsKFTCL/rcxWBF43Z3+y7/rssEBtRUJxzxXtesoiLERF1rRnSipC9n0JY6RvyEiQojpS zOAxuBngB3Tg5C12bxS9hKOksuL2RU4qBK3S0vtbbBh3E8s09koeM9FyLSqrWmmJyYFnfk 1OyUITQ6OKq58H12C4KHHcj9FdE/xA4= X-MC-Unique: S_RWgsFPNTOzkJWRRt81hw-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=Vj2K5KfIjYgXaS/HA+9u99+5hxZOJUDzQMD8f8h61Sg=; b=bZUWeUlHsHsP4rh0smW9QemJe22rdL0YR1CjN5o0vmOvhxtRwEtrbkzxJEqiKAh2G7 l2UxSKomnRvLeBoNG3TZFK0SIU/Jl2EoumieuNq+OcTySraLdYnirwSD7S4YgYKHTI9F kuAW2Gwy6JnM2nFZRwfhBt0K2MJTYjP6i9vzv2gHb1j3xpvLA2Vhc2yWuMFQOxmVNoFV M+wt/7b8ijdV5NwxW+LOdDztGxcI+Zw2k3FeTcKiV1OwxDHuBy3PUdc/oOjjTmjHaXkP uz4d5Xu5GOJ015WNZ5EBcZZPQ33ucKLImEUGPZK+U5RqSuSLLZWuANclWUNSYkH4Q9oB OlvQ== X-Gm-Message-State: AOAM531BOew0ZdWl42I88NXB0Jy361iPt7R6sXMLaJYbQvOI/1GNe8hH T9g82TtF52MhGg7mOFiNJ43E9dTjlHi/ngokppDOsVBNQFVsfIlxKGlpcKAxIlXXyE9MuuYaAJe v004QfG+64m8Op1k= X-Received: by 2002:a1c:6484:: with SMTP id y126mr5783450wmb.141.1604515328315; Wed, 04 Nov 2020 10:42:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJyETqU7jriIrUGsEzO4NqKeLs3NeylEWNekcUqojm5WU2hKvOUPsHgFOZPXjqQOBip5rlA9Dg== X-Received: by 2002:a1c:6484:: with SMTP id y126mr5783433wmb.141.1604515328141; Wed, 04 Nov 2020 10:42:08 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:05 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 17/31] virtio-iommu: Add replay() memory region callback Message-ID: <20201104184040.285057-18-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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 , Bharat Bhushan , Eric Auger , Jean-Philippe Brucker 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: Bharat Bhushan Implement the replay callback to setup all mappings for a new memory region. Signed-off-by: Bharat Bhushan Signed-off-by: Jean-Philippe Brucker Message-Id: <20201030180510.747225-6-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-iommu.c | 40 ++++++++++++++++++++++++++++++++++++++++ hw/virtio/trace-events | 1 + 2 files changed, 41 insertions(+) diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 7b64892351..985257c88f 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -847,6 +847,45 @@ static gint int_cmp(gconstpointer a, gconstpointer b, = gpointer user_data) return (ua > ub) - (ua < ub); } =20 +static gboolean virtio_iommu_remap(gpointer key, gpointer value, gpointer = data) +{ + VirtIOIOMMUMapping *mapping =3D (VirtIOIOMMUMapping *) value; + VirtIOIOMMUInterval *interval =3D (VirtIOIOMMUInterval *) key; + IOMMUMemoryRegion *mr =3D (IOMMUMemoryRegion *) data; + + trace_virtio_iommu_remap(mr->parent_obj.name, interval->low, interval-= >high, + mapping->phys_addr); + virtio_iommu_notify_map(mr, interval->low, interval->high, + mapping->phys_addr, mapping->flags); + return false; +} + +static void virtio_iommu_replay(IOMMUMemoryRegion *mr, IOMMUNotifier *n) +{ + IOMMUDevice *sdev =3D container_of(mr, IOMMUDevice, iommu_mr); + VirtIOIOMMU *s =3D sdev->viommu; + uint32_t sid; + VirtIOIOMMUEndpoint *ep; + + sid =3D virtio_iommu_get_bdf(sdev); + + qemu_mutex_lock(&s->mutex); + + if (!s->endpoints) { + goto unlock; + } + + ep =3D g_tree_lookup(s->endpoints, GUINT_TO_POINTER(sid)); + if (!ep || !ep->domain) { + goto unlock; + } + + g_tree_foreach(ep->domain->mappings, virtio_iommu_remap, mr); + +unlock: + qemu_mutex_unlock(&s->mutex); +} + static void virtio_iommu_device_realize(DeviceState *dev, Error **errp) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); @@ -1076,6 +1115,7 @@ static void virtio_iommu_memory_region_class_init(Obj= ectClass *klass, IOMMUMemoryRegionClass *imrc =3D IOMMU_MEMORY_REGION_CLASS(klass); =20 imrc->translate =3D virtio_iommu_translate; + imrc->replay =3D virtio_iommu_replay; } =20 static const TypeInfo virtio_iommu_info =3D { diff --git a/hw/virtio/trace-events b/hw/virtio/trace-events index b87a397406..ea3c3b25ad 100644 --- a/hw/virtio/trace-events +++ b/hw/virtio/trace-events @@ -108,6 +108,7 @@ virtio_iommu_report_fault(uint8_t reason, uint32_t flag= s, uint32_t endpoint, uin virtio_iommu_fill_resv_property(uint32_t devid, uint8_t subtype, uint64_t = start, uint64_t end) "dev=3D %d, type=3D%d start=3D0x%"PRIx64" end=3D0x%"PR= Ix64 virtio_iommu_notify_map(const char *name, uint64_t virt_start, uint64_t vi= rt_end, uint64_t phys_start, uint32_t flags) "mr=3D%s virt_start=3D0x%"PRIx= 64" virt_end=3D0x%"PRIx64" phys_start=3D0x%"PRIx64" flags=3D%d" virtio_iommu_notify_unmap(const char *name, uint64_t virt_start, uint64_t = virt_end) "mr=3D%s virt_start=3D0x%"PRIx64" virt_end=3D0x%"PRIx64 +virtio_iommu_remap(const char *name, uint64_t virt_start, uint64_t virt_en= d, uint64_t phys_start) "mr=3D%s virt_start=3D0x%"PRIx64" virt_end=3D0x%"PR= Ix64" phys_start=3D0x%"PRIx64 =20 # virtio-mem.c virtio_mem_send_response(uint16_t type) "type=3D%" PRIu16 --=20 MST From nobody Fri May 17 03:54:41 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=1604516481; cv=none; d=zohomail.com; s=zohoarc; b=etwyDh/i1mOi6s+rFINP/hpXz4ql4sVt6bN7tJmEVlYqomMdiJJCtuIyQIVDsTmbdOfheDomX5bFZQA4m7XayK7ors5eOy/Y4uLfFTnPKzwaW9SAhn1lnySNBVapcWiB5yr3nl+yLCuztmwZlAsV74BI73xAfNOaoMl38lWs/Jk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516481; 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=FfMG5NPSSgbiHzXp+0EZ66dpqrizcgkZqiSRInNVyXY=; b=ZcSFXSrfHzvJauyjc6PykaNZj8/CoS0qLqBWkxefWwGjyMzDx/WOeOLKVoPr2OwtkSBt5uCsIg5uygcUsoxGNa6tKt+5TEdX2KdgIUL0GxsgbHFphpS4ySL61OL16PxNJGBN9YEoNkY8KxNNQdw1PgKam8p6OMofvvP8tJ0R8R4= 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 1604516481673442.63949222257565; Wed, 4 Nov 2020 11:01:21 -0800 (PST) Received: from localhost ([::1]:35786 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaO22-0006nA-NB for importer@patchew.org; Wed, 04 Nov 2020 14:01:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53198) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNmN-00065Z-B5 for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:45:07 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:47568) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNmL-0002K1-J7 for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:45:06 -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-581-i9L0S8N4NtiZhT6n4B4ltg-1; Wed, 04 Nov 2020 13:42:12 -0500 Received: by mail-wm1-f69.google.com with SMTP id 8so935725wmg.6 for ; Wed, 04 Nov 2020 10:42:12 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id z6sm3305461wmi.1.2020.11.04.10.42.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515504; 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=FfMG5NPSSgbiHzXp+0EZ66dpqrizcgkZqiSRInNVyXY=; b=XkJULi4OmHaOuImieIm2HL9lLoOm9la89sSC0Zgvw8ixVpAm3Cj0jHMpoZu4Hyw7ohQzge JGZ/7fvmMZ5vhEXkZuIUsGpMLM2fL8zeEc65ykrzjiOuA47IuiMgJ86SCjP7TOEEeIfPkc PcStGF1uj55WxriNXkBuei0OfaVccsQ= X-MC-Unique: i9L0S8N4NtiZhT6n4B4ltg-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=FfMG5NPSSgbiHzXp+0EZ66dpqrizcgkZqiSRInNVyXY=; b=Q2GXuUu+kxV8bhbz1IJWK3Yz3tmTOPGWy3GQXs52gmtR0/tt3GWVdiVNWmJSOlAfZ3 86/ato4fUyl7iiq12RVOag4qHab/OaxPh1qFtg26x+3Bve7BQnTUDsGKBXg7QWHPrr+6 L/wj2ifHKw+V/WKCHZ7HH6rBcG6TPRq97OSECT/fWR3uVqWI6X1On6Xj6PQTFdKBqZI5 HvPWzuSm+/SExX3GSTXBmPu81q13B8nI37Gy7YXEHvecgt+zKRFBFxNZEuyab8Fg3+GQ z5/fmfGimj9vkgCNjRXbj6LJDCmjR8jKr7tRtIOqQ17hkehNBltu+VaRMjXU3Ebfo9lZ VeBw== X-Gm-Message-State: AOAM532fWGhN47LFSHy8PRnkuvzvZjFuXIuc6f22VMwzC5eD2GkRb65F UPqS7baaAp4USTDL9Bev3YevqsGYo9pW21qOHbbvLmkmypBSHElhfFPE7f/DibI1fkBhJeO0Dbx PUlkY7P3wJpeXtS8= X-Received: by 2002:adf:de12:: with SMTP id b18mr7511405wrm.187.1604515330973; Wed, 04 Nov 2020 10:42:10 -0800 (PST) X-Google-Smtp-Source: ABdhPJzTNL81NP5kHCGWWFtfx6N9gOC8g0lDMnMbr2Cn5jsQHzQlJBByvpT1NTvJIVx6ZRj3vL9J6A== X-Received: by 2002:adf:de12:: with SMTP id b18mr7511384wrm.187.1604515330773; Wed, 04 Nov 2020 10:42:10 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:08 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 18/31] virtio-iommu: Add notify_flag_changed() memory region callback Message-ID: <20201104184040.285057-19-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Bharat Bhushan , Jean-Philippe Brucker , Eric Auger 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: Bharat Bhushan Add notify_flag_changed() to notice when memory listeners are added and removed. Acked-by: Eric Auger Signed-off-by: Bharat Bhushan Signed-off-by: Jean-Philippe Brucker Message-Id: <20201030180510.747225-7-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-iommu.c | 14 ++++++++++++++ hw/virtio/trace-events | 2 ++ 2 files changed, 16 insertions(+) diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 985257c88f..78e07aa40a 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -886,6 +886,19 @@ unlock: qemu_mutex_unlock(&s->mutex); } =20 +static int virtio_iommu_notify_flag_changed(IOMMUMemoryRegion *iommu_mr, + IOMMUNotifierFlag old, + IOMMUNotifierFlag new, + Error **errp) +{ + if (old =3D=3D IOMMU_NOTIFIER_NONE) { + trace_virtio_iommu_notify_flag_add(iommu_mr->parent_obj.name); + } else if (new =3D=3D IOMMU_NOTIFIER_NONE) { + trace_virtio_iommu_notify_flag_del(iommu_mr->parent_obj.name); + } + return 0; +} + static void virtio_iommu_device_realize(DeviceState *dev, Error **errp) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); @@ -1116,6 +1129,7 @@ static void virtio_iommu_memory_region_class_init(Obj= ectClass *klass, =20 imrc->translate =3D virtio_iommu_translate; imrc->replay =3D virtio_iommu_replay; + imrc->notify_flag_changed =3D virtio_iommu_notify_flag_changed; } =20 static const TypeInfo virtio_iommu_info =3D { diff --git a/hw/virtio/trace-events b/hw/virtio/trace-events index ea3c3b25ad..982d0002a6 100644 --- a/hw/virtio/trace-events +++ b/hw/virtio/trace-events @@ -109,6 +109,8 @@ virtio_iommu_fill_resv_property(uint32_t devid, uint8_t= subtype, uint64_t start, virtio_iommu_notify_map(const char *name, uint64_t virt_start, uint64_t vi= rt_end, uint64_t phys_start, uint32_t flags) "mr=3D%s virt_start=3D0x%"PRIx= 64" virt_end=3D0x%"PRIx64" phys_start=3D0x%"PRIx64" flags=3D%d" virtio_iommu_notify_unmap(const char *name, uint64_t virt_start, uint64_t = virt_end) "mr=3D%s virt_start=3D0x%"PRIx64" virt_end=3D0x%"PRIx64 virtio_iommu_remap(const char *name, uint64_t virt_start, uint64_t virt_en= d, uint64_t phys_start) "mr=3D%s virt_start=3D0x%"PRIx64" virt_end=3D0x%"PR= Ix64" phys_start=3D0x%"PRIx64 +virtio_iommu_notify_flag_add(const char *name) "add notifier to mr %s" +virtio_iommu_notify_flag_del(const char *name) "del notifier from mr %s" =20 # virtio-mem.c virtio_mem_send_response(uint16_t type) "type=3D%" PRIu16 --=20 MST From nobody Fri May 17 03:54:41 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=1604515718; cv=none; d=zohomail.com; s=zohoarc; b=ELSVeHLtIwXweTqSsEdisdIfUyel2p6ceKGO2nq7obzR3X2+/ea1F/F7+YkJCIKszAiB/IBwSsTPDWP/hNrKY7/Br6oB3ly0vGKIK8pdV0hQ330xne7PV1dQAmb/QySEA43p9qeZjO3pQAbT+j9KpftmnWfxH1hbSOdaZMW1ow4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515718; 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=FzlYUeG8X4vs91S4tquZq9KM016eO3pXrdQjhhAV7O0=; b=SiQW4FrJfQUNu0BKAETZbLQb19D7+TnKYtAGkk0yZh1XtV6uLWlUE1VfPWGEVr8hhm8yt7dTM7/6fzAWjyOciUVSRYHgyoi/J8Kg4I72hMRlt+56DVK1uLuXAUexNJW1RJGcY0PEHBEaTJ+7YNm04mRO/pZaRLDn4E65MJydVYI= 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 1604515718528791.4734664649607; Wed, 4 Nov 2020 10:48:38 -0800 (PST) Received: from localhost ([::1]:41066 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNpl-0002Bz-5d for importer@patchew.org; Wed, 04 Nov 2020 13:48:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52548) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjh-0001Yl-Cq for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:21 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:21015) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNje-00025N-2A for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:21 -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-175-ZhgvCt1XO5qEgG1wKt7mgQ-1; Wed, 04 Nov 2020 13:42:15 -0500 Received: by mail-wr1-f69.google.com with SMTP id x16so9539148wrg.7 for ; Wed, 04 Nov 2020 10:42:15 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id f17sm4098067wrm.27.2020.11.04.10.42.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515337; 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=FzlYUeG8X4vs91S4tquZq9KM016eO3pXrdQjhhAV7O0=; b=Y/BS1SvxMlNp63ccwx7ZkMuUCwJD3HTnvLtPOfP9i18CrGDnW71Zyd90NpAtac2rvrhwrq kd4EYjW32bDmijxTnshzV6bu2PX86LG09/lWrctHYWmXMesLSfzH1wPVgfbiqwhtm39juV eA/s5j68AKXK2uPAR+AUNMg17nAAXyU= X-MC-Unique: ZhgvCt1XO5qEgG1wKt7mgQ-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=FzlYUeG8X4vs91S4tquZq9KM016eO3pXrdQjhhAV7O0=; b=to+RpdUjsl1N++yPHeYrgoR3Vc4VgtQm9I0KVAaXr1ScxPmU4Fa1vnN6ZhfPzdvea7 eNggGaW4rXilbUeSux2X3f9R0pHxZt0oXTsr+Bhj45scPqe3jbk+RIfEyfFtEl9qS+QK 8tpCLGmCXcbDp332niPksb362+E2XfXiJr2Wa3Lp04fJ21dQeyeytnV1zUi4a+oAz/lq CDOkF9KuoY1Q+R0DyjDgUEzWJJPuBH0iRTvDKxkQZXmJCsNDYTjNfatpJqNBQbLfnqcJ kgjBqE6WLw2K2zgAh4jEFtK4YsyMNG4q0O9/k53FM2Y3NRLKnqqOz+NHBqKkoyi2Gp6c s1bQ== X-Gm-Message-State: AOAM530KoNqdDl89ssMfg8tyEFOqLYC+f9iPmFvmorrxsHbFb9L0wtJH SxtB8WE3KimYPk9SXoDt9l37LL4u9NG8U3w5OtzQe5csORnTi+DlKK+n1aCmKZALK7AZr8gMQpf sZeF5bDpfdPfixQY= X-Received: by 2002:adf:9043:: with SMTP id h61mr34692968wrh.237.1604515334160; Wed, 04 Nov 2020 10:42:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJywgtVR83s0UZ+9szyVXJqzQNOBMo98hfMOyetBpwpun6d9XC2pFB0aFARlrM7ypjPaX+i5pA== X-Received: by 2002:adf:9043:: with SMTP id h61mr34692950wrh.237.1604515333987; Wed, 04 Nov 2020 10:42:13 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:11 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 19/31] memory: Add interface to set iommu page size mask Message-ID: <20201104184040.285057-20-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Jean-Philippe Brucker , Peter Xu , Eric Auger , Paolo Bonzini , Bharat Bhushan 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: Bharat Bhushan Allow to set the page size mask supported by an iommu memory region. This enables a vIOMMU to communicate the page size granule supported by an assigned device, on hosts that use page sizes greater than 4kB. Acked-by: Peter Xu Reviewed-by: Eric Auger Signed-off-by: Bharat Bhushan Signed-off-by: Jean-Philippe Brucker Message-Id: <20201030180510.747225-8-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/exec/memory.h | 38 ++++++++++++++++++++++++++++++++++++++ softmmu/memory.c | 13 +++++++++++++ 2 files changed, 51 insertions(+) diff --git a/include/exec/memory.h b/include/exec/memory.h index aff6ef7605..0f3e6bcd5e 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -397,6 +397,32 @@ struct IOMMUMemoryRegionClass { * @iommu: the IOMMUMemoryRegion */ int (*num_indexes)(IOMMUMemoryRegion *iommu); + + /** + * @iommu_set_page_size_mask: + * + * Restrict the page size mask that can be supported with a given IOMMU + * memory region. Used for example to propagate host physical IOMMU pa= ge + * size mask limitations to the virtual IOMMU. + * + * Optional method: if this method is not provided, then the default g= lobal + * page mask is used. + * + * @iommu: the IOMMUMemoryRegion + * + * @page_size_mask: a bitmask of supported page sizes. At least one bi= t, + * representing the smallest page size, must be set. Additional set bi= ts + * represent supported block sizes. For example a host physical IOMMU = that + * uses page tables with a page size of 4kB, and supports 2MB and 4GB + * blocks, will set mask 0x40201000. A granule of 4kB with indiscrimin= ate + * block sizes is specified with mask 0xfffffffffffff000. + * + * Returns 0 on success, or a negative error. In case of failure, the = error + * object must be created. + */ + int (*iommu_set_page_size_mask)(IOMMUMemoryRegion *iommu, + uint64_t page_size_mask, + Error **errp); }; =20 typedef struct CoalescedMemoryRange CoalescedMemoryRange; @@ -1409,6 +1435,18 @@ int memory_region_iommu_attrs_to_index(IOMMUMemoryRe= gion *iommu_mr, */ int memory_region_iommu_num_indexes(IOMMUMemoryRegion *iommu_mr); =20 +/** + * memory_region_iommu_set_page_size_mask: set the supported page + * sizes for a given IOMMU memory region + * + * @iommu_mr: IOMMU memory region + * @page_size_mask: supported page size mask + * @errp: pointer to Error*, to store an error if it happens. + */ +int memory_region_iommu_set_page_size_mask(IOMMUMemoryRegion *iommu_mr, + uint64_t page_size_mask, + Error **errp); + /** * memory_region_name: get a memory region's name * diff --git a/softmmu/memory.c b/softmmu/memory.c index 21d533d8ed..71951fe4dc 100644 --- a/softmmu/memory.c +++ b/softmmu/memory.c @@ -1841,6 +1841,19 @@ static int memory_region_update_iommu_notify_flags(I= OMMUMemoryRegion *iommu_mr, return ret; } =20 +int memory_region_iommu_set_page_size_mask(IOMMUMemoryRegion *iommu_mr, + uint64_t page_size_mask, + Error **errp) +{ + IOMMUMemoryRegionClass *imrc =3D IOMMU_MEMORY_REGION_GET_CLASS(iommu_m= r); + int ret =3D 0; + + if (imrc->iommu_set_page_size_mask) { + ret =3D imrc->iommu_set_page_size_mask(iommu_mr, page_size_mask, e= rrp); + } + return ret; +} + int memory_region_register_iommu_notifier(MemoryRegion *mr, IOMMUNotifier *n, Error **errp) { --=20 MST From nobody Fri May 17 03:54:41 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=1604515875; cv=none; d=zohomail.com; s=zohoarc; b=WJZmRMW1bKeCZHXsbeVKMGoFvRK3JsdofMVom3JgwZiCjnn1IcZjFyM87yEfXpJQoKoj1xUa22PzyRUdWdgU4Mu1j3akdsPFEwcNXC2c0AIyCDX9+60eKiJN7xYx9ct5jMtOVPEcPnr5SvhXMHNCL+KmvqEL2vVv8tf5HZ8ys1s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515875; 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=ERBcIzJjq9q9CekQaOnDD1IPGOplWp3LnON28jdWCRA=; b=h8uRrbQqVTh0wBle/W9n78vxaFWuSUEsUqAF8KAxcx1gveyYY15JbxRSzW9LMqPUoILa5zjmE58MAurfIgZ9OPlZa7GAgQp8ksE9KX7jxQILlII/DFm+/fi3iaqf6n2aXidm2Brj9waMiz4H3d3ZJ5ek6hchg8YwwSpV5aSkzqs= 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 1604515875064930.9457298676684; Wed, 4 Nov 2020 10:51:15 -0800 (PST) Received: from localhost ([::1]:53472 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNsH-0007HS-PF for importer@patchew.org; Wed, 04 Nov 2020 13:51:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52570) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjj-0001bO-Ij for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:23 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:53633) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjh-00025X-2N for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:23 -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-251-sW8t2nM3M_WYz60qklD0sQ-1; Wed, 04 Nov 2020 13:42:18 -0500 Received: by mail-wm1-f70.google.com with SMTP id z7so1550324wme.8 for ; Wed, 04 Nov 2020 10:42:18 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id 90sm3954979wrl.30.2020.11.04.10.42.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515339; 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=ERBcIzJjq9q9CekQaOnDD1IPGOplWp3LnON28jdWCRA=; b=THNjZiUXEC4EoUpC8rJmqLrL9Uvt6L2fIE0zuGrXXCqI3Urv69VuKll8L3WtMFs9TpBcfK hasc460VaU/G9ZIDVwPO+jA47KFhYeYtzm9KTci0lva7Ly3wCqWoU/K7mr+W729iazZR+W 50RWbbr+vTItTlbfy0yIOt4R/6bZMPA= X-MC-Unique: sW8t2nM3M_WYz60qklD0sQ-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=ERBcIzJjq9q9CekQaOnDD1IPGOplWp3LnON28jdWCRA=; b=HQXL7RiiJTc+fev83tZqeLS1+X7jXxIANjIZh7x270RJ5Pi7jPmWaFayVjGvlWKzWy m68mSA8+5sty7aWnGta7oYI2kcaKd8fIPnGLRSPezMiCBKnP62vXBfoXgRrFy/x1BOYc yY4Fqcq6GDPssM0nLosHyDYZFlObIcoB6NwPYD2c0vAGkIL3YZ+p5uILhJucQ7wlwRzo XORFL1sBQ9CoxDAXonvw9S/hJzAYmdcYX1LeLcQXcuShq5voHUGDIXCI9ul3eRorv9mS Z5H38V2W3ivf9hK5QkcFeuqC2bm7/eAuib58djI3JaESQAFD+Vzzhx2wrk9XOdXrU/nn E59w== X-Gm-Message-State: AOAM530Ud46APGVGowHPe6oP7+rTiRQGCSErcfUTa3uD1zVC3t5So4wZ B4NI6zcd6llGqF42JV0CjboxJSmf8CG1kKAOX5MpgfjIRWWmM5pZQH687YmNqrUQvCRqjFDzTaD Tsz70nyEn9V3wsFU= X-Received: by 2002:a5d:4d86:: with SMTP id b6mr471808wru.369.1604515336901; Wed, 04 Nov 2020 10:42:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJyB+77Nkj2DFjSawGEVkCUgAstahf3UZpnzlQlmp4I7Xo/KNL7JfHsPc78osHoaDxN/0hXUkQ== X-Received: by 2002:a5d:4d86:: with SMTP id b6mr471795wru.369.1604515336767; Wed, 04 Nov 2020 10:42:16 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:14 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 20/31] vfio: Set IOMMU page size as per host supported page size Message-ID: <20201104184040.285057-21-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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: Jean-Philippe Brucker , Peter Maydell , Bharat Bhushan , Alex Williamson , Eric Auger 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: Bharat Bhushan Set IOMMU supported page size mask same as host Linux supported page size mask. Acked-by: Alex Williamson Reviewed-by: Eric Auger Signed-off-by: Bharat Bhushan Signed-off-by: Jean-Philippe Brucker Message-Id: <20201030180510.747225-9-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/vfio/common.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/vfio/common.c b/hw/vfio/common.c index e18ea2cf91..35895b18a6 100644 --- a/hw/vfio/common.c +++ b/hw/vfio/common.c @@ -789,6 +789,14 @@ static void vfio_listener_region_add(MemoryListener *l= istener, int128_get64(llend), iommu_idx); =20 + ret =3D memory_region_iommu_set_page_size_mask(giommu->iommu, + container->pgsizes, + &err); + if (ret) { + g_free(giommu); + goto fail; + } + ret =3D memory_region_register_iommu_notifier(section->mr, &giommu= ->n, &err); if (ret) { --=20 MST From nobody Fri May 17 03:54:41 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=1604516001; cv=none; d=zohomail.com; s=zohoarc; b=fYXRZJneTveghfK1xygsXFQWKJZTeADbgROKjCxKFdEtIs8HKF2G7X2Y7yRCs/avt2rmz0EctAUAFdQY7SJA4bVAx1Eg0odly0nNirNOU7ri680gEoXC3rUN+8txepjSrqshhbzeJuY/NX5MMwug4dNI3yRU+wQHgkgUy5e4GX4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516001; 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=BrWBtHz+T2+mIPkAWH3w+WMghO+0VMpKeuA9wyAHhqM=; b=fqoYN555HhMWcw8ISxsiEsDuWiCGyMNxfi9TRaahXNX3uA8KFnYAqtp7HVbjVPS0gTlJ7ypKFCfOhh2pS/H1aVbyxfZTCkwy3K0QxZ5xXBCNpJpFPH0n4iDT/I/JaY1tkfPehSclV/ZA7/TRNhkjC35+SoyrOHSC+twCzO3yJ9U= 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 1604516001272648.9555743671119; Wed, 4 Nov 2020 10:53:21 -0800 (PST) Received: from localhost ([::1]:33892 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNuK-0002RV-1z for importer@patchew.org; Wed, 04 Nov 2020 13:53:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52622) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjp-0001gT-GQ for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:29 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:33450) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjk-000261-Kz for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:28 -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-412-QAbuIb0zOtG66rsBDivJRA-1; Wed, 04 Nov 2020 13:42:21 -0500 Received: by mail-wr1-f72.google.com with SMTP id j15so9618569wrd.16 for ; Wed, 04 Nov 2020 10:42:21 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id 71sm3580651wrm.20.2020.11.04.10.42.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515343; 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=BrWBtHz+T2+mIPkAWH3w+WMghO+0VMpKeuA9wyAHhqM=; b=ZJKYfZEEBup3amu2+h2acwnrazICWxy/+z+8HwP37cxcMqGfkEkAVmB7Ad4vzm53ZyatP0 AikJErY9TpbAMTV5z4FscQAQZf5fdmZrs3Bk+Z/0KMBMC/ajcFzXQpV99/9cZMLvlKrfnB J7hAcS9RcP8fvTAUAGZbTreK90BeSd0= X-MC-Unique: QAbuIb0zOtG66rsBDivJRA-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=BrWBtHz+T2+mIPkAWH3w+WMghO+0VMpKeuA9wyAHhqM=; b=P1A5jXD5px40u/AU/OKHV1OEmgu38SfD3aGFdu2eNE8ZX0LfVsspiLDJmeP1wgOyZp Aju7me1aFgTcRhsgAYmaiz4ZkGwKBLFbSSTxglcJp3CMoOARlKkzHn0j4OtCWnWHNJuN ptZAFTw0P4EPpKGF+fLLR5G17I1Tn8DdiXKWZ+wWL71OYvNJ9J79SDGjsn7yeOMQRNA2 t63R9+qdKHFboqPXBjuIdGA4L+FAuTgg3zyoNyErH3VqoadDMJCIVn7JFFebFRhBtEId sVOoSDNphkZHPk1Sd8ELBSbaznnfZ18aMB692oCck2Rj+iHWcFHyBBWdAu1il4jgst7H nrWg== X-Gm-Message-State: AOAM5317MRkZn5gHFmg4B7fIijZXKfmksCRO6bS+xdSFv7auid9bQkQl 7n8fSQCwxcLWsIV5hMCISbem19g3GdPhoVwC//Rn4Pj6vnHWmn6IvJ8nZ23j85/lvpy694M8fZQ Ma6kJEZP1K3PHJ1U= X-Received: by 2002:a1c:23cf:: with SMTP id j198mr6008712wmj.6.1604515339709; Wed, 04 Nov 2020 10:42:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJxVQ2/0HYyscWHoChvPXC4VxuvozF5XL4cTE1jZGncs/o6QVqXPFZfRn8Th61SxpG/mzYhrNQ== X-Received: by 2002:a1c:23cf:: with SMTP id j198mr6008695wmj.6.1604515339472; Wed, 04 Nov 2020 10:42:19 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:17 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 21/31] virtio-iommu: Set supported page size mask Message-ID: <20201104184040.285057-22-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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 , Bharat Bhushan , Eric Auger , Jean-Philippe Brucker 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: Bharat Bhushan The virtio-iommu device can deal with arbitrary page sizes for virtual endpoints, but for endpoints assigned with VFIO it must follow the page granule used by the host IOMMU driver. Implement the interface to set the vIOMMU page size mask, called by VFIO for each endpoint. We assume that all host IOMMU drivers use the same page granule (the host page granule). Override the page_size_mask field in the virtio config space. Signed-off-by: Bharat Bhushan Signed-off-by: Jean-Philippe Brucker Message-Id: <20201030180510.747225-10-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-iommu.c | 50 ++++++++++++++++++++++++++++++++++++++++ hw/virtio/trace-events | 1 + 2 files changed, 51 insertions(+) diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 78e07aa40a..fc5c75d693 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -899,6 +899,55 @@ static int virtio_iommu_notify_flag_changed(IOMMUMemor= yRegion *iommu_mr, return 0; } =20 +/* + * The default mask (TARGET_PAGE_MASK) is the smallest supported guest gra= nule, + * for example 0xfffffffffffff000. When an assigned device has page size + * restrictions due to the hardware IOMMU configuration, apply this restri= ction + * to the mask. + */ +static int virtio_iommu_set_page_size_mask(IOMMUMemoryRegion *mr, + uint64_t new_mask, + Error **errp) +{ + IOMMUDevice *sdev =3D container_of(mr, IOMMUDevice, iommu_mr); + VirtIOIOMMU *s =3D sdev->viommu; + uint64_t cur_mask =3D s->config.page_size_mask; + + trace_virtio_iommu_set_page_size_mask(mr->parent_obj.name, cur_mask, + new_mask); + + if ((cur_mask & new_mask) =3D=3D 0) { + error_setg(errp, "virtio-iommu page mask 0x%"PRIx64 + " is incompatible with mask 0x%"PRIx64, cur_mask, new_m= ask); + return -1; + } + + /* + * After the machine is finalized, we can't change the mask anymore. I= f by + * chance the hotplugged device supports the same granule, we can still + * accept it. Having a different masks is possible but the guest will = use + * sub-optimal block sizes, so warn about it. + */ + if (qdev_hotplug) { + int new_granule =3D ctz64(new_mask); + int cur_granule =3D ctz64(cur_mask); + + if (new_granule !=3D cur_granule) { + error_setg(errp, "virtio-iommu page mask 0x%"PRIx64 + " is incompatible with mask 0x%"PRIx64, cur_mask, + new_mask); + return -1; + } else if (new_mask !=3D cur_mask) { + warn_report("virtio-iommu page mask 0x%"PRIx64 + " does not match 0x%"PRIx64, cur_mask, new_mask); + } + return 0; + } + + s->config.page_size_mask &=3D new_mask; + return 0; +} + static void virtio_iommu_device_realize(DeviceState *dev, Error **errp) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); @@ -1130,6 +1179,7 @@ static void virtio_iommu_memory_region_class_init(Obj= ectClass *klass, imrc->translate =3D virtio_iommu_translate; imrc->replay =3D virtio_iommu_replay; imrc->notify_flag_changed =3D virtio_iommu_notify_flag_changed; + imrc->iommu_set_page_size_mask =3D virtio_iommu_set_page_size_mask; } =20 static const TypeInfo virtio_iommu_info =3D { diff --git a/hw/virtio/trace-events b/hw/virtio/trace-events index 982d0002a6..2060a144a2 100644 --- a/hw/virtio/trace-events +++ b/hw/virtio/trace-events @@ -109,6 +109,7 @@ virtio_iommu_fill_resv_property(uint32_t devid, uint8_t= subtype, uint64_t start, virtio_iommu_notify_map(const char *name, uint64_t virt_start, uint64_t vi= rt_end, uint64_t phys_start, uint32_t flags) "mr=3D%s virt_start=3D0x%"PRIx= 64" virt_end=3D0x%"PRIx64" phys_start=3D0x%"PRIx64" flags=3D%d" virtio_iommu_notify_unmap(const char *name, uint64_t virt_start, uint64_t = virt_end) "mr=3D%s virt_start=3D0x%"PRIx64" virt_end=3D0x%"PRIx64 virtio_iommu_remap(const char *name, uint64_t virt_start, uint64_t virt_en= d, uint64_t phys_start) "mr=3D%s virt_start=3D0x%"PRIx64" virt_end=3D0x%"PR= Ix64" phys_start=3D0x%"PRIx64 +virtio_iommu_set_page_size_mask(const char *name, uint64_t old, uint64_t n= ew) "mr=3D%s old_mask=3D0x%"PRIx64" new_mask=3D0x%"PRIx64 virtio_iommu_notify_flag_add(const char *name) "add notifier to mr %s" virtio_iommu_notify_flag_del(const char *name) "del notifier from mr %s" =20 --=20 MST From nobody Fri May 17 03:54:41 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=1604516110; cv=none; d=zohomail.com; s=zohoarc; b=aHX7FZNH7Aatdd/FPf6gycjQzmaokPHfGJr6VgtCQAOqE00cde9IGiCL3Q4kwGmKunnTzoSFHb9N6m4TwM93HVzr4QfBfqN0EOR18hGUxzYNWBgMJqwOc58m7UrBkNtweW5BhArnTjKw3ILnkTDQWvcun8qNMpD8A1HacyRJSWM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516110; 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=aTAjTe4Celzp7fll7OULoNskonibl44hj9qWQyy3thE=; b=Otb8nF0AzFuFNnm+e4w9Ct9Ksex1hpNyfaetNeXqnoFyxmiX/CzUJ0SNC8yGd4hAS/sWZcQEYyx1L0gc1B5nS2IAkdCDMpNaaAWnexw2V7loZ3Td+O7vaLJ0KYLU34+BHEdL1iFX7nWsIs3ze9ijBVjVXYzBs0PMF2rYpsZBXek= 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 1604516110840667.5542571399584; Wed, 4 Nov 2020 10:55:10 -0800 (PST) Received: from localhost ([::1]:42148 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNw5-0005tK-Om for importer@patchew.org; Wed, 04 Nov 2020 13:55:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52642) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjq-0001hS-Jg for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:30 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:34898) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjo-00026L-SH for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:30 -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-191-1MVJBzloPo6tdpQ6epLBcA-1; Wed, 04 Nov 2020 13:42:24 -0500 Received: by mail-wm1-f72.google.com with SMTP id t201so1564981wmt.1 for ; Wed, 04 Nov 2020 10:42:23 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id t23sm3284378wmn.13.2020.11.04.10.42.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515346; 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=aTAjTe4Celzp7fll7OULoNskonibl44hj9qWQyy3thE=; b=SQoIjRXbQ6Uh/8XWadbgGEUveuDhsE8SB+2ln6aIIzOCk73zE68xlPIpEhxfJCS57MLHuG 6rs57VTGCpAvfJaoTfK97Y/qT0sYus9cW6gBvjxdFM5YwufnMAAwPFpuCQihun+fr6n5FL Ebo7kPh6Qktn9GZR7T2WS7oQD0H448s= X-MC-Unique: 1MVJBzloPo6tdpQ6epLBcA-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=aTAjTe4Celzp7fll7OULoNskonibl44hj9qWQyy3thE=; b=pKppiBxpbgttSCLLghSXzhc0b/iIZ9/JRAhpdpoLbIhLMgurR9xjXqt+MWflds6Noq vHTaGD1lvfC3B7GZ2usnMy02b8dSyQKk2Z6LlGEiQBBdlMFqp5AzwP092QEqeTnMP181 L8G/hWzmsXHv18uFxa/mDHgZVehFPil8+OP/l2PzMvZhv3Fg889YKo0DfBSqXGotAiFq WfOJI/DNNN9Uo+ijVljMzta7jt9dwuqCxBwToCF2NLAWFknDU+IW6sajffOM9veXU0Tu llF1QkhlDcSjffzhKzScZBYsZIHtjWir2VSdWX3X0HgJ+hyL92WMkxBTomMy7LgYQo3w LPUQ== X-Gm-Message-State: AOAM533JfL3qxzFI8hSqMwiGzdPdkOE07PZzR9E9ZNhLKj0rI6IIa/lX xr1drqBTLRQkO+TNEKlFx9Ap5nUcAromGGpKfDo+vRjEIy2yg32BMrXitPs5IqpvOgmOjuaW/11 q8SUZR8k5QToBryY= X-Received: by 2002:adf:f10e:: with SMTP id r14mr32276638wro.337.1604515342311; Wed, 04 Nov 2020 10:42:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJw0Ew60B9saI0kYYayGu9/3Anp3j/v1iSPyR3GKSxJsWsdXpXlyFoeEojgO6wYahTIY/9mEvQ== X-Received: by 2002:adf:f10e:: with SMTP id r14mr32276620wro.337.1604515342162; Wed, 04 Nov 2020 10:42:22 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:19 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 22/31] vfio: Don't issue full 2^64 unmap Message-ID: <20201104184040.285057-23-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Alex Williamson , Eric Auger , Jean-Philippe Brucker 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: Jean-Philippe Brucker IOMMUs may declare memory regions spanning from 0 to UINT64_MAX. When attempting to deal with such region, vfio_listener_region_del() passes a size of 2^64 to int128_get64() which throws an assertion failure. Even ignoring this, the VFIO_IOMMU_DMA_MAP ioctl cannot handle this size since the size field is 64-bit. Split the request in two. Acked-by: Alex Williamson Reviewed-by: Eric Auger Signed-off-by: Jean-Philippe Brucker Message-Id: <20201030180510.747225-11-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/vfio/common.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/vfio/common.c b/hw/vfio/common.c index 35895b18a6..c1fdbf17f2 100644 --- a/hw/vfio/common.c +++ b/hw/vfio/common.c @@ -950,6 +950,17 @@ static void vfio_listener_region_del(MemoryListener *l= istener, } =20 if (try_unmap) { + if (int128_eq(llsize, int128_2_64())) { + /* The unmap ioctl doesn't accept a full 64-bit span. */ + llsize =3D int128_rshift(llsize, 1); + ret =3D vfio_dma_unmap(container, iova, int128_get64(llsize), = NULL); + if (ret) { + error_report("vfio_dma_unmap(%p, 0x%"HWADDR_PRIx", " + "0x%"HWADDR_PRIx") =3D %d (%m)", + container, iova, int128_get64(llsize), ret); + } + iova +=3D int128_get64(llsize); + } ret =3D vfio_dma_unmap(container, iova, int128_get64(llsize), NULL= ); if (ret) { error_report("vfio_dma_unmap(%p, 0x%"HWADDR_PRIx", " --=20 MST From nobody Fri May 17 03:54:41 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=1604516150; cv=none; d=zohomail.com; s=zohoarc; b=ZhfGhfMxbVhZHXaB2rhzfeDe010fNSd6rODlO4HnurPCPU2Ci4uCN4htNN+eKOQVCXuOcqNiSOVJMcf3TRnugJXGrs7+YdPXIIFDITrvnRMrw/kx5h3fyTXujwP1+VG9pzmvAMdIkXk2YrUByNMzWdK5MHYinntQYO0PtOcL4gY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516150; 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=Try6I8+Gzp362j90+uCp08fdMyiL5wC2Bsqj8twh+n4=; b=PbOWlP6Ut0YZyvrIM9w7DJYcy9ELuh7xOgqUx32LKr6TqcZQ3d3OwWHraYjzcVhcwEb5dj998TW3RbVRB03AJJRVX+aUGKCLlOhKZ60nvKG3iIJraBLJVxISN8IUDf1+jD0caLJIrFFl6PV/1hBBECr5QHKRGZitnxSLBKeGuxk= 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 1604516150891470.5525838700165; Wed, 4 Nov 2020 10:55:50 -0800 (PST) Received: from localhost ([::1]:45296 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNwj-0007HH-Qf for importer@patchew.org; Wed, 04 Nov 2020 13:55:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52644) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjq-0001hf-Oz for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:30 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:22835) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjp-00026S-3Y for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:30 -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-441-qbCEMJWQOXSge5r4EDebng-1; Wed, 04 Nov 2020 13:42:26 -0500 Received: by mail-wr1-f72.google.com with SMTP id i1so9580359wrb.18 for ; Wed, 04 Nov 2020 10:42:26 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id v6sm3269330wmj.6.2020.11.04.10.42.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515348; 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=Try6I8+Gzp362j90+uCp08fdMyiL5wC2Bsqj8twh+n4=; b=hzvxE2e4dL+i1++2dLycdR9lpW5vv84F+2QkQjjSw5DKVnih4TU3DJ0YP6uYv/umIaJu+F dTuJMIpSFzrUx8TJD75xaBD11ECf8wZaWZsn1y50HVn8TlJXwnknufeHAr6PV9uWs6R5B9 6LrtRl75Hfv84KeE4E7WWUL9OhDLaxk= X-MC-Unique: qbCEMJWQOXSge5r4EDebng-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=Try6I8+Gzp362j90+uCp08fdMyiL5wC2Bsqj8twh+n4=; b=t2v14mCS0rDTTQzCSB7leCNEZ54GJsE8bNOgCARJQUvjEGX9RppeJ4YzrA0smGR5Hr kWR1Zr6JdFxYINpJOubov53dNxr3ng8wImasAAxzsLT2L+ZUukF4PFXCHIE/I4xrlttC mc3daZ19bMPvQHxluCWexB4UnsFsFWAsKCzhQagcRG3mYVFWpaGgH5+ZFNuZ1IRh6sT3 3NDN09fwxVGPxgwvNjQaBtUIDWEd6B8+ajLMMcwKuvyhE1vrrwL9VpfRKEqhv7y4EytL EwRiAX6e3EkhVZ0mBtoCKi3kzwZc5cfqNGaBvUOgpbslo1/Kqi3yoYfl+FG1Cr6cWlkM oSXg== X-Gm-Message-State: AOAM53072nwCN8tOzn9k+b8A0KNpNtpmhcOVYr62ZXLkGTeoQr0037c7 AvyvnOCZ3jU4RpBR0FOlleDbiUJdjxXkgkuyX1x/vO3JDbby6w/tIjEy7feW7XornfF28mUNBu5 D9zXYoDYoB0SSMJY= X-Received: by 2002:adf:dd09:: with SMTP id a9mr34051242wrm.208.1604515344947; Wed, 04 Nov 2020 10:42:24 -0800 (PST) X-Google-Smtp-Source: ABdhPJzkTfKeUmM+P7f/sQQduJMEEgzCrQvVQedNk9WCw2hBBLx+hy3QpsT0oBP0sYUWKulR5KSQZA== X-Received: by 2002:adf:dd09:: with SMTP id a9mr34051224wrm.208.1604515344810; Wed, 04 Nov 2020 10:42:24 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:22 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 23/31] vhost-vdpa: Add qemu_close in vhost_vdpa_cleanup Message-ID: <20201104184040.285057-24-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Cindy Lu 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: Cindy Lu fix the bug that fd will still open after the cleanup Signed-off-by: Cindy Lu Message-Id: <20201016030909.9522-1-lulu@redhat.com> Acked-by: Jason Wang Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- net/vhost-vdpa.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c index 99c476db8c..fe659ec9e2 100644 --- a/net/vhost-vdpa.c +++ b/net/vhost-vdpa.c @@ -145,6 +145,10 @@ static void vhost_vdpa_cleanup(NetClientState *nc) g_free(s->vhost_net); s->vhost_net =3D NULL; } + if (s->vhost_vdpa.device_fd >=3D 0) { + qemu_close(s->vhost_vdpa.device_fd); + s->vhost_vdpa.device_fd =3D -1; + } } =20 static bool vhost_vdpa_has_vnet_hdr(NetClientState *nc) --=20 MST From nobody Fri May 17 03:54:41 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=1604515829; cv=none; d=zohomail.com; s=zohoarc; b=kF23f50Lcn2hEcGEwM+cm/Q34PSK9J0dAq508vA9qzE578RQP8/3eVvLH1CNTCuxuZv/SC8cNxiMSCKDYW+d0F/SQyRvnAji+qyWYVxTb56FW+r/bQtlnH1eYYgd1eLd0tsi+T8SDWR6o+Y/8t5qox3VucSDHQsDLkNNbMyDeEA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515829; 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=MaK8aBvBSiaUINk0iflL/mAr7Ti2mM7e4TQ+bKVJ1uk=; b=hv5jzeeKomJDJpgYPP6SgXc9kN/DH+1Vcaf8xHDENsdvFnWoOcxi/eFZCDi5a4BT3iKm9qrcML2UVSenKvOZUHKIPQQFaTGSZZUReZEDbIhAYFBPaQIQH3cYU92TGiuGmKDIU0QpY+B9vGbxp7X32zV9l4lNAQa0qoiAKTGLGzM= 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 1604515829229656.6799218725251; Wed, 4 Nov 2020 10:50:29 -0800 (PST) Received: from localhost ([::1]:49470 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNrY-0005ah-0f for importer@patchew.org; Wed, 04 Nov 2020 13:50:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52656) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjv-0001kM-Vl for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:37 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:37908) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjr-00026l-FU for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:33 -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-569-qmCnUhrTMh2nt2-w5ODMNg-1; Wed, 04 Nov 2020 13:42:29 -0500 Received: by mail-wm1-f72.google.com with SMTP id z62so1478268wmb.1 for ; Wed, 04 Nov 2020 10:42:28 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id r10sm3415293wmg.16.2020.11.04.10.42.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515350; 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=MaK8aBvBSiaUINk0iflL/mAr7Ti2mM7e4TQ+bKVJ1uk=; b=KlSBwW8vx7VfclMQ44+315m/pIXsLfy7IBUGVxgc7faXyHy/7jWB6QiSqtXW+lsOBhbJvc 5ZaCpO5sC3GDWjCTdfyh4M7f3wF+wkhvG4S+Iw8Dz9O3P+Pvsa3EWOphogTBUl6dnMAKxy 0cLcJC2qYXNsQvmHamu4jatzRnHxsd4= X-MC-Unique: qmCnUhrTMh2nt2-w5ODMNg-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=MaK8aBvBSiaUINk0iflL/mAr7Ti2mM7e4TQ+bKVJ1uk=; b=YuaICchngMntRdPiQNbGH0rVQ88NfgeEpflbUn1LBGVPN0hoSc6XVN6BiL1srUvodF ny7CYlifsnaeDmRo3okshOxq1V2rwm566T8bl4+AYVttNOcpj7RVGBzeQo/sy6znZ4ci UMzi3kSVCeOUWQSjNjszcFaejtbylemcqwUdXaGX3rcCoowAYUFMfXQ/hibv4MdyEE7y /olVFxu4Ma5jXZDtyzarpnE8h3VyeoYLv9ZY2EN9+yToXcxDzm1pUctFbGLDRcwI6g3+ WhE0sce5QSOeEachdLpSJkKlpW7EcNE2PPcjucPgpsy4OE5KexIcWw0ssuFXj7Nlzq+1 GXKQ== X-Gm-Message-State: AOAM530z8G0oUVPpTxluxEzHw6K5+YFu1M72ZyAP31TdLyETnUq+RVrT I4zn2Yn1iOp8jx/krJ0ZQV8MhUHEiKtE9+9GyAlE0+pm9hZmtu0R44l1b5jjdJR1CNIbTgXRsuY 1IZOv0fytb2laEGI= X-Received: by 2002:a5d:6944:: with SMTP id r4mr33796059wrw.151.1604515347462; Wed, 04 Nov 2020 10:42:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJyG9y7VPtZpvzwUoKhVpPyXwx7Hp+NtZ8K+2uCxEy9i0V+D2HqYBbnxL8Shd+aYWGcK4jYFHg== X-Received: by 2002:a5d:6944:: with SMTP id r4mr33796042wrw.151.1604515347283; Wed, 04 Nov 2020 10:42:27 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:25 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 24/31] net: Add vhost-vdpa in show_netdevs() Message-ID: <20201104184040.285057-25-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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 , Cindy Lu 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: Cindy Lu Fix the bug that while Check qemu supported netdev, there is no vhost-vdpa Signed-off-by: Cindy Lu Message-Id: <20201016030909.9522-2-lulu@redhat.com> Acked-by: Jason Wang Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- net/net.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/net.c b/net/net.c index 7a2a0fb5ac..794c652282 100644 --- a/net/net.c +++ b/net/net.c @@ -1049,6 +1049,9 @@ static void show_netdevs(void) #endif #ifdef CONFIG_POSIX "vhost-user", +#endif +#ifdef CONFIG_VHOST_VDPA + "vhost-vdpa", #endif }; =20 --=20 MST From nobody Fri May 17 03:54:41 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=1604516282; cv=none; d=zohomail.com; s=zohoarc; b=OK9Phe6HDj+m2twXojGH9t0m/aPVB2U64q8d705xlZAr2BqHNbo6co05k5MKRcOEWmhACCe51+2LzSA5u/PXBxg8hlAH8fpO7Uvu4BIAK3SX0pe4r3BMQfnaOnrECOn4wqkwBwQs0+tDXcV79e4kQ5qmcmmC/XF0vDwkQPBdY2w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516282; 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=oxFgfij5tGa7wsPJMg6guJqSTCSDLHe43Ge56aYH6Hc=; b=SKcJL/SVcrdAmz8qk3EsOSNJfh5bT2qw5AwtbgJ6M4yj0ZukL88nM4JHqbo0eZbrOLAHderBQeKg6rWPXcQHV82IqN+S98fCLXYPySj/m347Rxk0IQC9pMstOcjIcKWi4cwLaeijoVBohWOQ35jLRFnjAzwDxe3UBIwv3upG7SM= 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 1604516282628158.99489833551445; Wed, 4 Nov 2020 10:58:02 -0800 (PST) Received: from localhost ([::1]:53356 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNyr-0002GM-Du for importer@patchew.org; Wed, 04 Nov 2020 13:58:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52706) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNjz-0001oN-9M for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:39 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:42766) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjw-00027C-Ln for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:38 -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-22-HVOaFZ-aOu2ucifVhDvNxg-1; Wed, 04 Nov 2020 13:42:33 -0500 Received: by mail-wr1-f70.google.com with SMTP id w3so7464845wrt.11 for ; Wed, 04 Nov 2020 10:42:32 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id z5sm3864231wrw.87.2020.11.04.10.42.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515355; 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=oxFgfij5tGa7wsPJMg6guJqSTCSDLHe43Ge56aYH6Hc=; b=jDZ7aKrGcgVupUsF9fzDznKuoDEm3St4QbCTQaupLKl/irtaYMrZaoiCJmJbFlK7L9XXBR VyrlPAFq5cXogbot6RPHqU3VErI5cU6m8G9Ut7B6f/AKlMEtbM0lAXhfVU/j12L9R391YA Zpnhgr1k1VgNAcd3mTg900uJOEN11c8= X-MC-Unique: HVOaFZ-aOu2ucifVhDvNxg-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=oxFgfij5tGa7wsPJMg6guJqSTCSDLHe43Ge56aYH6Hc=; b=kaQoFaHWh5qPAAc7DgU/PFwYBTPQ5Zr/QF176GK1AG7WbyOBIdhhr7iOikOLTT/28d 60fPYPz4vN9N7/flKUs0nqRb+bdSg5EoGEPW+BUzog8cm/LzCRbBK11muqKWrOysSjtA mZvg9vNLVf/U/u90aDEdYJx9WTCnGxXSnnNNx6qVr8GwvAyh9oZS6YEuKTrWiGf2g9lO 2L4RyEWm8GDo4IYQoqe86aRQaTqtK5mQ6boLaX2PoEvvbCJWkuWzkTv4VtpcwZDw2rzI XyOgMFwo/14/1PKtAHXiXgVLb3qbnV8F/jDYYhX9A4d0g8CXOtDpXNiWXe2Tzhs8I4ZP 40fQ== X-Gm-Message-State: AOAM5304PZ4sBHgDuNxsYVcFisct7lR81rhWq3k5GroPuQatNtcQZjPb L6RWHpSjN5Ra/Ls3X4Y9ucW8uyQfCPx7J/YWLmFrtrgBKt7h0U4XEeXo7Ap5CQKq35BZbH786pg FQDuIkJAIe05qsP0= X-Received: by 2002:a1c:7515:: with SMTP id o21mr6347699wmc.5.1604515350345; Wed, 04 Nov 2020 10:42:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJyJ+MtWzOeCSDWX1Ng4qI0kEXCCGzfdpfEVm6KjZ0Ay+F+zvB1KLChbk95V3wCscSDkRwqhIg== X-Received: by 2002:a1c:7515:: with SMTP id o21mr6347686wmc.5.1604515350200; Wed, 04 Nov 2020 10:42:30 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:27 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 25/31] Revert "vhost-blk: set features before setting inflight feature" Message-ID: <20201104184040.285057-26-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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, Jin Yu , Max Reitz , 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 This reverts commit adb29c027341ba095a3ef4beef6aaef86d3a520e. The commit broke -device vhost-user-blk-pci because the vhost_dev_prepare_inflight() function it introduced segfaults in vhost_dev_set_features() when attempting to access struct vhost_dev's vdev pointer before it has been assigned. To reproduce the segfault simply launch a vhost-user-blk device with the contrib vhost-user-blk device backend: $ build/contrib/vhost-user-blk/vhost-user-blk -s /tmp/vhost-user-blk.sock= -r -b /var/tmp/foo.img $ build/qemu-system-x86_64 \ -device vhost-user-blk-pci,id=3Ddrv0,chardev=3Dchar1,addr=3D4.0 \ -object memory-backend-memfd,id=3Dmem,size=3D1G,share=3Don \ -M memory-backend=3Dmem,accel=3Dkvm \ -chardev socket,id=3Dchar1,path=3D/tmp/vhost-user-blk.sock Segmentation fault (core dumped) Cc: Jin Yu Cc: Raphael Norwitz Cc: Michael S. Tsirkin Signed-off-by: Stefan Hajnoczi Message-Id: <20201102165709.232180-1-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/vhost.h | 1 - hw/block/vhost-user-blk.c | 6 ------ hw/virtio/vhost.c | 18 ------------------ 3 files changed, 25 deletions(-) diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h index 839bfb153c..94585067f7 100644 --- a/include/hw/virtio/vhost.h +++ b/include/hw/virtio/vhost.h @@ -141,7 +141,6 @@ void vhost_dev_reset_inflight(struct vhost_inflight *in= flight); void vhost_dev_free_inflight(struct vhost_inflight *inflight); void vhost_dev_save_inflight(struct vhost_inflight *inflight, QEMUFile *f); int vhost_dev_load_inflight(struct vhost_inflight *inflight, QEMUFile *f); -int vhost_dev_prepare_inflight(struct vhost_dev *hdev); int vhost_dev_set_inflight(struct vhost_dev *dev, struct vhost_inflight *inflight); int vhost_dev_get_inflight(struct vhost_dev *dev, uint16_t queue_size, diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c index f67b29bbf3..a076b1e54d 100644 --- a/hw/block/vhost-user-blk.c +++ b/hw/block/vhost-user-blk.c @@ -131,12 +131,6 @@ static int vhost_user_blk_start(VirtIODevice *vdev) =20 s->dev.acked_features =3D vdev->guest_features; =20 - ret =3D vhost_dev_prepare_inflight(&s->dev); - if (ret < 0) { - error_report("Error set inflight format: %d", -ret); - goto err_guest_notifiers; - } - if (!s->inflight->addr) { ret =3D vhost_dev_get_inflight(&s->dev, s->queue_size, s->inflight= ); if (ret < 0) { diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index f2482378c6..79b2be20df 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1645,24 +1645,6 @@ int vhost_dev_load_inflight(struct vhost_inflight *i= nflight, QEMUFile *f) return 0; } =20 -int vhost_dev_prepare_inflight(struct vhost_dev *hdev) -{ - int r; -=20 - if (hdev->vhost_ops->vhost_get_inflight_fd =3D=3D NULL || - hdev->vhost_ops->vhost_set_inflight_fd =3D=3D NULL) { - return 0; - } -=20 - r =3D vhost_dev_set_features(hdev, hdev->log_enabled); - if (r < 0) { - VHOST_OPS_DEBUG("vhost_dev_prepare_inflight failed"); - return r; - } - - return 0; -} - int vhost_dev_set_inflight(struct vhost_dev *dev, struct vhost_inflight *inflight) { --=20 MST From nobody Fri May 17 03:54:41 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=1604516225; cv=none; d=zohomail.com; s=zohoarc; b=nAMksCgo/6MOV5nuo9GJDKOh1dDcnUtN8o50201BRzdXbqm0XWd/s9A5iX2hnOwKr3Tq1+RYis9rkIlBCfmfly93IoavChoBThnhjT+fjh83n2rEV+q09tksQxkOpKxMO5398pEY2DsuHh5LAJTLxsGYDyq5pcPya5x2X/FGbFc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516225; 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=ay6G7kYGtMwl+/IxEdsu272p/jXvwydr69tjR0/ihX0=; b=kOOOei2vTtPLzLQ/eGlP8oeeX/gdDzFNWPUgFPyeZGBRrDUjhlkdtqh6sN8Ulo7GkmzcT+uOdr50qoEu6Eze75NUF8gZORl0RFTBUFqq/aB71/b4OExWKk6eYC3NbVxetlWGNFj4oaSWGJ47vVk/E1IcahWYqTRBIpWJAr+ABUU= 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 1604516225371950.0837812627881; Wed, 4 Nov 2020 10:57:05 -0800 (PST) Received: from localhost ([::1]:50628 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNxw-00016G-9t for importer@patchew.org; Wed, 04 Nov 2020 13:57:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNk0-0001px-KV for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:40 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:36882) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNjz-00027Z-3F for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:40 -0500 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-59-lX5IxxSFO0mQzDQJWYHGHw-1; Wed, 04 Nov 2020 13:42:35 -0500 Received: by mail-wm1-f71.google.com with SMTP id u207so1557107wmu.4 for ; Wed, 04 Nov 2020 10:42:35 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id v8sm3486040wmg.28.2020.11.04.10.42.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515358; 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=ay6G7kYGtMwl+/IxEdsu272p/jXvwydr69tjR0/ihX0=; b=PU4Xn2Hdj0y/8jueB+noMuUrYu+psXSGPu8peyw9BdJIGTAGtkfzCirRPgFWgfnnDE54ei C1yuPtP9Eqokk2LSAvM9tc3H3w0a/H9bOga7UfgJKL2g/avNg6jBiMCLq7UZdBp8iPb2po xjMZdw7MjapWIGwWHLNNsgWjrIVs1+8= X-MC-Unique: lX5IxxSFO0mQzDQJWYHGHw-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=ay6G7kYGtMwl+/IxEdsu272p/jXvwydr69tjR0/ihX0=; b=mWrqeqGwRVOO8Mj9Nn+TSQxGbJWxGafNoADLKessGDJBf5+zdAc2zsX0kfiOkERejm jCP1nkdbdtjYH5yzVwGcpLTvHxw/ZSEeoCZcDyimX7R0ACxA625EnTIGg6CKiAYFU/Ue KGkvfFQnZUYz8qjFvOIcBEunh0oSFSckY/ls9uHzt5S3JSgwWiIIVjLUZ6J6jXOjla2b NsMh/azvNTVazMYkONMjYKnb/ROSFPU4lUmDD5UJyXsmU29bqNH82HWFgQqrrCjCKQO9 odbHcpPnwHJFTR3xWaYKePzaIVpDpmHXWptJYxNk64xAtNgawy2on4qN9R4q8ojjO55g 6EcA== X-Gm-Message-State: AOAM530oIaMpiYVz4GujtREFdCIZBg0W3+BISPrk5/yZ0adu+QpUfItX I7NzflGnXOxhbRRlo3boU5h5NGczARO9yCdENruA237bmqmcicWkqxqsOK5qGYhhIokNEOtA5KY Q348FGA5040zEMDU= X-Received: by 2002:a5d:6591:: with SMTP id q17mr33550208wru.173.1604515353167; Wed, 04 Nov 2020 10:42:33 -0800 (PST) X-Google-Smtp-Source: ABdhPJzXECzrQuVn9IfSdJ+vYUw+quDcsRPWouSCF0TH4H2d19YITkdlRxK7JRP8Gymv92ujn254FQ== X-Received: by 2002:a5d:6591:: with SMTP id q17mr33550196wru.173.1604515352961; Wed, 04 Nov 2020 10:42:32 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:30 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 26/31] vhost-blk: set features before setting inflight feature Message-ID: <20201104184040.285057-27-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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: Kevin Wolf , Peter Maydell , qemu-block@nongnu.org, Jin Yu , Max Reitz , 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: Jin Yu Virtqueue has split and packed, so before setting inflight, you need to inform the back-end virtqueue format. Signed-off-by: Jin Yu Acked-by: Raphael Norwitz Message-Id: <20201103123617.28256-1-jin.yu@intel.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/vhost.h | 1 + hw/block/vhost-user-blk.c | 6 ++++++ hw/virtio/vhost.c | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h index 94585067f7..4a8bc75415 100644 --- a/include/hw/virtio/vhost.h +++ b/include/hw/virtio/vhost.h @@ -141,6 +141,7 @@ void vhost_dev_reset_inflight(struct vhost_inflight *in= flight); void vhost_dev_free_inflight(struct vhost_inflight *inflight); void vhost_dev_save_inflight(struct vhost_inflight *inflight, QEMUFile *f); int vhost_dev_load_inflight(struct vhost_inflight *inflight, QEMUFile *f); +int vhost_dev_prepare_inflight(struct vhost_dev *hdev, VirtIODevice *vdev); int vhost_dev_set_inflight(struct vhost_dev *dev, struct vhost_inflight *inflight); int vhost_dev_get_inflight(struct vhost_dev *dev, uint16_t queue_size, diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c index a076b1e54d..2dd3d93ca0 100644 --- a/hw/block/vhost-user-blk.c +++ b/hw/block/vhost-user-blk.c @@ -131,6 +131,12 @@ static int vhost_user_blk_start(VirtIODevice *vdev) =20 s->dev.acked_features =3D vdev->guest_features; =20 + ret =3D vhost_dev_prepare_inflight(&s->dev, vdev); + if (ret < 0) { + error_report("Error set inflight format: %d", -ret); + goto err_guest_notifiers; + } + if (!s->inflight->addr) { ret =3D vhost_dev_get_inflight(&s->dev, s->queue_size, s->inflight= ); if (ret < 0) { diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 79b2be20df..614ccc2bcb 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1645,6 +1645,26 @@ int vhost_dev_load_inflight(struct vhost_inflight *i= nflight, QEMUFile *f) return 0; } =20 +int vhost_dev_prepare_inflight(struct vhost_dev *hdev, VirtIODevice *vdev) +{ + int r; + + if (hdev->vhost_ops->vhost_get_inflight_fd =3D=3D NULL || + hdev->vhost_ops->vhost_set_inflight_fd =3D=3D NULL) { + return 0; + } + + hdev->vdev =3D vdev; + + r =3D vhost_dev_set_features(hdev, hdev->log_enabled); + if (r < 0) { + VHOST_OPS_DEBUG("vhost_dev_prepare_inflight failed"); + return r; + } + + return 0; +} + int vhost_dev_set_inflight(struct vhost_dev *dev, struct vhost_inflight *inflight) { --=20 MST From nobody Fri May 17 03:54:41 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=1604516372; cv=none; d=zohomail.com; s=zohoarc; b=GU3qrKbbiKDL/XmeJQMFgkAJxjiUOdZYVukYGE0gfdIyWMW0YuInhLct5yv3HgaZvB/95chuT0ygasxfAWGK08APY6FzpJVDdxnXu2OpbskGrr4bpVVRdz4PhzQkg7RTWVDtLtDwU8sFR2xTXPAUaNL1D14R/HZOxsyBYqzUsKk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516372; 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=APdAnMGOimWpi0/lmUkQSWdNUl1kK18oif2GgMOHc/o=; b=MemLo3YqH1vOPOH/vbbsawdWOI9BMNUMBQgLSJptWnf1/FGhaYpMF2M0x0Xaqs2nUbQUEHfB/FXEj8U+i0HdPy6IMWpI5utRtVWet2FtrMRE6VBDzpvJPLoCCpy/nDyDJ1JiKC/PnKhY1jzG0WTGZUfg6RSHuPtBQH2oXF7gBuE= 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 1604516372415615.2533726717483; Wed, 4 Nov 2020 10:59:32 -0800 (PST) Received: from localhost ([::1]:59610 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaO0J-0004vn-9M for importer@patchew.org; Wed, 04 Nov 2020 13:59:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52746) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNk3-0001sH-Ln for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:45 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:28633) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNk0-00027k-ES for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:43 -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-460-vkVddHj6N12VlGpBlPwKrA-1; Wed, 04 Nov 2020 13:42:37 -0500 Received: by mail-wr1-f69.google.com with SMTP id w3so7464924wrt.11 for ; Wed, 04 Nov 2020 10:42:37 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id z14sm3634058wmc.15.2020.11.04.10.42.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515359; 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=APdAnMGOimWpi0/lmUkQSWdNUl1kK18oif2GgMOHc/o=; b=NRLOApDUTXXL3d2OoLx+zmEeycwJN7SU2kkERM9RLBv0v7LlkCxMCsGKezrPn/ZURUgwbS 29y00RHh9lfEr8IbZi+6t60UJq9LEXQTSAns6GQTFkqTKO4dY+GbUQgOSPoHxRLmtSQ8s/ +SewSdBAuUEg4qkTJWcAyqDss8jISpQ= X-MC-Unique: vkVddHj6N12VlGpBlPwKrA-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=APdAnMGOimWpi0/lmUkQSWdNUl1kK18oif2GgMOHc/o=; b=oy6ZR0bVlaarSiCiq6bLiXzh6VwcV5Sqb1n0kVCghasvjS3H4wyENDoTFjTDrex9CH LpZvejCfcxuPfXtfUNvH12WxTJa2kBw3vejAgLAuyz1+/NzIF85rVcBnx3GGwZAMwF7l JBc0WSCXIS097c3f1AuzYTs6pJKO0V2DVxt6192Sjagh6aiQGzjxplV9s+66A8gEaQiV rpaO4Xt4dqek6WLepPhgVeKmMLbqDW0nbmbOS2QKqYcRS5NWQQPRkxqB7syTq0Ezl0ry w9zNbZQ5tFfocnwFjVLuJpbMEAxEpHew3pnADh+TIQs5eOwLqLY/2KLLFH/QE19xzzY0 FWAQ== X-Gm-Message-State: AOAM531OmDtYVbdi9V0W+btBpdMpxU5PASQeyC9BmLWYYNTBSduM/hwf gWyVCBX0+RdvUlWRBd/IcGEPnWezxGxg0g4tbpeTlQ21qMir+xP/XjO+H4wwdJrI5cYbY+o1nI+ 8btvnTqOl9CArnDo= X-Received: by 2002:a5d:420d:: with SMTP id n13mr33529118wrq.196.1604515356215; Wed, 04 Nov 2020 10:42:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJwsWobb6UbmptgnJ36rO278I6Xt4A1ZR8tLSRPtW8ULqMxqPLGerJGXWJFVjO2shv8QwQH+PA== X-Received: by 2002:a5d:420d:: with SMTP id n13mr33529110wrq.196.1604515356081; Wed, 04 Nov 2020 10:42:36 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:33 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 27/31] libvhost-user: follow QEMU comment style Message-ID: <20201104184040.285057-28-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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 , "Dr. David Alan Gilbert" , 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 Signed-off-by: Stefan Hajnoczi Message-Id: <20201027173528.213464-2-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/libvhost-user/libvhost-user.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/contrib/libvhost-user/libvhost-user.h b/contrib/libvhost-user/= libvhost-user.h index 3bbeae8587..a1539dbb69 100644 --- a/contrib/libvhost-user/libvhost-user.h +++ b/contrib/libvhost-user/libvhost-user.h @@ -392,7 +392,8 @@ struct VuDev { bool broken; uint16_t max_queues; =20 - /* @read_msg: custom method to read vhost-user message + /* + * @read_msg: custom method to read vhost-user message * * Read data from vhost_user socket fd and fill up * the passed VhostUserMsg *vmsg struct. @@ -409,15 +410,19 @@ struct VuDev { * */ vu_read_msg_cb read_msg; - /* @set_watch: add or update the given fd to the watch set, - * call cb when condition is met */ + + /* + * @set_watch: add or update the given fd to the watch set, + * call cb when condition is met. + */ vu_set_watch_cb set_watch; =20 /* @remove_watch: remove the given fd from the watch set */ vu_remove_watch_cb remove_watch; =20 - /* @panic: encountered an unrecoverable error, you may try to - * re-initialize */ + /* + * @panic: encountered an unrecoverable error, you may try to re-initi= alize + */ vu_panic_cb panic; const VuDevIface *iface; =20 --=20 MST From nobody Fri May 17 03:54:41 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=1604515996; cv=none; d=zohomail.com; s=zohoarc; b=CIlyJv1ttuxFiuyDFwb/vNEvd4Jlf5FbgzNQisf/IP/wc2+A3AMlYelYlzExaNhkT5lWm9Vk3/C4cPxVVYV0ZNo+OO7abtU2rhQMayveuIWLt+bel32pdTUea+cXAJ5H9tDwAafIV+fXBY7Ax7Cx2m30qgx83nmhjR/c/RgxI64= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515996; 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=FOR/bv25dGPFB9FnzIFOxW/ObDgDZns8YprwAzRry/Y=; b=dIFDmtIFBvXjb2EMQf4ngjyC7iE7NRrEY88wgVJAZVZsdaCJ1N8yljQdY3n+ywBM47QsT5G/b7yEHtqyXtaG6+CqgINOFk2/XF7ZKr+rw7j3FZhs6TkZLx06R7asFuip8qbgmGwCrvgo7V43MzmZp72heAP+7IPtbrQT3ILOWt0= 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 1604515996289178.47301027169544; Wed, 4 Nov 2020 10:53:16 -0800 (PST) Received: from localhost ([::1]:33706 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNuF-0002Mc-9D for importer@patchew.org; Wed, 04 Nov 2020 13:53:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52810) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNk9-0001yH-6I for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:49 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:41525) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNk6-00028J-7P for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42: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-205-U_0yv88tNZCx7G7sLSfluQ-1; Wed, 04 Nov 2020 13:42:41 -0500 Received: by mail-wr1-f70.google.com with SMTP id i1so9580565wrb.18 for ; Wed, 04 Nov 2020 10:42:41 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id y20sm3285147wma.15.2020.11.04.10.42.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515365; 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=FOR/bv25dGPFB9FnzIFOxW/ObDgDZns8YprwAzRry/Y=; b=ZOCT0nipxcarR/PkJXPu4zNwZOVnjdoQTGZVrg0nC36mEW45ZYhZmM6D04IPfscZHMpK1o U4cfg9kO/aj7rWZRdLVX6cYSTTm//oeXw8ll+y3wb4x39L+nfGBqR4jHj00M9TECYwazhO X6m+AxXm8iOgnGooOrdAq6Nst2MByzg= X-MC-Unique: U_0yv88tNZCx7G7sLSfluQ-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=FOR/bv25dGPFB9FnzIFOxW/ObDgDZns8YprwAzRry/Y=; b=sReZE2pWqD9xBuC8pZ9pYJ3tFQxZ6CRpO/SYFhf5zizADuaLhPSXf1F2exgMIbXxKK FUZbUTgkxySueYxmXT0DdVfP19TdPn0tP7rRdSVClYKPLTOPtFmCnrWX4RXmlD85H8V/ dsVGkUoBULqJNmVHsd1Z/erbHJbyhhWTrgTRPWKacJwGEkrlXyM/N0bcVPW7NW9WwZBp vDfSrjvNueDSvLJd9eRjSIxgOZTKF9ld5z8A4QPkGsg+3LluFFXYdN/s0Br9PI80tk5J KGU3sc9JhuN1mQJF0CG7VWiWt9T+4JKTODohvLJZiVAlABvMqPioSBh+UWyqbyCizRLF G61g== X-Gm-Message-State: AOAM530LhHOR5AK0HYvjmv9ukoW+blr/PPAtx7+mIyDe3FJDadDAe+Rt KqENnRtyIOSV1ocLt5sAVnKekNQlxnQoijIabSo7Cf2J/KUgrO6MKqT5zN40GzH5/6+cc8J1Fhl UIw9JPfwyOBG1qJY= X-Received: by 2002:a7b:c394:: with SMTP id s20mr5924198wmj.40.1604515358943; Wed, 04 Nov 2020 10:42:38 -0800 (PST) X-Google-Smtp-Source: ABdhPJwqQ9cPQnZn21RyObjiv/0mWqWgbarV9I5sq1Oty/uN54G/keqXwFoQvvPtrJ5zwc6ZabtS8w== X-Received: by 2002:a7b:c394:: with SMTP id s20mr5924184wmj.40.1604515358792; Wed, 04 Nov 2020 10:42:38 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:36 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 28/31] configure: introduce --enable-vhost-user-blk-server Message-ID: <20201104184040.285057-29-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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: Kevin Wolf , Peter Maydell , qemu-block@nongnu.org, Stefan Hajnoczi , Max Reitz 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 Make it possible to compile out the vhost-user-blk server. It is enabled by default on Linux. Note that vhost-user-server.c depends on libvhost-user, which requires CONFIG_LINUX. The CONFIG_VHOST_USER dependency was erroneous since that option controls vhost-user frontends (previously known as "master") and not device backends (previously known as "slave"). Signed-off-by: Stefan Hajnoczi Message-Id: <20201027173528.213464-3-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- configure | 15 +++++++++++++++ block/export/export.c | 4 ++-- block/export/meson.build | 2 +- util/meson.build | 2 +- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 2c3c69f118..b5e8f5f72c 100755 --- a/configure +++ b/configure @@ -329,6 +329,7 @@ vhost_crypto=3D"" vhost_scsi=3D"" vhost_vsock=3D"" vhost_user=3D"" +vhost_user_blk_server=3D"" vhost_user_fs=3D"" kvm=3D"auto" hax=3D"auto" @@ -1246,6 +1247,10 @@ for opt do ;; --enable-vhost-vsock) vhost_vsock=3D"yes" ;; + --disable-vhost-user-blk-server) vhost_user_blk_server=3D"no" + ;; + --enable-vhost-user-blk-server) vhost_user_blk_server=3D"yes" + ;; --disable-vhost-user-fs) vhost_user_fs=3D"no" ;; --enable-vhost-user-fs) vhost_user_fs=3D"yes" @@ -1791,6 +1796,7 @@ disabled with --disable-FEATURE, default is enabled i= f available: vhost-crypto vhost-user-crypto backend support vhost-kernel vhost kernel backend support vhost-user vhost-user backend support + vhost-user-blk-server vhost-user-blk server support vhost-vdpa vhost-vdpa kernel backend support spice spice rbd rados block device (rbd) @@ -2382,6 +2388,12 @@ if test "$vhost_net" =3D ""; then test "$vhost_kernel" =3D "yes" && vhost_net=3Dyes fi =20 +# libvhost-user is Linux-only +test "$vhost_user_blk_server" =3D "" && vhost_user_blk_server=3D$linux +if test "$vhost_user_blk_server" =3D "yes" && test "$linux" =3D "no"; then + error_exit "--enable-vhost-user-blk-server is only available on Linux" +fi + ########################################## # pkg-config probe =20 @@ -6275,6 +6287,9 @@ fi if test "$vhost_vdpa" =3D "yes" ; then echo "CONFIG_VHOST_VDPA=3Dy" >> $config_host_mak fi +if test "$vhost_user_blk_server" =3D "yes" ; then + echo "CONFIG_VHOST_USER_BLK_SERVER=3Dy" >> $config_host_mak +fi if test "$vhost_user_fs" =3D "yes" ; then echo "CONFIG_VHOST_USER_FS=3Dy" >> $config_host_mak fi diff --git a/block/export/export.c b/block/export/export.c index c3478c6c97..bad6f21b1c 100644 --- a/block/export/export.c +++ b/block/export/export.c @@ -22,13 +22,13 @@ #include "qapi/qapi-commands-block-export.h" #include "qapi/qapi-events-block-export.h" #include "qemu/id.h" -#if defined(CONFIG_LINUX) && defined(CONFIG_VHOST_USER) +#ifdef CONFIG_VHOST_USER_BLK_SERVER #include "vhost-user-blk-server.h" #endif =20 static const BlockExportDriver *blk_exp_drivers[] =3D { &blk_exp_nbd, -#if defined(CONFIG_LINUX) && defined(CONFIG_VHOST_USER) +#ifdef CONFIG_VHOST_USER_BLK_SERVER &blk_exp_vhost_user_blk, #endif }; diff --git a/block/export/meson.build b/block/export/meson.build index 9fb4fbf81d..19526435d8 100644 --- a/block/export/meson.build +++ b/block/export/meson.build @@ -1,2 +1,2 @@ blockdev_ss.add(files('export.c')) -blockdev_ss.add(when: ['CONFIG_LINUX', 'CONFIG_VHOST_USER'], if_true: file= s('vhost-user-blk-server.c')) +blockdev_ss.add(when: 'CONFIG_VHOST_USER_BLK_SERVER', if_true: files('vhos= t-user-blk-server.c')) diff --git a/util/meson.build b/util/meson.build index c5159ad79d..f359af0d46 100644 --- a/util/meson.build +++ b/util/meson.build @@ -66,7 +66,7 @@ if have_block util_ss.add(files('main-loop.c')) util_ss.add(files('nvdimm-utils.c')) util_ss.add(files('qemu-coroutine.c', 'qemu-coroutine-lock.c', 'qemu-cor= outine-io.c')) - util_ss.add(when: ['CONFIG_LINUX', 'CONFIG_VHOST_USER'], if_true: [ + util_ss.add(when: 'CONFIG_LINUX', if_true: [ files('vhost-user-server.c'), vhost_user ]) util_ss.add(files('block-helpers.c')) --=20 MST From nobody Fri May 17 03:54:41 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=1604516343; cv=none; d=zohomail.com; s=zohoarc; b=RGuXYiDBI/nN3LLNWyhwHW+7vwEmuU7VnJwV6ISvziXPFk8SLSOYP1z7bwMem97eFX/etgN1zIRmOkC3WRkYynPVVv/5og2Ese/1LY4dqjGuAZ48/ulFbxUMlUYmeS8qsAbYWHdV+0JQgJHcCinpiTF1eF4zYEgJlpJmXiVgKT8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516343; 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=lgzOL39RvILiPn2GJxc4fQ6TNHjpeFII29h+nk2BQE8=; b=RU/ne+520dxp+T9qaJx1KLF3gZqfbiHeFhviBDN1jdhbt3FrhJ/xg15hCy6BEAUhHVcvG4GcMU7YW82yQ3OXJEUHSUpAQw5Q27kk2R8m7sdN8Jv1JKxPRDp/BsIYYYwBfbNNu7nkoMEP6+NSQIzSa7n3RJ7jUHtkkFXT4o+btNI= 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 1604516343363844.7917763802467; Wed, 4 Nov 2020 10:59:03 -0800 (PST) Received: from localhost ([::1]:57142 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNzp-0003uQ-UU for importer@patchew.org; Wed, 04 Nov 2020 13:59:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52812) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNk9-0001yo-B3 for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:49 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:39388) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNk7-00028U-BO for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:48 -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-359-lfyuBmhFNWakw0cdJBMx4A-1; Wed, 04 Nov 2020 13:42:44 -0500 Received: by mail-wm1-f70.google.com with SMTP id s85so937419wme.3 for ; Wed, 04 Nov 2020 10:42:43 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id d3sm3528606wre.91.2020.11.04.10.42.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515365; 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=lgzOL39RvILiPn2GJxc4fQ6TNHjpeFII29h+nk2BQE8=; b=Fwnkbtq9BaHYh3pHRe9cQ99tIkcyXMV6llRZdXjtRCzETNPgR2XNUH65S5xJi+znTUkC5E 11jhhsqBmK7y/eg6hp1ZhkFpwrDwMm5FPh8CGmW8+nzMW6eoH2fThYuxtA/OMgkw54u+D3 CZ6f5YgMn6k5TcGiOLdXtwcHeO9ROSw= X-MC-Unique: lfyuBmhFNWakw0cdJBMx4A-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=lgzOL39RvILiPn2GJxc4fQ6TNHjpeFII29h+nk2BQE8=; b=fDFf9FoICewMaqjftrEZkYreOmZxc9/DKbmG0ef8vsIYsrsW2hWbGmMOc5HnG18A1G Vg8qMb492JlrxtE8T4eQdXjLc/6NixFx1SFcMW2Xkg7WDwcL6fPiYGJFE/R8yWvgbDPZ 0ZHNHbbwU1DW4D+nSIHiaQ5b/DCc+HXV5Ql8Hf4k2MGd8Rz0BfoDU6tmBiW+hOBBjlS1 jwHESARZuMWgDbYs80VYf22cWUiiekIE28RNoZ+w2q9/ronX9+p8N7Wc9skJC8Kfj0vQ nOkohM4XALyrHcIP9hlkdOCfZ64OrP53VA81lLXTBXdll6g1HUZSAy/PlJ+pGot+b+nA 0Mxw== X-Gm-Message-State: AOAM532BvxwY5k/NegVsNJgGnkMYR0Q4JeU6yL1lANo0shXhLyZD4krx NoM8uFCXJZIFoECEGs0G3G8RLss5Mq9EpPRkxh6D9NAGMwLiPDoN72jciHOduScBUSvwR+Ice+s yc5VFygV62Ksqic8= X-Received: by 2002:adf:e9c9:: with SMTP id l9mr8431599wrn.124.1604515361808; Wed, 04 Nov 2020 10:42:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJxTcJLSHxH3PGFi/fNvLyrrS4HgRYD6PEumFBMr7BMTzfz416uV3ndBtMzgulumqZcCK34lMg== X-Received: by 2002:adf:e9c9:: with SMTP id l9mr8431583wrn.124.1604515361600; Wed, 04 Nov 2020 10:42:41 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:39 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 29/31] block/export: make vhost-user-blk config space little-endian Message-ID: <20201104184040.285057-30-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 00:03:41 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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: Kevin Wolf , Peter Maydell , qemu-block@nongnu.org, 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 VIRTIO 1.0 devices have little-endian configuration space. The vhost-user-blk-server.c code already uses little-endian for virtqueue processing but not for the configuration space fields. Fix this so the vhost-user-blk export works on big-endian hosts. Signed-off-by: Stefan Hajnoczi Message-Id: <20201027173528.213464-4-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- block/export/vhost-user-blk-server.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/block/export/vhost-user-blk-server.c b/block/export/vhost-user= -blk-server.c index 41f4933d6e..33cc0818b8 100644 --- a/block/export/vhost-user-blk-server.c +++ b/block/export/vhost-user-blk-server.c @@ -264,7 +264,6 @@ static uint64_t vu_blk_get_protocol_features(VuDev *dev) static int vu_blk_get_config(VuDev *vu_dev, uint8_t *config, uint32_t len) { - /* TODO blkcfg must be little-endian for VIRTIO 1.0 */ VuServer *server =3D container_of(vu_dev, VuServer, vu_dev); VuBlkExport *vexp =3D container_of(server, VuBlkExport, vu_server); memcpy(config, &vexp->blkcfg, len); @@ -343,18 +342,18 @@ vu_blk_initialize_config(BlockDriverState *bs, uint32_t blk_size, uint16_t num_queues) { - config->capacity =3D bdrv_getlength(bs) >> BDRV_SECTOR_BITS; - config->blk_size =3D blk_size; - config->size_max =3D 0; - config->seg_max =3D 128 - 2; - config->min_io_size =3D 1; - config->opt_io_size =3D 1; - config->num_queues =3D num_queues; - config->max_discard_sectors =3D 32768; - config->max_discard_seg =3D 1; - config->discard_sector_alignment =3D config->blk_size >> 9; - config->max_write_zeroes_sectors =3D 32768; - config->max_write_zeroes_seg =3D 1; + config->capacity =3D cpu_to_le64(bdrv_getlength(bs) >> BDRV_SECTOR_BIT= S); + config->blk_size =3D cpu_to_le32(blk_size); + config->size_max =3D cpu_to_le32(0); + config->seg_max =3D cpu_to_le32(128 - 2); + config->min_io_size =3D cpu_to_le16(1); + config->opt_io_size =3D cpu_to_le32(1); + config->num_queues =3D cpu_to_le16(num_queues); + config->max_discard_sectors =3D cpu_to_le32(32768); + config->max_discard_seg =3D cpu_to_le32(1); + config->discard_sector_alignment =3D cpu_to_le32(config->blk_size >> 9= ); + config->max_write_zeroes_sectors =3D cpu_to_le32(32768); + config->max_write_zeroes_seg =3D cpu_to_le32(1); } =20 static void vu_blk_exp_request_shutdown(BlockExport *exp) --=20 MST From nobody Fri May 17 03:54:41 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=1604515951; cv=none; d=zohomail.com; s=zohoarc; b=h+oLQeH3HDxfxPr1SZsV8OTMsTpnzZ8/KJWPrag2gPG3NczwwOeKiByx/cS/XBiHkPrjyWFZxk8yO35pEutgWkTee4AocZRyCKRzdztEnPzD4WlTCj5L+gqe5Iaen1zz6rtimJJqoX+ql+PLPs+MPYDfrolm9IrzVsQhxD6S8GA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604515951; 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=cS4KIfPlpUgVDDoFSeX7cKA8yzTJmgIIdFHv/xDSqc0=; b=aW1Kh7udLklPR/SxESMjpi4oY4Snwwhp+miCfvxO1Kfz1g6/X/zd1XSes6I/AFygFvSAZs9/6ClWOVjPiQdNlldRW3XTHQSTWVyYQQicdd2kqMnJaA111NjmKRQgWzBQGDsn/bgrD9kkzqO91eS009d95qjORY4ugfqdPBwe6uA= 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 1604515951702936.5799063647289; Wed, 4 Nov 2020 10:52:31 -0800 (PST) Received: from localhost ([::1]:59388 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaNtW-0001IM-9S for importer@patchew.org; Wed, 04 Nov 2020 13:52:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52836) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNkC-00026y-8l for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:52 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:41586) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNkA-00028u-Fr for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:51 -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-244-_kIg8_mSM6y-YO_QhsmIRw-1; Wed, 04 Nov 2020 13:42:46 -0500 Received: by mail-wm1-f72.google.com with SMTP id s85so937450wme.3 for ; Wed, 04 Nov 2020 10:42:45 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id s11sm3681961wrm.56.2020.11.04.10.42.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515369; 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=cS4KIfPlpUgVDDoFSeX7cKA8yzTJmgIIdFHv/xDSqc0=; b=NTxfkq/Ov9DAdRdkKaWMXrI4feW6bmBSC+ZsJXnWvD9+SP+plEx/WW9pysmhZ47J+7Mb2v CvNPjTfbzf/KB6nIwWDGjoOx1VVyWRKPJys5sYV2BgWut+1cHPWPohmtFRq6+eG9vKK4Th VQ6QeHKJ01sP9hhuvn4bqajyY6PUHTM= X-MC-Unique: _kIg8_mSM6y-YO_QhsmIRw-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=cS4KIfPlpUgVDDoFSeX7cKA8yzTJmgIIdFHv/xDSqc0=; b=oVvvtgH4s/4wc4sfEyq0cmA4/agNlv0uRezl5fkA2rWyG/y3JH0UxbcmbrYr/XUYYc OzKoxXl6vDv/+0A2BWjsIQSe/jSUgw23BRYD4hLuGz9KBcGr+5hfwUxN23V/8oYwuNdF /pE4l2OTfeuo/bFUUnKJJXRn+dn8p4M4WFByDpWzkYwM7u4q2GVlIB92vS5FWk9YLp+j CQ+tz9mhth2EhzBeQA9ktHZRRf7+1bmRz9Iljjgo2DlNO311ClbjNTGAjKOXUExRD5YK UCXDxX9rAqhFjS1MKStc5X8YsX/OAgmdw5ubbWNTKFiLkdVWckmjPhICdZHvSKYqRvar vMKA== X-Gm-Message-State: AOAM531TTiiR1BotFriyoSIdhD8MUE0HRyxb45SdsgsUkEBNM+2OUVaf Mo6qGhQqB+gDnn+qTWXF9kc5fEoAjMgIXD/EwtE7h4MBwFm9/vIvN+zrax0uovgIK+QBAMOBDJv 5wsUYVhPwaPhevSs= X-Received: by 2002:adf:e9c9:: with SMTP id l9mr8431819wrn.124.1604515364576; Wed, 04 Nov 2020 10:42:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJxCiUmSyJM7wWGHb04L1f/thUiVYmbfsoZ6xudGz3Ugz46gi0nwGiODkgvYdjDFrOyHeutHcQ== X-Received: by 2002:adf:e9c9:: with SMTP id l9mr8431810wrn.124.1604515364389; Wed, 04 Nov 2020 10:42:44 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:41 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 30/31] block/export: fix vhost-user-blk get_config() information leak Message-ID: <20201104184040.285057-31-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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: Kevin Wolf , Peter Maydell , qemu-block@nongnu.org, 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 Refuse get_config() requests in excess of sizeof(struct virtio_blk_config). Signed-off-by: Stefan Hajnoczi Message-Id: <20201027173528.213464-5-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- block/export/vhost-user-blk-server.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/block/export/vhost-user-blk-server.c b/block/export/vhost-user= -blk-server.c index 33cc0818b8..62672d1cb9 100644 --- a/block/export/vhost-user-blk-server.c +++ b/block/export/vhost-user-blk-server.c @@ -266,6 +266,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); + + g_return_val_if_fail(len <=3D sizeof(struct virtio_blk_config), -1); + memcpy(config, &vexp->blkcfg, len); return 0; } --=20 MST From nobody Fri May 17 03:54:41 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=1604516506; cv=none; d=zohomail.com; s=zohoarc; b=LU/nxpYN0jXdpZHZLrlHKklFTHTDGrXIU6Dz8EUgXbUwnvs7nVOA4c2xEqUHYmmGSqL3kwWj+nuUO62MtsaJY8E/2cMWsFU1IL+b8rwhSkBKI0aQ7mtqk4XGy+Icky4ybEcARZUMEJZ680dw8U/oV6IC25Do98TmBqInVNkv23I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604516506; 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=10gqAcInC2hOlA/e3e/PPVyOBwthTxnTi3QFwwaBdNU=; b=iJ9eks24jEPMVxck24f6+JB3hA7xrbdyKMHZj0IVeBkqEDY2279ZAAbFTXvG1JbJcU5ITLMmoTuSjrrUewpgNkwwigZ9i+F2lk8eKXDIF+vVqXmCPWHWBLhVNQihafoteYkSB9HnklrLUy0dCJcx0ryiwg2YhaDodgz/BmEEW/A= 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 1604516506631112.55613725691694; Wed, 4 Nov 2020 11:01:46 -0800 (PST) Received: from localhost ([::1]:36940 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaO2R-0007Kk-S0 for importer@patchew.org; Wed, 04 Nov 2020 14:01:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52838) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaNkC-00028t-Rw for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:52 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:59450) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kaNkB-000291-5W for qemu-devel@nongnu.org; Wed, 04 Nov 2020 13:42:52 -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-554-wmDXX12bMzuFzT82cDPpFg-1; Wed, 04 Nov 2020 13:42:48 -0500 Received: by mail-wr1-f69.google.com with SMTP id w1so9594257wrr.5 for ; Wed, 04 Nov 2020 10:42:48 -0800 (PST) Received: from redhat.com (bzq-79-176-118-93.red.bezeqint.net. [79.176.118.93]) by smtp.gmail.com with ESMTPSA id y2sm4031859wrh.0.2020.11.04.10.42.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 10:42:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604515370; 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=10gqAcInC2hOlA/e3e/PPVyOBwthTxnTi3QFwwaBdNU=; b=gpcTUNREbhLHnVa3wrXNuX78xYDD7tFnmEZ2YL7KfyhDbL6sm35KDk3SM4GzLZCkq33EBc K92i0MzWeZltFr6wHTbufQ8aUWa+auRRzzXO1OLv6x8juBIIORcq49oGTOwI5XsyEzL5iV HFnP6djE4OSdJISmcCCOciU5xzoZJ7A= X-MC-Unique: wmDXX12bMzuFzT82cDPpFg-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=10gqAcInC2hOlA/e3e/PPVyOBwthTxnTi3QFwwaBdNU=; b=Z9KA05QXshSH9UigjoG6bI2a4nXUGuSOWptFt/BmPKDP7jqN3gRAhatCPums92SP/e SuISNPhidvr+8obWQU5B3/KQ4nSJXYEUGR1H83qa17vdqNchEBGpnbFQG7pLnDY3T7QR 3GLEMO/3fcLgUkvVArZBv/LaUw3iB9mLbh4AH4lwHgSJfOxuoLBjafuVE5tbbI3sOjmA qi+I+l6TXVHw2U9ApJgj8YeyCNp1FGSrl/SqMGcMRBdSHgDGJd2qz41BKYQuDa+ASXKD Us6/Wg9gdqotWGiK9+fnTOBqq2JAyyCZL8hv5O+ge/Yj7D26JOPGlivNJNab7qVkPdjT P//w== X-Gm-Message-State: AOAM530fPXs5OEFbjvBv7DyGJqo89AMk2bNQXswbWmsPNQ/GSlcqgJOj ahP4Da5rxTFNAS5fd10e731nahEohMP2RYt3/M7PqN0sBHxuqgAe0N5XTMUrS4FZu4M0mdhWh39 Y7VoOKFa7ACxwbO0= X-Received: by 2002:a1c:20d0:: with SMTP id g199mr6488096wmg.68.1604515367069; Wed, 04 Nov 2020 10:42:47 -0800 (PST) X-Google-Smtp-Source: ABdhPJxYjeEZrlPB6gzGmFYU5J4hvnzvNDc2oj+A4RBPyE1adRDO6GnrTv3RuaLz509yRUpUAPjf/A== X-Received: by 2002:a1c:20d0:: with SMTP id g199mr6488088wmg.68.1604515366928; Wed, 04 Nov 2020 10:42:46 -0800 (PST) Date: Wed, 4 Nov 2020 13:42:44 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL v3 31/31] contrib/vhost-user-blk: fix get_config() information leak Message-ID: <20201104184040.285057-32-mst@redhat.com> References: <20201104184040.285057-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20201104184040.285057-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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 22:09:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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_H5=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 , Stefan Hajnoczi , Raphael Norwitz 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: Stefan Hajnoczi Refuse get_config() in excess of sizeof(struct virtio_blk_config). Signed-off-by: Stefan Hajnoczi Message-Id: <20201027173528.213464-6-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- contrib/vhost-user-blk/vhost-user-blk.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/vhost-user-blk/vhost-user-blk.c b/contrib/vhost-user-b= lk/vhost-user-blk.c index 25eccd02b5..caad88637e 100644 --- a/contrib/vhost-user-blk/vhost-user-blk.c +++ b/contrib/vhost-user-blk/vhost-user-blk.c @@ -404,6 +404,8 @@ 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); + gdev =3D container_of(vu_dev, VugDev, parent); vdev_blk =3D container_of(gdev, VubDev, parent); memcpy(config, &vdev_blk->blkcfg, len); --=20 MST