• Christian Borntraeger's avatar
    kvm-s390: implement config_changed for virtio on s390 · be3c5832
    Christian Borntraeger authored
    This patch implements config_changed for the s390 virtio transport.
    
    We use the least significant bit of the interrupt parameter field
    to decide, if this interrupt should call the virtio virtqueue callback
    or the config_changed callback.
    
    This method is compatible with old host and guest code. Old 64 bit guests
    will not check the bit and trigger a harmless additional vring_interrupt
    call. Old host code will never set this bit, this is also safe.
    
    This patch also takes care of a potential future 31 bit virtio transport
    for s390. On 31 bit _LC_PFAULT_INTPARM and __LC_EXT_PARAMS are identical.
    We exploit the alignment of the token and fold the change bit into the
    lsb of the token itself.
    Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    be3c5832
kvm_virtio.c 9.13 KB