]> git.baikalelectronics.ru Git - kernel.git/commit
kvm: add device control API
authorScott Wood <scottwood@freescale.com>
Fri, 12 Apr 2013 14:08:42 +0000 (14:08 +0000)
committerAlexander Graf <agraf@suse.de>
Fri, 26 Apr 2013 18:27:20 +0000 (20:27 +0200)
commit06c32cc5607ea3e1aa08cc0fab2f64f0fd288826
tree4d617ba91f6fc5de3fddac349e695d914e626a49
parentc1bb325e8bf5ef141050c1f5619e582dddd31c89
kvm: add device control API

Currently, devices that are emulated inside KVM are configured in a
hardcoded manner based on an assumption that any given architecture
only has one way to do it.  If there's any need to access device state,
it is done through inflexible one-purpose-only IOCTLs (e.g.
KVM_GET/SET_LAPIC).  Defining new IOCTLs for every little thing is
cumbersome and depletes a limited numberspace.

This API provides a mechanism to instantiate a device of a certain
type, returning an ID that can be used to set/get attributes of the
device.  Attributes may include configuration parameters (e.g.
register base address), device state, operational commands, etc.  It
is similar to the ONE_REG API, except that it acts on devices rather
than vcpus.

Both device types and individual attributes can be tested without having
to create the device or get/set the attribute, without the need for
separately managing enumerated capabilities.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Documentation/virtual/kvm/api.txt
Documentation/virtual/kvm/devices/README [new file with mode: 0644]
include/linux/kvm_host.h
include/uapi/linux/kvm.h
virt/kvm/kvm_main.c