qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2] kvm: x86: q35: Add support for -machine kernel_irqchip=split for q35
@ 2016-03-07 19:22 Rita Sinha
  2016-03-07 19:25 ` Jan Kiszka
  0 siblings, 1 reply; 3+ messages in thread
From: Rita Sinha @ 2016-03-07 19:22 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, jan.kiszka

The split IRQ chip mode via KVM_CAP_SPLIT_IRQCHIP was introduced with commit
15eafc2e60 but was broken for q35. This patch makes kernel_irqchip=split
functional for q35.

Signed-off-by: Rita Sinha <rita.sinha89@gmail.com>
---
 hw/i386/pc_q35.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 46522c9..fcc127b 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -39,6 +39,7 @@
 #include "hw/kvm/clock.h"
 #include "hw/pci-host/q35.h"
 #include "exec/address-spaces.h"
+#include "hw/i386/pc.h"
 #include "hw/i386/ich9.h"
 #include "hw/smbios/smbios.h"
 #include "hw/ide/pci.h"
@@ -145,7 +146,7 @@ static void pc_q35_init(MachineState *machine)
 
     /* irq lines */
     gsi_state = g_malloc0(sizeof(*gsi_state));
-    if (kvm_irqchip_in_kernel()) {
+    if (kvm_ioapic_in_kernel()) {
         kvm_pc_setup_irq_routing(pcmc->pci_enabled);
         gsi = qemu_allocate_irqs(kvm_pc_gsi_handler, gsi_state,
                                  GSI_NUM_PINS);
@@ -192,7 +193,7 @@ static void pc_q35_init(MachineState *machine)
     /*end early*/
     isa_bus_irqs(isa_bus, gsi);
 
-    if (kvm_irqchip_in_kernel()) {
+    if (kvm_pic_in_kernel()) {
         i8259 = kvm_i8259_init(isa_bus);
     } else if (xen_enabled()) {
         i8259 = xen_interrupt_controller_init();
-- 
2.7.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH v2] kvm: x86: q35: Add support for -machine kernel_irqchip=split for q35
  2016-03-07 19:22 [Qemu-devel] [PATCH v2] kvm: x86: q35: Add support for -machine kernel_irqchip=split for q35 Rita Sinha
@ 2016-03-07 19:25 ` Jan Kiszka
  2016-03-08 12:32   ` Paolo Bonzini
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Kiszka @ 2016-03-07 19:25 UTC (permalink / raw)
  To: Rita Sinha, qemu-devel; +Cc: pbonzini

On 2016-03-07 20:22, Rita Sinha wrote:
> The split IRQ chip mode via KVM_CAP_SPLIT_IRQCHIP was introduced with commit
> 15eafc2e60 but was broken for q35. This patch makes kernel_irqchip=split
> functional for q35.
> 
> Signed-off-by: Rita Sinha <rita.sinha89@gmail.com>
> ---
>  hw/i386/pc_q35.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 46522c9..fcc127b 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -39,6 +39,7 @@
>  #include "hw/kvm/clock.h"
>  #include "hw/pci-host/q35.h"
>  #include "exec/address-spaces.h"
> +#include "hw/i386/pc.h"
>  #include "hw/i386/ich9.h"
>  #include "hw/smbios/smbios.h"
>  #include "hw/ide/pci.h"
> @@ -145,7 +146,7 @@ static void pc_q35_init(MachineState *machine)
>  
>      /* irq lines */
>      gsi_state = g_malloc0(sizeof(*gsi_state));
> -    if (kvm_irqchip_in_kernel()) {
> +    if (kvm_ioapic_in_kernel()) {
>          kvm_pc_setup_irq_routing(pcmc->pci_enabled);
>          gsi = qemu_allocate_irqs(kvm_pc_gsi_handler, gsi_state,
>                                   GSI_NUM_PINS);
> @@ -192,7 +193,7 @@ static void pc_q35_init(MachineState *machine)
>      /*end early*/
>      isa_bus_irqs(isa_bus, gsi);
>  
> -    if (kvm_irqchip_in_kernel()) {
> +    if (kvm_pic_in_kernel()) {
>          i8259 = kvm_i8259_init(isa_bus);
>      } else if (xen_enabled()) {
>          i8259 = xen_interrupt_controller_init();
> 

Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH v2] kvm: x86: q35: Add support for -machine kernel_irqchip=split for q35
  2016-03-07 19:25 ` Jan Kiszka
@ 2016-03-08 12:32   ` Paolo Bonzini
  0 siblings, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2016-03-08 12:32 UTC (permalink / raw)
  To: Jan Kiszka, Rita Sinha, qemu-devel



On 07/03/2016 20:25, Jan Kiszka wrote:
> On 2016-03-07 20:22, Rita Sinha wrote:
>> The split IRQ chip mode via KVM_CAP_SPLIT_IRQCHIP was introduced with commit
>> 15eafc2e60 but was broken for q35. This patch makes kernel_irqchip=split
>> functional for q35.
>>
>> Signed-off-by: Rita Sinha <rita.sinha89@gmail.com>
>> ---
>>  hw/i386/pc_q35.c | 5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
>> index 46522c9..fcc127b 100644
>> --- a/hw/i386/pc_q35.c
>> +++ b/hw/i386/pc_q35.c
>> @@ -39,6 +39,7 @@
>>  #include "hw/kvm/clock.h"
>>  #include "hw/pci-host/q35.h"
>>  #include "exec/address-spaces.h"
>> +#include "hw/i386/pc.h"
>>  #include "hw/i386/ich9.h"
>>  #include "hw/smbios/smbios.h"
>>  #include "hw/ide/pci.h"
>> @@ -145,7 +146,7 @@ static void pc_q35_init(MachineState *machine)
>>  
>>      /* irq lines */
>>      gsi_state = g_malloc0(sizeof(*gsi_state));
>> -    if (kvm_irqchip_in_kernel()) {
>> +    if (kvm_ioapic_in_kernel()) {
>>          kvm_pc_setup_irq_routing(pcmc->pci_enabled);
>>          gsi = qemu_allocate_irqs(kvm_pc_gsi_handler, gsi_state,
>>                                   GSI_NUM_PINS);
>> @@ -192,7 +193,7 @@ static void pc_q35_init(MachineState *machine)
>>      /*end early*/
>>      isa_bus_irqs(isa_bus, gsi);
>>  
>> -    if (kvm_irqchip_in_kernel()) {
>> +    if (kvm_pic_in_kernel()) {
>>          i8259 = kvm_i8259_init(isa_bus);
>>      } else if (xen_enabled()) {
>>          i8259 = xen_interrupt_controller_init();
>>
> 
> Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>
> 

Applied, thanks to both!

Paolo

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-03-08 12:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-07 19:22 [Qemu-devel] [PATCH v2] kvm: x86: q35: Add support for -machine kernel_irqchip=split for q35 Rita Sinha
2016-03-07 19:25 ` Jan Kiszka
2016-03-08 12:32   ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).