#
e3d45be6 |
| 28-Aug-2020 |
Henry Wang <Henry.Wang@arm.com> |
AArch64: Preparation for vCPU save/restore
This commit ports code from firecracker and refactors the existing AArch64 code as the preparation for implementing save/restore AArch64 vCPU, including:
AArch64: Preparation for vCPU save/restore
This commit ports code from firecracker and refactors the existing AArch64 code as the preparation for implementing save/restore AArch64 vCPU, including:
1. Modification of `arm64_core_reg` macro to retrive the index of arm64 core register and implemention of a helper to determine if a register is a system register.
2. Move some macros and helpers in `arch` crate to the `hypervisor` crate.
3. Added related unit tests for above functions and macros.
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
show more ...
|
#
da642fcf |
| 15-Sep-2020 |
Rob Bradford <robert.bradford@intel.com> |
hypervisor: Add "HyperV" exit to list of KVM exits
Currently we don't need to do anything to service these exits but when the synthetic interrupt controller is active an exit will be triggered to no
hypervisor: Add "HyperV" exit to list of KVM exits
Currently we don't need to do anything to service these exits but when the synthetic interrupt controller is active an exit will be triggered to notify the VMM of details of the synthetic interrupt page.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
show more ...
|
#
9b48ee38 |
| 15-Sep-2020 |
Rob Bradford <robert.bradford@intel.com> |
hypervisor: Support enabling HyperV synthetic interrupt controller
This adds a KVM HyperV synthetic interrupt controller in place of the emulated PIC.
Signed-off-by: Rob Bradford <robert.bradford@i
hypervisor: Support enabling HyperV synthetic interrupt controller
This adds a KVM HyperV synthetic interrupt controller in place of the emulated PIC.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
show more ...
|
#
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 ...
|
#
618722cd |
| 03-Jul-2020 |
Samuel Ortiz <sameo@linux.intel.com> |
hypervisor: cpu: Rename state getter and setter
vcpu.{set_}cpu_state() is a stutter.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
#
e2b5c78d |
| 24-Jun-2020 |
Sebastien Boeuf <sebastien.boeuf@intel.com> |
hypervisor: Re-order vCPU state for storing and restoring
Some vCPU states such as MP_STATE can be modified while retrieving other states. For this reason, it's important to follow a specific order
hypervisor: Re-order vCPU state for storing and restoring
Some vCPU states such as MP_STATE can be modified while retrieving other states. For this reason, it's important to follow a specific order that will ensure a state won't be modified after it has been saved. Comments about ordering requirements have been copied over from Firecracker commit 57f4c7ca14a31c5536f188cacb669d2cad32b9ca.
This patch also set the previously saved VCPU_EVENTS, as this was missing from the restore codepath.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.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 ...
|
#
309924ec |
| 23-Jun-2020 |
Sebastien Boeuf <sebastien.boeuf@intel.com> |
hypervisor: Add guest pause notification
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
|
#
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 ...
|
#
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 ...
|