From nobody Mon Feb 9 18:44:21 2026 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=1661207298; cv=none; d=zohomail.com; s=zohoarc; b=d5napeIO72OoH9yZOsmhJIR6KK8Z9zZd0Wx+qEWb93hnCAwoDVIlmLJRyXCGBuGhV7/Jp/S4Yzz+RiemagiBrMIFTzGG/oIiUP2rgX1GuxGvV81qxaJBtvW9QlPzceC5ZSynQyxqQ0Xpu2NK4Nk92JtZGvKbb9ZZlmVfPbmxTfo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1661207298; h=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=Fu/a45rJHMIUEyQrGQeb6Alviz1AoFhUo7br1qxbQeo=; b=cbW2TsI7KCAQvAY2997iWbh700gF1Uie9mEhsQjD3n0RUN891gu4Og5O25nO/t+JJpOyY9UKekmEQwl+MHMZ3x8Evp6q49fDPHBZYf9VAfJQ1nVgQ7zAZEiA42df2Tz+Pe750EWqTZ7rPf3fiT2KJUJIZDN2FKgCPjFGk3cjQuY= 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) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 166120729832218.92720885952383; Mon, 22 Aug 2022 15:28:18 -0700 (PDT) Received: from localhost ([::1]:57582 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oQFu3-00072X-Qd for importer@patchew.org; Mon, 22 Aug 2022 18:28:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55714) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oQFqU-0001i6-OD for qemu-devel@nongnu.org; Mon, 22 Aug 2022 18:24:35 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:52860) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oQFqT-0004bc-3x for qemu-devel@nongnu.org; Mon, 22 Aug 2022 18:24:34 -0400 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-154-J10edu_iP2i70YJRS1iNRQ-1; Mon, 22 Aug 2022 18:24:27 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C39DC3C0D843; Mon, 22 Aug 2022 22:24:26 +0000 (UTC) Received: from localhost (unknown [10.39.192.66]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4B9D3141511A; Mon, 22 Aug 2022 22:24:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1661207072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Fu/a45rJHMIUEyQrGQeb6Alviz1AoFhUo7br1qxbQeo=; b=PbLvbY0IU2jmN8fVEWsdYLXe+WStj3jQBuH66n6E446rmV99zLEPW7YnF1ihI9cIpzjwYh Zc2fJo5L9nHJ77FadrFeZl31I8kpIOgILZpBgPweCDC6LqNrJK9DgIeIXm7IoVPrBO5JrN /WPghbLb+SHzIEWj+/kZRw9G7tm1ruw= X-MC-Unique: J10edu_iP2i70YJRS1iNRQ-1 From: Stefan Hajnoczi To: qemu-devel@nongnu.org Cc: Paolo Bonzini , "Denis V. Lunev" , Peter Xu , Yanan Wang , Marcel Apfelbaum , "Richard W.M. Jones" , qemu-block@nongnu.org, John Snow , integration@gluster.org, Vladimir Sementsov-Ogievskiy , Vladimir Sementsov-Ogievskiy , David Hildenbrand , Laurent Vivier , Markus Armbruster , Raphael Norwitz , Richard Henderson , Fam Zheng , sgarzare@redhat.com, Alberto Faria , Kevin Wolf , Stefan Hajnoczi , Wen Congyang , Eric Blake , Hanna Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Eduardo Habkost , "Michael S. Tsirkin" , Thomas Huth , Jeff Cody , Xie Changlong Subject: [RFC v4 08/11] exec/cpu-common: add qemu_ram_get_fd() Date: Mon, 22 Aug 2022 18:23:59 -0400 Message-Id: <20220822222402.176088-9-stefanha@redhat.com> In-Reply-To: <20220822222402.176088-1-stefanha@redhat.com> References: <20220822222402.176088-1-stefanha@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.85 on 10.11.54.7 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=170.10.133.124; envelope-from=stefanha@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1661207299940100001 Content-Type: text/plain; charset="utf-8" Add a function to get the file descriptor for a RAMBlock. Device emulation code typically uses the MemoryRegion APIs but vhost-style code may use RAMBlock directly for sharing guest memory with another process. This new API will be used by the libblkio block driver so it can share guest memory via .bdrv_register_buf(). Signed-off-by: Stefan Hajnoczi --- include/exec/cpu-common.h | 1 + softmmu/physmem.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index 2281be4e10..ccef44b3d3 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -90,6 +90,7 @@ void qemu_ram_set_uf_zeroable(RAMBlock *rb); bool qemu_ram_is_migratable(RAMBlock *rb); void qemu_ram_set_migratable(RAMBlock *rb); void qemu_ram_unset_migratable(RAMBlock *rb); +int qemu_ram_get_fd(RAMBlock *rb); =20 size_t qemu_ram_pagesize(RAMBlock *block); size_t qemu_ram_pagesize_largest(void); diff --git a/softmmu/physmem.c b/softmmu/physmem.c index dc3c3e5f2e..f2bdad2583 100644 --- a/softmmu/physmem.c +++ b/softmmu/physmem.c @@ -1765,6 +1765,11 @@ void qemu_ram_unset_migratable(RAMBlock *rb) rb->flags &=3D ~RAM_MIGRATABLE; } =20 +int qemu_ram_get_fd(RAMBlock *rb) +{ + return rb->fd; +} + /* Called with iothread lock held. */ void qemu_ram_set_idstr(RAMBlock *new_block, const char *name, DeviceState= *dev) { --=20 2.37.2