Re: [kvm-devel] [PATCH 2/8] KVM: Add irqdevice object

2007-05-13 Thread Avi Kivity
Gregory Haskins wrote: On Wed, May 9, 2007 at 6:12 PM, in message > <[EMAIL PROTECTED]>, > "Dor Laor" <[EMAIL PROTECTED]> wrote: > >> I wonder if VMX or SVM have an option of injecting several virq at once. >> > > VMX definitely does not (IIUC). I don't know enough abo

Re: [kvm-devel] [PATCH 2/8] KVM: Add irqdevice object

2007-05-09 Thread Gregory Haskins
>>> On Wed, May 9, 2007 at 6:12 PM, in message <[EMAIL PROTECTED]>, "Dor Laor" <[EMAIL PROTECTED]> wrote: > > I wonder if VMX or SVM have an option of injecting several virq at once. VMX definitely does not (IIUC). I don't know enough about SVN to say for sure, but my gut tells me that its not

Re: [kvm-devel] [PATCH 2/8] KVM: Add irqdevice object

2007-05-09 Thread Dor Laor
>>>+static void do_interrupt_requests(struct kvm_vcpu *vcpu, >>>+ struct kvm_run *kvm_run) >>>+{ >>>+int pending = __kvm_vcpu_irq_all_pending(vcpu); >>>+ >>>+clear_pending_controls(vcpu); >>>+ >>>+while (pending) { >>>+kvm_irqpin_t pin = __fls(pe

Re: [kvm-devel] [PATCH 2/8] KVM: Add irqdevice object

2007-05-09 Thread Gregory Haskins
>>> On Wed, May 9, 2007 at 11:16 AM, in message <[EMAIL PROTECTED]>, "Dor Laor" <[EMAIL PROTECTED]> wrote: > >>- static inline void kvm_do_inject_irq(struct kvm_vcpu *vcpu) >>-{ >>- struct vmcb_control_area *control; >>- >>- control = &vcpu- >svm- >vmcb- >control; >>- control- >int_v

Re: [kvm-devel] [PATCH 2/8] KVM: Add irqdevice object

2007-05-09 Thread Dor Laor
>-static inline void kvm_do_inject_irq(struct kvm_vcpu *vcpu) >-{ >- struct vmcb_control_area *control; >- >- control = &vcpu->svm->vmcb->control; >- control->int_vector = pop_irq(vcpu); >- control->int_ctl &= ~V_INTR_PRIO_MASK; >- control->int_ctl |= V_IRQ_MASK | >-

[kvm-devel] [PATCH 2/8] KVM: Add irqdevice object

2007-05-08 Thread Gregory Haskins
The current code is geared towards using a user-mode (A)PIC. This patch adds an "irqdevice" abstraction, and implements a "userint" model to handle the duties of the original code. Later, we can develop other irqdevice models to handle objects like LAPIC, IOAPIC, i8259, etc, as appropriate Signe