58dbf074 | 15-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: x86: drop get/set Xcrs from Vcpu trait
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
c8d9a430 | 15-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: x86: drop get/set Xsave from Vcpu trait
They are only needed internally within the hypervisor crate.
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
6a8c0fc8 | 15-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: provide a generic FpuState structure
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
08135fa0 | 18-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: provide a generic CpudIdEntry structure
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
45fbf840 | 15-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor, vmm: move away from CpuId type
CpuId is an alias type for the flexible array structure type over CpuIdEntry. The type itself and the type of the element in the array portion are tied to
hypervisor, vmm: move away from CpuId type
CpuId is an alias type for the flexible array structure type over CpuIdEntry. The type itself and the type of the element in the array portion are tied to the underlying hypervisor.
Switch to using CpuIdEntry slice or vector directly. The construction of CpuId type is left to hypervisors.
This allows us to decouple CpuIdEntry from hypervisors more easily.
No functional change intended.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
show more ...
|
edf6dda7 | 15-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: mshv: drop get_suspend_regs
It is not used (yet).
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
f1ab86fe | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: x86: provide a generic SpecialRegisters structure
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
d2b194c4 | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: x86: provide a generic DescriptorTable structure
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
75797827 | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: x86: provide a generic SegmentRegister structure
And drop SegmentRegisterOps since it is no longer required.
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
8b7781e2 | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: x86: provide a generic StandardRegisters structure
We only need to do this for x86 since MSHV does not have aarch64 support yet. This reduces unnecessary code churn.
Signed-off-by: Wei
hypervisor: x86: provide a generic StandardRegisters structure
We only need to do this for x86 since MSHV does not have aarch64 support yet. This reduces unnecessary code churn.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
show more ...
|
d20f647b | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: provide a generic IrqRoutingEntry structure
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
4201bf40 | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: provide a generic ClockData structure
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
beb4f86b | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor, vmm: drop VmState and code
VmState was introduced to hold hypervisor specific VM state. KVM does not need it and MSHV does not really use it yet.
Just drop the code. It can be easily re
hypervisor, vmm: drop VmState and code
VmState was introduced to hold hypervisor specific VM state. KVM does not need it and MSHV does not really use it yet.
Just drop the code. It can be easily revived once there is a need.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
show more ...
|
72d552e5 | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: provide a generic CpuState structure
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
dd592e86 | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: do not export VcpuEvents
It is not used anywhere outside of the hypervisor crate.
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
f9f0a60d | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: provide a generic IoEventAddress structure
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
9810ed44 | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: provide a generic MpState structure
It is however only used for KVM right now because MSHV does not need it yet.
Nonetheless a stub MSHV constructor should be there and get/set function
hypervisor: provide a generic MpState structure
It is however only used for KVM right now because MSHV does not need it yet.
Nonetheless a stub MSHV constructor should be there and get/set functions should be implemented for MSHV.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
show more ...
|
02866fcc | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: drop unused IrqRouting struct from MSHV
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
4a1eab11 | 14-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: do not export VcpuExit
It is not used anywhere outside of the hypervisor crate.
Signed-off-by: Dev Rajput <t-devrajput@microsoft.com> Signed-off-by: Wei Liu <liuwe@microsoft.com> |
f0ad7fc7 | 21-Jun-2022 |
Michael Zhao <michael.zhao@arm.com> |
hypervisor: Remove `arch_target = "arm"' in `cfg`
Some `arch_target = "arm"' usages on VCPU related code are not correct. And we don't support 32-bit ARM architecture.
Signed-off-by: Michael Zhao <
hypervisor: Remove `arch_target = "arm"' in `cfg`
Some `arch_target = "arm"' usages on VCPU related code are not correct. And we don't support 32-bit ARM architecture.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
show more ...
|
2d8635f0 | 21-Jun-2022 |
Michael Zhao <michael.zhao@arm.com> |
hypervisor: Refactor `system_registers` on AArch64
Function `system_registers` took mutable vector reference and modified the vector content. Now change the definition to `get/set` style. And rename
hypervisor: Refactor `system_registers` on AArch64
Function `system_registers` took mutable vector reference and modified the vector content. Now change the definition to `get/set` style. And rename to `get/set_sys_regs` to align with other functions.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
show more ...
|
c4455139 | 21-Jun-2022 |
Michael Zhao <michael.zhao@arm.com> |
hypervisor: Refactor `core_registers` on AArch64
On AArch64, the function `core_registers` and `set_core_registers` are the same thing of `get/set_regs` on x86_64. Now the names are aligned. This wi
hypervisor: Refactor `core_registers` on AArch64
On AArch64, the function `core_registers` and `set_core_registers` are the same thing of `get/set_regs` on x86_64. Now the names are aligned. This will benefit supporting `gdb`.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
show more ...
|
47b5581c | 09-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: drop a level of indirection for MSHV's DeviceFd
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
37109322 | 09-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: drop a level of indirection for KVM's DeviceFd
Signed-off-by: Wei Liu <liuwe@microsoft.com> |
ddad5f35 | 09-Jul-2022 |
Wei Liu <liuwe@microsoft.com> |
hypervisor: allow downcasting to KVM / MSHV device fd
Signed-off-by: Wei Liu <liuwe@microsoft.com> |