[PATCH v4 3/3] sbi_utils: mpxy: add FDT-based MPXY bridge driver
Rahul Pathak
rahul.pathak at oss.qualcomm.com
Thu Sep 17 02:19:45 PDT 2026
On Fri, Sep 11, 2026 at 2:39 AM Pawandeep Oza
<pawandeep.oza at oss.qualcomm.com> wrote:
>
> From: Oza Pawandeep <pawandeep.oza at oss.qualcomm.com>
>
> Introduce an FDT-configured MPXY bridge driver that enables
> cooperative message passing between two SBI domains sharing the
> same physical hart via domain context switching.
>
> MPXY channels are registered at runtime when the named domains
> appear via the domain registration notifier:
>
> - src_ch: used by the source domain to send messages
> - dst_ch: used by the destination domain to retrieve and
> complete forwarded messages via RPMI REQFWD service group
>
> Key design points:
> - bridge_slot_put(): implements sbi_mpxy_send_message_without_response
> stores message pointer and switches to destination domain
> - bridge_src_send(): mplements sbi_mpxy_send_message_with_response
> stores message and response buffer context then switches to destination
> - bridge_dst_retrieve(): REQFWD retrieve path — if slot is
> occupied delivers message immediately, otherwise saves
> response buffer context and yields to source domain to wait
> - bridge_switch_domain(): unified domain switch wrapper —
> enters destination domain from source side or exits back
> to source domain from destination side
> - at present this bridge driver supports domains with same possible_harts.
>
> Signed-off-by: Oza Pawandeep <pawandeep.oza at oss.qualcomm.com>
> ---
> lib/utils/mpxy/Kconfig | 4 +
> lib/utils/mpxy/fdt_mpxy_bridge.c | 820 +++++++++++++++++++++++++++++
> lib/utils/mpxy/objects.mk | 3 +
> platform/generic/configs/defconfig | 2 +
> 4 files changed, 829 insertions(+)
> create mode 100644 lib/utils/mpxy/fdt_mpxy_bridge.c
>
> diff --git a/lib/utils/mpxy/Kconfig b/lib/utils/mpxy/Kconfig
> index a3ed1c22..017a6b06 100644
> --- a/lib/utils/mpxy/Kconfig
> +++ b/lib/utils/mpxy/Kconfig
> @@ -7,6 +7,10 @@ config FDT_MPXY
> depends on FDT
> default n
>
> +config FDT_MPXY_BRIDGE
It should also depend on the FDT_MPXY
> + bool "MPXY bridge driver for interdomina communication"
> + default n
> +
> config FDT_MPXY_RPMI_MBOX
> bool "MPXY drivers as RPMI mailbox client"
> depends on FDT_MAILBOX && FDT_MPXY
> diff --git a/lib/utils/mpxy/fdt_mpxy_bridge.c b/lib/utils/mpxy/fdt_mpxy_bridge.c
> new file mode 100644
> index 00000000..578dc9b0
> --- /dev/null
> +++ b/lib/utils/mpxy/fdt_mpxy_bridge.c
> @@ -0,0 +1,820 @@
> +/*
> + * SPDX-License-Identifier: BSD-2-Clause
> + *
> + * Copyright (c) 2026 Qualcomm, Inc
> + *
> + * Authors:
> + * Pawandeep Oza <pawandeep.oza at oss.qualcomm.com>
> + */
>
More information about the opensbi
mailing list