RISC-V support in rust-vmm
Dear rust-vmm community, Dear maintainers, I’m contacting you on behalf of the Vitamin-V project, project number 101093062, funded by the European Union. The project aims at deploying a complete RISC-V hardware-software stack for cloud services based on cutting-edge cloud open-source technologies for RISC-V cores with a special focus on EPI cores. If you want to know more, you can have a look at Vitamin-V website <https://www.vitamin-v.eu/>. As part of the project’s action, Virtual Open Systems is coordinating the port of some virtualization technologies to RISC-V. In particular, we would like to add support of RISC-V to the architecture-dependent crates of rust-vmm. The first target would be to run vmm-reference inside a QEMU VM. We are aware that you have defined some contributing guidelines <https://github.com/rust-vmm/community#contributing-guidelines>, but we wanted first to engage the mailing list before submitting any PR. @fandree <fandree@amazon.com>, I’ve put you in CC as you seem to be the most active in this mailing list, but please feel free to CC anyone who is concerned. Thanks! Best regards, Alvise Rigo -- *Alvise Rigo, Senior Virtualization Engineer * *Virtual Open Systems SASMixed-Critical Virtualization Solutions* *Automotive | IoT-Edge | Embedded Systems* *Web: www.virtualopensystems.com <http://www.virtualopensystems.com>* *Virtual Open Systems Confidential and Proprietary Information.** The content of this e-mail message, and any documents, files or e-mail messages attached to it, may contain confidential information. If you are not the intended recipient, or a person entitled for delivering it to the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of any of the information contained in or attached to this message is not permitted in any way and prohibited. If you have received this e-mail in error, please immediately notify me by reply at a.rigo@virtualopensystems.com <a.rigo@virtualopensystems.com> and destroy the original received e-mail and any of its attachments without opening or reading them and without saving them to a filesystem or to any other physical memory support.*
Hey Alvise, Adding support for RISC-V to rust-vmm sounds like an interesting project, and there were already some initial discussions about this in the kvm-ioctls crate [1]. Regarding the starting point for this, vmm-reference might not be the best option if you also want to upstream the patches because we didn't continue with the maintenance activities for that code in quite some time, and now it is behind with dependencies and the Rust version as well. I think it needs at least 3-5 days of work only to get it to the latest rust-vmm dependencies and Rust version(tracking issues [2] and [3]). I believe you do need to update the dependencies first because to support RISC-V you will need to add changes to other rust-vmm crates (such as kvm-ioctls, vm-virtio and maybe vm-memory depending on how things work on RISC-V). You could also use vmm-reference just as guidance of how to glue together the crates if you do not have the time in getting it up to date. Let us know if you need any support with this! BTW, the community is more active on Slack, so if you have any questions, you could use that instead [4]. Thanks, Andreea [1] https://github.com/rust-vmm/kvm-ioctls/issues/208 [2] https://github.com/rust-vmm/vmm-reference/issues/238 [3] https://github.com/rust-vmm/vmm-reference/issues/237 [4] https://join.slack.com/t/rust-vmm/shared_invite/enQtODAxMzA2ODIyMTc2LWRhYjIw... ________________________________ From: Alvise Rigo <a.rigo@virtualopensystems.com> Sent: Thursday, April 20, 2023 3:21:53 PM To: rust-vmm@lists.opendev.org Cc: Florescu, Andreea; Aaron Call; Timos Ampelikiotis; Daniel Raho Subject: [EXTERNAL] RISC-V support in rust-vmm CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Dear rust-vmm community, Dear maintainers, I’m contacting you on behalf of the Vitamin-V project, project number 101093062, funded by the European Union. The project aims at deploying a complete RISC-V hardware-software stack for cloud services based on cutting-edge cloud open-source technologies for RISC-V cores with a special focus on EPI cores. If you want to know more, you can have a look at Vitamin-V website<https://www.vitamin-v.eu/>. As part of the project’s action, Virtual Open Systems is coordinating the port of some virtualization technologies to RISC-V. In particular, we would like to add support of RISC-V to the architecture-dependent crates of rust-vmm. The first target would be to run vmm-reference inside a QEMU VM. We are aware that you have defined some contributing guidelines<https://github.com/rust-vmm/community#contributing-guidelines>, but we wanted first to engage the mailing list before submitting any PR. @fandree<mailto:fandree@amazon.com>, I’ve put you in CC as you seem to be the most active in this mailing list, but please feel free to CC anyone who is concerned. Thanks! Best regards, Alvise Rigo -- Alvise Rigo, Senior Virtualization Engineer Virtual Open Systems SAS Mixed-Critical Virtualization Solutions Automotive | IoT-Edge | Embedded Systems Web: www.virtualopensystems.com<http://www.virtualopensystems.com> Virtual Open Systems Confidential and Proprietary Information. The content of this e-mail message, and any documents, files or e-mail messages attached to it, may contain confidential information. If you are not the intended recipient, or a person entitled for delivering it to the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of any of the information contained in or attached to this message is not permitted in any way and prohibited. If you have received this e-mail in error, please immediately notify me by reply at a.rigo@virtualopensystems.com<mailto:a.rigo@virtualopensystems.com> and destroy the original received e-mail and any of its attachments without opening or reading them and without saving them to a filesystem or to any other physical memory support.
Hello Andreea, Thank you for your feedback, very helpful. I agree with all what you said about the starting point. Let’s concentrate on the building blocks first (which have already some tests to begin with), and then move to vmm-reference. As of now, we don’t have anything else to share, but we plan to post our updates here in the mailing list or on slack (I’m in the rust-vmm channel now). One last thing, I noticed there are some periodic calls, do you think we should attend them, especially if we have something to share or discuss? Thanks and have a nice weekend, Alvise On 25 Apr 2023 at 11:55:49, "Florescu, Andreea" <fandree@amazon.com> wrote:
Hey Alvise,
Adding support for RISC-V to rust-vmm sounds like an interesting project, and there were already some initial discussions about this in the kvm-ioctls crate [1].
Regarding the starting point for this, vmm-reference might not be the best option if you also want to upstream the patches because we didn't continue with the maintenance activities for that code in quite some time, and now it is behind with dependencies and the Rust version as well. I think it needs at least 3-5 days of work only to get it to the latest rust-vmm dependencies and Rust version(tracking issues [2] and [3]). I believe you do need to update the dependencies first because to support RISC-V you will need to add changes to other rust-vmm crates (such as kvm-ioctls, vm-virtio and maybe vm-memory depending on how things work on RISC-V). You could also use vmm-reference just as guidance of how to glue together the crates if you do not have the time in getting it up to date.
Let us know if you need any support with this! BTW, the community is more active on Slack, so if you have any questions, you could use that instead [4].
Thanks,
Andreea
[1] https://github.com/rust-vmm/kvm-ioctls/issues/208
[2] https://github.com/rust-vmm/vmm-reference/issues/238
[3] https://github.com/rust-vmm/vmm-reference/issues/237
[4] https://join.slack.com/t/rust-vmm/shared_invite/enQtODAxMzA2ODIyMTc2LWRhYjIw... ------------------------------ *From:* Alvise Rigo <a.rigo@virtualopensystems.com> *Sent:* Thursday, April 20, 2023 3:21:53 PM *To:* rust-vmm@lists.opendev.org *Cc:* Florescu, Andreea; Aaron Call; Timos Ampelikiotis; Daniel Raho *Subject:* [EXTERNAL] RISC-V support in rust-vmm
*CAUTION*: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.
Dear rust-vmm community, Dear maintainers,
I’m contacting you on behalf of the Vitamin-V project, project number 101093062, funded by the European Union. The project aims at deploying a complete RISC-V hardware-software stack for cloud services based on cutting-edge cloud open-source technologies for RISC-V cores with a special focus on EPI cores. If you want to know more, you can have a look at Vitamin-V website <https://www.vitamin-v.eu/>.
As part of the project’s action, Virtual Open Systems is coordinating the port of some virtualization technologies to RISC-V. In particular, we would like to add support of RISC-V to the architecture-dependent crates of rust-vmm. The first target would be to run vmm-reference inside a QEMU VM. We are aware that you have defined some contributing guidelines <https://github.com/rust-vmm/community#contributing-guidelines>, but we wanted first to engage the mailing list before submitting any PR.
@fandree <fandree@amazon.com>, I’ve put you in CC as you seem to be the most active in this mailing list, but please feel free to CC anyone who is concerned. Thanks!
Best regards, Alvise Rigo -- *Alvise Rigo, Senior Virtualization Engineer *
*Virtual Open Systems SAS Mixed-Critical Virtualization Solutions * *Automotive | IoT-Edge | Embedded Systems*
*Web: www.virtualopensystems.com <http://www.virtualopensystems.com> *
*Virtual Open Systems Confidential and Proprietary Information.** The content of this e-mail message, and any documents, files or e-mail messages attached to it, may contain confidential information. If you are not the intended recipient, or a person entitled for delivering it to the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of any of the information contained in or attached to this message is not permitted in any way and prohibited. If you have received this e-mail in error, please immediately notify me by reply at a.rigo@virtualopensystems.com <a.rigo@virtualopensystems.com> and destroy the original received e-mail and any of its attachments without opening or reading them and without saving them to a filesystem or to any other physical memory support.*
-- *Alvise Rigo, Senior Virtualization Engineer * *Virtual Open Systems SASMixed-Critical Virtualization Solutions* *Automotive | IoT-Edge | Embedded Systems* *Web: www.virtualopensystems.com <http://www.virtualopensystems.com>* *Virtual Open Systems Confidential and Proprietary Information.** The content of this e-mail message, and any documents, files or e-mail messages attached to it, may contain confidential information. If you are not the intended recipient, or a person entitled for delivering it to the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of any of the information contained in or attached to this message is not permitted in any way and prohibited. If you have received this e-mail in error, please immediately notify me by reply at a.rigo@virtualopensystems.com <a.rigo@virtualopensystems.com> and destroy the original received e-mail and any of its attachments without opening or reading them and without saving them to a filesystem or to any other physical memory support.*
Sure, feel free to join the meetings. We are not going to have a meeting on the 1st of May because that's a public holiday in the countries where most of the folks work. The next one is in 2 weeks from them. I will refresh the invite next week so that new people that subscribed to the list also get an invite. Have a nice weekend, Andreea ________________________________ From: Alvise Rigo <a.rigo@virtualopensystems.com> Sent: Friday, April 28, 2023 4:28:58 PM To: Florescu, Andreea Cc: Aaron Call; Timos Ampelikiotis; Daniel Raho; rust-vmm@lists.opendev.org Subject: RE: [EXTERNAL]RISC-V support in rust-vmm CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. � Hello Andreea, Thank you for your feedback, very helpful. I agree with all what you said about the starting point. Let’s concentrate on the building blocks first (which have already some tests to begin with), and then move to vmm-reference. As of now, we don’t have anything else to share, but we plan to post our updates here in the mailing list or on slack (I’m in the rust-vmm channel now). One last thing, I noticed there are some periodic calls, do you think we should attend them, especially if we have something to share or discuss? Thanks and have a nice weekend, Alvise On 25 Apr 2023 at 11:55:49, "Florescu, Andreea" <fandree@amazon.com<mailto:fandree@amazon.com>> wrote: Hey Alvise, Adding support for RISC-V to rust-vmm sounds like an interesting project, and there were already some initial discussions about this in the kvm-ioctls crate [1]. Regarding the starting point for this, vmm-reference might not be the best option if you also want to upstream the patches� because we didn't continue with the maintenance activities for that code in quite some time, and now it is behind with dependencies and the Rust version as well. I think it needs at least 3-5 days of work only to get it to the latest rust-vmm dependencies and Rust version(tracking issues [2] and [3]). I believe you do need to update the dependencies first because to support RISC-V you will need to add changes to other rust-vmm crates (such as kvm-ioctls, vm-virtio and� maybe vm-memory depending on how things work on RISC-V). You could also use vmm-reference just as guidance of how to glue together the crates if you do not have� the time in getting it up to date. Let us know if you need any support with this! BTW, the community is more active on Slack, so if you have any questions, you could use that instead [4]. Thanks, Andreea [1]� https://github.com/rust-vmm/kvm-ioctls/issues/208 [2]� https://github.com/rust-vmm/vmm-reference/issues/238 [3]� https://github.com/rust-vmm/vmm-reference/issues/237 [4]� https://join.slack.com/t/rust-vmm/shared_invite/enQtODAxMzA2ODIyMTc2LWRhYjIw... ________________________________ From: Alvise Rigo <a.rigo@virtualopensystems.com<mailto:a.rigo@virtualopensystems.com>> Sent: Thursday, April 20, 2023 3:21:53 PM To: rust-vmm@lists.opendev.org<mailto:rust-vmm@lists.opendev.org> Cc: Florescu, Andreea; Aaron Call; Timos Ampelikiotis; Daniel Raho Subject: [EXTERNAL] RISC-V support in rust-vmm � CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Dear rust-vmm community, Dear maintainers, I’m contacting you on behalf of the Vitamin-V project,� project number 101093062, funded by the European Union. The project aims at deploying a complete RISC-V hardware-software stack for cloud services based on cutting-edge cloud open-source technologies for RISC-V cores with a special focus on EPI cores. If you want to know more, you can have a look at Vitamin-V� website<https://www.vitamin-v.eu/>. As part of the project’s action, Virtual Open Systems is coordinating the port of some virtualization technologies to RISC-V. In particular, we would like to add support of RISC-V to the architecture-dependent crates of rust-vmm. The first target would be to run vmm-reference inside a QEMU VM. We are aware that you have defined some contributing guidelines<https://github.com/rust-vmm/community#contributing-guidelines>, but we wanted first to engage the mailing list before submitting any PR. @fandree<mailto:fandree@amazon.com>, I’ve put you in CC as you seem to be the most active in this mailing list, but please feel free to CC anyone who is concerned. Thanks! Best regards, Alvise Rigo -- Alvise Rigo, Senior Virtualization Engineer� Virtual Open Systems SAS Mixed-Critical Virtualization Solutions Automotive | IoT-Edge | Embedded Systems Web:� www.virtualopensystems.com<http://www.virtualopensystems.com> Virtual Open Systems Confidential and Proprietary Information.� The content of this e-mail message, and any documents, files or e-mail messages attached to it, may contain confidential information. If you are not the intended recipient, or a person entitled for delivering it to the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of any of the information contained in or attached to this message is not permitted in any way and prohibited. If you have received this e-mail in error, please immediately notify me by reply at� a.rigo@virtualopensystems.com<mailto:a.rigo@virtualopensystems.com>� and� destroy the original received e-mail and any of its attachments without opening or reading them and without saving them to a� filesystem� or to any other physical memory support. -- Alvise Rigo, Senior Virtualization Engineer� Virtual Open Systems SAS Mixed-Critical Virtualization Solutions Automotive | IoT-Edge | Embedded Systems Web:� www.virtualopensystems.com<http://www.virtualopensystems.com> Virtual Open Systems Confidential and Proprietary Information.� The content of this e-mail message, and any documents, files or e-mail messages attached to it, may contain confidential information. If you are not the intended recipient, or a person entitled for delivering it to the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of any of the information contained in or attached to this message is not permitted in any way and prohibited. If you have received this e-mail in error, please immediately notify me by reply at� a.rigo@virtualopensystems.com<mailto:a.rigo@virtualopensystems.com>� and� destroy the original received e-mail and any of its attachments without opening or reading them and without saving them to a� filesystem� or to any other physical memory support.
Hi Alvise, There is already a loose effort underway to enable RISC-V support in Rust-VMM crates. Since much of the code is derived from FireCracker or CrosVM we can take advantage of the recent crosvm [1] port. There are two blockers at the moment: - AIA support not merged into the upstream kernel - although crosvm mitigated that by generating from a fork ([2]) for Rust-VMM we should wait for upstream - A CI solution for testing which will probably require nesting inside QEMU When a Linux kernel is released including the AIA patches I intend to update kvm-bindings and enable support in kvm-ioctls too. Cheers, Rob [1] https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4460941/6 [2] https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4460933/4
Hello Rob, Thanks for your email and for clarifying the situation. As mentioned before in the previous exchanges, we are interested in having the full vmm-reference crate working on RISC-V to spawn VMs and, on top of it, do some evaluation. So I believe that after AIA, kvm-bindings and kvm-ioctl have been merged, there will be other effort needed in other crates that we will be glad to carry out. In the mean time, we will start aligning vmm-reference to the last version of the crates it depends on. Best regards, Alvise On 3 May 2023 at 17:20:05, rbradford@rivosinc.com wrote:
Hi Alvise,
There is already a loose effort underway to enable RISC-V support in Rust-VMM crates. Since much of the code is derived from FireCracker or CrosVM we can take advantage of the recent crosvm [1] port.
There are two blockers at the moment:
- AIA support not merged into the upstream kernel - although crosvm mitigated that by generating from a fork ([2]) for Rust-VMM we should wait for upstream - A CI solution for testing which will probably require nesting inside QEMU
When a Linux kernel is released including the AIA patches I intend to update kvm-bindings and enable support in kvm-ioctls too.
Cheers,
Rob
[1] https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4460941/6 [2] https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4460933/4 _______________________________________________ Rust-vmm mailing list -- rust-vmm@lists.opendev.org To unsubscribe send an email to rust-vmm-leave@lists.opendev.org
-- *Alvise Rigo, Senior Virtualization Engineer * *Virtual Open Systems SASMixed-Critical Virtualization Solutions* *Automotive | IoT-Edge | Embedded Systems* *Web: www.virtualopensystems.com <http://www.virtualopensystems.com>* *Virtual Open Systems Confidential and Proprietary Information.** The content of this e-mail message, and any documents, files or e-mail messages attached to it, may contain confidential information. If you are not the intended recipient, or a person entitled for delivering it to the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of any of the information contained in or attached to this message is not permitted in any way and prohibited. If you have received this e-mail in error, please immediately notify me by reply at a.rigo@virtualopensystems.com <a.rigo@virtualopensystems.com> and destroy the original received e-mail and any of its attachments without opening or reading them and without saving them to a filesystem or to any other physical memory support.*
participants (3)
-
Alvise Rigo
-
Florescu, Andreea
-
rbradford@rivosinc.com