From nobody Sun Dec 14 06:42:51 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1763365446; cv=none; d=zohomail.com; s=zohoarc; b=URO4h+iq+7akqc1kPq2yRvxwHa+EaTPUuPfY86mntkr28a9TNslp/LNor0tWfPl92BR+p1w3I4cLRR+QLKEqta27eQoAP4azri9fC5v7xVBv5lSoFOqbY0tD8sZYcy6Y7v9/YssV/ybu/4t14IluDibri86Xe8zbSgeXf6giYYk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763365446; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=A3DOmTTtUlRI29oyMtkqRVQpm1BCXvndErwb6vVQTDc=; b=ZmsY/+OAi7rbilTbdPPNejQnYwh8sgu4DDV3nOBkCteEr3z7G3i/yww1vJp+qM/BJE987LS3AFaGaiMNAV4gGni5xk7/ugfG6PGBSuSyXeyN/a57gRTV29jv2iHUVJ2tFPWflgnJR4SinmfndoiUyBRn0CYEbhttRRcx9M7T3Ig= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1763365446087913.9619514324213; Sun, 16 Nov 2025 23:44:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vKttg-0003VB-I7; Mon, 17 Nov 2025 02:43:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtsx-0003Rj-GR for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:42:51 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtsv-0005um-SU for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:42:51 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-177-QKBOIeYIO2KohkrB6XUxcw-1; Mon, 17 Nov 2025 02:42:45 -0500 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4779da35d27so10053175e9.3 for ; Sun, 16 Nov 2025 23:42:45 -0800 (PST) Received: from [192.168.10.48] ([176.206.119.13]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4779973ddcfsm116793655e9.15.2025.11.16.23.42.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Nov 2025 23:42:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763365367; 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=A3DOmTTtUlRI29oyMtkqRVQpm1BCXvndErwb6vVQTDc=; b=ECdMUz1gydLzT4Qqmjzu9ByOKl1R99ZFB4N2GZrqpuQTMNeAcPff/RoSGip0QN4V5fbhe8 polAiZb9SM1G7tSV+iPB1QlhVrUYd8DT3x2Kj3DUtE/0lKhlQPXMM7de6P7gcAE8yqK57H gfuEvxTHEYMEk6RbbGdV+5hyWGelhrg= X-MC-Unique: QKBOIeYIO2KohkrB6XUxcw-1 X-Mimecast-MFC-AGG-ID: QKBOIeYIO2KohkrB6XUxcw_1763365365 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1763365364; x=1763970164; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=A3DOmTTtUlRI29oyMtkqRVQpm1BCXvndErwb6vVQTDc=; b=GLfgAiGGV9dmjd5h3OO17MoI33rUYd4lFyu7fJjJT/FQw78EW5xwJJekW5Rx9d1PMu tzEimoD2Y0FgZ80N/5gowz5mA8AHvFgt/kZdBEPMtLmNBGDWtgWhrdnMJb/+7ZUchxhx i2U1nXkVfERBpHQY+tdW2r46kPqnoETaraaFx016SxwpLQ9cV5KfGKaf4v3elo6okiYW rINMfNyHPK92He4vpVTjQqAguO7IrlA+oc9qGsismP0Amokh3ooDT4snXvrzGQo5TcKt 2VOd4ll1AMIewKV4CMvsNGndKKweafhzfFM4vX1Oapuu+POX/0sf80TDlPjZzjvAOg8W CYcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763365364; x=1763970164; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=A3DOmTTtUlRI29oyMtkqRVQpm1BCXvndErwb6vVQTDc=; b=HP2BO/sAaREqMUehtum6UANvUoLmfQtixsWHIYuRCGXogfAEFv12qjYmXB5jE4ZXMO 8fBdxJkL3o+/0DRMV2Ma4FTOj33KAkDaRpySeXE7gwy9417M7ncrczXmlENzdKtruQPn /X0IifcEc1erB3Fp5s95Qcy1fFBtP22gTKSr4SqlX7UuzTtqC4Eo7g9oLSe4IDruzhbf 9QWijyeTE3qOQY2Dmr1Po4q5xBzmCdb0CLDDBh7HxBeIqU44YqeEaO4xkcIG9KN/0vM0 z9TurrzDyA011nMJnfokz09ZhkXU9wOwwE+qJIsmushFLbgg1KQW1F6iSMMiI2qf0/6Q tUZA== X-Gm-Message-State: AOJu0Ywx4VHhccQmp08CTdPnV8scAD7v6nQo20vlZhU50HL1cw0g29lu /BrqJgFkWzK6/oictfkTFQN+rfZKvQ2J+illVIue7EAe8zuozvixJL3l/wG9FLj/gsZw3oji+x3 SmHavuS8EI8UEkrnX58+UELZg56y/a/qOe8Nl9wBxjvm/PH8584ZZ45ajtTJO0N49sNEFvjS414 kBURotKlFafNbEOZUbzSk7tizi2PtctjpD4LJ5+wJ7 X-Gm-Gg: ASbGncuVXiNiiF0uLLfdeJ5XMt9PSN7+NulxFyhFc75jBivinicSgtFkLeQDtQXT6FH Nei4/1XjDURlRKdni+tWZUzRHTLZ95JykfJAW7siS+bjORVGl3zhV1PmPKujyQ6CtM2+2ypHJDO UL03WNysIRdz/gx/zQ14Vb5eOG5l29hmT610S45HSrcN1DtMxR4us2F2mKvkSecQYLya5FJGhNB mossgPwnKtSmBmbsOxDFFr8h3iYoL4NYxmp70szIN/Qz+zcS1TLnV7zjYCT5zUIr3CXVN06+f8j 8JriD50v2LV4DINH07OLGE5/H5BnxDEbBbXmr4sh5dZG4GnrQshMHE+/UEFr2n71QyM1Bhw90hI l/0aVJFzQ8kq6mzPcwk9tU5IdzdkzBmDT6eOsgMeBdoP12nQAfnVMjLrt6ZamZjGc+uH70e4End 6BFQmg X-Received: by 2002:a05:600c:c4a1:b0:475:dd7f:f6cd with SMTP id 5b1f17b1804b1-4778fe96c46mr94795825e9.35.1763365364221; Sun, 16 Nov 2025 23:42:44 -0800 (PST) X-Google-Smtp-Source: AGHT+IFSxxfwKIqmVC45rPVAwvXfEMRLb+nGUQiQ9mYHEyIDE8dNbU1NYcZ49MsAqNBzM+bIaH1UnQ== X-Received: by 2002:a05:600c:c4a1:b0:475:dd7f:f6cd with SMTP id 5b1f17b1804b1-4778fe96c46mr94795525e9.35.1763365363713; Sun, 16 Nov 2025 23:42:43 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org Subject: [PATCH 1/8] util: add prelude Date: Mon, 17 Nov 2025 08:42:31 +0100 Message-ID: <20251117074239.190424-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117074239.190424-1-pbonzini@redhat.com> References: <20251117074239.190424-1-pbonzini@redhat.com> MIME-Version: 1.0 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=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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.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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1763365447520158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- rust/hw/char/pl011/src/device.rs | 2 +- rust/hw/timer/hpet/src/device.rs | 5 +---- rust/hw/timer/hpet/src/fw_cfg.rs | 2 +- rust/util/meson.build | 1 + rust/util/src/lib.rs | 5 +++++ rust/util/src/prelude.rs | 11 +++++++++++ 6 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 rust/util/src/prelude.rs diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/devi= ce.rs index 04155dabe1a..18f40fdc58b 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -17,7 +17,7 @@ }; use qom::{prelude::*, ObjectImpl, Owned, ParentField, ParentInit}; use system::{hwaddr, MemoryRegion, MemoryRegionOps, MemoryRegionOpsBuilder= }; -use util::{log::Log, log_mask_ln, ResultExt}; +use util::prelude::*; =20 use crate::registers::{self, Interrupt, RegisterOffset}; =20 diff --git a/rust/hw/timer/hpet/src/device.rs b/rust/hw/timer/hpet/src/devi= ce.rs index 3564aa79c6e..6e9c004ecae 100644 --- a/rust/hw/timer/hpet/src/device.rs +++ b/rust/hw/timer/hpet/src/device.rs @@ -25,10 +25,7 @@ bindings::{address_space_memory, address_space_stl_le, hwaddr}, MemoryRegion, MemoryRegionOps, MemoryRegionOpsBuilder, MEMTXATTRS_UNSP= ECIFIED, }; -use util::{ - ensure, - timer::{Timer, CLOCK_VIRTUAL, NANOSECONDS_PER_SECOND}, -}; +use util::prelude::*; =20 use crate::fw_cfg::HPETFwConfig; =20 diff --git a/rust/hw/timer/hpet/src/fw_cfg.rs b/rust/hw/timer/hpet/src/fw_c= fg.rs index 777fc8ef45e..ad80acd998c 100644 --- a/rust/hw/timer/hpet/src/fw_cfg.rs +++ b/rust/hw/timer/hpet/src/fw_cfg.rs @@ -5,7 +5,7 @@ use std::ptr::addr_of_mut; =20 use common::Zeroable; -use util::{self, ensure}; +use util::{self, prelude::*}; =20 /// Each `HPETState` represents a Event Timer Block. The v1 spec supports /// up to 8 blocks. QEMU only uses 1 block (in PC machine). diff --git a/rust/util/meson.build b/rust/util/meson.build index 8ad344dccbd..da5d0f779d1 100644 --- a/rust/util/meson.build +++ b/rust/util/meson.build @@ -34,6 +34,7 @@ _util_rs =3D static_library( 'src/error.rs', 'src/log.rs', 'src/module.rs', + 'src/prelude.rs', 'src/timer.rs', ], {'.': _util_bindings_inc_rs} diff --git a/rust/util/src/lib.rs b/rust/util/src/lib.rs index d14aa14ca77..7d2de3ed811 100644 --- a/rust/util/src/lib.rs +++ b/rust/util/src/lib.rs @@ -4,6 +4,11 @@ pub mod error; pub mod log; pub mod module; + +// preserve one-item-per-"use" syntax, it is clearer +// for prelude-like modules +#[rustfmt::skip] +pub mod prelude; pub mod timer; =20 pub use error::{Error, Result, ResultExt}; diff --git a/rust/util/src/prelude.rs b/rust/util/src/prelude.rs new file mode 100644 index 00000000000..f52e7100e9f --- /dev/null +++ b/rust/util/src/prelude.rs @@ -0,0 +1,11 @@ +//! Essential types and traits intended for blanket imports. + +pub use crate::error::ResultExt; +pub use crate::log::Log; +pub use crate::timer::Timer; +pub use crate::timer::CLOCK_VIRTUAL; +pub use crate::timer::NANOSECONDS_PER_SECOND; + +// Re-export commonly used macros +pub use crate::ensure; +pub use crate::log_mask_ln; --=20 2.51.1 From nobody Sun Dec 14 06:42:51 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1763365465; cv=none; d=zohomail.com; s=zohoarc; b=XwERNMiDQQsJO0cGk2Hs8draIPL65hcfuOI7QoLimO6WVQLpmkaU765n2jYrUhSMHF8prhFUQ43A0ZnJS4rhhAldHXAUqh18QRdFNuTe1RQiyUYvXqzQiTnz7hk3DQyPq5S6pVYPxjnPXhf1m1qz/9gYjuhMmBm2joWm+NrLwN0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763365465; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=WXWNBS5VhaBDKMLiYRt/qNQXMDrMpUmP4CgRsLrhNMs=; b=dP4Ikc2i+zY/BJTQtpSM8VA5vadSJDGEETLqcbIf47pFsgx6jSxi5S6aMdibtMLGVxCVAh1v6qYXxN1svwZkdgkbmMp5kvYoIAlQGCjZr5SG4JR0C7y720iNmAxeKWIXuCAZXIghvbdvDDbp89xonQhiCdP4q4DzQpSbLK0rAcg= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1763365465461653.9668381953295; Sun, 16 Nov 2025 23:44:25 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vKttj-0003Yf-Sr; Mon, 17 Nov 2025 02:43:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtsy-0003Rm-2o for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:42:55 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtsw-0005v2-HY for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:42:51 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-211-5nJzFF8fNZiNT-yfUt2POQ-1; Mon, 17 Nov 2025 02:42:48 -0500 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-42b487cda00so1869061f8f.3 for ; Sun, 16 Nov 2025 23:42:48 -0800 (PST) Received: from [192.168.10.48] ([176.206.119.13]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42b53e7ae47sm24204521f8f.4.2025.11.16.23.42.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Nov 2025 23:42:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763365369; 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=WXWNBS5VhaBDKMLiYRt/qNQXMDrMpUmP4CgRsLrhNMs=; b=X3NoekhkkX9xfZw+NCLzzN0Ic6oF8t6fWVDt+InBAxtbZhExq+W3pKavlgQaHN+dqyPbZa MuN9PC0MhZ/ZGHdOim2z8WtPJmkUrI0nk5SZowphxBpR0ssYcSLjGuoBM2Rm/75aISgN+t F64zaE5Lo4gMEfIus9IV7Ns9ZPrU/8E= X-MC-Unique: 5nJzFF8fNZiNT-yfUt2POQ-1 X-Mimecast-MFC-AGG-ID: 5nJzFF8fNZiNT-yfUt2POQ_1763365367 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1763365366; x=1763970166; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WXWNBS5VhaBDKMLiYRt/qNQXMDrMpUmP4CgRsLrhNMs=; b=Y2f3d00f4p7me8PdNweZMulFxAKPVhfjTb5HIm9JGtJsR9kO9z1C7KUX1vzwHgSQWR vzpkdfBrwqofePpSh0vkx4eTWJLoyi46e/xVGFCJjt4iRB6mF0aba67Cshb9Vowob91z INjIXUmxH6zjAvfhZweEFOosIE2ZuB5i1VkpBi7MzB9MrIm4l+651CTH2005K0+dNNss pvWUY48SuQzIig2KaxujuR6XclVplmmx651SQIn1aePB13ZPNXi6V6Vzdebj7rxvIUNh 8N2az5NIwoPe6te336gMQjsAzZ0C0OZJMaEAFpTXemzN4BbokmIDks6tbJCmTbNhuvQJ n2MA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763365366; x=1763970166; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=WXWNBS5VhaBDKMLiYRt/qNQXMDrMpUmP4CgRsLrhNMs=; b=Jz1UaOAbDyGbztRM7JDhi2IrSYyPCvLFC1eviYxj0K0jrpHDXnyRDqfHd+Q0U61lU8 Qe9uTm0mREo591yrd93eAc27S9+QNycL4kgi91idKnX+7p3FqZNOAkDIYOVAi/Wd3zQn uHOET1fLFrs4tFRT/5yMjrePIA5tUOfs1lDdCPncMPMxuoiPS963AEauZGL4xGkIlRTS gsvoRkKDaNVGEsJ7EyAHSKh23KAy9IzfQudXsyTN7j+lIHWsofai/1+EpYWnrfyrgRvL BWnW59TH3gyYygdglr2i4+kqd0t64XNo1doA6TPMHOGMvG2poV2vn2SV7vTYIUPkOj4r pdZw== X-Gm-Message-State: AOJu0Yxso/ou+rvcruhTy1vzyC4eRpcyekezsLfYnXDFjPc9q0jv3gah IwVhyj0WBTIAJgLSPVEpvNf1jro5XnTdhCvtvm/TNFpHJ1ZLCjTb9odLKbM4TRC6J0eiWiaqKyK YM47S2dZwRrYyob+OCycbRzqpxyc9E+btXzYljRTkimFz1MT/JjPWAFADhTlsUyxTZPMAxt7/7N YUv8vmB5sufAG3zLS3xPY5l1ftcVbPBWdVluJcYVK0 X-Gm-Gg: ASbGncsLWsDSanfMcPKj+y/3xceFW/FIFUFGAu00mqkkHEd+HHAGxxMHH947LBTz6Qc mSHpvjb1PI1nSvBlqxvZPvBPV3m3XUIq/5t6qgOHeZaN5dxHaPv1oAMmn36W5tpWc8o2AvAqzp1 StIw3i7ah16OQynDVexdjd3Rnyu9qz+5pDqDV4bkroH4CSVksYF3NbkFFHYa5ryNRvwKNz5IL+C 3gP/EjwXrK00xpX8vfNe8tcFE4guYT9BD5lurtaxFhnXh1dQCB/jHPU3VUSj0HhE/n4P0eTRaB+ 7tGeb4HOsfK0KFtZTbeqmhpu5iIvkXRq1IEhuwPOJVEv/rHzLubGOBYVdjhu+DY5d3RFeMTBrzQ V8r7ChnOXpHdFfGvAos8qLNvg39dAgoEA8bSsKMISQlL1JFNCd8JvehCVSrxymxcySkl7i1U5aL sRo4fA X-Received: by 2002:a5d:584e:0:b0:42b:3cd2:e9bb with SMTP id ffacd0b85a97d-42b5936c3dbmr10875010f8f.32.1763365366448; Sun, 16 Nov 2025 23:42:46 -0800 (PST) X-Google-Smtp-Source: AGHT+IFgORTIIi371fjt9Hr2AMNjaMxZheQOLEx6qGofV9948hnrMsOWalG76zVd2wtQ7zmbDeALqA== X-Received: by 2002:a5d:584e:0:b0:42b:3cd2:e9bb with SMTP id ffacd0b85a97d-42b5936c3dbmr10874984f8f.32.1763365365876; Sun, 16 Nov 2025 23:42:45 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org Subject: [PATCH 2/8] common: add prelude Date: Mon, 17 Nov 2025 08:42:32 +0100 Message-ID: <20251117074239.190424-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117074239.190424-1-pbonzini@redhat.com> References: <20251117074239.190424-1-pbonzini@redhat.com> MIME-Version: 1.0 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=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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.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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1763365467195153000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- rust/common/meson.build | 13 +------------ rust/common/src/lib.rs | 5 +++++ rust/common/src/prelude.rs | 9 +++++++++ rust/hw/char/pl011/src/device.rs | 2 +- rust/hw/timer/hpet/src/device.rs | 2 +- 5 files changed, 17 insertions(+), 14 deletions(-) create mode 100644 rust/common/src/prelude.rs diff --git a/rust/common/meson.build b/rust/common/meson.build index aff601d1df2..db1365dbe0d 100644 --- a/rust/common/meson.build +++ b/rust/common/meson.build @@ -4,18 +4,7 @@ _common_cfg =3D run_command(rustc_args, =20 _common_rs =3D static_library( 'common', - structured_sources( - [ - 'src/lib.rs', - 'src/assertions.rs', - 'src/bitops.rs', - 'src/callbacks.rs', - 'src/errno.rs', - 'src/opaque.rs', - 'src/uninit.rs', - 'src/zeroable.rs', - ], - ), + 'src/lib.rs', override_options: ['rust_std=3D2021', 'build.rust_std=3D2021'], rust_abi: 'rust', rust_args: _common_cfg, diff --git a/rust/common/src/lib.rs b/rust/common/src/lib.rs index 8311bf945da..6093d01a388 100644 --- a/rust/common/src/lib.rs +++ b/rust/common/src/lib.rs @@ -15,6 +15,11 @@ pub mod opaque; pub use opaque::{Opaque, Wrapper}; =20 +// preserve one-item-per-"use" syntax, it is clearer +// for prelude-like modules +#[rustfmt::skip] +pub mod prelude; + pub mod uninit; pub use uninit::MaybeUninitField; =20 diff --git a/rust/common/src/prelude.rs b/rust/common/src/prelude.rs new file mode 100644 index 00000000000..7d38ea12055 --- /dev/null +++ b/rust/common/src/prelude.rs @@ -0,0 +1,9 @@ +//! Essential types and traits intended for blanket imports. + +pub use crate::bitops::IntegerExt; +pub use crate::uninit::MaybeUninitField; + +// Re-export commonly used macros +pub use crate::static_assert; +pub use crate::uninit_field_mut; +pub use qemu_macros::TryInto; diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/devi= ce.rs index 18f40fdc58b..b7e8e393d2e 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -6,7 +6,7 @@ =20 use bql::BqlRefCell; use chardev::{CharFrontend, Chardev, Event}; -use common::{static_assert, uninit_field_mut}; +use common::prelude::*; use hwcore::{ Clock, ClockEvent, DeviceImpl, DeviceMethods, DeviceState, IRQState, I= nterruptSource, ResetType, ResettablePhasesImpl, SysBusDevice, SysBusDeviceImpl, SysBu= sDeviceMethods, diff --git a/rust/hw/timer/hpet/src/device.rs b/rust/hw/timer/hpet/src/devi= ce.rs index 6e9c004ecae..e9c7afa24d5 100644 --- a/rust/hw/timer/hpet/src/device.rs +++ b/rust/hw/timer/hpet/src/device.rs @@ -11,7 +11,7 @@ }; =20 use bql::{BqlCell, BqlRefCell}; -use common::{bitops::IntegerExt, uninit_field_mut}; +use common::prelude::*; use hwcore::{ DeviceImpl, DeviceMethods, DeviceState, InterruptSource, ResetType, Re= settablePhasesImpl, SysBusDevice, SysBusDeviceImpl, SysBusDeviceMethods, --=20 2.51.1 From nobody Sun Dec 14 06:42:51 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1763365473; cv=none; d=zohomail.com; s=zohoarc; b=Y4p7joheyVGo1fdN38NgQ+8nxCGPIXgDrfcG+NKSDcHj8Bed9CFWgK0oQmhBF80GBYWXXDPD5wsB0wKrwpyPt7eBkNrfRXZQOG2FfnIb5rlkVLoIGyQ4L3PbMXGNlCs83I11bjfNQuY67JwCTXJqmwwVvbDkR5mG1DyWwN/ocg4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763365473; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7/qrIn0AvFVaoDVF4vr0euvjESxVs46yfDtsWTtlMTM=; b=TIAivFIzceYHc7HJsIFqK0RYRyOcKiMKo7eNklDG8SvQTvUnA1qcZ9mSFdlXn7/ss9TdJNy/q23TWkKMvSuX7C5IMx59fJhg9Hc+ScbgHS/GpOryIPW3Dr9fqzvosLfWx0iiPOlHFvWcFQRVWiz1svmsDZ14SOa5kM6eh50maxY= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1763365473271354.0895434562399; Sun, 16 Nov 2025 23:44:33 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vKttk-0003Yo-5E; Mon, 17 Nov 2025 02:43:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtt0-0003Rq-4V for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:42:57 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtsy-0005ve-Es for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:42:53 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-21-ests_dtlM6iFbbkN37kCWQ-1; Mon, 17 Nov 2025 02:42:49 -0500 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-477a1e2b372so11292575e9.2 for ; Sun, 16 Nov 2025 23:42:49 -0800 (PST) Received: from [192.168.10.48] ([176.206.119.13]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4779fab9b0esm73883205e9.12.2025.11.16.23.42.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Nov 2025 23:42:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763365371; 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=7/qrIn0AvFVaoDVF4vr0euvjESxVs46yfDtsWTtlMTM=; b=PpCWGel2CRTmdgi8JC2Hv8DRZipTJ5yxkBhvdZ4z5nyr/YdrxTYbBv4IrBi1R5kGlqRbGB +9uvE4mwxgE61dmcD/wLoXPbXOfUf6CqDky7gzmxU4CIWc9QxGPWQkv/CQn1udZpA6ocWG NzxCXwsomCEF4y9/L4vfkCT/CdForJM= X-MC-Unique: ests_dtlM6iFbbkN37kCWQ-1 X-Mimecast-MFC-AGG-ID: ests_dtlM6iFbbkN37kCWQ_1763365369 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1763365368; x=1763970168; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7/qrIn0AvFVaoDVF4vr0euvjESxVs46yfDtsWTtlMTM=; b=pdkODSbdEGKVVYDEVEkM2V2enIQs87HDv8vEnAArUZS7KlAPDm7IeEwQVER/JlbzM9 ZEFQ4eaLogoEtlkOVqEQwAM9Mpd8bVXJO5Z05gwaqhnh6evHLFjlnsEY+pwrWUUwduqX R2X54ti4fi/l3mTuOeFj8tZeiQaBU4m71RNW+TKZsS9iSOWJRPZD/2MI5X03Q4NyVNhg d/wmtXi+2haFr6CbZQPsSxj7t9BUOrd20R7J0kXQ+QD+zbAIq4Fl1RM4iDN27ApEI/ea 2mjz8qyoApxqd5CeUNSt/6tsAFq8C2zp6+lntgmdGD4TuQu4hXUWMCNxNE9En4Oe4SZa 0HPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763365368; x=1763970168; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=7/qrIn0AvFVaoDVF4vr0euvjESxVs46yfDtsWTtlMTM=; b=IBZshS7k6sLujx2o5ns4FLp1B1DYYfQdxiWv5cV2iAWScQSlXwgkTcI5e/VXP5df5e L30lFYwCGS6wcmiNEdxYv45Y1kjf5hYfelu/DiACYyqOm1RJkwr0JETo0mYL2Or/1il9 G+Khsn0M+qnHzgEyt3+ZfUfe+n+c4O1bwug3KvAq95/OTXMi+6R9alN9C7PEH2kHIM4W 9xq0bUiBjXcjPr/r8I+4DG3fudGJqvT9mIXtm807eYEK6DH62z7IsC5ayO7flYHpmp+P A+TqQBQJcGXyPhy1TJZKSzYPczx4cz30D+nHvNK1Mg298d4Yseq0cUxUgUkaYAX3KQsO WVJA== X-Gm-Message-State: AOJu0YxdOasD8XX+RqbvUcQNr+HSvjVhClclxYX4k76ay2YQUjq0FBTi zArb+36eCqxn7rFZ51TPnYCXvHDZVg04JydWgt/M+UBxvccCRJz57Q3ZYFgng7hfcDBgKtmAVz9 XJcp7SOnZPwFPCVqjE+J7H1djER2PhX57kE+xKv+83ydnGhCQJvnTg6FPZ4DRa0sO2C8yqecrWv 42bxMbL7xJeRDKLlS0kWmXcg/u8Qwl3sU/MvWcawI1 X-Gm-Gg: ASbGncuAXODi6/Qf4Z/wSFXTnrq0gfv1j+VmZRVS7IwRfBQuPbFd/I+0/Y6VlSwpYh3 GAyReddu2lveC6j23rBfpV0ynMIzd49UFp7fiYF9/SDAdtH5vVohAxP6+6swPIzs8pYqHqdtm1Z K5SVfbu0ThovTTqOG183udTgbM6NwyOtPRC6qrqXJfB9kk2/LJ3KqByyHbDy3wHKhlpWLf/OE0Y afdr+U/3UkRh12TMvdszrO1S+DeJIEB4zqP6f59fp7GRdyZAX5StqmRJKkwimuhvxzSluJHX++L gRfZkYfNMplgXZLaJbt4ntFMZPIfPpBwj7Irz+V94A5lGn/Q+tg3vRkjI2GkIuzjb0r8o+k/4IV IG9T7jEWqrtd92+ifWtgHcYwlvg4h/bM2gl1G1ipCRyddFKJOlOiniMeY5oZ3R4QKSyh3G7rcG8 VUPE3p X-Received: by 2002:a05:600c:4503:b0:45b:80ff:58f7 with SMTP id 5b1f17b1804b1-4778feb23dfmr97404265e9.36.1763365368336; Sun, 16 Nov 2025 23:42:48 -0800 (PST) X-Google-Smtp-Source: AGHT+IGheM/f1OTkMQZwJPst9G+ieKpF0gUZlMwrJAkIuQzwGdTJtyn9KhW/OIelH1RaN/JHDTrOBg== X-Received: by 2002:a05:600c:4503:b0:45b:80ff:58f7 with SMTP id 5b1f17b1804b1-4778feb23dfmr97404055e9.36.1763365367922; Sun, 16 Nov 2025 23:42:47 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org Subject: [PATCH 3/8] hwcore: add prelude Date: Mon, 17 Nov 2025 08:42:33 +0100 Message-ID: <20251117074239.190424-4-pbonzini@redhat.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117074239.190424-1-pbonzini@redhat.com> References: <20251117074239.190424-1-pbonzini@redhat.com> MIME-Version: 1.0 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=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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.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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1763365473774158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- rust/hw/char/pl011/src/device.rs | 5 +---- rust/hw/core/meson.build | 1 + rust/hw/core/src/lib.rs | 5 +++++ rust/hw/core/src/prelude.rs | 14 ++++++++++++++ rust/hw/core/tests/tests.rs | 2 +- rust/hw/timer/hpet/src/device.rs | 5 +---- 6 files changed, 23 insertions(+), 9 deletions(-) create mode 100644 rust/hw/core/src/prelude.rs diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/devi= ce.rs index b7e8e393d2e..164f27d5bb2 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -7,10 +7,7 @@ use bql::BqlRefCell; use chardev::{CharFrontend, Chardev, Event}; use common::prelude::*; -use hwcore::{ - Clock, ClockEvent, DeviceImpl, DeviceMethods, DeviceState, IRQState, I= nterruptSource, - ResetType, ResettablePhasesImpl, SysBusDevice, SysBusDeviceImpl, SysBu= sDeviceMethods, -}; +use hwcore::{prelude::*, ClockEvent, IRQState}; use migration::{ self, impl_vmstate_forward, impl_vmstate_struct, vmstate_fields, vmsta= te_of, vmstate_subsections, vmstate_unused, VMStateDescription, VMStateDescri= ptionBuilder, diff --git a/rust/hw/core/meson.build b/rust/hw/core/meson.build index 1560dd20c6b..fa1765a2302 100644 --- a/rust/hw/core/meson.build +++ b/rust/hw/core/meson.build @@ -51,6 +51,7 @@ _hwcore_rs =3D static_library( 'src/lib.rs', 'src/bindings.rs', 'src/irq.rs', + 'src/prelude.rs', 'src/qdev.rs', 'src/sysbus.rs', ], diff --git a/rust/hw/core/src/lib.rs b/rust/hw/core/src/lib.rs index b40801eb843..491743d2b9d 100644 --- a/rust/hw/core/src/lib.rs +++ b/rust/hw/core/src/lib.rs @@ -8,6 +8,11 @@ mod irq; pub use irq::*; =20 +// preserve one-item-per-"use" syntax, it is clearer +// for prelude-like modules +#[rustfmt::skip] +pub mod prelude; + mod qdev; pub use qdev::*; =20 diff --git a/rust/hw/core/src/prelude.rs b/rust/hw/core/src/prelude.rs new file mode 100644 index 00000000000..c544c317b39 --- /dev/null +++ b/rust/hw/core/src/prelude.rs @@ -0,0 +1,14 @@ +//! Essential types and traits intended for blanket imports. + +pub use crate::qdev::Clock; +pub use crate::qdev::DeviceState; +pub use crate::qdev::DeviceImpl; +pub use crate::qdev::DeviceMethods; +pub use crate::qdev::ResettablePhasesImpl; +pub use crate::qdev::ResetType; + +pub use crate::sysbus::SysBusDevice; +pub use crate::sysbus::SysBusDeviceImpl; +pub use crate::sysbus::SysBusDeviceMethods; + +pub use crate::irq::InterruptSource; diff --git a/rust/hw/core/tests/tests.rs b/rust/hw/core/tests/tests.rs index 247d812866d..b39d1501d5b 100644 --- a/rust/hw/core/tests/tests.rs +++ b/rust/hw/core/tests/tests.rs @@ -5,7 +5,7 @@ use std::{ffi::CStr, ptr::addr_of}; =20 use bql::BqlCell; -use hwcore::{DeviceImpl, DeviceState, ResettablePhasesImpl, SysBusDevice}; +use hwcore::prelude::*; use migration::{VMStateDescription, VMStateDescriptionBuilder}; use qom::{prelude::*, ObjectImpl, ParentField}; use util::bindings::{module_call_init, module_init_type}; diff --git a/rust/hw/timer/hpet/src/device.rs b/rust/hw/timer/hpet/src/devi= ce.rs index e9c7afa24d5..7ab9897cdfb 100644 --- a/rust/hw/timer/hpet/src/device.rs +++ b/rust/hw/timer/hpet/src/device.rs @@ -12,10 +12,7 @@ =20 use bql::{BqlCell, BqlRefCell}; use common::prelude::*; -use hwcore::{ - DeviceImpl, DeviceMethods, DeviceState, InterruptSource, ResetType, Re= settablePhasesImpl, - SysBusDevice, SysBusDeviceImpl, SysBusDeviceMethods, -}; +use hwcore::prelude::*; use migration::{ self, impl_vmstate_struct, vmstate_fields, vmstate_of, vmstate_subsect= ions, vmstate_validate, VMStateDescription, VMStateDescriptionBuilder, --=20 2.51.1 From nobody Sun Dec 14 06:42:51 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1763365475; cv=none; d=zohomail.com; s=zohoarc; b=lxtg7mZp8MmaW8etJOs9OGwbslKUdD3PgCw2KqaXLKXVGjNImu8fTlfLSM+2Pi/JWJLbMK0QxeDtM/d3o11HFE9qPF9KXrtYebysQs0pL0iboNL9bAasDj3UaYwvxyJFmRl4Q3KK3ur2dw1zfkvPH0quMt5XkcgfSGxnWBHnmMw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763365475; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LYpXvQqc4dVmIfdFRG0SX4W7X90x8XVMn1XK0b+T/Is=; b=hzo88SFarI+eVtojmQANtUFyOolVnYJMtrBsQ5AyLJWHuyB/FmjDgR2ylHHBV6NmqKl67Tp6dtA1sCfd4EJqaQ57eixhphdg9Ewyg85I+1y1PNFbCWfj32dlbUVkZb4yt9F2ekmkl9m+eYgrcQUN+EOzXgP0KRUCFfBUv1Y5NJI= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1763365475538521.5973565627022; Sun, 16 Nov 2025 23:44:35 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vKttj-0003YF-J9; Mon, 17 Nov 2025 02:43:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtt5-0003SN-GS for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:43:00 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtt3-0005w0-4f for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:42:59 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-116-9LQhKDoBOcS-Yc3f0Jm2GA-1; Mon, 17 Nov 2025 02:42:52 -0500 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-47788165c97so22564145e9.0 for ; Sun, 16 Nov 2025 23:42:52 -0800 (PST) Received: from [192.168.10.48] ([176.206.119.13]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47799768409sm123528535e9.3.2025.11.16.23.42.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Nov 2025 23:42:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763365375; 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=LYpXvQqc4dVmIfdFRG0SX4W7X90x8XVMn1XK0b+T/Is=; b=WV4ItDNEq5qonnQYqnKA0fKRmsfJx4aljTeQXyFI0FKa71qhvH7Mj8hNau3/ksTUuIQefQ B35++kolwAAsJtVKZvJz0+nmY/ON6yUgDyBTnluDM2JeU2UlVzG1Fo/1sNh2sDQi/oYqWm FBd9BZEtCMZds+ztASOynffLsehQqa0= X-MC-Unique: 9LQhKDoBOcS-Yc3f0Jm2GA-1 X-Mimecast-MFC-AGG-ID: 9LQhKDoBOcS-Yc3f0Jm2GA_1763365371 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1763365371; x=1763970171; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LYpXvQqc4dVmIfdFRG0SX4W7X90x8XVMn1XK0b+T/Is=; b=YTK9TN17qRTLum5OHddfPaGePoLaValT54Xkh/vd3aeWBEo/v9x8Ix5xbvPXirDWtS n5Hr+NNS03AYbqnO1PlPUvY4ny7G4TBnaS1tnbiI+N4meOGdYTMOTx+1IOaNWHREFNpg zyPoDIPz9HrhMWXEWfB12zgt3SVyiUGkUdx/MRYg6eOyA89bMcu7gKGoMIYp+9gVjcYc CVsywy6nic1GZfzlHbvWIByWUY6xXPJg7gDzZU/PbJlbsTCM5p2scJzWXdLZJ7eWndmC EDQ3MrNT3GBNFfZOuukzCrm10jF6x+y0itnxyaHy5YaExK+VVE2v1o7xXswKq9pYxiau 3OeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763365371; x=1763970171; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=LYpXvQqc4dVmIfdFRG0SX4W7X90x8XVMn1XK0b+T/Is=; b=UhNbZMHys8mS1ckV/N8isiQnTuRsbo35mcdaj1Y7hQNUHR/Yad+fK1+FWTDNFK6d4B 0UBzwY1LArOaTekKuksx9Nah6yAWYEVnXbne2lTTFH6lrc6Lfgk1TFqERGJ0XLB/9/ec Tks5sx7b5dJMn7tIKGoh4WCyZCMkl7geLnUsRQJB6tzOVD7Vo42nT1Qj66KEe8yQBv6a IzpqTwLI/igdMTJrEO2NT22/z2aS7Z/9vJxaSaWfxCCJ/bNVK69NMdEgDZDeL1xpibma azumaEaje/JS1Z2LB8ZYZpv43Y/6U+SRY1i8yG/xHIv8c8szzjuiQM9ZEOqDYGTA4gpK WlGg== X-Gm-Message-State: AOJu0Yxi2ursqztv7y7kIei5g8hOghVSRRFUX+diQyhJ+yO0rqnW58ak 6FI0LefJH9wtNumUtpC+N/U0KYCPhghXflCgR/THw+/yOu98GcHopPIIigtzW8jIgpWWPKk+0ph sadH33Q3wfzaap2qA1ledrfcQWux4ehNg0Y1K/Aiod0avASkJwCCwf0dsAM28lvLrTdUH1C9Co6 lX+tUD5XJE+IXzV6x6AYlwcLG01Kw/xdue2+4q27Pu X-Gm-Gg: ASbGnct/JCh1rlZzaUDMvbfQubeDkO3UwaPKa00i8Ek7IZgGeDnK4Jkx2p97nvAioP6 xeDuBHblyr+Cjz9Gt13xLi3Dpj0ZIiQq/zDwf7KRQrZVSAxpO1eIoe1elCIg76HgVsf0TKLczg0 SFt00+lRPU/RLTb1p4l8DHdZnymbTf09//szLM4CtZX8F92p+S7RW12OAHnjdRB9W9FDR6P+x6m vimpT9M8fHj0L2jYNqUu+70A3TCxjZsL/TiMIQbdjN2tzprrhqwduGEvB1qVEz4pfZbaYufhvWh YkZZ8+7H9RwOe6l3TBQE6iTolqzgZHYKFbdaNCcdsXMr0Hhwuw+1zWt67Ykf51UxeS9icryqo/r Yl/fCL0aHmViB2ntgBjyptTwU67B+mNBnhckalJMSMPlSTkZt5NDLuH7OcG6pD7sCugdQfyOpug k1XJs2 X-Received: by 2002:a05:600c:1f0f:b0:471:1774:3003 with SMTP id 5b1f17b1804b1-4778feb51f6mr97242855e9.29.1763365370657; Sun, 16 Nov 2025 23:42:50 -0800 (PST) X-Google-Smtp-Source: AGHT+IGvfpiujz2PjslU/fzkxoftfg1QXzoLa0wphtavKXdIOKrErzSsZ1Uo4oa3poXjHmecuuDvtA== X-Received: by 2002:a05:600c:1f0f:b0:471:1774:3003 with SMTP id 5b1f17b1804b1-4778feb51f6mr97242645e9.29.1763365370084; Sun, 16 Nov 2025 23:42:50 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org Subject: [PATCH 4/8] migration: add prelude Date: Mon, 17 Nov 2025 08:42:34 +0100 Message-ID: <20251117074239.190424-5-pbonzini@redhat.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117074239.190424-1-pbonzini@redhat.com> References: <20251117074239.190424-1-pbonzini@redhat.com> MIME-Version: 1.0 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=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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.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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1763365477422153000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- rust/chardev/src/prelude.rs | 3 +++ rust/hw/char/pl011/src/device.rs | 5 +---- rust/hw/core/tests/tests.rs | 2 +- rust/hw/timer/hpet/src/device.rs | 5 +---- rust/migration/meson.build | 1 + rust/migration/src/lib.rs | 5 +++++ rust/migration/src/prelude.rs | 19 +++++++++++++++++++ rust/tests/tests/vmstate_tests.rs | 5 ++--- 8 files changed, 33 insertions(+), 12 deletions(-) create mode 100644 rust/chardev/src/prelude.rs create mode 100644 rust/migration/src/prelude.rs diff --git a/rust/chardev/src/prelude.rs b/rust/chardev/src/prelude.rs new file mode 100644 index 00000000000..9f0b561bfab --- /dev/null +++ b/rust/chardev/src/prelude.rs @@ -0,0 +1,3 @@ +//! Essential types and traits intended for blanket imports. + +pub use crate::chardev::{Chardev, CharFrontend, Event}; \ No newline at end of file diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/devi= ce.rs index 164f27d5bb2..2e4ccc9b231 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -8,10 +8,7 @@ use chardev::{CharFrontend, Chardev, Event}; use common::prelude::*; use hwcore::{prelude::*, ClockEvent, IRQState}; -use migration::{ - self, impl_vmstate_forward, impl_vmstate_struct, vmstate_fields, vmsta= te_of, - vmstate_subsections, vmstate_unused, VMStateDescription, VMStateDescri= ptionBuilder, -}; +use migration::{self, prelude::*}; use qom::{prelude::*, ObjectImpl, Owned, ParentField, ParentInit}; use system::{hwaddr, MemoryRegion, MemoryRegionOps, MemoryRegionOpsBuilder= }; use util::prelude::*; diff --git a/rust/hw/core/tests/tests.rs b/rust/hw/core/tests/tests.rs index b39d1501d5b..f38376d0016 100644 --- a/rust/hw/core/tests/tests.rs +++ b/rust/hw/core/tests/tests.rs @@ -6,7 +6,7 @@ =20 use bql::BqlCell; use hwcore::prelude::*; -use migration::{VMStateDescription, VMStateDescriptionBuilder}; +use migration::prelude::*; use qom::{prelude::*, ObjectImpl, ParentField}; use util::bindings::{module_call_init, module_init_type}; =20 diff --git a/rust/hw/timer/hpet/src/device.rs b/rust/hw/timer/hpet/src/devi= ce.rs index 7ab9897cdfb..4ff1779a3d2 100644 --- a/rust/hw/timer/hpet/src/device.rs +++ b/rust/hw/timer/hpet/src/device.rs @@ -13,10 +13,7 @@ use bql::{BqlCell, BqlRefCell}; use common::prelude::*; use hwcore::prelude::*; -use migration::{ - self, impl_vmstate_struct, vmstate_fields, vmstate_of, vmstate_subsect= ions, vmstate_validate, - VMStateDescription, VMStateDescriptionBuilder, -}; +use migration::{self, prelude::*}; use qom::{prelude::*, ObjectImpl, ParentField, ParentInit}; use system::{ bindings::{address_space_memory, address_space_stl_le, hwaddr}, diff --git a/rust/migration/meson.build b/rust/migration/meson.build index 444494700ad..d7af2129490 100644 --- a/rust/migration/meson.build +++ b/rust/migration/meson.build @@ -32,6 +32,7 @@ _migration_rs =3D static_library( 'src/lib.rs', 'src/bindings.rs', 'src/migratable.rs', + 'src/prelude.rs', 'src/vmstate.rs', ], {'.' : _migration_bindings_inc_rs}, diff --git a/rust/migration/src/lib.rs b/rust/migration/src/lib.rs index c9bdf0d4133..32e182e716a 100644 --- a/rust/migration/src/lib.rs +++ b/rust/migration/src/lib.rs @@ -7,5 +7,10 @@ pub mod migratable; pub use migratable::*; =20 +// preserve one-item-per-"use" syntax, it is clearer +// for prelude-like modules +#[rustfmt::skip] +pub mod prelude; + pub mod vmstate; pub use vmstate::*; diff --git a/rust/migration/src/prelude.rs b/rust/migration/src/prelude.rs new file mode 100644 index 00000000000..797e7ec59d1 --- /dev/null +++ b/rust/migration/src/prelude.rs @@ -0,0 +1,19 @@ +//! Essential types and traits intended for blanket imports. + +// Core migration traits and types +pub use crate::vmstate::VMState; +pub use crate::vmstate::VMStateDescription; +pub use crate::vmstate::VMStateDescriptionBuilder; + +// Migratable wrappers +pub use crate::migratable::Migratable; +pub use crate::ToMigrationState; + +// Commonly used macros +pub use crate::impl_vmstate_forward; +pub use crate::impl_vmstate_struct; +pub use crate::vmstate_fields; +pub use crate::vmstate_of; +pub use crate::vmstate_subsections; +pub use crate::vmstate_unused; +pub use crate::vmstate_validate; diff --git a/rust/tests/tests/vmstate_tests.rs b/rust/tests/tests/vmstate_t= ests.rs index fa9bbd6a122..c3f9e1c7436 100644 --- a/rust/tests/tests/vmstate_tests.rs +++ b/rust/tests/tests/vmstate_tests.rs @@ -16,9 +16,8 @@ vmstate_info_bool, vmstate_info_int32, vmstate_info_int64, vmstate= _info_int8, vmstate_info_uint64, vmstate_info_uint8, vmstate_info_unused_buffe= r, VMStateFlags, }, - impl_vmstate_forward, impl_vmstate_struct, - vmstate::{VMStateDescription, VMStateDescriptionBuilder, VMStateField}, - vmstate_fields, vmstate_of, vmstate_unused, vmstate_validate, + prelude::*, + vmstate::VMStateField, }; =20 const FOO_ARRAY_MAX: usize =3D 3; --=20 2.51.1 From nobody Sun Dec 14 06:42:51 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1763365487; cv=none; d=zohomail.com; s=zohoarc; b=e/mkQ+5d+VHqG6OYb0X+6bC8g7jvnCXgONrd7M3zzurfgmiU06LpPzKMg7/esrQ/5Q2+6CuT6gwbzp/pfH3jBR4OcZU6I1CmDWFe5zthsJC3fWCnK6QezySO6FsKR47a13Ru4G5XIOzNwJDxbLkVhtcQjwYBLpQaw1ma/k2iE00= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763365487; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=uQzjTFfWRdSW8gNz8omUuliKS/DL3l6Q/I07/brxsKY=; b=D+3v21BMVRTD2JztLXNsj22NMkUuA2/5eKTyWvCz4Hadrx3tGXVqyznsw7N4NPu5kXSLdCddKc31etrIFEfs/kxMkBweepfVFmPd4Psqta7/tmhuQ8rbZe2xNW8OewyfEqq6i4iYEV8iIvN7RkR9WGJNDoe10/Hn9DhtSH8tGhw= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1763365487416870.4565107131718; Sun, 16 Nov 2025 23:44:47 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vKttl-0003Zv-HO; Mon, 17 Nov 2025 02:43:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtt5-0003SP-Ou for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:43:00 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtt3-0005wE-UL for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:42:59 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-189-1GX3c8V7MHKqSzDV9YcuAw-1; Mon, 17 Nov 2025 02:42:55 -0500 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-42b3ed2c3e3so2825787f8f.1 for ; Sun, 16 Nov 2025 23:42:54 -0800 (PST) Received: from [192.168.10.48] ([176.206.119.13]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42b53e85e6fsm25033505f8f.18.2025.11.16.23.42.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Nov 2025 23:42:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763365376; 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=uQzjTFfWRdSW8gNz8omUuliKS/DL3l6Q/I07/brxsKY=; b=DI4BEUnEXlAobcPyZF59cf5j/6nNs6Aov40vsviAYViR9AOB4pjfFrpE28i/wRsFyVNe3d JzOFYUMUykafZxEBdMPOQ1CaJvWij3Z2Kz0bsqXLVuWc59bycvBqgCHLTgcLI6rF5A7fAO 6isamaHFy1LhtwBXSVqRYnVqng5tr9Y= X-MC-Unique: 1GX3c8V7MHKqSzDV9YcuAw-1 X-Mimecast-MFC-AGG-ID: 1GX3c8V7MHKqSzDV9YcuAw_1763365374 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1763365373; x=1763970173; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uQzjTFfWRdSW8gNz8omUuliKS/DL3l6Q/I07/brxsKY=; b=dE5MJqOflrPRlXEn00Xri8EN3yheaoa8x2me//fgQzBAOD4FqjhAxNlENE0GHnWIPG FZPU9l54DWPNKapYTGUrvY8oJhynjS1C9WQHo/a9BR0kCFPJtXnIj6hPxd3/vu5/sFnt iu54iMQgVEqN4EXdtE9XCoFVGe9eHieYyFGDFrhkohPXMN5/uDL/obYfRt19aB5MjjXb mppULlULlb74E7S/6/QSH+vVLJNdHjOKbuVy5G2PLkBZ1Hg3+dSu12xMcUFd03GLEz/1 IWZko9YGuHzGjMPWl6p6l3xpU0Nc0OVO4/8wBvlGZ9IKK/4BiDYqgefMZI4NKUuQ4DbC K0MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763365373; x=1763970173; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=uQzjTFfWRdSW8gNz8omUuliKS/DL3l6Q/I07/brxsKY=; b=I47TNeDQB+loGVaLPx7Gikj9mJ+rwtaeAM/b4MeZGR3gJqxnEYjX//KubJi3hxMJ0/ uBwxdDYwDCyljd4gLbKD1Jzsr1vnJU7Xe9bjRPYt/1TZjgzeTByZhUyWMvxx8qAfauWn rsP3REhiz3i36kBZwp1EfFt5UgQyvkaOz4jv1TWgskQ5SjajqhoWq2zD6RXjefzGNIdg 6P3I99FVE85G9b5qthJd6/qd7eXWFIWUuQ9F3RTWj1Upa3BNqgf/aZnmIACoxWTXn4Ee ef2Hx5R2TTcFvvWL0voB1Tv/iqbMaNip2D01ufGL8MgjsOv/eiQ/cl8GHWOFIsuV7MzN SuAg== X-Gm-Message-State: AOJu0YzjAu7mKZJ8oI6bvJ7IUkSxkmsOMliZtVtsvGkV5/BLN4LAwXU0 g5y1z98eMDWpIqbaQELHA6mn6j+pw7EFRM/e6hPQg8ZQA8a6oiiS3aCY8CeXFJtffdjHV4Y34vU bFgbwRGkppJkqDCCy0UXrTK+fliq7R3er5H3m0oRCfM8RffhAeIoquWDQBL4TVGJCt/Z3Y0WWud JZobtgN3zMOQIYxDcgQUagFS2WNRvW+2umsIOAh0lt X-Gm-Gg: ASbGnctiopAhLzjChc+NYW0CHoCNd6BYj0edolw5vdvi4dOZK4xS6ipjAX2TWPTEpRN 316PAt/f05KwlTinudxJpQIMWCx8dKjhRw3Qi8YfCRe1BWb6ASsHV14tOXgetPwpnxR2IoH0wUJ pNxgHTp9e7/YSmRj6TAcJaqvqSwBcoUYTAZz4K9y7AkP2xLiYR5c7dbbvtpuUeTst54fC4eH+Lo Bo86C7lEndnGTgOAcICaZv29mhTywb2/qy7oAcE1ESMN80DponE/kKDj8hf36sGpkajIZIQlpCS a8ZPxxXmj9JOFoyc9H3YgxEJKVAyWG8S6XNWlgAxg34k/j5MYCqtYBOHniqpjGbchu25dg2ZJ7n CKzRappiVnnbCx03ermC6hALAp/4LWZZ6y7IKyjeq8Ht+SmBMDk73fuBeycoEOttuLKYJUld+Zl N1ynWG X-Received: by 2002:a05:6000:26c3:b0:42b:5448:7ae8 with SMTP id ffacd0b85a97d-42b59372315mr10909489f8f.29.1763365372771; Sun, 16 Nov 2025 23:42:52 -0800 (PST) X-Google-Smtp-Source: AGHT+IHnIN/NNJVK3bNuBHUK3xJ4h2qsSBtlJJIi+oqggakdn0dlueBMskOY27cwQbEtC5ckGivvQw== X-Received: by 2002:a05:6000:26c3:b0:42b:5448:7ae8 with SMTP id ffacd0b85a97d-42b59372315mr10909469f8f.29.1763365372346; Sun, 16 Nov 2025 23:42:52 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org Subject: [PATCH 5/8] chardev: add prelude Date: Mon, 17 Nov 2025 08:42:35 +0100 Message-ID: <20251117074239.190424-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117074239.190424-1-pbonzini@redhat.com> References: <20251117074239.190424-1-pbonzini@redhat.com> MIME-Version: 1.0 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=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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.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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1763365487930158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- rust/chardev/meson.build | 1 + rust/chardev/src/lib.rs | 5 +++++ rust/chardev/src/prelude.rs | 4 +++- rust/hw/char/pl011/src/device.rs | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/rust/chardev/meson.build b/rust/chardev/meson.build index 36ada7c4546..d89baba8e20 100644 --- a/rust/chardev/meson.build +++ b/rust/chardev/meson.build @@ -30,6 +30,7 @@ _chardev_rs =3D static_library( 'src/lib.rs', 'src/bindings.rs', 'src/chardev.rs', + 'src/prelude.rs', ], {'.': _chardev_bindings_inc_rs} ), diff --git a/rust/chardev/src/lib.rs b/rust/chardev/src/lib.rs index 2e549f99d91..93a28725932 100644 --- a/rust/chardev/src/lib.rs +++ b/rust/chardev/src/lib.rs @@ -4,3 +4,8 @@ =20 mod chardev; pub use chardev::*; + +// preserve one-item-per-"use" syntax, it is clearer +// for prelude-like modules +#[rustfmt::skip] +pub mod prelude; diff --git a/rust/chardev/src/prelude.rs b/rust/chardev/src/prelude.rs index 9f0b561bfab..f949d925399 100644 --- a/rust/chardev/src/prelude.rs +++ b/rust/chardev/src/prelude.rs @@ -1,3 +1,5 @@ //! Essential types and traits intended for blanket imports. =20 -pub use crate::chardev::{Chardev, CharFrontend, Event}; \ No newline at end of file +pub use crate::chardev::Chardev; +pub use crate::chardev::CharFrontend; +pub use crate::chardev::Event; diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/devi= ce.rs index 2e4ccc9b231..ff929e60993 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -5,7 +5,7 @@ use std::{ffi::CStr, mem::size_of}; =20 use bql::BqlRefCell; -use chardev::{CharFrontend, Chardev, Event}; +use chardev::prelude::*; use common::prelude::*; use hwcore::{prelude::*, ClockEvent, IRQState}; use migration::{self, prelude::*}; --=20 2.51.1 From nobody Sun Dec 14 06:42:51 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1763365512; cv=none; d=zohomail.com; s=zohoarc; b=hxwYhUS7E8/Cz5LBSkPMvPcYuIEeNCIDz+NYM3Pb64VXvkTdplOn5JhkEwnH/Ju6SbPlkCIlkv8WnSQBm5Q8G9PnpOE30mzBxY+rjwndXo+77kc0+1bliyOO3fyJhVdk1BigPkS6ELV6aTWDKXJeUoRn1l0mGD/iPgoYZte1VaY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763365512; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=GygTWM71YJQuelKl4+w4JM0b7Dy3UCtb9HIa+5b46AQ=; b=eHAUr5/J3oqrGgZ5rN5CaLLU1KyQPRxZ8AqYEmLmsajguuCuKzVEoJddFvSn5AJJ0fyYT61/6Le0uTcM+dbpuVWrYBUyeiqoLAt5RTbcd2kmGrqkQoOrXpQJ+n6hVQCA1FUVNPRbQU8kbhfw79CkpHNmCaXJ34Re4V3gpLef6i8= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1763365512041127.52441621088974; Sun, 16 Nov 2025 23:45:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vKttl-0003Zl-Cb; Mon, 17 Nov 2025 02:43:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtt8-0003Ss-Jz for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:43:12 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtt6-0005wk-Qz for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:43:02 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-552-BdC8qNT6NQaXRAxETlcRxA-1; Mon, 17 Nov 2025 02:42:57 -0500 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-477212937eeso22063645e9.2 for ; Sun, 16 Nov 2025 23:42:57 -0800 (PST) Received: from [192.168.10.48] ([176.206.119.13]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47787e45677sm297822465e9.8.2025.11.16.23.42.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Nov 2025 23:42:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763365379; 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=GygTWM71YJQuelKl4+w4JM0b7Dy3UCtb9HIa+5b46AQ=; b=F31tPjeqhZbjHS96yrL8pQrvm5sfjK2ww4PI4/QIag2+tSjfmCS7K92pSjpFJ3KEV0fJih 6yAJoS20B0CR94R/rSNDWZbUwaesDFxkeA3zktU5HtccpuDZXQbUVr2r9jtWdqVr77HtuB ItS/0bmsPhq9o8VICKyIWaJEMZdf/bI= X-MC-Unique: BdC8qNT6NQaXRAxETlcRxA-1 X-Mimecast-MFC-AGG-ID: BdC8qNT6NQaXRAxETlcRxA_1763365376 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1763365376; x=1763970176; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GygTWM71YJQuelKl4+w4JM0b7Dy3UCtb9HIa+5b46AQ=; b=dm07HyOKBJS55gIDJp9k2VtE8QsBvhR6wKsl2YZjllFURJYtJ78tsNjcofLnUV1vDM v7rzTqGMWOmcCGAVi5Z/RIMjGZrB44uglYmWYcVWzNe5vYVMEQYGLiTq+CXAOJgtac35 Dwu5ouEzMG/Jl1UizHBYihtoGgV8ge7qR8nLQhlzfzF4bF+nk45otsLUmtjjlLusW8Pc dFo8td3NjtVDqEGl5S1lPZv501PcLI58GstWrOi8U5G+ngWp/mp4zxw1oReveguhiluT eaK/wRXtGl7JOxh1O8cXNjb6EHyuY9+Dm16P4UDp9qVgeZaCL1E3IZnOoKQW2DR4wcg9 eJow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763365376; x=1763970176; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=GygTWM71YJQuelKl4+w4JM0b7Dy3UCtb9HIa+5b46AQ=; b=fZHJsQkbuZ/gPASPQD1sAQ+xSsOS8JNhAkY1VbHzjhRNIx2C/I/GgvwkgH92p/644i GwfKiS8cHos20lqR0HyiS4FpX/vnjTUikMiuxZJCfi2zde+X/yPdBntaMjPwfhEzr3S1 nxUq/SMepSE5m4ffZHH8WE2US7Wlj7+wGyzVtTxEOnEaCUr/L/NEwjnHg5DYr2165gvw fDO+ONxIUqECVF67OWZOBdMaNXOD7kEqzfUTUNJ+lwwV8HvbWsFwRbc1YkxJ6JTh5gTr tAk9SEQOu+qLIXb7NZ5IVxmB3v2E9dWxmp87HoW9R4l3AQVq1l2MjeOvFpu/U61sPvnd JgUg== X-Gm-Message-State: AOJu0Yxylyiu8c6faDNocTkm4fKDLIaqnYct37TFb+XpZprqzbNwc9rm wUBX85KaVEYGW/Zj+c+waDV3btU3K4+7q5QBa+4UHMs4wAk4rehaR879h48/u7Uh+NIp6xVx2JW Vmx3LJaWluJOnIo9MI2JKND86RNB1toiBJFWQ4GZIPn1PdGSwt4i7wgOJthwjBMmSuwNSuKtn0i /LLMXW/HSdnGuWxxYkfloo6c9fGovLAcPAFV6gLR6Y X-Gm-Gg: ASbGncu9VWFBHyDwZrOwnBu0glAPbOAVwWnSBcnI7F+gl8viHRllDk2JzQw1Ivf2oaS fgNSiFu6xbrVETJSYvMmR68h5Va/7hEo67I1LD3IywOWJcEXPDwD9Ce0RjAdmHBWooVwcuk8E2T VQqEOIqPevIH03QvykSpw3WQeqL72d4Q+XbgDT/+wq5/7ml6hgW5xhqm3yL0jn2Uum7bNR6eSi+ WMAOvEnHaTUZwC2crpVpzBfBxoOv//WZRkKGUgJtjufHu4m7ec8qu3obyLMsWuHV1tFLd//R8h8 EelWVL9yoXfaFgDF9qkF1XLZXSAU1/UP+SoFjYY3lnrE4kMWFjWhqaBNaZ+EproOU0C/pl8evo1 HlSMmk0Qs3UF/HnGbvA5lgVGhOaA9wlGF7aWZsTHg2qN1jb84Q/xCo82PFFTwjmRJj6oGWo2Qde JNVoSK X-Received: by 2002:a05:600c:3b12:b0:475:dcbb:7903 with SMTP id 5b1f17b1804b1-4778fe5c87amr102519055e9.9.1763365375640; Sun, 16 Nov 2025 23:42:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IF3TSxkFmvzdmZyZt4ZbpVfA8/q3zkvsVFvxypOHoR9O1h1OuytUVhgHmoptLSTCc11/kbDGw== X-Received: by 2002:a05:600c:3b12:b0:475:dcbb:7903 with SMTP id 5b1f17b1804b1-4778fe5c87amr102518885e9.9.1763365375158; Sun, 16 Nov 2025 23:42:55 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org Subject: [PATCH 6/8] bql: add prelude Date: Mon, 17 Nov 2025 08:42:36 +0100 Message-ID: <20251117074239.190424-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117074239.190424-1-pbonzini@redhat.com> References: <20251117074239.190424-1-pbonzini@redhat.com> MIME-Version: 1.0 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=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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.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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1763365514460158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- rust/bql/meson.build | 1 + rust/bql/src/lib.rs | 5 +++++ rust/bql/src/prelude.rs | 4 ++++ rust/chardev/src/chardev.rs | 2 +- rust/hw/char/pl011/src/device.rs | 2 +- rust/hw/core/tests/tests.rs | 2 +- rust/hw/timer/hpet/src/device.rs | 2 +- rust/migration/src/migratable.rs | 2 +- rust/tests/tests/vmstate_tests.rs | 2 +- 9 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 rust/bql/src/prelude.rs diff --git a/rust/bql/meson.build b/rust/bql/meson.build index 091372dd7b6..90aaadaa6d6 100644 --- a/rust/bql/meson.build +++ b/rust/bql/meson.build @@ -31,6 +31,7 @@ _bql_rs =3D static_library( 'src/lib.rs', 'src/bindings.rs', 'src/cell.rs', + 'src/prelude.rs', ], {'.': _bql_bindings_inc_rs} ), diff --git a/rust/bql/src/lib.rs b/rust/bql/src/lib.rs index ef08221e9c1..d2fea5db1ac 100644 --- a/rust/bql/src/lib.rs +++ b/rust/bql/src/lib.rs @@ -6,6 +6,11 @@ mod cell; pub use cell::*; =20 +// preserve one-item-per-"use" syntax, it is clearer +// for prelude-like modules +#[rustfmt::skip] +pub mod prelude; + /// An internal function that is used by doctests. pub fn start_test() { // SAFETY: integration tests are run with --test-threads=3D1, while diff --git a/rust/bql/src/prelude.rs b/rust/bql/src/prelude.rs new file mode 100644 index 00000000000..42031ec18ab --- /dev/null +++ b/rust/bql/src/prelude.rs @@ -0,0 +1,4 @@ +//! Essential types and traits intended for blanket imports. + +pub use crate::cell::BqlCell; +pub use crate::cell::BqlRefCell; diff --git a/rust/chardev/src/chardev.rs b/rust/chardev/src/chardev.rs index f0b7975dbf7..fb9674b3fb4 100644 --- a/rust/chardev/src/chardev.rs +++ b/rust/chardev/src/chardev.rs @@ -18,7 +18,7 @@ slice, }; =20 -use bql::{BqlRefCell, BqlRefMut}; +use bql::{prelude::*, BqlRefMut}; use common::{callbacks::FnCall, errno, Opaque}; use qom::prelude::*; =20 diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/devi= ce.rs index ff929e60993..be1bdf5ab12 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -4,7 +4,7 @@ =20 use std::{ffi::CStr, mem::size_of}; =20 -use bql::BqlRefCell; +use bql::prelude::*; use chardev::prelude::*; use common::prelude::*; use hwcore::{prelude::*, ClockEvent, IRQState}; diff --git a/rust/hw/core/tests/tests.rs b/rust/hw/core/tests/tests.rs index f38376d0016..e60c9d018f5 100644 --- a/rust/hw/core/tests/tests.rs +++ b/rust/hw/core/tests/tests.rs @@ -4,7 +4,7 @@ =20 use std::{ffi::CStr, ptr::addr_of}; =20 -use bql::BqlCell; +use bql::prelude::*; use hwcore::prelude::*; use migration::prelude::*; use qom::{prelude::*, ObjectImpl, ParentField}; diff --git a/rust/hw/timer/hpet/src/device.rs b/rust/hw/timer/hpet/src/devi= ce.rs index 4ff1779a3d2..b7153a46e31 100644 --- a/rust/hw/timer/hpet/src/device.rs +++ b/rust/hw/timer/hpet/src/device.rs @@ -10,7 +10,7 @@ slice::from_ref, }; =20 -use bql::{BqlCell, BqlRefCell}; +use bql::prelude::*; use common::prelude::*; use hwcore::prelude::*; use migration::{self, prelude::*}; diff --git a/rust/migration/src/migratable.rs b/rust/migration/src/migratab= le.rs index ded6fe8f4a6..ce603867502 100644 --- a/rust/migration/src/migratable.rs +++ b/rust/migration/src/migratable.rs @@ -9,7 +9,7 @@ sync::{Arc, Mutex}, }; =20 -use bql::{BqlCell, BqlRefCell}; +use bql::prelude::*; use common::Zeroable; =20 use crate::{ diff --git a/rust/tests/tests/vmstate_tests.rs b/rust/tests/tests/vmstate_t= ests.rs index c3f9e1c7436..87176a80990 100644 --- a/rust/tests/tests/vmstate_tests.rs +++ b/rust/tests/tests/vmstate_tests.rs @@ -9,7 +9,7 @@ slice, }; =20 -use bql::BqlCell; +use bql::prelude::*; use common::Opaque; use migration::{ bindings::{ --=20 2.51.1 From nobody Sun Dec 14 06:42:51 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1763365463; cv=none; d=zohomail.com; s=zohoarc; b=K7hd0H17OhJoZcQaQL4stYGZHjL1YvupbMQurojjREVsIhhsFHD/0/PyeFQQUwDZqwoKRji8aiofOsAhr7v8btH7axgdm4JxW1ANzU8OQXkndFDTdxIoaZ4Fm5vxxoD5QIzbVGZL4+VRoA1Vo9X4bSGac8p4vhsbeob60R05Vag= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763365463; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=S14Zo44EQMwZqqZohNEqtSrNdlsFQNx9pJq4LX6ET20=; b=nX11X7qY9ihlMKiiYtNVLlun+QpJWf7bAAVCR3iBnvFuwAxIH6sWTmSfHL+ALX2BryEPa45mv6vYLtIl2Jx+4HEyocpmzeXrLxV9u5kYofxP9CnFsA0UF4tp+2Jdo2dh9ESKcMg46/QIN3x2f2ViODttxROU43CU0UkChad4Nrk= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1763365463715838.5055548009783; Sun, 16 Nov 2025 23:44:23 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vKttk-0003Yt-9u; Mon, 17 Nov 2025 02:43:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtt9-0003Su-SN for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:43:12 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKtt7-0005xG-Pd for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:43:03 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-558-FsDHj1t7PEC1xwQza2soFg-1; Mon, 17 Nov 2025 02:42:59 -0500 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4779c35a66bso10498625e9.2 for ; Sun, 16 Nov 2025 23:42:59 -0800 (PST) Received: from [192.168.10.48] ([176.206.119.13]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42b53e85cc0sm25527950f8f.17.2025.11.16.23.42.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Nov 2025 23:42:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763365381; 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=S14Zo44EQMwZqqZohNEqtSrNdlsFQNx9pJq4LX6ET20=; b=BRFsUSaBus5DOTjj2x4qLpypdbjbhcI2ePPFf0+gWLhLi5dVNYZSjhRNAQub4piSaVRXYT b14IFkbeqAoVR/QDp8SiEjp6SNd3jcDJNkG2R/VkIL1CD6ILdJ+kWBKksC+rIE7GNZvsAS utHt3lRx4xoHctJe8U3PB1Acxexomk8= X-MC-Unique: FsDHj1t7PEC1xwQza2soFg-1 X-Mimecast-MFC-AGG-ID: FsDHj1t7PEC1xwQza2soFg_1763365379 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1763365378; x=1763970178; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=S14Zo44EQMwZqqZohNEqtSrNdlsFQNx9pJq4LX6ET20=; b=mAdfQxxG1mlttrDKSk10FcRLFzoobx624adySQNJDIiggRUZFT8EVxa0muowOaUs6v QzxVbzcN2TF0Ytq/7zKY3GuIf37mBrObW5NHeIvYig2C63AlJ4hXYM/u4fvJdAXzDo0j f3Zp8D6/b7iArEq5pBmbjkUvR+CbRkuz1XCLiL5EerBCfe/h3HlwEuBz8lO/V392qcKw WVKt0K6NH/9huShmUGX+jhIjaQqTEFPVrQqQ/UXF6ZbtnPn3GYNo26MlqkLAqJZUEqKI 5Ht7EyzBBiby7uPnBLVPkxN9IYZoaL2SVvXDHHnQHgW0XLcInNr9qWEV00KSaOry82LF 2NiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763365378; x=1763970178; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=S14Zo44EQMwZqqZohNEqtSrNdlsFQNx9pJq4LX6ET20=; b=EDnBIf8HZ2JCn/+19oCktE3HXH/SWu0ms1O9M4Bx2ycjJm1bk75nwEX0qpiT80piTb TzzGFI+ihVdpREh+EQIolT22qRMhSas0Y6BFK+Gy/DtG+bhCrzjhATWJT6TAQRAU2swL qTkEzHQMkPl2Tp/y4dtogxwb/k3gj01fBNAWv/t600CNiDktstf91nj3HZhsjYRTjr2G ni4bAbLqhryqQEIkI3ZiPsDiSI4ENhD3jlf5wk+hUJLzCcunDA8BpRFjsAEi23SosLHr uwacUv2JmOsdhzGbJBexg7jICHAbXmwHy/9AOeN9ahD4Xt4S69OZynDDKP8W6rxdMzmR XFZw== X-Gm-Message-State: AOJu0YybfKHnU2Xye4K9hOwFyoyBhrwWdp3JXzrYOIZdP7/5TwOwCb2B acfQY5DexE5XTvhnlzL8sPkNn0Luy3H+uv3dOsOoZJF2FCHPxGeCTuz8mzy8lJZBITcZBYlDWAI cMrty8JlC6YdoO1pUmjhc7N/ha93liDRm7So79jBvzPKjO4EmGHMwqNq/TDT3EhKSQdQBPohKkb YGLE1WHCh/e1Mdqnmzh2JIl6M5kczpyjQr8u5AMdV5 X-Gm-Gg: ASbGncvx3C19HguPDBjzvhjuKvPCH4QyzwqRRN9ehQbqmU/e+BU+EfEZ9e0hWU0LP+9 7ninvNGu+B7w37OroTt690PYDHJvEnAX1Jah7gPeq7UnGpwGGAZ8EphsPhTntGU46ZBWubaKq2/ dnkl9q562oDj2kImolb6X2JT+f4xzAGQy6eGitQnoLckwso6wtnUs7nxkk0G89xjSJXU7xnv2vt ZwtT3tALwcV35NbOLOLrMCu9onjVCZ1m5/GxRBaImiEGralZnoQQlTcEvV/E0be/sbGyYeADdPj KERcXd0o7fOVJ/HTnTro3YAW7uvf2Z82ZMrNJfMvNKrCaWopeMahQnl0Bd/OXUGADfAKcISG2kY aAg+ID8SiuEmsDfgVh07J4dHIWZhxFF3c1tNNw4egCSJo6Y2GrcyGwFoynA68RvAu8V/c6GZSbt sBYl0R X-Received: by 2002:a05:6000:1849:b0:3e7:45c7:828e with SMTP id ffacd0b85a97d-42b59385bcemr10641346f8f.33.1763365377780; Sun, 16 Nov 2025 23:42:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IE38zZInzdapEkJdUv3e6VVXFW01Gnj8qybY3ivmSyNdEyYireH9aeebVHim+VB9yoQdUAvxA== X-Received: by 2002:a05:6000:1849:b0:3e7:45c7:828e with SMTP id ffacd0b85a97d-42b59385bcemr10641325f8f.33.1763365377306; Sun, 16 Nov 2025 23:42:57 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org Subject: [PATCH 7/8] system: add prelude Date: Mon, 17 Nov 2025 08:42:37 +0100 Message-ID: <20251117074239.190424-8-pbonzini@redhat.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117074239.190424-1-pbonzini@redhat.com> References: <20251117074239.190424-1-pbonzini@redhat.com> MIME-Version: 1.0 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=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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.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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1763365465700158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- rust/hw/char/pl011/src/device.rs | 2 +- rust/hw/timer/hpet/src/device.rs | 5 +++-- rust/system/meson.build | 1 + rust/system/src/lib.rs | 5 +++++ rust/system/src/prelude.rs | 8 ++++++++ 5 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 rust/system/src/prelude.rs diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/devi= ce.rs index be1bdf5ab12..0b1bb2d5a3b 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -10,7 +10,7 @@ use hwcore::{prelude::*, ClockEvent, IRQState}; use migration::{self, prelude::*}; use qom::{prelude::*, ObjectImpl, Owned, ParentField, ParentInit}; -use system::{hwaddr, MemoryRegion, MemoryRegionOps, MemoryRegionOpsBuilder= }; +use system::prelude::*; use util::prelude::*; =20 use crate::registers::{self, Interrupt, RegisterOffset}; diff --git a/rust/hw/timer/hpet/src/device.rs b/rust/hw/timer/hpet/src/devi= ce.rs index b7153a46e31..c5cdb87b073 100644 --- a/rust/hw/timer/hpet/src/device.rs +++ b/rust/hw/timer/hpet/src/device.rs @@ -16,8 +16,9 @@ use migration::{self, prelude::*}; use qom::{prelude::*, ObjectImpl, ParentField, ParentInit}; use system::{ - bindings::{address_space_memory, address_space_stl_le, hwaddr}, - MemoryRegion, MemoryRegionOps, MemoryRegionOpsBuilder, MEMTXATTRS_UNSP= ECIFIED, + bindings::{address_space_memory, address_space_stl_le}, + MEMTXATTRS_UNSPECIFIED, + prelude::*, }; use util::prelude::*; =20 diff --git a/rust/system/meson.build b/rust/system/meson.build index 73d61991146..6624fa6cee5 100644 --- a/rust/system/meson.build +++ b/rust/system/meson.build @@ -30,6 +30,7 @@ _system_rs =3D static_library( 'src/lib.rs', 'src/bindings.rs', 'src/memory.rs', + 'src/prelude.rs', ], {'.': _system_bindings_inc_rs} ), diff --git a/rust/system/src/lib.rs b/rust/system/src/lib.rs index aafe9a866c9..5fb83b65d8d 100644 --- a/rust/system/src/lib.rs +++ b/rust/system/src/lib.rs @@ -4,3 +4,8 @@ =20 mod memory; pub use memory::*; + +// preserve one-item-per-"use" syntax, it is clearer +// for prelude-like modules +#[rustfmt::skip] +pub mod prelude; diff --git a/rust/system/src/prelude.rs b/rust/system/src/prelude.rs new file mode 100644 index 00000000000..2d98524c36e --- /dev/null +++ b/rust/system/src/prelude.rs @@ -0,0 +1,8 @@ +//! Essential types and traits intended for blanket imports. + +// Core memory types +pub use crate::memory::hwaddr; +pub use crate::memory::MemoryRegion; +pub use crate::memory::MemoryRegionOps; +pub use crate::memory::MemoryRegionOpsBuilder; +pub use crate::memory::MemTxAttrs; --=20 2.51.1 From nobody Sun Dec 14 06:42:51 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1763365455; cv=none; d=zohomail.com; s=zohoarc; b=UNo3xzCM+lfD454m2vGqRbZyAt9lvdBIRFV+P2o927DD4fB8C+/zdPBmyXGpK9lrbBJ1Z5ps7T0K3O19yfCbohPuYOaqForKRDtbIXOKgOBPcw596OB8yeGFsfDiAEd2v2iFNutrAScJadDPZ1vg5pXHLUbY9VtEiM2vtevDHfE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763365455; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=th72CWf8N6hC8gTVKCWu4vw/HAFw3p4qEKKo2Ddh4jA=; b=j2MBaLS4+y6keQayX7TW2Yo4T13VIFhZDyyvPGeDH/lbK0SfMTEUsyPIlcGouzi3p7ELTiYmuR7rDVYINaqXMKhOh8FPh0+nDURny1a7e3UySoLbKJ8TGYKAbd7p6N6w0UlN055mC51Vc+fFa2b3Tuaouzs6Bq1RGhgEWp9YgxY= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1763365455706640.2760720409264; Sun, 16 Nov 2025 23:44:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vKttn-0003fM-8d; Mon, 17 Nov 2025 02:43:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKttG-0003TF-2t for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:43:13 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vKttD-0005y8-Vi for qemu-devel@nongnu.org; Mon, 17 Nov 2025 02:43:09 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-487-FDt-3vyEOaWL4jX7bb5Avw-1; Mon, 17 Nov 2025 02:43:02 -0500 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-477632ef599so23480845e9.1 for ; Sun, 16 Nov 2025 23:43:02 -0800 (PST) Received: from [192.168.10.48] ([176.206.119.13]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4779a2892c8sm118404145e9.1.2025.11.16.23.42.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Nov 2025 23:42:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763365386; 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=th72CWf8N6hC8gTVKCWu4vw/HAFw3p4qEKKo2Ddh4jA=; b=NGYbvWhCsAI9L0jKQ6SaEmwKycpNYcKkH/ZNTAyk8ncx1nwKGMIdDp2tZtasr3whzvLMS/ ZcfALIF1OENnc+7kABmo5uCpV5VnHzEV8nydXRN99S1a/Vk3WOHSEjTCXe1O0IVMSiWVbj ryPz14mpDVdOVecgn9m9y5DJixuMlPk= X-MC-Unique: FDt-3vyEOaWL4jX7bb5Avw-1 X-Mimecast-MFC-AGG-ID: FDt-3vyEOaWL4jX7bb5Avw_1763365381 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1763365380; x=1763970180; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=th72CWf8N6hC8gTVKCWu4vw/HAFw3p4qEKKo2Ddh4jA=; b=pYsJ0ddx2CSBD7vaBSBhi2HGRC89OVoNdOSxY/4LbQFg9yhEidYLvQzEGWK5X0KMFm jteEP7N6Ic6MV8NBkTsclubvKLxu4gmYIH/XboTkmVToV8vWGHkTSTz9vK4p0QTZQ/KA emGLhM3ykhoGtZCMDJSp95ZJHnoZSzqZ5gSvBiW186NfrAC7dCrTobLZ4vHjPPGwbtJi B9ZOqXaOYRrVRtN+Fgopwedzl8/Ak13YU6ZbjvmPLMgjhZDNkso0LNOawzuyUvT2R3rv r0IHXeNGDeOt4bmfYIYfp2jYSmhV41trhLtK6S/8vjvlNEzMtLiO5hn2KNQq/h8EsUV/ ltoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763365380; x=1763970180; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=th72CWf8N6hC8gTVKCWu4vw/HAFw3p4qEKKo2Ddh4jA=; b=Kyauu49LMQFBgT7lJIGDOlYw325O2XQfZSG7G9Kwhm/X9Cm7jCfQwT3KQYtzTSahvy 1MHTTUfs83ksGjEB37vPIXFzaBrajAoqUYZ2lDSa+WJRaXYUr0qp2omsmsC2E0j7unFK 858J4Cy7wVxOddHYy2wlItBvCMsCOffIqivhUrZoYhf9G6FVm+7YKrAqFBTZZW883krN /dbUVdq2U+H+05W5kpuL9pQ5GJHVL4qo09SQhRNCxyxPE+1OYzAGiuGcw/Kpua27Z/qS pIn/eilueile3KlGtNY4Zok0uFFtpMklwp+A7FzHdE22fzLhmIXjlgyv65Sp+7qpQpyw uaRA== X-Gm-Message-State: AOJu0YwRG6Z/JELyG2wSN95V74ShA9sY0LfeS4T/tBZ4Rm7oOEygZZ4V 8Os8MVL3+JK4iMObZamz13ARxLurv4Ug1KO2PGqEfrOTBjXG9DVK9QIbK1cJf/sIdo0caVxRvbI VGHfgvEgzMX+vadMvKcFcxKU9I2sC86CMKGNH+2SqBMHrQV4vuH58U43TtD6mc1Mxz0trsYUfQP 5knHPZpaiR8vzgZLOgwBf8Ic7yYRmgmPq2AvRhcXGC X-Gm-Gg: ASbGncsY3My1+E6hh8afC3IO2STl4tQIt7A6gkiC8IZSYrpEDOCQQGIOUTyXNC6rAt4 p5r5Izz9Hmt9bFZa94Dcfo8370nnkaAa+NiF8anwONrLAQQcA8ckA5ValkzVFC6TTgXnUEsugew rDBNDkVXgbVWRXX8IXZO00DWqqlzcrLVpFc84wTtKhYQWvo17Z6gaot7kg7zAQyhWcqVEM1Zso5 Js0Z1XUnqWTECnwyMczZiu+32QNcu0iSAnj3CSNRNUmJV+Z3mDmlgU8S71Lv1mJS29KkRAl1WMi D4z/VY/YAZai24nVMrwaTgKNvjL6SMtcUNSMgOQ6Iw+luSVJPdDLzYTpeIFI0hNAyEfll32O/7h EAUehNBg86z6iF95aB+bSRCKsObAdpiKEBNvJUONGdbd+G8LdpsBVQOwzD5c0LPgEYBOTc31GI7 nwGUlW X-Received: by 2002:a05:600c:1547:b0:45d:5c71:769d with SMTP id 5b1f17b1804b1-4778fd89eafmr113038945e9.8.1763365380368; Sun, 16 Nov 2025 23:43:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IGpIl9xgDLkE383VAJ9ZhNOQsCX3Cwn09ubA5rCFcrH2yDYcieS1UXdz18gOFmU8/QqqozFiw== X-Received: by 2002:a05:600c:1547:b0:45d:5c71:769d with SMTP id 5b1f17b1804b1-4778fd89eafmr113038675e9.8.1763365379878; Sun, 16 Nov 2025 23:42:59 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org Subject: [PATCH 8/8] qom: add more to the prelude Date: Mon, 17 Nov 2025 08:42:38 +0100 Message-ID: <20251117074239.190424-9-pbonzini@redhat.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117074239.190424-1-pbonzini@redhat.com> References: <20251117074239.190424-1-pbonzini@redhat.com> MIME-Version: 1.0 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=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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.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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1763365457221153000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- rust/hw/char/pl011/src/device.rs | 2 +- rust/hw/core/src/qdev.rs | 2 +- rust/hw/core/src/sysbus.rs | 2 +- rust/hw/core/tests/tests.rs | 2 +- rust/hw/timer/hpet/src/device.rs | 2 +- rust/qom/src/prelude.rs | 4 ++++ 6 files changed, 9 insertions(+), 5 deletions(-) diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/devi= ce.rs index 0b1bb2d5a3b..9f5c4a34df0 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -9,7 +9,7 @@ use common::prelude::*; use hwcore::{prelude::*, ClockEvent, IRQState}; use migration::{self, prelude::*}; -use qom::{prelude::*, ObjectImpl, Owned, ParentField, ParentInit}; +use qom::prelude::*; use system::prelude::*; use util::prelude::*; =20 diff --git a/rust/hw/core/src/qdev.rs b/rust/hw/core/src/qdev.rs index 4e983da28b7..32370319871 100644 --- a/rust/hw/core/src/qdev.rs +++ b/rust/hw/core/src/qdev.rs @@ -12,7 +12,7 @@ use chardev::Chardev; use common::{callbacks::FnCall, Opaque}; use migration::{impl_vmstate_c_struct, VMStateDescription}; -use qom::{prelude::*, ObjectClass, ObjectImpl, Owned, ParentInit}; +use qom::{prelude::*, ObjectClass}; use util::{Error, Result}; =20 pub use crate::bindings::{ClockEvent, DeviceClass, Property, ResetType}; diff --git a/rust/hw/core/src/sysbus.rs b/rust/hw/core/src/sysbus.rs index 68165e89295..c7acf214559 100644 --- a/rust/hw/core/src/sysbus.rs +++ b/rust/hw/core/src/sysbus.rs @@ -8,7 +8,7 @@ =20 pub use bindings::SysBusDeviceClass; use common::Opaque; -use qom::{prelude::*, Owned}; +use qom::prelude::*; use system::MemoryRegion; use util::{Error, Result}; =20 diff --git a/rust/hw/core/tests/tests.rs b/rust/hw/core/tests/tests.rs index e60c9d018f5..115dd7a860d 100644 --- a/rust/hw/core/tests/tests.rs +++ b/rust/hw/core/tests/tests.rs @@ -7,7 +7,7 @@ use bql::prelude::*; use hwcore::prelude::*; use migration::prelude::*; -use qom::{prelude::*, ObjectImpl, ParentField}; +use qom::prelude::*; use util::bindings::{module_call_init, module_init_type}; =20 // Test that macros can compile. diff --git a/rust/hw/timer/hpet/src/device.rs b/rust/hw/timer/hpet/src/devi= ce.rs index c5cdb87b073..c82b27ddf15 100644 --- a/rust/hw/timer/hpet/src/device.rs +++ b/rust/hw/timer/hpet/src/device.rs @@ -14,7 +14,7 @@ use common::prelude::*; use hwcore::prelude::*; use migration::{self, prelude::*}; -use qom::{prelude::*, ObjectImpl, ParentField, ParentInit}; +use qom::prelude::*; use system::{ bindings::{address_space_memory, address_space_stl_le}, MEMTXATTRS_UNSPECIFIED, diff --git a/rust/qom/src/prelude.rs b/rust/qom/src/prelude.rs index 00a60959771..6a1ecaef2a7 100644 --- a/rust/qom/src/prelude.rs +++ b/rust/qom/src/prelude.rs @@ -6,7 +6,11 @@ pub use crate::qom::ObjectCast; pub use crate::qom::ObjectClassMethods; pub use crate::qom::ObjectDeref; +pub use crate::qom::ObjectImpl; pub use crate::qom::ObjectMethods; pub use crate::qom::ObjectType; +pub use crate::qom::Owned; +pub use crate::qom::ParentField; +pub use crate::qom::ParentInit; =20 pub use crate::qom_isa; --=20 2.51.1