9c5be6f6 | 11-Feb-2021 |
Rob Bradford <robert.bradford@intel.com> |
build: Remove unnecessary Result<> returns
If the function can never return an error this is now a clippy failure:
error: this function's return value is unnecessarily wrapped by `Result` --> vi
build: Remove unnecessary Result<> returns
If the function can never return an error this is now a clippy failure:
error: this function's return value is unnecessarily wrapped by `Result` --> virtio-devices/src/watchdog.rs:215:5 | 215 | / fn set_state(&mut self, state: &WatchdogState) -> io::Result<()> { 216 | | self.common.avail_features = state.avail_features; 217 | | self.common.acked_features = state.acked_features; 218 | | // When restoring enable the watchdog if it was previously enabled. We reset the timer ... | 223 | | Ok(()) 224 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_wraps
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
show more ...
|
aec0d309 | 13-Jan-2021 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: emulator: also set ES segment in MockVMM
Some instructions, such as MOVS, need a valid ES segment.
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
5fc12862 | 11-Jan-2021 |
Wei Liu <liuwe@microsoft.com> |
hypervisor, vmm: minor changes to VmmOps
Swap the last two parameters of guest_mem_{read,write} to be consistent with other read / write functions.
Use more descriptive parameter names.
No functio
hypervisor, vmm: minor changes to VmmOps
Swap the last two parameters of guest_mem_{read,write} to be consistent with other read / write functions.
Use more descriptive parameter names.
No functional change.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
show more ...
|
f4159ca0 | 30-Dec-2020 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: emulator: drop useless set_ip calls
The instruction pointer is already pointing at the instruction being emulated.
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
a6b839b3 | 08-Feb-2021 |
Rob Bradford <robert.bradford@intel.com> |
build: Update to latest kvm-ioctls
Update the version of the fork pointed to which has been rebased on the latest upstream.
Signed-off-by: Rob Bradford <robert.bradford@intel.com> |
eee218f1 | 02-Feb-2021 |
Samuel Ortiz <sameo@linux.intel.com> |
hypervisor: emulator: Add MOVZX unit tests
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> |
5ada3f59 | 02-Feb-2021 |
Samuel Ortiz <sameo@linux.intel.com> |
hypervisor: emulator: Emulate MOVZX
MOV R/RM is a special case of MOVZX, so we generalize the mov_r_rm macro to make it support both instructions.
Fixes: #2227
Signed-off-by: Samuel Ortiz <sameo@l
hypervisor: emulator: Emulate MOVZX
MOV R/RM is a special case of MOVZX, so we generalize the mov_r_rm macro to make it support both instructions.
Fixes: #2227
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
show more ...
|
7659055e | 10-Dec-2020 |
Vineeth Pillai <viremana@linux.microsoft.com> |
mshv: Use in-kernel ioeventfd mechanism
Signed-off-by: Vineeth Pillai <viremana@linux.microsoft.com> |
5209bd61 | 14-Jan-2021 |
Vineeth Pillai <viremana@linux.microsoft.com> |
mshv: Use in-kernel irqfd mechanism
Convert MshvIrqRoutingEntry functions to methods as well.
Signed-off-by: Vineeth Pillai <viremana@linux.microsoft.com> |
fd9972ec | 25-Jan-2021 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: fix exception vector numbers
According to Intel SDM, #DE should be 0 and #DB should be 1.
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
184baff3 | 03-Jan-2021 |
Rob Bradford <robert.bradford@intel.com> |
hypervisor: kvm: aarch64: Use struct initialisation
error: field assignment outside of initializer for an instance created with Default::default() Error: --> hypervisor/src/kvm/mod.rs:1239:9
hypervisor: kvm: aarch64: Use struct initialisation
error: field assignment outside of initializer for an instance created with Default::default() Error: --> hypervisor/src/kvm/mod.rs:1239:9 | 1239 | state.mp_state = self.get_mp_state()?; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `-D clippy::field-reassign-with-default` implied by `-D warnings` note: consider initializing the variable with `kvm::aarch64::VcpuKvmState { mp_state: self.get_mp_state()?, ..Default::default() }` and removing relevant reassignments --> hypervisor/src/kvm/mod.rs:1237:9 | 1237 | let mut state = CpuState::default(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
show more ...
|
fabd6307 | 02-Jan-2021 |
Rob Bradford <robert.bradford@intel.com> |
misc: Remove unnecessary literal casts
Signed-off-by: Rob Bradford <robert.bradford@intel.com> |
f452fe74 | 02-Jan-2021 |
Rob Bradford <robert.bradford@intel.com> |
hypervisor: kvm: Use struct initialiser where possible
error: field assignment outside of initializer for an instance created with Default::default() --> hypervisor/src/kvm/mod.rs:318:9 | 318
hypervisor: kvm: Use struct initialiser where possible
error: field assignment outside of initializer for an instance created with Default::default() --> hypervisor/src/kvm/mod.rs:318:9 | 318 | cap.cap = KVM_CAP_SPLIT_IRQCHIP; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `-D clippy::field-reassign-with-default` implied by `-D warnings` note: consider initializing the variable with `kvm_bindings::kvm_enable_cap { cap: KVM_CAP_SPLIT_IRQCHIP, ..Default::default() }` and removing relevant reassignments --> hypervisor/src/kvm/mod.rs:317:9 | 317 | let mut cap: kvm_enable_cap = Default::default(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
show more ...
|
21dcac77 | 14-Dec-2020 |
Samuel Ortiz <sameo@linux.intel.com> |
hypervisor: Bump iced-x86 to 1.10.0
And fix related warnings: op_kind and op_register are being deprecated as they might panic.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Ro
hypervisor: Bump iced-x86 to 1.10.0
And fix related warnings: op_kind and op_register are being deprecated as they might panic.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Rob Bradford <robert.bradford@intel.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 ...
|
aac86f45 | 10-Dec-2020 |
Muminul Islam <muislam@microsoft.com> |
hypervisor: Fix clippy errors in the mshv module
Signed-off-by: Muminul Islam <muislam@microsoft.com> |
ef3fad83 | 04-Dec-2020 |
Muminul Islam <muislam@microsoft.com> |
hypervisor: mshv: Implement CPU state for MshvVcpu
Signed-off-by: Muminul Islam <muislam@microsoft.com> |
2b42f6c8 | 04-Dec-2020 |
Muminul Islam <muislam@microsoft.com> |
hypervisor: mhsv: Implement CPU run loop
Handle CPU exits, adding instruction emulations. Keep CPU specific data inside vmm for later use.
Co-Developed-by: Nuno Das Neves <nudasnev@microsoft.com> S
hypervisor: mhsv: Implement CPU run loop
Handle CPU exits, adding instruction emulations. Keep CPU specific data inside vmm for later use.
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 ...
|
7acb5c64 | 04-Dec-2020 |
Muminul Islam <muislam@microsoft.com> |
hypervisor, mshv: Define MshvEmulatorContext
This patch adds the definition and implementation MshvEmulatorContext which is platform emulation for Hyper-V.
Co-Developed-by: Samuel Ortiz <sameo@linu
hypervisor, mshv: Define MshvEmulatorContext
This patch adds the definition and implementation MshvEmulatorContext which is platform emulation for Hyper-V.
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 ...
|
63f356b7 | 04-Dec-2020 |
Muminul Islam <muislam@microsoft.com> |
hypervisor: mhsv: Define software emulated TLB
A software emulated TLB. This is mostly used by the instruction emulator to cache gva to gpa translations passed from the hypervisor.
Co-Developed-by:
hypervisor: mhsv: Define software emulated TLB
A software emulated TLB. This is mostly used by the instruction emulator to cache gva to gpa translations passed from the hypervisor.
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 ...
|
fd0ef6cf | 04-Dec-2020 |
Muminul Islam <muislam@microsoft.com> |
hypervisor: mshv: Emulate IrqFd and IOEventFd for mshv module
We don't have IrqFd and IOEventFd support in the kernel for now. So an emulation layer is needed. In the future, we will be adding this
hypervisor: mshv: Emulate IrqFd and IOEventFd for mshv module
We don't have IrqFd and IOEventFd support in the kernel for now. So an emulation layer is needed. In the future, we will be adding this support in the kernel.
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 ...
|
286a23fb | 04-Dec-2020 |
Muminul Islam <muislam@microsoft.com> |
hypervisor: mshv: Add vmmops to MshvVm struct
vmmops trait object is needed to get access some of the upper level vmm functionalities i.e guest memory access, IO read write etc.
Co-Developed-by: Pr
hypervisor: mshv: Add vmmops to MshvVm struct
vmmops trait object is needed to get access some of the upper level vmm functionalities i.e guest memory access, IO read write etc.
Co-Developed-by: Praveen Paladugu <prapal@microsoft.com> Signed-off-by: Praveen Paladugu <prapal@microsoft.com> Signed-off-by: Muminul Islam <muislam@microsoft.com>
show more ...
|
3a93487b | 04-Dec-2020 |
Muminul Islam <muislam@microsoft.com> |
hypervisor: mshv: Add Microsoft Hypervisor specific data to Mshv{Vm,Vcpu}
Adding hv_state (hyperv state) to Vm and Vcpu struct for mshv. This state is needed to keep some kernel data(for now hyperca
hypervisor: mshv: Add Microsoft Hypervisor specific data to Mshv{Vm,Vcpu}
Adding hv_state (hyperv state) to Vm and Vcpu struct for mshv. This state is needed to keep some kernel data(for now hypercall page) in the vmm.
Co-Developed-by: Praveen Paladugu <prapal@microsoft.com> Signed-off-by: Praveen Paladugu <prapal@microsoft.com> 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 ...
|
f4af668d | 05-Dec-2020 |
Muminul Islam <muislam@microsoft.com> |
hypervisor, vmm: Implement MsiInterruptOps for mshv
Co-Developed-by: Wei Liu <liuwe@microsoft.com> Signed-off-by: Wei Liu <liuwe@microsoft.com> Signed-off-by: Muminul Islam <muislam@microsoft.com> |