Message ID | 1345028893-2388-1-git-send-email-peter.maydell@linaro.org |
---|---|
State | Accepted |
Commit | 8732fbd2afce18afc429da2ad76df7c48b4bac4b |
Headers | show |
On Wed, Aug 15, 2012 at 12:08:13PM +0100, Peter Maydell wrote: > Move the init of the irqchip_inject_ioctl field of KVMState out of > kvm_irqchip_create() and into kvm_init(), so that kvm_set_irq() > can be used even when no irqchip is created (for architectures > that support async interrupt notification even without an in > kernel irqchip). > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > Changes v1->v2: move whe whole chunk of init code, for both > KVM_IRQ_LINE and KVM_IRQ_LINE_STATUS possibilities. > > kvm-all.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) Applied, thanks.
On 2012-08-15 13:08, Peter Maydell wrote: > Move the init of the irqchip_inject_ioctl field of KVMState out of > kvm_irqchip_create() and into kvm_init(), so that kvm_set_irq() > can be used even when no irqchip is created (for architectures > that support async interrupt notification even without an in > kernel irqchip). > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > Changes v1->v2: move whe whole chunk of init code, for both > KVM_IRQ_LINE and KVM_IRQ_LINE_STATUS possibilities. > > kvm-all.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/kvm-all.c b/kvm-all.c > index 34b02c1..72d84a2 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -1200,10 +1200,6 @@ static int kvm_irqchip_create(KVMState *s) > return ret; > } > > - s->irqchip_inject_ioctl = KVM_IRQ_LINE; > - if (kvm_check_extension(s, KVM_CAP_IRQ_INJECT_STATUS)) { > - s->irqchip_inject_ioctl = KVM_IRQ_LINE_STATUS; > - } > kvm_kernel_irqchip = true; > /* If we have an in-kernel IRQ chip then we must have asynchronous > * interrupt delivery (though the reverse is not necessarily true) > @@ -1350,6 +1346,11 @@ int kvm_init(void) > s->direct_msi = (kvm_check_extension(s, KVM_CAP_SIGNAL_MSI) > 0); > #endif > > + s->irqchip_inject_ioctl = KVM_IRQ_LINE; > + if (kvm_check_extension(s, KVM_CAP_IRQ_INJECT_STATUS)) { > + s->irqchip_inject_ioctl = KVM_IRQ_LINE_STATUS; > + } > + > ret = kvm_arch_init(s); > if (ret < 0) { > goto err; > As it's not yet merged, some late comment: irqchip_inject_ioctl should be renamed as well. irq_inject_ioctl? Jan
On 21 August 2012 09:19, Jan Kiszka <jan.kiszka@siemens.com> wrote: > On 2012-08-15 13:08, Peter Maydell wrote: >> Move the init of the irqchip_inject_ioctl field of KVMState out of >> kvm_irqchip_create() and into kvm_init(), so that kvm_set_irq() >> can be used even when no irqchip is created (for architectures >> that support async interrupt notification even without an in >> kernel irqchip). > As it's not yet merged, some late comment: irqchip_inject_ioctl should > be renamed as well. irq_inject_ioctl? If we're changing it anyway, IIRC Avi didn't like the term "inject" here? -- PMM
On 2012-08-21 10:25, Peter Maydell wrote: > On 21 August 2012 09:19, Jan Kiszka <jan.kiszka@siemens.com> wrote: >> On 2012-08-15 13:08, Peter Maydell wrote: >>> Move the init of the irqchip_inject_ioctl field of KVMState out of >>> kvm_irqchip_create() and into kvm_init(), so that kvm_set_irq() >>> can be used even when no irqchip is created (for architectures >>> that support async interrupt notification even without an in >>> kernel irqchip). > >> As it's not yet merged, some late comment: irqchip_inject_ioctl should >> be renamed as well. irq_inject_ioctl? > > If we're changing it anyway, IIRC Avi didn't like the term "inject" > here? Then irq_set_ioctl. Jan
On Tue, Aug 21, 2012 at 12:27:51PM +0200, Jan Kiszka wrote: > On 2012-08-21 10:25, Peter Maydell wrote: > > On 21 August 2012 09:19, Jan Kiszka <jan.kiszka@siemens.com> wrote: > >> On 2012-08-15 13:08, Peter Maydell wrote: > >>> Move the init of the irqchip_inject_ioctl field of KVMState out of > >>> kvm_irqchip_create() and into kvm_init(), so that kvm_set_irq() > >>> can be used even when no irqchip is created (for architectures > >>> that support async interrupt notification even without an in > >>> kernel irqchip). > > > >> As it's not yet merged, some late comment: irqchip_inject_ioctl should > >> be renamed as well. irq_inject_ioctl? > > > > If we're changing it anyway, IIRC Avi didn't like the term "inject" > > here? > > Then irq_set_ioctl. > > Jan It is merged, please send a follow patch.
On 23 August 2012 10:13, Marcelo Tosatti <mtosatti@redhat.com> wrote: > On Tue, Aug 21, 2012 at 12:27:51PM +0200, Jan Kiszka wrote: >> On 2012-08-21 10:25, Peter Maydell wrote: >> > On 21 August 2012 09:19, Jan Kiszka <jan.kiszka@siemens.com> wrote: >> >> As it's not yet merged, some late comment: irqchip_inject_ioctl should >> >> be renamed as well. irq_inject_ioctl? >> > >> > If we're changing it anyway, IIRC Avi didn't like the term "inject" >> > here? >> >> Then irq_set_ioctl. >> >> Jan > > It is merged, please send a follow patch. Sure, no problem (I was hovering on the edge of suggesting that the field rename should be a separate patch anyhow.) -- PMM
diff --git a/kvm-all.c b/kvm-all.c index 34b02c1..72d84a2 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -1200,10 +1200,6 @@ static int kvm_irqchip_create(KVMState *s) return ret; } - s->irqchip_inject_ioctl = KVM_IRQ_LINE; - if (kvm_check_extension(s, KVM_CAP_IRQ_INJECT_STATUS)) { - s->irqchip_inject_ioctl = KVM_IRQ_LINE_STATUS; - } kvm_kernel_irqchip = true; /* If we have an in-kernel IRQ chip then we must have asynchronous * interrupt delivery (though the reverse is not necessarily true) @@ -1350,6 +1346,11 @@ int kvm_init(void) s->direct_msi = (kvm_check_extension(s, KVM_CAP_SIGNAL_MSI) > 0); #endif + s->irqchip_inject_ioctl = KVM_IRQ_LINE; + if (kvm_check_extension(s, KVM_CAP_IRQ_INJECT_STATUS)) { + s->irqchip_inject_ioctl = KVM_IRQ_LINE_STATUS; + } + ret = kvm_arch_init(s); if (ret < 0) { goto err;
Move the init of the irqchip_inject_ioctl field of KVMState out of kvm_irqchip_create() and into kvm_init(), so that kvm_set_irq() can be used even when no irqchip is created (for architectures that support async interrupt notification even without an in kernel irqchip). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- Changes v1->v2: move whe whole chunk of init code, for both KVM_IRQ_LINE and KVM_IRQ_LINE_STATUS possibilities. kvm-all.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)