qemu-rust.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Chen Miao" <chenmiao@openatom.club>
To: "Paolo Bonzini" <pbonzini@redhat.com>
Cc: <zhao1.liu@intel.com>, <manos.pitsidianakis@linaro.org>,
	 <richard.henderson@linaro.org>, <philmd@linaro.org>,
	 <chao.liu@openatom.club>, <qemu-rust@nongnu.org>,
	 <qemu-devel@nongnu.org>,
	<hust-os-kernel-patches@googlegroups.com>
Subject: Re: [RFC PATCH v2 0/5] rust/hw: Add the I2C and the first GPIO device
Date: Wed, 26 Nov 2025 09:31:50 +0800	[thread overview]
Message-ID: <10c40d33-39ab-4078-8ef5-ccd31a7a1982@openatom.club> (raw)
In-Reply-To: <CABgObfap3WcggLUkRh5u6i44fA9krrmr4ufJj8M6tdVy-FQH7A@mail.gmail.com>

On 11/25/2025 6:47 PM, Paolo Bonzini wrote:
> On Tue, Oct 28, 2025 at 11:18 AM chenmiao <chenmiao@openatom.club> wrote:
>> We have implemented I2C and the first GPIO device in Rust for QEMU.
>> Additionally, in the respective patches, we have shared our insights and
>> experiences regarding the use of Rust for device modeling within QEMU.
>>
>> 1. The first patch implements the BusState for the I2CBus infrastructure.
>> 2. The second patch implements the I2CBus and I2CSlave infrastructure, along
>>     with a discussion of the challenges encountered during the implementation.
>> 3. The third patch moves the struct definition of the PCF8574 to the
>>     corresponding header file.
>> 4. The fourth patch provides a set of necessary helper functions for the PCF8574
>>     GPIO device.
>> 5. The fifth patch implements the PCF8574 GPIO device, along with a discussion
>>     of the issues and considerations addressed during the implementation.
>>
>> Regarding this series of patches, we have found that Rust for QEMU is indeed
>> still not mature enough and requires continuous iteration. Additionally, the
>> lack of basic documentation also needs to be addressed. In this regard, I hope
>> our team(HUST OpenAtom Open Source Club) can contribute to the documentation
>> efforts for Rust for QEMU.
>>
>> Link: https://groups.google.com/g/hust-os-kernel-patches/c/z7vHWg3xvDc
>>
>> Signed-off-by: Chao Liu <chao.liu@openatom.club>
>> Signed-off-by: Chen Miao <chenmiao@openatom.club>
> Hi! Are you going to send v3?
>
> Thanks,
>
> Paolo

Hello,

I've been a bit busy lately, but I believe we will complete V3 and send it out 
before mid-December.

Regards,

Chen Miao

>
>> ---
>> Changes in V2:
>>    - According to Zhao's suggestions, some modifications were made to the first
>>      and second patches respectively, such as changing some bus names, adding
>>      some Safety comments, and adding callbacks for I2CSlave.
>>    - While we were making changes to the first PATCH, Chao Liu pointed out that
>>      the realize function was unnecessary in the bus. After discussion, we
>>      removed the bus::realize function. Since no other components are currently
>>      using the bus, we added a TODO comment for clarification.
>>
>> chenmiao (5):
>>    rust/hw/core: Add the BusState of rust version
>>    rust/hw/core: Add rust bindings/funcs for i2c bus
>>    hw/gpio: Move the pcf8574 struct to header
>>    rust/hw/core: Provide some interfaces for the GPIO device
>>    rust/hw/gpio: Add the the first gpio device pcf8574
>>
>>   hw/gpio/Kconfig                      |   5 +
>>   hw/gpio/meson.build                  |   2 +-
>>   hw/gpio/pcf8574.c                    |  32 --
>>   include/hw/gpio/pcf8574.h            |  36 +++
>>   rust/Cargo.lock                      |  21 +-
>>   rust/Cargo.toml                      |   1 +
>>   rust/hw/Kconfig                      |   1 +
>>   rust/hw/core/meson.build             |   2 +
>>   rust/hw/core/src/bus.rs              |  44 +++
>>   rust/hw/core/src/i2c.rs              | 421 +++++++++++++++++++++++++++
>>   rust/hw/core/src/irq.rs              |   6 +-
>>   rust/hw/core/src/lib.rs              |   6 +
>>   rust/hw/core/src/qdev.rs             |  12 +-
>>   rust/hw/core/wrapper.h               |   1 +
>>   rust/hw/gpio/Kconfig                 |   2 +
>>   rust/hw/gpio/meson.build             |   1 +
>>   rust/hw/gpio/pcf8574/Cargo.toml      |  31 ++
>>   rust/hw/gpio/pcf8574/build.rs        |   1 +
>>   rust/hw/gpio/pcf8574/meson.build     |  50 ++++
>>   rust/hw/gpio/pcf8574/src/bindings.rs |  29 ++
>>   rust/hw/gpio/pcf8574/src/device.rs   | 180 ++++++++++++
>>   rust/hw/gpio/pcf8574/src/lib.rs      |   4 +
>>   rust/hw/gpio/pcf8574/wrapper.h       |  51 ++++
>>   rust/hw/meson.build                  |   1 +
>>   24 files changed, 902 insertions(+), 38 deletions(-)
>>   create mode 100644 rust/hw/core/src/bus.rs
>>   create mode 100644 rust/hw/core/src/i2c.rs
>>   create mode 100644 rust/hw/gpio/Kconfig
>>   create mode 100644 rust/hw/gpio/meson.build
>>   create mode 100644 rust/hw/gpio/pcf8574/Cargo.toml
>>   create mode 120000 rust/hw/gpio/pcf8574/build.rs
>>   create mode 100644 rust/hw/gpio/pcf8574/meson.build
>>   create mode 100644 rust/hw/gpio/pcf8574/src/bindings.rs
>>   create mode 100644 rust/hw/gpio/pcf8574/src/device.rs
>>   create mode 100644 rust/hw/gpio/pcf8574/src/lib.rs
>>   create mode 100644 rust/hw/gpio/pcf8574/wrapper.h
>>
>> --
>> 2.43.0
>>


      reply	other threads:[~2025-11-26  1:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-28 10:18 [RFC PATCH v2 0/5] rust/hw: Add the I2C and the first GPIO device chenmiao
2025-11-25 10:47 ` Paolo Bonzini
2025-11-26  1:31   ` Chen Miao [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=10c40d33-39ab-4078-8ef5-ccd31a7a1982@openatom.club \
    --to=chenmiao@openatom.club \
    --cc=chao.liu@openatom.club \
    --cc=hust-os-kernel-patches@googlegroups.com \
    --cc=manos.pitsidianakis@linaro.org \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-rust@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=zhao1.liu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).