Conversation
DavidMCerdeira
left a comment
There was a problem hiding this comment.
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.
bc2e1de to
e564d15
Compare
e564d15 to
2783f3c
Compare
|
@DavidMCerdeira I’ve just resolved all the issues mentioned. When you have some time, please review the remaining files. |
DavidMCerdeira
left a comment
There was a problem hiding this comment.
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
d1c0273 to
39df5b9
Compare
I’ve just fixed all those issues. I think it’s now ready for upstreaming! |
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>
dd96388 to
2a89f3b
Compare
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>
2a89f3b to
c4ec09b
Compare
No description provided.