History log of /cloud-hypervisor/hypervisor/src/lib.rs (Results 51 – 70 of 70)
Revision Date Author Comments
# 496ceed1 11-May-2021 Rob Bradford <robert.bradford@intel.com>

misc: Remove unnecessary "extern crate"

Now all crates use edition = "2018" then the majority of the "extern
crate" statements can be removed. Only those for importing macros need
to remain.

Signed

misc: Remove unnecessary "extern crate"

Now all crates use edition = "2018" then the majority of the "extern
crate" statements can be removed. Only those for importing macros need
to remain.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>

show more ...


# 7fad74cb 10-Mar-2021 Vineeth Pillai <viremana@linux.microsoft.com>

hypervisor: refactor vec_with_array_field function

refactor vec_with_array_field to common hypervisor code
so that mshv can also make use of it.

Signed-off-by: Vineeth Pillai <viremana@linux.micros

hypervisor: refactor vec_with_array_field function

refactor vec_with_array_field to common hypervisor code
so that mshv can also make use of it.

Signed-off-by: Vineeth Pillai <viremana@linux.microsoft.com>

show more ...


# 8c85dd32 10-Dec-2020 Muminul Islam <muislam@microsoft.com>

hypervisor: Move msr and msr_data macro to arch/x86

Currently these two macros(msr, msr_data) reside both on kvm and mshv
module. Definition is same for both module. Moving them to arch/x86
module e

hypervisor: Move msr and msr_data macro to arch/x86

Currently these two macros(msr, msr_data) reside both on kvm and mshv
module. Definition is same for both module. Moving them to arch/x86
module eliminates redundancy and makes more sense.

Signed-off-by: Muminul Islam <muislam@microsoft.com>

show more ...


# 23c46b16 03-Dec-2020 Muminul Islam <muislam@microsoft.com>

hypervisor, vmm: Implement the mshv module and add mshv support in vmm

Implement hypervisor, Vm, Vcpu crate at a minimal
functionalities. Also adds the mshv feature gate,
separates out the functiona

hypervisor, vmm: Implement the mshv module and add mshv support in vmm

Implement hypervisor, Vm, Vcpu crate at a minimal
functionalities. Also adds the mshv feature gate,
separates out the functionalities between kvm and
mshv inside the vmm crate.

Co-Developed-by: Nuno Das Neves <nudasnev@microsoft.com>
Signed-off-by: Nuno Das Neves <nudasnev@microsoft.com>
Co-Developed-by: Praveen Paladugu <prapal@microsoft.com>
Signed-off-by: Praveen Paladugu <prapal@microsoft.com>
Co-Developed-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Co-Developed-by: Wei Liu <liuwe@microsoft.com>
Signed-off-by: Wei Liu <liuwe@microsoft.com>
Signed-off-by: Muminul Islam <muislam@microsoft.com>

show more ...


# 9919dec1 03-Dec-2020 Muminul Islam <muislam@microsoft.com>

hypervisor: Introduce mshv module in the hypervisor

This is the initial folder structure of the mshv module inside
the hypervisor crate. The aim of this module is to support Microsoft
Hyper-V as a s

hypervisor: Introduce mshv module in the hypervisor

This is the initial folder structure of the mshv module inside
the hypervisor crate. The aim of this module is to support Microsoft
Hyper-V as a supported Hypervisor.

Signed-off-by: Muminul Islam <muislam@microsoft.com>

show more ...


# 9ce6c3b7 04-Dec-2020 Muminul Islam <muislam@microsoft.com>

hypervisor, vmm: Feature guard KVM specific code

There are some code base and function which are purely KVM specific for
now and we don't have those supports in mshv at the moment but we have plan
f

hypervisor, vmm: Feature guard KVM specific code

There are some code base and function which are purely KVM specific for
now and we don't have those supports in mshv at the moment but we have plan
for the future. We are doing a feature guard with KVM. For example, KVM has
mp_state, cpu clock support, which we don't have for mshv. In order to build
those code we are making the code base for KVM specific compilation.

Signed-off-by: Muminul Islam <muislam@microsoft.com>

show more ...


# ffafeda4 30-Aug-2020 Henry Wang <Henry.Wang@arm.com>

AArch64: Implement AArch64 vCPU states save/restore

This commit adds methods to save/restore AArch64 vCPU registers,
including:

1. The AArch64 `VcpuKvmState` structure.

2. Some `Vcpu` trait method

AArch64: Implement AArch64 vCPU states save/restore

This commit adds methods to save/restore AArch64 vCPU registers,
including:

1. The AArch64 `VcpuKvmState` structure.

2. Some `Vcpu` trait methods of the `KvmVcpu` structure to
enable the save/restore of the AArch64 vCPU states.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>

show more ...


# 77e901a6 21-Aug-2020 Muminul Islam <muislam@microsoft.com>

hypervisor: Introduce VM state to Vm hypervisor trait

We may need to store hypervisor speciific data to the VM. This support is
needed for Microsoft hyperv implementations. This patch introduces two

hypervisor: Introduce VM state to Vm hypervisor trait

We may need to store hypervisor speciific data to the VM. This support is
needed for Microsoft hyperv implementations. This patch introduces two
new definitions to Vm trait and implements for KVM.

Signed-off-by: Muminul Islam <muislam@microsoft.com>

show more ...


# 0f1ab38d 05-Aug-2020 Sebastien Boeuf <sebastien.boeuf@intel.com>

hypervisor: kvm: Make MSRs set/get more flexible

Based on the way KVM_GET_MSRS and KVM_SET_MSRS work, both function are
very unlikely to fail, as they simply stop looping through the list of
MSRs as

hypervisor: kvm: Make MSRs set/get more flexible

Based on the way KVM_GET_MSRS and KVM_SET_MSRS work, both function are
very unlikely to fail, as they simply stop looping through the list of
MSRs as soon as getting or setting one fails. This is causing some
issues with the snapshot/restore feature, as on some platforms, we only
save a subset of the list of MSRs, leading to unproper way of saving the
VM.

The way to address this issue is by checking the number of MSRs get/set
matches the expected amount from the list. In case it does not match, we
simply ignore the failing MSR and continue getting/setting the rest of
the list. By doing this by iterations, we end up getting/setting as many
MSRs as the platform can support.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>

show more ...


# e7288888 16-Jul-2020 Michael Zhao <michael.zhao@arm.com>

hypervisor: Extend hypervisor crate with Device trait

Added Device trait and KvmDevice struct for KVM-emulated devices.

Signed-off-by: Michael Zhao <michael.zhao@arm.com>


# a83bd97e 14-Jul-2020 Wei Liu <liuwe@microsoft.com>

hypervisor: introduce a new function

It returns an hypervisor object depending on which hypervisor is
configured. Currently it only supports KVM.

Signed-off-by: Wei Liu <liuwe@microsoft.com>


# a4f484bc 03-Jul-2020 Wei Liu <liuwe@microsoft.com>

hypervisor: Define a VM-Exit abstraction

In order to move the hypervisor specific parts of the VM exit handling
path, we're defining a generic, hypervisor agnostic VM exit enum.

This is what the hy

hypervisor: Define a VM-Exit abstraction

In order to move the hypervisor specific parts of the VM exit handling
path, we're defining a generic, hypervisor agnostic VM exit enum.

This is what the hypervisor's Vcpu run() call should return when the VM
exit can not be completely handled through the hypervisor specific bits.
For KVM based hypervisors, this means directly forwarding the IO related
exits back to the VMM itself. For other hypervisors that e.g. rely on the
VMM to decode and emulate instructions, this means the decoding itself
would happen in the hypervisor crate exclusively, and the rest of the VM
exit handling would be handled through the VMM device model implementation.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

Fix test_vm unit test by using the new abstraction and dropping some
dead code.

Signed-off-by: Wei Liu <liuwe@microsoft.com>

show more ...


# 2518b9e3 28-Jun-2020 Wei Liu <liuwe@microsoft.com>

vmm: hypervisor: fix white space issues

Signed-off-by: Wei Liu <liuwe@microsoft.com>


# 72ae1577 26-Jun-2020 Muminul Islam <muislam@microsoft.com>

hypervisor: Update license to Apache-2.0 OR BSD-3-Clause

Initially the licensing was just Apache-2.0. This patch changes
the licensing to dual license Apache-2.0 OR BSD-3-Clause

Signed-off-by: Mumi

hypervisor: Update license to Apache-2.0 OR BSD-3-Clause

Initially the licensing was just Apache-2.0. This patch changes
the licensing to dual license Apache-2.0 OR BSD-3-Clause

Signed-off-by: Muminul Islam <muislam@microsoft.com>

show more ...


# c48d0c1a 02-Jun-2020 Muminul Islam <muislam@microsoft.com>

hypervisor: kvm: Implement vCPU state method

Implement the vCPU state getter and setter separately from the initial
KVM Hypervisor trait implementation, mostly for readability purposes.

Signed-off-

hypervisor: kvm: Implement vCPU state method

Implement the vCPU state getter and setter separately from the initial
KVM Hypervisor trait implementation, mostly for readability purposes.

Signed-off-by: Muminul Islam <muislam@microsoft.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

show more ...


# 72e39a34 03-Jun-2020 Muminul Islam <muislam@microsoft.com>

hypervisor: Add KVM implementation

For each of the traits we are defining kvm related structures
and add the trait implementation to the structs. For more information
please see the kvm-ioctls and k

hypervisor: Add KVM implementation

For each of the traits we are defining kvm related structures
and add the trait implementation to the structs. For more information
please see the kvm-ioctls and kvm-bindings crate.

This is a standalone implementation that does not include the switch of
the Cloud-Hypervisor vmm and arch crates to it.

Signed-off-by: Muminul Islam <muislam@microsoft.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

show more ...


# 683210d6 03-Jun-2020 Muminul Islam <muislam@microsoft.com>

hypervisor: Add Hypervisor trait

As the only hypervisor that Cloud-Hypervisor supports is KVM, the
Hypervisor trait accomodates for the upcoming KVM implementation.

This trait will be instanciated

hypervisor: Add Hypervisor trait

As the only hypervisor that Cloud-Hypervisor supports is KVM, the
Hypervisor trait accomodates for the upcoming KVM implementation.

This trait will be instanciated at build time through hypervisor
specific features, i.e. it's not aiming at run-time selection of
hypervisors for Cloud-Hypervisor.

Signed-off-by: Muminul Islam <muislam@microsoft.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

show more ...


# f5afc288 03-Jun-2020 Muminul Islam <muislam@microsoft.com>

hypervisor: Add Vm trait

This VM trait should be implemented by each underlying hypervisor.

Previously created hypervisor object should create the VM based on
already selected hypervisor. This is j

hypervisor: Add Vm trait

This VM trait should be implemented by each underlying hypervisor.

Previously created hypervisor object should create the VM based on
already selected hypervisor. This is just the trait definition. For each
of supported hypervisor we need to implement the trait. Later we will
implement this trait for KVM and then Microsoft Hyper-V.

Signed-off-by: Muminul Islam <muislam@microsoft.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

show more ...


# f9b51a41 03-Jun-2020 Muminul Islam <muislam@microsoft.com>

hypervisor: Add Vcpu trait

This Vcpu trait should be implemented by each underlying hypervisor.

Previously created hypervisor object should create the VM based on
already selected hypervisor and Vm

hypervisor: Add Vcpu trait

This Vcpu trait should be implemented by each underlying hypervisor.

Previously created hypervisor object should create the VM based on
already selected hypervisor and Vm object should create this vcpu
object based on same hyperviosr. Each of this object should be
referenced by trait object i.e <dyn Vcpu>.

Signed-off-by: Muminul Islam <muislam@microsoft.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

show more ...


# 56a16385 08-Jun-2020 Muminul Islam <muislam@microsoft.com>

hypervisor: Introduce hypervisor crate

The purpose of this trait is to add support for other hypervisors than
KVM, like e.g. Microsoft Hyper-V.

Further commits will define additional hypervisor rel

hypervisor: Introduce hypervisor crate

The purpose of this trait is to add support for other hypervisors than
KVM, like e.g. Microsoft Hyper-V.

Further commits will define additional hypervisor related traits like
Vcpu and Vm. Each of the supported hypervisor will need to implement all
traits defined from the hypervisor crate.

Signed-off-by: Muminul Islam <muislam@microsoft.com>

show more ...


123