qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jason Baron <jbaron@redhat.com>
To: anthony@codemonkey.ws, qemu-devel@nongnu.org
Cc: alex.williamson@redhat.com, mst@redhat.com,
	jan.kiszka@siemens.com, armbru@redhat.com, agraf@suse.de,
	blauwirbel@gmail.com, yamahata@valinux.co.jp, juzhang@redhat.com,
	kevin@koconnor.net, kraxel@redhat.com, gsomlo@gmail.com,
	mkletzan@redhat.com, pbonzini@redhat.com, lcapitulino@redhat.com,
	afaerber@suse.de
Subject: [Qemu-devel] [PATCH v4 00/14] Add Q35 base support
Date: Wed, 14 Nov 2012 15:53:59 -0500	[thread overview]
Message-ID: <cover.1352922992.git.jbaron@redhat.com> (raw)

Hi,

These patches are intened to give us a base set of patches for Q35 upon which
to build. The major change in this series is to add the memory controller hub,
or 'mch' as proper member of the q35 host structure. This change refactors the
code a bit, and moves more intialization out of pc_q35.c and into q35.c. We
probably could go further and introduce a generic north bridge class and make
the 'mch' a child of it, but I'm not proposing that kind of change this late in
the development cycle.

I've also dropped as many non-essential bits as possible, such as if=ahci from
the patch series. Patches 13-14 allow the use of the '-L' option to specify
the directory of the q35 dsdt table. These aren't strictly necessary. As one
could pass:

-bios /root/seabios/seabios/out/bios.bin
-acpitable file=/root/seabios/seabios/out/q35-acpi-dsdt.aml

But its rather cumbersome, and including the automatic load of the dsdt table,
is the future direction. That is, once the seabios bits are included we can
pull the q35 dsdt table into the qemu tree, and avoid extra options altogether.

Testing:

I've booted f16, f17, Windows7, Windows 8. (BSDs and Win xp work with a
piix3-ide controller). And Gabriel Somlo has reported success with Mac OS X.
I'm also going to look at writing qtest cases.

Thanks,

-Jason

Git trees:

git://github.com/jibaron/q35-qemu.git
git://github.com/jibaron/q35-seabios.git

Todo:

-add ahci migration back (need to cover more fields, but basically works)
-add ACPI hotplug support (pcie hotplug is currently working)
-add qtest test cases

Changes from v3:
 -Compose 'mch' as part of the q35 host strucuture
 -cleanup naming
 -drop if=ahci

Changes from v2:
 -Patch restructure (broke out ich9 chips + data structures separately)
 -added passthrough support
 -add support for -usb to fill out host pci bus
 -Dropped automatic load of dsdt table for piix
 -cleanups
 -dropped wmask on smbus (mst)
 -sparse host bus

Changes from v1:
 -Updated end of low mem from 0xe0000000 -> 0xb0000000 (Gerd Hoffmann)
        -so 0xb000000-0xc000000 is memconfig
        -0xc000000-0xfec00000 is 32-bit pci window
 -style/various cleanups
 -introduced IF_AHCI
 -introduced mach_if
 -split dsdt out of bios, now passed for piix4 as well (Paolo, Gerd)
 -Removed add opaque argument to pci_map_irq_fn (Michael S. Tsirkin)
 -removed patches that were merged in v1

Isaku Yamahata (3):
  pc, pc_piix: split out pc nic initialization
  pc/piix_pci: factor out smram/pam logic
  q35: Introduce q35 pc based chipset emulator

Jan Kiszka (3):
  q35: Suppress SMM BIOS initialization under KVM
  q35: Fix non-PCI IRQ processing in ich9_lpc_update_apic
  q35: Add kvmclock support

Jason Baron (8):
  pc: Move ioapic_init() from pc_piix.c to pc.c
  pc_piix: Move kvm irq routing functions out of pc_piix.c
  ich9: Add acpi support and definitions
  ich9: Add the lpc chip
  ich9: Add smbus
  ich9: Add i82801b11 dmi-to-pci bridge
  Add a fallback bios file search, if -L fails.
  q35: automatically load the q35 dsdt table

 hw/Makefile.objs      |    3 +
 hw/acpi_ich9.c        |  322 ++++++++++++++++++++++++++++++
 hw/acpi_ich9.h        |   47 +++++
 hw/i386/Makefile.objs |    1 +
 hw/i82801b11.c        |  125 ++++++++++++
 hw/ich9.h             |  207 +++++++++++++++++++
 hw/kvm/ioapic.c       |   40 ++++
 hw/lpc_ich9.c         |  525 +++++++++++++++++++++++++++++++++++++++++++++++++
 hw/pam.c              |   87 ++++++++
 hw/pam.h              |   97 +++++++++
 hw/pc.c               |   58 ++++++
 hw/pc.h               |    5 +
 hw/pc_piix.c          |   79 +-------
 hw/pc_q35.c           |  230 +++++++++++++++++++++
 hw/pci_ids.h          |   14 ++
 hw/piix_pci.c         |   68 ++-----
 hw/q35.c              |  309 +++++++++++++++++++++++++++++
 hw/q35.h              |  150 ++++++++++++++
 hw/smbus_ich9.c       |  159 +++++++++++++++
 kvm.h                 |    2 +
 vl.c                  |   36 +++-
 21 files changed, 2425 insertions(+), 139 deletions(-)
 create mode 100644 hw/acpi_ich9.c
 create mode 100644 hw/acpi_ich9.h
 create mode 100644 hw/i82801b11.c
 create mode 100644 hw/ich9.h
 create mode 100644 hw/lpc_ich9.c
 create mode 100644 hw/pam.c
 create mode 100644 hw/pam.h
 create mode 100644 hw/pc_q35.c
 create mode 100644 hw/q35.c
 create mode 100644 hw/q35.h
 create mode 100644 hw/smbus_ich9.c

             reply	other threads:[~2012-11-14 20:54 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-14 20:53 Jason Baron [this message]
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 01/14] pc, pc_piix: split out pc nic initialization Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 02/14] pc: Move ioapic_init() from pc_piix.c to pc.c Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 04/14] pc/piix_pci: factor out smram/pam logic Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 03/14] pc_piix: Move kvm irq routing functions out of pc_piix.c Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 05/14] ich9: Add acpi support and definitions Jason Baron
2012-11-23  3:05   ` [Qemu-devel] [PATCH v4 05/14 (re-post)] " Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 06/14] ich9: Add the lpc chip Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 07/14] ich9: Add smbus Jason Baron
2012-11-23  3:06   ` [Qemu-devel] [PATCH v4 07/14 (re-post)] " Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 08/14] q35: Introduce q35 pc based chipset emulator Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 09/14] ich9: Add i82801b11 dmi-to-pci bridge Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 10/14] q35: Suppress SMM BIOS initialization under KVM Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 12/14] q35: Add kvmclock support Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 11/14] q35: Fix non-PCI IRQ processing in ich9_lpc_update_apic Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 13/14] Add a fallback bios file search, if -L fails Jason Baron
2012-11-14 20:54 ` [Qemu-devel] [PATCH v4 14/14] q35: automatically load the q35 dsdt table Jason Baron
2012-11-22  7:52 ` [Qemu-devel] [PATCH v4 00/14] Add Q35 base support Gerd Hoffmann
2012-11-22 11:24 ` Gerd Hoffmann
2012-11-23  3:09   ` 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=cover.1352922992.git.jbaron@redhat.com \
    --to=jbaron@redhat.com \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=alex.williamson@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=armbru@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=gsomlo@gmail.com \
    --cc=jan.kiszka@siemens.com \
    --cc=juzhang@redhat.com \
    --cc=kevin@koconnor.net \
    --cc=kraxel@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=mkletzan@redhat.com \
    --cc=mst@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 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).