Skip to content

[vm-vcpu] Extend the KvmVm and KvmVcpu abstractions for aarch64 #133

@andreeaflorescu

Description

@andreeaflorescu

Extend the KvmVm and KvmVcpu abstractions to support booting on aarch64. Where possible we should offer a uniform interface on both platforms. In the POC this didn’t prove to be difficult, with the only shortcoming being the fact that the interrupt controller needs to be initialized on aarch64 after creating the vCPUs. This requires changes in the way we are creating vCPUs as right now the VMM needs to call create_vcpu for each vCPU. This implies that the VMM needs to call the function for setting up the interrupt controller after creating the vcpus. This is against the simplicity design principle that we want to follow for the vm-vcpu crate. As a consequence, we need to offer a function for creating all the vcpus at once based on a specified configuration. Internally, the function can then initialize the IRQ controller.This would also enable us to offer a uniform interface on both platforms for the default initialization & creation of VMs and vCPUs. The platform differences should only be apparent to the “expert” users of the vm-vcpu crate that need to do fine tuning when configuring these resources.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions