From: Jason Baron <jbaron@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: aliguori@us.ibm.com, juzhang@redhat.com, mst@redhat.com,
jan.kiszka@siemens.com, qemu-devel@nongnu.org, agraf@suse.de,
yamahata@valinux.co.jp, alex.williamson@redhat.com,
kevin@koconnor.net, avi@redhat.com, mkletzan@redhat.com,
lcapitulino@redhat.com, afaerber@suse.de, armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH 18/25] q35: Fix irr initialization for slots 25..31
Date: Fri, 14 Sep 2012 10:28:22 -0400 [thread overview]
Message-ID: <20120914142821.GG1821@redhat.com> (raw)
In-Reply-To: <5052D726.8010006@redhat.com>
On Fri, Sep 14, 2012 at 09:05:10AM +0200, Paolo Bonzini wrote:
> Il 13/09/2012 22:12, Jason Baron ha scritto:
> > From: Isaku Yamahata <yamahata@valinux.co.jp>
> >
> > This was totally off: The CC registers are 16 bit (stored as little
> > endian), their offsets run in reverse order, and D26IR as well as D25IR
> > have 4 bytes offset to their successors.
> >
> > Reported-by: Jan Kiszka <jan.kiszka@siemens.com>
> > Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
> > Signed-off-by: Jason Baron <jbaron@redhat.com>
> > ---
> > hw/q35.c | 29 ++++++++++++++++++++---------
> > 1 files changed, 20 insertions(+), 9 deletions(-)
> >
> > diff --git a/hw/q35.c b/hw/q35.c
> > index 8b6a2e5..295344e 100644
> > --- a/hw/q35.c
> > +++ b/hw/q35.c
> > @@ -474,7 +474,7 @@ static void ich9_lpc_reset(DeviceState *qdev);
> > * Although it's not pci configuration space, it's little endian as Intel.
> > */
> >
> > -static void ich9_cc_update_ir(uint8_t irr[PCI_NUM_PINS], uint32_t ir)
> > +static void ich9_cc_update_ir(uint8_t irr[PCI_NUM_PINS], uint16_t ir)
> > {
> > int intx;
> > for (intx = 0; intx < PCI_NUM_PINS; intx++) {
> > @@ -485,15 +485,26 @@ static void ich9_cc_update_ir(uint8_t irr[PCI_NUM_PINS], uint32_t ir)
> > static void ich9_cc_update(ICH9_LPCState *lpc)
> > {
> > int slot;
> > - int reg_offset;
> > - int intx;
> > + int pci_intx;
> > +
> > + const int reg_offsets[] = {
> > + ICH9_CC_D25IR,
> > + ICH9_CC_D26IR,
> > + ICH9_CC_D27IR,
> > + ICH9_CC_D28IR,
> > + ICH9_CC_D29IR,
> > + ICH9_CC_D30IR,
> > + ICH9_CC_D31IR,
> > + };
> > + const int *offset;
> >
> > /* D{25 - 31}IR, but D30IR is read only to 0. */
> > - for (slot = 25, reg_offset = 0; slot < 32; slot++, reg_offset++) {
> > - if (slot != 30) {
> > - ich9_cc_update_ir(lpc->irr[slot],
> > - lpc->chip_config[ICH9_CC_D31IR + reg_offset]);
> > + for (slot = 25, offset = reg_offsets; slot < 32; slot++, offset++) {
> > + if (slot == 30) {
> > + continue;
> > }
> > + ich9_cc_update_ir(lpc->irr[slot],
> > + pci_get_word(lpc->chip_config + *offset));
> > }
> >
> > /*
> > @@ -502,8 +513,8 @@ static void ich9_cc_update(ICH9_LPCState *lpc)
> > * are connected to pirq lines. Our choice is PIRQ[E-H].
> > * INT[A-D] are connected to PIRQ[E-H]
> > */
> > - for (intx = 0; intx < PCI_NUM_PINS; intx++) {
> > - lpc->irr[30][intx] = intx + 4;
> > + for (pci_intx = 0; pci_intx < PCI_NUM_PINS; pci_intx++) {
> > + lpc->irr[30][pci_intx] = pci_intx + 4;
> > }
> > }
> >
> >
>
> I guess this patch and patch 12 could/should be squashed in patch 11
> (the one that introduces q35.c)?
>
> Paolo
Michael Tsirkin also suggested combining them. I kept them separate to
make it clear what Yamahata had written, and the re-base I had done. I
agree it would be cleaner to combine. That said, Michael also suggested
not adding the initial one to the build so its still bi-sectable, I
think that could be a reasonable option too.
Thanks,
-Jason
next prev parent reply other threads:[~2012-09-14 14:28 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-13 20:12 [Qemu-devel] [PATCH 00/25] q35 series take #1 Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 01/25] pci: pci capability must be in PCI space Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 02/25] pci: add opaque argument to pci_map_irq_fn Jason Baron
2012-09-14 16:32 ` Alex Williamson
2012-09-13 20:12 ` [Qemu-devel] [PATCH 03/25] pci: introduce pci_swizzle_map_irq_fn() for standardized interrupt pin swizzle Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 04/25] ahci: add ide device initialization helper Jason Baron
2012-09-21 14:05 ` Markus Armbruster
2012-09-21 19:37 ` Jason Baron
2012-09-24 16:52 ` Markus Armbruster
2012-09-24 17:23 ` Jason Baron
2012-09-26 8:15 ` Markus Armbruster
2012-09-26 10:43 ` Kevin Wolf
2012-09-27 17:59 ` Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 05/25] pc, pc_piix: split out pc nic initialization Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 07/25] pc/piix_pci: factor out smram/pam logic Jason Baron
2012-09-14 18:52 ` Blue Swirl
2012-09-13 20:12 ` [Qemu-devel] [PATCH 06/25] pc: Move ioapic_init() from pc_piix.c to pc.c Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 08/25] pci_ids: add intel 82801BA pci-to-pci bridge id and PCI_CLASS_SERIAL_SMBUS Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 10/25] pcie: Convert PCIExpressHost to use the QOM Jason Baron
2012-09-15 15:16 ` Andreas Färber
2012-09-13 20:12 ` [Qemu-devel] [PATCH 09/25] pcie: pass pcie window size to pcie_host_mmcfg_update() Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 11/25] q35: Introduce q35 pc based chipset emulator Jason Baron
2012-09-14 7:02 ` Paolo Bonzini
2012-09-14 7:37 ` Gerd Hoffmann
2012-09-14 14:11 ` Jason Baron
2012-09-18 21:28 ` Alex Williamson
2012-09-14 12:26 ` Michael S. Tsirkin
2012-09-14 15:20 ` Jason Baron
2012-09-15 18:14 ` Michael S. Tsirkin
2012-09-16 14:48 ` Anthony Liguori
2012-09-16 15:14 ` Michael S. Tsirkin
2012-09-13 20:12 ` [Qemu-devel] [PATCH 12/25] q35: Re-base q35 to 1.2 Jason Baron
2012-09-14 19:07 ` Blue Swirl
2012-09-13 20:12 ` [Qemu-devel] [PATCH 14/25] q35: Fix non-PCI IRQ processing in ich9_lpc_update_apic Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 13/25] q35: Suppress SMM BIOS initialization under KVM Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 15/25] q35: smbus: Remove PCI_STATUS_SIG_SYSTEM_ERROR and PCI_STATUS_DETECTED_PARITY from w1cmask Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 16/25] pci: Add class 0xc05 as 'SMBus' Jason Baron
2012-09-14 7:04 ` Paolo Bonzini
2012-09-14 14:24 ` Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 17/25] q35: Add kvmclock support Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 19/25] ahci: add migration support Jason Baron
2012-09-14 8:38 ` Juan Quintela
2012-09-13 20:12 ` [Qemu-devel] [PATCH 18/25] q35: Fix irr initialization for slots 25..31 Jason Baron
2012-09-14 7:05 ` Paolo Bonzini
2012-09-14 14:28 ` Jason Baron [this message]
2012-09-13 20:12 ` [Qemu-devel] [PATCH 20/25] pcie: drop version_id field for live migration Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 21/25] pcie_aer: clear cmask for Advanced Error Interrupt Message Number Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 22/25] ahci: properly reset PxCMD on HBA reset Jason Baron
2012-09-13 20:12 ` [Qemu-devel] [PATCH 23/25] q35: add acpi-based pci hotplug Jason Baron
2012-09-14 18:56 ` Blue Swirl
2012-09-13 20:12 ` [Qemu-devel] [PATCH 24/25] Add a fallback bios file search, if -L fails Jason Baron
2012-09-14 7:09 ` Paolo Bonzini
2012-09-14 10:54 ` Peter Maydell
2012-09-14 19:15 ` Blue Swirl
2012-09-13 20:12 ` [Qemu-devel] [PATCH 25/25] q35: automatically load the q35 dsdt table Jason Baron
2012-09-14 7:08 ` Paolo Bonzini
2012-09-14 7:25 ` Gerd Hoffmann
2012-09-14 7:34 ` Paolo Bonzini
2012-09-13 22:29 ` [Qemu-devel] [PATCH 00/25] q35 series take #1 Alexander Graf
2012-09-14 13:50 ` Jason Baron
2012-09-14 13:56 ` Alexander Graf
2012-09-14 14:08 ` Jason Baron
2012-09-14 14:12 ` Alexander Graf
2012-09-14 15:37 ` Kevin Wolf
2012-09-14 15:14 ` Isaku Yamahata
2012-09-14 15:23 ` Jason Baron
2012-09-14 17:34 ` Isaku Yamahata
2012-09-14 19:01 ` Jason Baron
2012-09-15 0:24 ` Isaku Yamahata
2012-09-15 11:33 ` Paolo Bonzini
2012-09-15 17:35 ` Michael S. Tsirkin
2012-09-15 18:05 ` Michael S. Tsirkin
2012-09-15 17:40 ` Michael S. Tsirkin
2012-09-15 18:02 ` Michael S. Tsirkin
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=20120914142821.GG1821@redhat.com \
--to=jbaron@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=jan.kiszka@siemens.com \
--cc=juzhang@redhat.com \
--cc=kevin@koconnor.net \
--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).