On Thu, Jul 16, 2026 at 08:15:42AM +0530, Rahul Pathak wrote:
> On Tue, Jul 14, 2026 at 10:49 PM Charles Perry
> <[email protected]> wrote:
> >
> > On Thu, Jul 09, 2026 at 11:26:01PM +0530, Rahul Pathak wrote:
> > > This patch series adds a generic SBI MPXY extension
> > > implementation which provides an interface to interact
> > > with platform via supported message protocol (eg. RPMI)
> > >
> > > It also adds a mpxy command which uses the generic
> > > SBI MPXY interface and provides cli support to
> > > interact with supported message protocol. Currently
> > > it supports RISC-V RPMI message protocol.
> >
> > Hello Rahul,
> >
> > I'm happy to see that you're interested in RPMI support in U-Boot.
> >
> > Can you share with us the context in which you developed those patches?
> > i.e., what hardware are you using and how is the "mpxy" command used.
> >
> > Is "mpxy" mostly just for debugging or is it expected that a bootscript
> > would initialize the platform with calls to "mpxy"?
> >
> Hi Charles,
> 
> I have used QEMU RISC-V Virt platform (with OpenSBI + librpmi
> providing the RPMI firmware side) for its development, and in terms of
> use cases its both actually which you outlined - debugging and
> configuration.
> 
> Debugging is the pretty obvious usecase where mpxy command allows
> anyone to access message protocol in case of RPMI, it lets you
> access any custom service group implemented without changing u-boot.
> 
> Boot time tweaking of any attribute or any platform state changes via
> scripts is also possible as you mentioned. The configuration can be
> board specific and expressed in uboot environment scripts instead of
> compiled in driver code.

Most people will want the later, i.e. compiled code.

That doesn't mean you need to modify all the drivers being used on your
machine because U-Boot already has an abstraction layers for clocks,
power-domains, resets, and other which are relevant to RPMI.

If you make a driver that implements the clock, power-domain, etc. API and
implement it so that it delegates to RPMI, you can leverage the existing
drivers and you don't have to add "mpxy" commands to your bootscript. Need
to use the network? you call "tftpboot" which calls your network device
driver which calls your clock driver which calls your RPMI driver. Need to
use the NOR? you call "mtd" and the same magic happens.

I posted an implementation of this, please have a look at it:

https://lore.kernel.org/all/[email protected]/

If you want, we can combine our two patchsets into something that takes
the best of both.

I can take your patch that adds the "mpxy" command and add it to my
patchset with a few adjustments.

Thanks,
Charles

Reply via email to