From: "Alex Bennée" <alex.bennee@linaro.org>
To: "Alano Song" <alanosong@163.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"Jonathan Cameron" <jonathan.cameron@huawei.com>,
"peter.maydell@linaro.org" <peter.maydell@linaro.org>,
Joel Stanley <joel@jms.id.au>, Chris Rauer <crauer@google.com>
Subject: Re: Question about qemu patch
Date: Thu, 08 Jan 2026 12:47:43 +0000 [thread overview]
Message-ID: <878qe89spc.fsf@draig.linaro.org> (raw)
In-Reply-To: <331af4b3.96f0.19b9d487bf4.Coremail.alanosong@163.com> (Alano Song's message of "Thu, 8 Jan 2026 19:05:31 +0800 (CST)")
"Alano Song" <alanosong@163.com> writes:
> Hi all,
>
> I am writing to share a patch and ask for some advice.
>
> I noticed there is no DesignWare I2C controller model in QEMU,
> so I have attempted to add it:
> https://lore.kernel.org/qemu-devel/20260106131253.16192-1-AlanoSong@163.com/
>
> I have a couple of questions regarding the patch:
>
> 1) Is it acceptable to submit the I2C controller model by itself,
> without instantiating it on any specific machine board?
The problem with this approach is the code can very easily bitrot if it
is not exercised by anything. We also tend to cull code that isn't used
(for example if the old machine model was removed and we didn't notice
at the time it was the only user of a device).
> Users who need it could then add it to their own machine models.
There is a long term aspiration to support dynamic machine models so
they can be defined with some sort of Domain Specific Language (DSL).
Until we reach that state we can only support devices used by machine
models in the upstream.
> 1.1) If it is required to instantiate the new model on a machine board,
> which board would you recommend for this purpose?
>
> Patch reviewer remained me, that the arm/virt board is a main model used.
> And I don't want make troubles on such important model.
virt is a poor choice for as it is the main platform for virtualisation
so adding extra devices just increases the potential surface area for
security exploits.
Ideally you would find a real machine that uses the IP and model that
board. Looking at Zephyr it doesn't look like there are any existing
QEMU models missing it:
https://docs.zephyrproject.org/latest/boards/index.html#show-shields=false&compatibles=snps%2Cdesignware-i2c
>
> 2) Coincidentally, I found that Joel Stanley is doing the same work,HAHA :)
> https://lore.kernel.org/qemu-devel/20260106055658.209029-12-joel@jms.id.au/
>
> What should I do next, may be we can work together to submit such
> model ?
I would contact Joel/Chris (cc'd) and collaborate on getting the best of
both patches. It looks like the patch is part of a larger series that
ads a new machine which solves one of the problems.
>
> Best Regards,
> Alano Song.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
prev parent reply other threads:[~2026-01-08 12:49 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-08 11:05 Question about qemu patch Alano Song
2026-01-08 12:47 ` Alex Bennée [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=878qe89spc.fsf@draig.linaro.org \
--to=alex.bennee@linaro.org \
--cc=alanosong@163.com \
--cc=crauer@google.com \
--cc=joel@jms.id.au \
--cc=jonathan.cameron@huawei.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.