Skip to content
  • Avihai Horon's avatar
    9d3103c8
    sysemu: Add prepare callback to struct VMChangeStateEntry · 9d3103c8
    Avihai Horon authored
    
    
    Add prepare callback to struct VMChangeStateEntry.
    
    The prepare callback is optional and can be set by the new function
    qemu_add_vm_change_state_handler_prio_full() that allows setting this
    callback in addition to the main callback.
    
    The prepare callbacks and main callbacks are called in two separate
    phases: First all prepare callbacks are called and only then all main
    callbacks are called.
    
    The purpose of the new prepare callback is to allow all devices to run a
    preliminary task before calling the devices' main callbacks.
    
    This will facilitate adding P2P support for VFIO migration where all
    VFIO devices need to be put in an intermediate P2P quiescent state
    before being stopped or started by the main callback.
    
    Signed-off-by: default avatarAvihai Horon <avihaih@nvidia.com>
    Reviewed-by: default avatarCédric Le Goater <clg@redhat.com>
    Tested-by: default avatarYangHang Liu <yanghliu@redhat.com>
    Signed-off-by: default avatarCédric Le Goater <clg@redhat.com>
    9d3103c8
    sysemu: Add prepare callback to struct VMChangeStateEntry
    Avihai Horon authored
    
    
    Add prepare callback to struct VMChangeStateEntry.
    
    The prepare callback is optional and can be set by the new function
    qemu_add_vm_change_state_handler_prio_full() that allows setting this
    callback in addition to the main callback.
    
    The prepare callbacks and main callbacks are called in two separate
    phases: First all prepare callbacks are called and only then all main
    callbacks are called.
    
    The purpose of the new prepare callback is to allow all devices to run a
    preliminary task before calling the devices' main callbacks.
    
    This will facilitate adding P2P support for VFIO migration where all
    VFIO devices need to be put in an intermediate P2P quiescent state
    before being stopped or started by the main callback.
    
    Signed-off-by: default avatarAvihai Horon <avihaih@nvidia.com>
    Reviewed-by: default avatarCédric Le Goater <clg@redhat.com>
    Tested-by: default avatarYangHang Liu <yanghliu@redhat.com>
    Signed-off-by: default avatarCédric Le Goater <clg@redhat.com>
Loading