[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 4/5] xen/arm: scmi: introduce SCI SCMI SMC multi-agent driver



On Tue, 13 Jan 2026, Oleksii Moisieiev wrote:
> >> chosen {
> >>    ranges;
> >>    xen,config {
> > Q: [Stefano] The node name could be xen-config, but it doesn't matter
> > because we
> > should check for the compatible string instead (no check on node name).
> >
> > We need to add a compatible string here, I would use "xen,scmi":
> >
> >     compatible = "xen,scmi";
> >
> >
> > A: [OM] this is a great finding. After looking into hyperlauch code I
> > see the following implementation:
> >
> >
> > config {
> >         compatible = "xen,config";
> >     ...
> > };
> >
> > I was thinking about changing current approach to have the following
> > format:
> >
> > config {
> >         compatible = "xen,config";
> >     ...
> >     scmi_config {
> >         compatible = "xen,sci"; <-- more generic compatible string
> > than "xen,scmi"
> >         scmi-secondary-agents = <
> >                   0x82000003 &scmi_shm_0 0
> >                   0x82000004 &scmi_shm_2 2
> >                   ...>;
> >                 #scmi-secondary-agents-cells = <3>; <--- optional,
> > default 3
> >                 scmi_shm_0 : sram@47ff0000 {
> >                 compatible = "arm,scmi-shmem";
> >                 reg = <0x0 0x47ff0000 0x0 0x1000>;
> >             };
> >
> >         scmi_shm_2: sram@47ff2000 {
> >                     compatible = "arm,scmi-shmem";
> >                    reg = <0x0 0x47ff2000 0x0 0x1000>;
> >             };
> >             scmi_xen: scmi {
> >                 compatible = "arm,scmi-smc";
> >                 arm,smc-id = <0x82000002>; <--- Xen manegement agent
> > smc-id
> >                 #address-cells = < 1>;
> >                 #size-cells = < 0>;
> >                 #access-controller-cells = < 1>;
> >                 shmem = <&scmi_shm_1>; <--- Xen manegement agent shmem
> >             };
> >     };
> >     ...
> > };
> >
> > and update scmi-multiagent driver to match "xen,sci" compatible and
> > process all subnodes during probe.
> > What do you think about this approach?

Yes I think that's better.  To be precise this would be the DT nodes
hierarchy:

chosen {

    xen {
        compatible = "xen,hypervisor"; // I would rather use an even more 
generic compatible string
        bootargs = ""; // since we are introducing this node we can use it for 
Xen bootargs

        scmi {
            compatible = "xen,sci";
        }
    };

    domU0@address {
    };

    domU1@address {
    };
};

I would start by adding a patch for
docs/misc/arm/device-tree/booting.txt to add the new nodes.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.