-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
xenvm: drivers: xen: add new Xen-related features (event channels, irq console and consoleio Dom0 console) #39960
Conversation
bf8b4e1
to
32dc576
Compare
Just out of curiosity, how to create a DomU when Zephyr acts as Dom0? Would you like to describe the instructions in the documents? |
32dc576
to
886b9a0
Compare
This is huge feature I am currently working on, but it stills in progress. So it is not ready to any kind of instructions or docs, sorry. |
Recommend changing to |
886b9a0
to
5690d69
Compare
Thank you for great suggestion! Done. |
5690d69
to
e13d93d
Compare
Dear @carlocaione, can you please take a look on this PR? |
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.
This is ok but you need to fix the conflicting file issue.
This commit adds support of Xen Enlighten page and initial support for Xen event channels. It is needed for future Xen PV drivers implementation. Now enlighten page is mapped to the prepared memory area on PRE_KERNEL_1 stage. In case of success event channel logic gets inited and can be used ASAP after Zephyr start. Current implementation allows to use only pre-defined event channels (PV console/XenBus) and works only in single CPU mode (without VCPUOP_register_vcpu_info). Event channel allocation will be implemented in future versions. Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
This commit adds support of interrupt-driven API for UART-like Xen PV console driver. It is implemented via Xen event channels. It allows to send and receive data by chunks (not single symbols) and without polling. Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
This commit adds Xen consoleio serial driver. It is needed to receive kernel messages from Zephyr in case it runs as Xen privileged domain (Dom0). There is no console ring buffer for such domain, so regular uart_hvc_xen driver can not be used (privileged domain input/output are possible only through consoleio interface). Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
e13d93d
to
b32616c
Compare
This commit updates list of supported Xen VM fetures after implementation of Xen Enlighten, event channels and interrupt-driven UART API for Xen hypervisor console driver. Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
b32616c
to
7dcaec3
Compare
Looks like some CI tests were stuck. I decided to re-pushed commits, no changes were made by last force-push. |
The only one test that failing is:
I think it is okay and PR can be merged. |
@nashif we need your superpower here |
Dear @nashif, can you please process this? |
Hi @carlocaione @nashif, are there any issues with this PR that block it from merging? |
This pull-request introduces new features, related to Xen virtualization support.
It includes:
Also XenVM doc was updated according to new changes.