diff mbox

kvm: x86: q35: Add support for -machine kernel_irqchip=split for q35

Message ID 1456660346-29148-1-git-send-email-rita.sinha89@gmail.com
State New
Headers show

Commit Message

RITA SINHA Feb. 28, 2016, 11:52 a.m. UTC
The split IRQ chip mode via KVM_CAP_SPLIT_IRQCHIP was introduced with commit
15eafc2e602ff8c37c6e132eb8c63fec8fc17175 but was broken for q35. This patch
makes kernel_irqchip=split functional for q35.
---
 hw/i386/pc_q35.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Jan Kiszka Feb. 28, 2016, 12:15 p.m. UTC | #1
On 2016-02-28 12:52, Rita Sinha wrote:
> The split IRQ chip mode via KVM_CAP_SPLIT_IRQCHIP was introduced with commit
> 15eafc2e602ff8c37c6e132eb8c63fec8fc17175 but was broken for q35. This patch

You may abbreviate hashes in logs. I usually use 10 digits, some even
only 8. There is a risk of collisions, but the context will resolve it
again for the reader.

> makes kernel_irqchip=split functional for q35.

Signed-off is missing.

> ---
>  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..ff6a5af 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_pit_in_kernel()) {

kvm_pic_in_kernel

>          i8259 = kvm_i8259_init(isa_bus);
>      } else if (xen_enabled()) {
>          i8259 = xen_interrupt_controller_init();
> 

Jan
diff mbox

Patch

diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 46522c9..ff6a5af 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_pit_in_kernel()) {
         i8259 = kvm_i8259_init(isa_bus);
     } else if (xen_enabled()) {
         i8259 = xen_interrupt_controller_init();