-
Notifications
You must be signed in to change notification settings - Fork 128
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
feat(core/remio): add Remote I/O infrastructure #176
Commits on Nov 5, 2024
-
ref(core/hypercall): rename first argument
This commit renames the first argument of the hypercall to make the code independent of the specific hypercall type. Signed-off-by: João Peixoto <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e13ddb6 - Browse repository at this point
Copy the full SHA e13ddb6View commit details -
feat(inc/hypercall): introduce arch-specific hypercall in/out convention
This commit introduces a separation of input and output conventions for hypercalls, addressing architecture-specific differences between ARM and RISC-V. On ARM, the x0 register is used to pass both the extid, fid, and the return value, while additional parameters (hypercalls arguments) are passed via registers x1 to xn. On RISC-V, while the return value is passed in a0, the extid and fid are handled by the a7 and a6 registers, respectively. This means that the hypercall input arguments on RISC-V should be passed through registers a0 to a5, while output hypercall arguments are passed via a2 and onward (because all registers except a0 and a1 must be preserved across an SBI call by the callee). To accommodate these differences and provide a uniform interface, two macros were introduced to abstract the handling of input and output hypercall arguments across architectures. Signed-off-by: João Peixoto <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cdf3494 - Browse repository at this point
Copy the full SHA cdf3494View commit details -
feat(inc/hypercall): add generic hypercall get/set argument methods
This commit introduces two methods for setting and retrieving hypercall arguments, allowing each hypercall implementation to flexibly manage its specific arguments as needed. Signed-off-by: João Peixoto <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eb4d558 - Browse repository at this point
Copy the full SHA eb4d558View commit details -
ref(riscv/sync_exceptions): use vcpu_writepc method
Refactored the vCPU program counter incrementation by introducing the architecture-agnostic method vcpu_writepc, aligning the implementation with the approach used in the ARM architecture. Signed-off-by: João Peixoto <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6731369 - Browse repository at this point
Copy the full SHA 6731369View commit details -
feat(arch/exception_handler): enable exception handlers to suspend vCPU
Implemented support for abort and exception handlers to suspend the current vCPU based on the vCPU active flag. Signed-off-by: João Peixoto <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cd6f46b - Browse repository at this point
Copy the full SHA cd6f46bView commit details -
feat(core/objpool): add objpool_alloc_with_id and objpool_get_by_id
This commit introduces two new methods to the objpool API. The first method, objpool_alloc_with_id, enables the allocation of an object within a pool and returns the index where the object was allocated. The second method, objpool_get_by_id, allows retrieving a previously allocated object using the index of the pool where it was initially allocated. Signed-off-by: João Peixoto <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f9d8d0c - Browse repository at this point
Copy the full SHA f9d8d0cView commit details -
feat(core/remio): add Remote I/O infrastructure
This commit introduces the foundational support for VirtIO by implementing a mechanism to forward VirtIO requests bidirectionally between the guest VM (or frontend VM) and its associated backend VM. Signed-off-by: João Peixoto <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cfcec7c - Browse repository at this point
Copy the full SHA cfcec7cView commit details