• David Hildenbrand's avatar
    KVM: s390: migration / injection of prog irq ilc · 634790b8
    David Hildenbrand authored
    We have to migrate the program irq ilc and someday we will have to
    specify the ilc without KVM trying to autodetect the value.
    
    Let's reuse one of the spare fields in our program irq that should
    always be set to 0 by user space. Because we also want to make use
    of 0 ilcs ("not available"), we need a validity indicator.
    
    If no valid ilc is given, we try to autodetect the ilc via the current
    icptcode and icptstatus + parameter and store the valid ilc in the
    irq structure.
    
    This has a nice effect: QEMU's making use of KVM_S390_IRQ /
    KVM_S390_SET_IRQ_STATE / KVM_S390_GET_IRQ_STATE for migration will
    directly migrate the ilc without any changes.
    
    Please note that we use bit 0 as validity and bit 1,2 for the ilc, so
    by applying the ilc mask we directly get the ilen which is usually what
    we work with.
    Reviewed-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: default avatarDavid Hildenbrand <dahi@linux.vnet.ibm.com>
    Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
    634790b8
interrupt.c 61.8 KB