WorksOnArm / equinix-metal-arm64-cluster

Arm and Equinix Metal have partnered to make powerful Neoverse based Armv8 bare metal infrastructure including latest generation Ampere systems — available for open source software developers to build, test and optimize for Arm64 architecture.
http://www.worksonarm.com
75 stars 12 forks source link

Xen-sys: Rust APIs to interact with the Xen hypervisor - Works On Arm Sponsored #310

Closed mathieupoirier closed 1 year ago

mathieupoirier commented 1 year ago

If you are interested in filing a request for access to the Works on Arm test and CI infrastructure, please fill out the details below.

Proposals will be evaluated on a biweekly cycle or on a best effort basis by Arm and Equinix Metal.

Name, email, company, job title

Mathieu Poirier mathieu.poirier@linaro.org Linaro Senior Software Engineer

Project Title and description

1) Port the xen-sys[1] crate to arm64. 2) Introduce functionality to support HVC calls, 3) Introduce functionality to support Xen ioctl() calls. 4) Implement a Rust API to support Xen's foreign memory model, device model and event channel. 5) Implement a Rust API to access the Xen store. 6) Fold the xen-sys crate under the rust-vmm[2] project. 7) Add testing functionality to the xen-sys crate that follows the rust-vmm CI standards.

Items 1 to 4 have been completed and can be found here[3]. Item 5 is currently under development and an entry for the xen-sys crate(s) has already been created under the rust-vmm project[4]. To complete item 7 we must have an arm64 machine to run native virtualization environment.

[1]. https://crates.io/crates/xen-sys [2]. https://github.com/rust-vmm [3]. https://gitlab.com/mathieupoirier/oxerun/-/tree/xen-ioctls [4]. https://github.com/rust-vmm/xen-sys

Describe your use case for these machines

Which members of the community would benefit from your work?

Run a CI/CD loop to satisfy the standards required by the rust-vmm project.

Is the code that you’re going to run 100% open source?

Yes. See above references [1] to [4].

Does this project require ARMv8.2 (Yes/No/Not Sure)? If Yes, please provide details

Yes. Full virtualization is required.

What infrastructure (computing resources and network access) do you need?

Network access is required, along with remote power cycle and direct console connection (Xyplex terminal server). This is a request for continuous, ongoing support.

Describe / Name the continuous integration (CI) system for this project.

The rust-vmm project uses buildkite, which we intend to use as well. The resource is intended to be for CI purposes exclusively.

Does the project allows the use of your project logo on ARM's developer website freely? Yes / No / Not Sure

The Linaro logo has been used on many ARM developer website already.

Please state your contributions to the open source community and any other relevant initiatives.

I am a Linux kernel developer at Linaro, currently focusing on Rust VMM and virtualization. From a Rust perspective I maintain the xen-sys crate[1] along with the vhost-device crate[2]. I also maintain the Linux kernel CoreSight framework[3], the remoteproc[4] and RPMSG subsystems[5].

[1]. https://crates.io/crates/xen-sys [2]. https://github.com/rust-vmm/vhost-device [3]. https://elixir.bootlin.com/linux/latest/source/MAINTAINERS#L1970 [4]. https://elixir.bootlin.com/linux/latest/source/MAINTAINERS#L16752 [5]. https://elixir.bootlin.com/linux/latest/source/MAINTAINERS#L16765

Important reminders and logistics

Approved projects will be expected to provide credit back to Works on Arm in the form of a logo display, blog post, Twitter post, news release, or some other suitable acknowledgement.

Approved projects are subject to a 90 day review process for termination.

When resources are not required anymore or when the project ends, please add comments on this issue so that we can reuse the hardware for someone else! In case a project goes through ownership change or key people leaving, please promptly inform the team by adding comments on this issue. Our team will maintain dialogue with new members.

For more project information, see the following social channels:

pgmwoa commented 1 year ago

Please update the project title.

pgmwoa commented 1 year ago

Closing the ticket as discussed with requester.