• Scott Wood's avatar
    kvm: add device control API · 852b6d57
    Scott Wood authored
    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: default avatarScott Wood <scottwood@freescale.com>
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    852b6d57
kvm_main.c 70.6 KB