Avi Kivity wrote: > > Other than these minor issues, the patch looks fine.
Here is the rebased one. If gsi/level is not enough, then following patch can fix this. But not sure so far. thx,eddie against: cfc329b216bc3e54fe1107e8f714c7b3bc133224 drivers/kvm/Makefile | 2 drivers/kvm/i8259.c | 440 +++++++++++++++++++++++++++++++++++++++++++++++++ drivers/kvm/irq.c | 59 ++++++ drivers/kvm/irq.h | 64 +++++++ drivers/kvm/kvm.h | 12 + drivers/kvm/kvm_main.c | 46 ++++- drivers/kvm/svm.c | 55 +++++- drivers/kvm/vmx.c | 83 ++++++++- include/linux/kvm.h | 14 + 9 files changed, 749 insertions(+), 26 deletions(-) diff --git a/user/kvmctl.c b/user/kvmctl.c index b9c9f2b..2713c82 100644 --- a/user/kvmctl.c +++ b/user/kvmctl.c @@ -425,7 +425,8 @@ int kvm_set_irq_level(kvm_context_t kvm, int irq, int level) if (!kvm->irqchip_in_kernel) return 0; event.level = level; - event.gsi = irq; + event.pin = irq % 8; + event.chip = irq / 8; r = ioctl(kvm->vm_fd, KVM_IRQ_LINE, &event); if (r == -1) perror("kvm_set_irq_level"); diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c index 02bf208..642b3cd 100644 --- a/drivers/kvm/kvm_main.c +++ b/drivers/kvm/kvm_main.c @@ -2875,9 +2875,9 @@ static long kvm_vm_ioctl(struct file *filp, if (copy_from_user(&irq_event, argp, sizeof irq_event)) goto out; if (irqchip_in_kernel(kvm)) { - if (irq_event.gsi < 16) + if (irq_event.chip < 2) kvm_pic_set_irq(pic_irqchip(kvm), - irq_event.gsi, + irq_event.chip * 8 + irq_event.pin, irq_event.level); /* TODO: IOAPIC */ r = 0; diff --git a/include/linux/kvm.h b/include/linux/kvm.h index 1d1270a..d27dbca 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h @@ -43,7 +43,8 @@ struct kvm_memory_alias { /* for KVM_SET_IRQ_LEVEL */ struct kvm_irq_level { - __u32 gsi; + __u16 chip; + __u16 pin; __u32 level; };
pic-kernel-v26.patch.rebase
Description: pic-kernel-v26.patch.rebase
pic-user-v26.patch.rebase
Description: pic-user-v26.patch.rebase
------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
_______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel