All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Baron <jbaron@redhat.com>
Cc: agraf@suse.de, aliguori@us.ibm.com, juzhang@redhat.com,
	jan.kiszka@siemens.com, qemu-devel@nongnu.org, armbru@redhat.com,
	blauwirbel@gmail.com, yamahata@valinux.co.jp,
	alex.williamson@redhat.com, kevin@koconnor.net, avi@redhat.com,
	mkletzan@redhat.com, pbonzini@redhat.com, lcapitulino@redhat.com,
	afaerber@suse.de, kraxel@redhat.com
Subject: Re: [Qemu-devel] [PATCH v1 06/13] pc: Move ioapic_init() from pc_piix.c to pc.c
Date: Wed, 31 Oct 2012 12:02:00 +0200	[thread overview]
Message-ID: <20121031100200.GD12521@redhat.com> (raw)
In-Reply-To: <745b5b809d273a0c1750efc8fb7d1daaca56065b.1351561225.git.jbaron@redhat.com>

On Mon, Oct 29, 2012 at 10:11:26PM -0400, Jason Baron wrote:
> From: Jason Baron <jbaron@redhat.com>
> 
> Move ioapic_init from pc_piix.c to pc.c, to make it a common function.
> Rename ioapic_init -> ioapic_init_gsi.
> 
> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Jason Baron <jbaron@redhat.com>

I wonder whether this should be reworked using composition too?

> ---
>  hw/pc.c      |   24 ++++++++++++++++++++++++
>  hw/pc.h      |    2 ++
>  hw/pc_piix.c |   25 +------------------------
>  3 files changed, 27 insertions(+), 24 deletions(-)
> 
> diff --git a/hw/pc.c b/hw/pc.c
> index cb7fa68..af1a076 100644
> --- a/hw/pc.c
> +++ b/hw/pc.c
> @@ -1129,3 +1129,27 @@ void pc_pci_device_init(PCIBus *pci_bus)
>          pci_create_simple(pci_bus, -1, "lsi53c895a");
>      }
>  }
> +
> +void ioapic_init_gsi(GSIState *gsi_state, const char *parent_name)
> +{
> +    DeviceState *dev;
> +    SysBusDevice *d;
> +    unsigned int i;
> +
> +    if (kvm_irqchip_in_kernel()) {
> +        dev = qdev_create(NULL, "kvm-ioapic");
> +    } else {
> +        dev = qdev_create(NULL, "ioapic");
> +    }
> +    if (parent_name) {
> +        object_property_add_child(object_resolve_path(parent_name, NULL),
> +                                  "ioapic", OBJECT(dev), NULL);
> +    }
> +    qdev_init_nofail(dev);
> +    d = sysbus_from_qdev(dev);
> +    sysbus_mmio_map(d, 0, 0xfec00000);
> +
> +    for (i = 0; i < IOAPIC_NUM_PINS; i++) {
> +        gsi_state->ioapic_irq[i] = qdev_get_gpio_in(dev, i);
> +    }
> +}
> diff --git a/hw/pc.h b/hw/pc.h
> index d6639a6..2237e86 100644
> --- a/hw/pc.h
> +++ b/hw/pc.h
> @@ -104,6 +104,8 @@ void pc_pci_device_init(PCIBus *pci_bus);
>  typedef void (*cpu_set_smm_t)(int smm, void *arg);
>  void cpu_smm_register(cpu_set_smm_t callback, void *arg);
>  
> +void ioapic_init_gsi(GSIState *gsi_state, const char *parent_name);
> +
>  /* acpi.c */
>  extern int acpi_enabled;
>  extern char *acpi_tables;
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index acb1e92..7bcac87 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -95,29 +95,6 @@ static void kvm_piix3_gsi_handler(void *opaque, int n, int level)
>      }
>  }
>  
> -static void ioapic_init(GSIState *gsi_state)
> -{
> -    DeviceState *dev;
> -    SysBusDevice *d;
> -    unsigned int i;
> -
> -    if (kvm_irqchip_in_kernel()) {
> -        dev = qdev_create(NULL, "kvm-ioapic");
> -    } else {
> -        dev = qdev_create(NULL, "ioapic");
> -    }
> -    /* FIXME: this should be under the piix3.  */
> -    object_property_add_child(object_resolve_path("i440fx", NULL),
> -                              "ioapic", OBJECT(dev), NULL);
> -    qdev_init_nofail(dev);
> -    d = sysbus_from_qdev(dev);
> -    sysbus_mmio_map(d, 0, 0xfec00000);
> -
> -    for (i = 0; i < IOAPIC_NUM_PINS; i++) {
> -        gsi_state->ioapic_irq[i] = qdev_get_gpio_in(dev, i);
> -    }
> -}
> -
>  /* PC hardware initialisation */
>  static void pc_init1(MemoryRegion *system_memory,
>                       MemoryRegion *system_io,
> @@ -221,7 +198,7 @@ static void pc_init1(MemoryRegion *system_memory,
>          gsi_state->i8259_irq[i] = i8259[i];
>      }
>      if (pci_enabled) {
> -        ioapic_init(gsi_state);
> +        ioapic_init_gsi(gsi_state, "i440fx");
>      }
>  
>      pc_register_ferr_irq(gsi[13]);
> -- 
> 1.7.1

  reply	other threads:[~2012-10-31 10:00 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-30  2:11 [Qemu-devel] [PATCH v1 00/13] q35 patches for pci tree Jason Baron
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 01/13] pc/piix_pci: factor out smram/pam logic Jason Baron
2012-10-30 19:07   ` Anthony Liguori
2012-10-30 20:26     ` Andreas Färber
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 03/13] blockdev: Introduce QEMUMachine->default_drive_if Jason Baron
2012-10-30 19:08   ` Anthony Liguori
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 02/13] Back out add of i21154 Jason Baron
2012-10-31  9:54   ` Michael S. Tsirkin
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 04/13] blockdev: Introduce IF_AHCI Jason Baron
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 05/13] pc, pc_piix: split out pc nic initialization Jason Baron
2012-10-30 19:09   ` Anthony Liguori
2012-10-31  9:57   ` Michael S. Tsirkin
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 06/13] pc: Move ioapic_init() from pc_piix.c to pc.c Jason Baron
2012-10-31 10:02   ` Michael S. Tsirkin [this message]
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 07/13] q35: Introduce q35 pc based chipset emulator Jason Baron
2012-10-30 19:18   ` Anthony Liguori
2012-10-31 10:04     ` Michael S. Tsirkin
2012-10-31 12:53       ` Anthony Liguori
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 08/13] q35: Suppress SMM BIOS initialization under KVM Jason Baron
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 09/13] q35: Add kvmclock support Jason Baron
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 10/13] Add a fallback bios file search, if -L fails Jason Baron
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 11/13] q35: automatically load the q35 dsdt table Jason Baron
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 12/13] q35: fill in usb pci slots with -usb Jason Baron
2012-10-30  6:34   ` Gerd Hoffmann
2012-10-30 15:19     ` Jason Baron
2012-10-30 16:19       ` Gerd Hoffmann
2012-10-30 18:00         ` Jason Baron
2012-10-30  2:11 ` [Qemu-devel] [PATCH v1 13/13] Fixup q35/ich9 Licenses Jason Baron
2012-10-31  8:59   ` Michael S. Tsirkin
2012-10-31  9:34     ` Isaku Yamahata
2012-10-31  9:57       ` Michael S. Tsirkin
2012-10-30 19:20 ` [Qemu-devel] [PATCH v1 00/13] q35 patches for pci tree Anthony Liguori
2012-10-31  8:42   ` Michael S. Tsirkin
2012-10-31 12:55     ` Anthony Liguori
2012-10-31 14:42       ` Jason Baron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121031100200.GD12521@redhat.com \
    --to=mst@redhat.com \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=alex.williamson@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=armbru@redhat.com \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=jan.kiszka@siemens.com \
    --cc=jbaron@redhat.com \
    --cc=juzhang@redhat.com \
    --cc=kevin@koconnor.net \
    --cc=kraxel@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=mkletzan@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=yamahata@valinux.co.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.