Releases: rust-vmm/kvm
Releases · rust-vmm/kvm
kvm-ioctls v0.12.0
Added
- [#187] Support for
KVM_SET_IDENTITY_MAP_ADDR
- Derive Debug for all exported structs and enums
- [#189] Expose
KVM_SET_
andKVM_HAS_DEVICE_ATTR
for vcpu - [#191] Add
KVM_TRANSLATE
support and thetranslate_gva
function tha translates guest virtual address to the physical address - [#190] Enable usage of
sync_regs
to allow bulk getting and setting of general purpose registers, reducing the number of ioctls needed. - [#198] Return details about
KVM_EXIT_FAIL_ENTRY
in vCPU run - [#199] Add
register_irqfd_with_resample
so thatirqfd
+resaplefd
can be registered throughKVM_IRQFD
- [#202] Add
KVM_CAP_GUEST_DEBUG_HVM_DPS/WPS
- [#202] Added
check_extension_int
which allows checking the capabilities that return numbers instead of booleans
Changed
- Updated vmm-sys-util to 0.11.0
- Updated kvm-bindings to 0.6.0
- Upgraded to rust 2021 edition
- Switched to specifying dependencies using caret requirements instead of comparision requirements
- [#195] Do not panic on unsupported
KVM_EXIT
reason - [#196] Expose a mutable reference to the
kvm_run
structure to allow proper handling of unsupported exit reasons - [#200] Fix wrong
target_arch
gate preventingset_guest_debug
from being exported on ARM - [#206] use
u128
inget/set_on_reg
kvm-ioctls-v0.11.0
v0.10.0
kvm-ioctls-v0.9.0
Added
- Support for accessing and controlling the Time Stamp Counter on x86 platforms
through theget_tsc_khz
andset_tsc_khz
functions.
Changed
- Updated
create_vm
onaarch64
to create a VM fd from the KVM fd using the
host's maximum IPA size.
kvm-ioctls-v0.8.0
v0.8.0
Added
- Support for specifying VM type (an opaque platform and architecture specific
constant) when creating a VM (KVM_CREATE_VM
ioctl) via the
Kvm::create_vm_with_type
function.
Changed
- Now depends on kvm-bindings >=0.4.0 to support use of a newer vmm-sys-utils
dependency.
v0.6.1
kvm-ioctls-v0.7.0
Added
- Support for the system API that returns the maximum allowed vCPU ID
(KVM_CAP_MAX_VCPU_ID
). - Support for
KVM_MEMORY_ENCRYPT_OP
.
Fixed
- [#119]: Disallow invalid
number of cpuid entries to be passed toget_supported_cpuid
and
get_emulated_cpuid
.
Changed
- [#123]: Updated
create_vcpu
to useu64
as the parameter for the number of vCPUs.
kvm-ioctls-v0.6.0
Added
- Support for the vcpu ioctls:
KVM_SET_GUEST_DEBUG
,KVM_KVMCLOCK_CTRL
, and
KVM_GET_REG_LIST
. - Support for the vm ioctl
KVM_GET_DEVICE_ATTR
. - Support for the device ioctl
KVM_HAS_DEVICE_ATTR
. - Support for
VcpuExit::Debug
. - Support for enabling vcpu capabilities using
Vcpu::enable_cap
. - Support for checking Hyper-V (
HypervSynic
andHypervSynic2
), MSI
(MsiDevid
), and IPA Size (ArmVmIPASize
) capabilities.
usingkvm.check_extension
. - Support for checking the VM capabilities via
Vm::check_extension
. - Create a VM with flexible IPA size using
Kvm::create_vm_with_ipa_size
.
Removed
- Removed
Kvm::new_with_fd_number
. The same functionality is offered by the
Kvm
FromRawFd
trait implementation.
Changed
- The VM ioctl
unregister_ioevent
now correctly unregisters the events that
correspond to the data match passed as a parameter. - The
SystemEvent
Vcpu Exit now also contains the relevant type and flags. - Updated
get_dirty_log
such that it does not assume the page size is 4K,
but instead reads it usinglibc::sysconf
.
kvm-ioctls-v0.5.0
Added
- Support for the vcpu ioctls
KVM_GET/SET_VCPU_EVENTS
andKVM_GET_DIRTY_LOG
onaarch64
. - Support for the vcpu ioctl
KVM_IRQ_LINE
.
kvm-ioctls-v0.4.0
Added
- Support for unregistering ioeventfds through
KVM_IOEVENTFD
.
Changed
- Functions working with event FDs now require
vmm_sys_util::eventfd::EventFd in their interface instead of
RawFd. - Functions working with FAM structs kvm_msr_list and kvm_msrs, were
changed to work with their respective safe counterparts MsrList and
respectively Msrs. - Now exporting kvm_ioctls::Error type definition so that users of this
crate can create their own wrapping errors without having to know the
Error type used internally by this crate. - No longer exporting kvm_ioctls::Result. Users of this crate should
not have to use kvm_ioctls::Result outside the crate. - kvm_ioctls::Error now works with errno::Error instead of io::Error.
Removed
- CpuId safe wrapper over FAM struct kvm_cpuid2. The safe wrapper is
now provided by the kvm_bindings crate starting with v0.2.0. - KVM_MAX_MSR_ENTRIES and MAX_KVM_CPUID_ENTRIES. Equivalent constants
are provided by the kvm_bindings crate starting with v0.2.0.