From: Christian Borntraeger <[EMAIL PROTECTED]> This patch changes the interrupt defintions for virtio on s390. We now use the extint number 0x2603, which is used as a host interrupt already by z/VM for pfault and dasd_diag. We will use subcode 0x0D to distinguish virtio from dasd and pfault.
Signed-off-by: Christian Borntraeger <[EMAIL PROTECTED]> Signed-off-by: Carsten Otte <[EMAIL PROTECTED]> --- arch/s390/kvm/interrupt.c | 6 +++++- drivers/s390/kvm/kvm_virtio.c | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) Index: kvm/arch/s390/kvm/interrupt.c =================================================================== --- kvm.orig/arch/s390/kvm/interrupt.c +++ kvm/arch/s390/kvm/interrupt.c @@ -162,7 +162,11 @@ static void __do_deliver_interrupt(struc VCPU_EVENT(vcpu, 4, "interrupt: virtio parm:%x,parm64:%lx", inti->ext.ext_params, inti->ext.ext_params2); vcpu->stat.deliver_virtio_interrupt++; - rc = put_guest_u16(vcpu, __LC_EXT_INT_CODE, 0x1237); + rc = put_guest_u16(vcpu, __LC_EXT_INT_CODE, 0x2603); + if (rc == -EFAULT) + exception = 1; + + rc = put_guest_u16(vcpu, __LC_CPU_ADDRESS, 0x0d00); if (rc == -EFAULT) exception = 1; Index: kvm/drivers/s390/kvm/kvm_virtio.c =================================================================== --- kvm.orig/drivers/s390/kvm/kvm_virtio.c +++ kvm/drivers/s390/kvm/kvm_virtio.c @@ -23,6 +23,8 @@ #include <asm/setup.h> #include <asm/s390_ext.h> +#define VIRTIO_SUBCODE_64 0x0D00 + /* * The pointer to our (page) of device descriptions. */ @@ -291,6 +293,10 @@ static void scan_devices(void) static void kvm_extint_handler(u16 code) { void *data = (void *) *(long *) __LC_PFAULT_INTPARM; + u16 subcode = S390_lowcore.cpu_addr; + + if ((subcode & 0xff00) != VIRTIO_SUBCODE_64) + return; vring_interrupt(0, data); } @@ -319,8 +325,8 @@ static int __init kvm_devices_init(void) kvm_devices = (void *) (max_pfn << PAGE_SHIFT); - register_external_interrupt(0x1237, kvm_extint_handler); ctl_set_bit(0, 9); + register_external_interrupt(0x2603, kvm_extint_handler); scan_devices(); return 0; ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel