-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Xen Domain-0 and Domain-U interface enhancements for Zephyr #95556
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
base: main
Are you sure you want to change the base?
Conversation
|
In last push one more commit with domain-id allocation enhancements was added.
Adding of MIT Xen public headers to Zephyr tree was approved in scope of this issue - #37239 |
|
In last push added 2 commits, which allow used to directly specify Domctl and Sysctl interface version via Kconfig instead of hardcoded value in public headers. No additional changes are planned in scope of this PR. |
lorc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For "drivers: xen: dom0: added getvcpuinfo domctl call": It should be "drivers: xen: dom0: add getvcpuinfo domctl call". Also the commit message might need some care as well.
7c321c3 to
e0d9c11
Compare
Thank you, reworded. |
|
Seems like Twister job is broken, as I see it is common for all active PRs |
To proceed with this, Note: |
Xen API contains hypercall, which allows domains to identify Xen version, that is currently used on the system. It can be used to check if current version is supported by Zephyr or to change behavior of the drivers or services. Signed-off-by: Dmytro Semenets <[email protected]> Signed-off-by: Dmytro Firsov <[email protected]>
This hypercall can be used get some information about physical machine and running guests: - sysctl hypercall "xen_sysctl_getphysinfo" allows read information about physical machine: number CPUs, memory sizes, hardware capabilities, etc. - sysctl hypercall "xen_sysctl_getdomaininfolist" returns array of domain info structures that provide information about particular domain(s). Signed-off-by: Dmytro Semenets <[email protected]> Signed-off-by: Mykyta Poturai <[email protected]> Signed-off-by: Dmytro Firsov <[email protected]>
Add the XEN_DOMCTL_getvcpuinfo domain control call to allow Domain-0 to query information about a domain's virtual CPUs. This can be used by management tools and services for gathering statistics and monitoring the current status of vCPUs. Signed-off-by: Dmytro Semenets <[email protected]> Signed-off-by: Dmytro Firsov <[email protected]>
The size is passed in bytes, not in megabytes. So rename the parameter to avoid confusion. Signed-off-by: Mykyta Poturai <[email protected]> Signed-off-by: Dmytro Firsov <[email protected]>
Document all of the public functions in the domctl API with doxygen Signed-off-by: Mykyta Poturai <[email protected]> Signed-off-by: Dmytro Firsov <[email protected]>
If 0 is passed as domain id to the Xen createdomain hypercall, it will allocate a new domain id and return it via the domctl structure. Allow callers to access this new domain id via a pointer arg. This will allow to create domains without explicitly specifying the domain id for them. Signed-off-by: Mykyta Poturai <[email protected]> Signed-off-by: Dmytro Firsov <[email protected]>
Add a new Kconfig option CONFIG_XEN_DOMCTL_INTERFACE_VERSION that allows to change the version of the Domctl interface used by Zephyr to issue domctl hypercalls. Add compile-time checks to enable or disable certain Domctl operations based on the selected Domctl interface version. For now versions 0x15, 0x16, and 0x17 are supported. Also it required to correctly guard domctl call that were not supported prior to specified version. Signed-off-by: Mykyta Poturai <[email protected]> Signed-off-by: Dmytro Firsov <[email protected]>
Add a new Kconfig option CONFIG_XEN_SYSCTL_INTERFACE_VERSION that allows to change the version of the Sysctl interface used by Zephyr to issue sysctl hypercalls. For now versions 0x15 is supported. Signed-off-by: Mykyta Poturai <[email protected]> Signed-off-by: Dmytro Firsov <[email protected]>
e0d9c11 to
380c25f
Compare
|
|
In last force push:
@soburi |
In my opinion, since the Xen public headers do not rely on the Zephyr implementation, I think it would be best to maintain and use the original as much as possible. However, as you say, there are currently no issues from a technical standpoint, |



This PR contains few enhancements for Xen Domain-0 and Domain-U interface parts:
UPD.