Skip to content

[feat] support shm simplex inter-VM communication channel #166

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from
Draft

Conversation

hky1999
Copy link
Contributor

@hky1999 hky1999 commented Jun 10, 2025

A simple simplex share memory based Inter-VM communication channel based on the publisher-subscriber model

  • An IVCChannel is uniquely indexed by the publisher VM ID and key

  • features

    • Each VM can register multiple IVC publisher channels
    • Each publisher channel can be subscribed by multiple subscribers
    • Subscribers need to use the publisher VM id and key to subscribe to the channel
  • demos

    • Linux publisher
      • Currently, when you install axvisor.ko in Linux, it will register a publish channel by default (with its VM id + 0xdeadbeef as key).
      • refer to the axivc_publish.c for how to publish msg to channel from Linux.
    • Linux subscriber
      • Currently, axvisor.ko WILL NOT subscribe to any channel, in fact, it is done by a ioctl syscall from user process.
      • refer to the axivc_subscribe.c for how to subcribe to a channel with the given publisher id and channel key.
    • ArceOS publisher
  • 🚧Work in progress

    • aarch64 only
    • When the publisher unpublishes a IVCChannel, it DOES NOT check if there is still any subscriber consuming it (It may cause a EPT Page fault).

See test-axvisor-ivc for details, it provides a example about ArceOS publishing msgs to IVCChannel, and a client process from Linux subscribing to it.

@hky1999 hky1999 changed the title [feat] support simplex inter-VM communication channel [feat] support shm simplex inter-VM communication channel Jun 10, 2025
@hky1999
Copy link
Contributor Author

hky1999 commented Jun 15, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant