Skip to content

Conversation

@joaopeixoto13
Copy link
Member

No description provided.

@joaopeixoto13 joaopeixoto13 added the enhancement New feature or request label Dec 2, 2025
Copy link
Member

@DavidMCerdeira DavidMCerdeira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my review I realized there are several aspects of the implementation that might not be following Linux kernel programming best practices, though I've only read through the first 2 commits, and did not even finished the second one.

We should go over each function, particularly those that implement the user/kernel interface and validate that it's following the typical programming model/behavior.

@DavidMCerdeira DavidMCerdeira self-assigned this Dec 3, 2025
@joaopeixoto13 joaopeixoto13 force-pushed the virt/bao branch 2 times, most recently from bc2e1de to e564d15 Compare December 5, 2025 14:45
@DavidMCerdeira DavidMCerdeira self-requested a review December 16, 2025 17:00
@joaopeixoto13
Copy link
Member Author

@DavidMCerdeira I’ve just resolved all the issues mentioned. When you have some time, please review the remaining files.

Copy link
Member

@DavidMCerdeira DavidMCerdeira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.
Obviously I did not minutely analyzed every line of code, but the code seems to be well structure and well written.
It's worth to consider my null ptr check point from a stability point of view, but otherwise I say it's ready for sending the patch to the mailing list
Let me know your thoughts

@joaopeixoto13 joaopeixoto13 force-pushed the virt/bao branch 3 times, most recently from d1c0273 to 39df5b9 Compare December 23, 2025 10:27
@joaopeixoto13
Copy link
Member Author

Looks good to me. Obviously I did not minutely analyzed every line of code, but the code seems to be well structure and well written. It's worth to consider my null ptr check point from a stability point of view, but otherwise I say it's ready for sending the patch to the mailing list Let me know your thoughts

I’ve just fixed all those issues. I think it’s now ready for upstreaming!

Songwei Chai and others added 3 commits December 26, 2025 16:38
Enhance the coccicheck script to filter *.cocci files based on the
specified MODE (e.g., report, patch). This ensures that only compatible
semantic patch files are executed, preventing errors such as:

    "virtual rule report not supported"

This error occurs when a .cocci file does not define a 'virtual <MODE>'
rule, yet is executed in that mode.

For example:

    make coccicheck M=drivers/hwtracing/coresight/ MODE=report

In this case, running "secs_to_jiffies.cocci" would trigger the error
because it lacks support for 'report' mode. With this change, such files
are skipped automatically, improving robustness and developer
experience.

Signed-off-by: Songwei Chai <quic_songchai@quicinc.com>
Reviewed-by: Julia Lawall <Julia.Lawall@inria.fr>
s/Unecessary/Unnecessary/

Reviewed-by: Julia Lawall <julia.lawall@inria.fr>
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
@joaopeixoto13 joaopeixoto13 force-pushed the virt/bao branch 4 times, most recently from dd96388 to 2a89f3b Compare December 30, 2025 09:17
João Peixoto added 6 commits January 7, 2026 10:37
This patch introduces a device tree binding for the Bao IPC Shared Memory
device, which enables communication between Bao hypervisor guests through
dedicated shared-memory regions.

Signed-off-by: João Peixoto <joaopeixoto@osyx.tech>
This driver provides an interface for guests running on the Bao
hypervisor to communicate with each other through shared-memory
channels. Each guest is assigned a dedicated read and write region
defined in the device tree.

Userspace can access these regions via standard read/write/mmap
operations. Writes to the write region trigger a hypervisor
notification through an architecture-specific hypercall
(HVC on ARM, SBI ecall on RISC-V).

Signed-off-by: João Peixoto <joaopeixoto@osyx.tech>
This patch introduces a device tree binding for the Bao I/O Dispatcher,
a device used in backend VMs running virtualized devices (e.g., VirtIO).

Signed-off-by: João Peixoto <joaopeixoto@osyx.tech>
Introduce the Bao I/O Dispatcher, a kernel module for Bao hypervisor
guests that run virtualized devices (e.g., VirtIO).

This driver is only required in backend VMs, which are responsible for
performing the actual I/O operations on physical hardware.
Frontend VMs, which only consume I/O services,
do not require this device.

The I/O Dispatcher provides access to one or more backend devices.
Each backend device is associated with a contiguous shared-memory
region used to exchange I/O buffers with the respective frontend
driver, and an interrupt used by the Bao hypervisor to notify
the backend VM of pending I/O requests.

Signed-off-by: João Peixoto <joaopeixoto@osyx.tech>
Move the IPC shared-memory hypercall ID from architecture-specific
headers into include/linux/bao.h.

Signed-off-by: João Peixoto <joaopeixoto@osyx.tech>
…bindings

Add MAINTAINERS entries for all the Bao hypervisor components.

Signed-off-by: João Peixoto <joaopeixoto@osyx.tech>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants