Skip to content
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

ARM Support #8

Closed
3 of 5 tasks
andreeaflorescu opened this issue Apr 1, 2019 · 6 comments
Closed
3 of 5 tasks

ARM Support #8

andreeaflorescu opened this issue Apr 1, 2019 · 6 comments

Comments

@andreeaflorescu
Copy link
Member

andreeaflorescu commented Apr 1, 2019

Currently kvm-ioctls only has support for x86_64.

@rhdrjones
Copy link
Contributor

Currently kvm-ioctls only has support for x86_64.

* [x]  Setup CI for ARM

* [ ]  Add ARM specific coverage test #9

* [x]  Add ARM specific ioclts

* [ ]  Add unit tests for ARM

* [ ]  Add `run_code` example with ARM

I'll take a look at these missing bullets in the reverse order they're listed, i.e. starting with the run_code example.

@michael2012z
Copy link
Contributor

KVM_GET_VCPU_EVENTS and KVM_SET_VCPU_EVENTS are restricted to x86 new, but they became enabled on aarch64 in recent versions of kernel.
Any good practice to handle such kernel-version-sensitive ioctls?

@andreeaflorescu
Copy link
Member Author

@michael2012z we currently use the v4.20 bindings. So probably we want to have the ioctls that are available in 4.20. We didn't discuss about adding bindings to newer kernel versions. I think we can send an email to rust-vmm to see what other people think about this. I don't really have strong preferences here. If the ioctls available in newer versions have associated caps that we can check before calling them, it should be okay to add them directly. Otherwise we might want to use rust features to disable them by default.

@rhdrjones
Copy link
Contributor

Typically caps are also added or enabled with new API. When KVM_GET_VCPU_EVENTS and KVM_SET_VCPU_EVENTS were introduced to arm KVM_CAP_VCPU_EVENTS was enabled. As Andreea says, rust-vmm should check caps whenever possible before using their associated features.

@michael2012z
Copy link
Contributor

michael2012z commented Nov 27, 2019

@andreeaflorescu @rhdrjones Thanks.
Checking caps is a good idea. We can use check_extension() defined in system.rs to check caps before calling the ioctl.
I created PR #73 for it.

@andreeaflorescu
Copy link
Member Author

Arm support is already added to kvm-ioctls. There are a still improvements needed (such as on the documentation), but these are tracked in separate issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants