qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 5a2223: pcihp: reduce number of device check


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 5a2223: pcihp: reduce number of device check events
Date: Thu, 13 Feb 2014 08:30:06 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 5a2223ca26b1a34e131b5b9a63599d9426d2c25c
      
https://github.com/qemu/qemu/commit/5a2223ca26b1a34e131b5b9a63599d9426d2c25c
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2014-02-05 (Wed, 05 Feb 2014)

  Changed paths:
    M hw/acpi/pcihp.c
    M include/hw/acpi/pcihp.h

  Log Message:
  -----------
  pcihp: reduce number of device check events

PIIX created a made-up value for the UP register since it was read by
guest 32 times for each interrupt.
There's no reason to do this for the new PCIHP: register is only read
once for each interrupt, so clean up code by making read act as an
interrupt acknowledgement: the new UP register clear on read.

In this way we cut down the number of bus rescans
by a factor of 32, and drop a bunch of code that's
now unused.

Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 8f5001f9ede507940317531bc83154288e7a1d0a
      
https://github.com/qemu/qemu/commit/8f5001f9ede507940317531bc83154288e7a1d0a
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-05 (Wed, 05 Feb 2014)

  Changed paths:
    M hw/acpi/pcihp.c

  Log Message:
  -----------
  pcihp: replace enable|disable_device() with oneliners

enable_device() and disable_device() functions aren't reused anywere,
so replace them with respective oneliners at call sites.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: a7b613cf68b65d04ef2b1b601bb18f31e8ca0c11
      
https://github.com/qemu/qemu/commit/a7b613cf68b65d04ef2b1b601bb18f31e8ca0c11
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-05 (Wed, 05 Feb 2014)

  Changed paths:
    M hw/acpi/pcihp.c

  Log Message:
  -----------
  pcihp: make PCI hotplug mmio handlers indifferent to PCI_HOTPLUG_ADDR

... removes dependency of mmio handler on PCI_HOTPLUG_ADDR.
It will be needed in case of Q35 where base could be different.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 99d09dd32820f5702031e3c08c81f8c209dc2220
      
https://github.com/qemu/qemu/commit/99d09dd32820f5702031e3c08c81f8c209dc2220
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-05 (Wed, 05 Feb 2014)

  Changed paths:
    M hw/acpi/pcihp.c
    M hw/acpi/piix4.c
    M include/hw/acpi/pcihp.h

  Log Message:
  -----------
  pcihp: make pci_read() mmio calback compatible with legacy ACPI hotplug

due to recent change introduced by:
"pcihp: reduce number of device check events"

'up' field is cleared right after it's read.
This is incompatible with legacy BIOS ACPI code
where PCNF ACPI method reads this field 32 times.

To make pci_read mmio callback compatible with legacy
'up' behavior, pcihp code will need to know in which
mode it runs add 'legacy_piix' field to AcpiPciHpState
structure and alter register behavior accordingly.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: a1b4d9eff9e8dec8b827bd744c7d670d3cdf2fb8
      
https://github.com/qemu/qemu/commit/a1b4d9eff9e8dec8b827bd744c7d670d3cdf2fb8
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-05 (Wed, 05 Feb 2014)

  Changed paths:
    M include/hw/acpi/pcihp.h

  Log Message:
  -----------
  pcihp: remove unused AcpiPciHpPciStatus.device_present field

Remove now unused 'device_present' field wich was obsoleted by
patch "pcihp: reduce number of device check events"

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: e358edc8e90d580443b824e4ef799e137377ad86
      
https://github.com/qemu/qemu/commit/e358edc8e90d580443b824e4ef799e137377ad86
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-05 (Wed, 05 Feb 2014)

  Changed paths:
    M hw/acpi/pcihp.c
    M hw/acpi/piix4.c
    M include/hw/acpi/pcihp.h

  Log Message:
  -----------
  hw:piix4:acpi: reuse pcihp code for legacy PCI hotplug

reduces acpi PCI hotplug code duplication by ~200LOC

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 35b307126cc99165881d24bb62cc52f21275cb54
      
https://github.com/qemu/qemu/commit/35b307126cc99165881d24bb62cc52f21275cb54
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2014-02-05 (Wed, 05 Feb 2014)

  Changed paths:
    M include/sysemu/qtest.h
    M qtest.c
    M vl.c

  Log Message:
  -----------
  qtest: don't report signals if qtest driver enabled

qtest driver always uses signals to kill qemu
no need to report it, whatever the accelerator state.

Add API to detect qtest driver, and suppress reporting
signals in this case.

Reported-by: Andreas Färber <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: d160024fe52cd4970ee80904dbdc7a22ddf86c96
      
https://github.com/qemu/qemu/commit/d160024fe52cd4970ee80904dbdc7a22ddf86c96
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2014-02-05 (Wed, 05 Feb 2014)

  Changed paths:
    M hw/i386/pc_piix.c

  Log Message:
  -----------
  pc_piix: enable legacy hotplug for Xen

xenfv has no fwcfg and so does not load acpi from QEMU.
as such new acpi features don't work.

Reported-by: Sander Eikelenboom <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 7454e51d2b26ca6c2fd6fb77c4adc3ab11ec590f
      
https://github.com/qemu/qemu/commit/7454e51d2b26ca6c2fd6fb77c4adc3ab11ec590f
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2014-02-05 (Wed, 05 Feb 2014)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  pc.c: better error message on initrd sizing failure

Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: a1483f88b6e21dd3ea481a021e5d4f7f273204c6
      
https://github.com/qemu/qemu/commit/a1483f88b6e21dd3ea481a021e5d4f7f273204c6
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M include/hw/loader.h

  Log Message:
  -----------
  loader: document that errno is set

Document that get_image_size sets errno
on failure.

Suggested-by: Peter Maydell <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 9f117d41841e13ca29cc2a10ac03258339ea1f8b
      
https://github.com/qemu/qemu/commit/9f117d41841e13ca29cc2a10ac03258339ea1f8b
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M hw/core/Makefile.objs
    A hw/core/hotplug.c
    A include/hw/hotplug.h

  Log Message:
  -----------
  define hotplug interface

Provide a generic hotplug interface for hotplug handlers.
Intended for replacing hotplug mechanism used by
PCI/PCIE/SHPC code and will be used for memory hotplug.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 0ee4de6ce1d403b3d8017b340cec772c3c5c106f
      
https://github.com/qemu/qemu/commit/0ee4de6ce1d403b3d8017b340cec772c3c5c106f
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M hw/core/qdev.c
    M include/hw/qdev-core.h

  Log Message:
  -----------
  qdev: add to BusState "hotplug-handler" link

It will allow to reuse field with different BUSes,
reducing code duplication. Field is intended for
replacing 'hotplug_qdev' field in PCIBus and also
will allow to avoid adding equivalent field to
DimmBus with possiblitity to refactor other BUSes
to use it instead of custom field.
In addition once all users of allow_hotplug field
are converted to new API, link could replace
allow_hotplug field in qdev hotplug code.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 1a37eca107cece3ed454bae29eef0bd1fac4a244
      
https://github.com/qemu/qemu/commit/1a37eca107cece3ed454bae29eef0bd1fac4a244
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M hw/core/qdev.c
    M include/hw/qdev-core.h

  Log Message:
  -----------
  qdev: add "hotpluggable" property to Device

Currently it's possible to make PCIDevice not hotpluggable
by using no_hotplug field of PCIDeviceClass. However it
limits this only to PCI devices and prevents from
generalizing hotplug code.

So add similar field to DeviceClass so it could be reused
with other Devices and would allow to replace PCI specific
hotplug callbacks with generic implementation. Following
patches will replace PCIDeviceClass.no_hotplug with this
new property.

In addition expose field as "hotpluggable" readonly property,
to make it possible to read its value via QOM interface.

Make DeviceClass hotpluggable by default as it was assumed
before.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 5fdae20cef2857a2c63c8d4fa7df6274d6d7c3c8
      
https://github.com/qemu/qemu/commit/5fdae20cef2857a2c63c8d4fa7df6274d6d7c3c8
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M hw/acpi/piix4.c

  Log Message:
  -----------
  hw/acpi: move typeinfo to the file end

do so to avoid not necessary forward declarations and
place typeinfo registration at the file end where it's
usually expected.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 2897ae026758eac78284ba6c3bd7732f3a1d9987
      
https://github.com/qemu/qemu/commit/2897ae026758eac78284ba6c3bd7732f3a1d9987
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M hw/acpi/pcihp.c
    M hw/acpi/piix4.c
    M hw/display/cirrus_vga.c
    M hw/display/qxl.c
    M hw/display/vga-pci.c
    M hw/display/vmware_vga.c
    M hw/i386/acpi-build.c
    M hw/ide/piix.c
    M hw/isa/piix4.c
    M hw/pci-host/piix.c
    M hw/pci/pci.c
    M hw/usb/hcd-ehci-pci.c
    M hw/usb/hcd-ohci.c
    M hw/usb/hcd-uhci.c
    M hw/usb/hcd-xhci.c
    M include/hw/pci/pci.h

  Log Message:
  -----------
  qdev:pci: refactor PCIDevice to use generic "hotpluggable" property

Get rid of PCIDevice specific PCIDeviceClass.no_hotplug and use
generic DeviceClass.hotpluggable field instead.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: c24d5e0b91d138f8cc95f5694d4964de36a739d3
      
https://github.com/qemu/qemu/commit/c24d5e0b91d138f8cc95f5694d4964de36a739d3
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M hw/acpi/pcihp.c
    M hw/acpi/piix4.c
    M include/hw/acpi/acpi.h
    M include/hw/acpi/pcihp.h

  Log Message:
  -----------
  acpi/piix4pm: convert ACPI PCI hotplug to use hotplug-handler API

Split piix4_device_hotplug() into hotplug/unplug callbacks
and register them as "hotplug-handler" interface implementation of
PIIX4_PM device.

Replace pci_bus_hotplug() wiring with setting link on
PCI BUS "hotplug-handler" property to PIIX4_PM device.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 5d268704d7c2bc58c38b87d7d94804639ef100ec
      
https://github.com/qemu/qemu/commit/5d268704d7c2bc58c38b87d7d94804639ef100ec
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M hw/pci-bridge/pci_bridge_dev.c
    M hw/pci/shpc.c
    M include/hw/pci/shpc.h

  Log Message:
  -----------
  pci/shpc: convert SHPC hotplug to use hotplug-handler API

Split shpc_device_hotplug() into hotplug/unplug callbacks
and register them as "hotplug-handler" interface implementation of
PCI_BRIDGE_DEV device.

Replace pci_bus_hotplug() wiring with setting link on PCI BUS
"hotplug-handler" property to PCI_BRIDGE_DEV device.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: a66e657e18cd9b70e9f57ae5512c07faf2bc508f
      
https://github.com/qemu/qemu/commit/a66e657e18cd9b70e9f57ae5512c07faf2bc508f
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M hw/pci/pcie.c
    M hw/pci/pcie_port.c
    M include/hw/pci/pcie.h

  Log Message:
  -----------
  pci/pcie: convert PCIE hotplug to use hotplug-handler API

Split pcie_cap_slot_hotplug() into hotplug/unplug callbacks
and register them as "hotplug-handler" interface implementation of
PCIE_SLOT device.

Replace pci_bus_hotplug() wiring with setting link on PCI BUS
"hotplug-handler" property to PCI_BRIDGE_DEV device.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 5e95494380ecf83c97d28f72134ab45e0cace8f9
      
https://github.com/qemu/qemu/commit/5e95494380ecf83c97d28f72134ab45e0cace8f9
  Author: Igor Mammedov <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M hw/core/qdev.c
    M hw/pci/pci.c
    M include/hw/pci/pci.h
    M include/hw/pci/pci_bus.h
    M tests/Makefile

  Log Message:
  -----------
  hw/pci: switch to a generic hotplug handling for PCIDevice

make qdev_unplug()/device_set_realized() to call hotplug handler's
plug/unplug methods if available and remove not needed anymore
hot(un)plug handling from PCIDevice.

In case if hotplug handler is not available, revert to the legacy
hotplug method for compatibility with not yet converted buses.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 417c45ab2f847c0a47b1232f611aa886df6a97d5
      
https://github.com/qemu/qemu/commit/417c45ab2f847c0a47b1232f611aa886df6a97d5
  Author: Gabriel L. Somlo <address@hidden>
  Date:   2014-02-10 (Mon, 10 Feb 2014)

  Changed paths:
    M hw/i386/acpi-dsdt-hpet.dsl

  Log Message:
  -----------
  ACPI: Remove commented-out code from HPET._CRS

IRQNoFlags on HPET._CRS crashes WinXP because it causes the HPET
to conflict with the system timer and/or the RTC. It only occurs
on Apple hardware, and even there it is exposed fully only when
OS X is detected (via _OSI). Recent OS X versions work on QEMU
without this statement, so at this time there is no need to find
a better way to conditionally include the statement. This patch
removes the commented out (and wrong, should have been {0, 8})
statement from HPET._CRS.

Signed-off-by: Gabriel Somlo <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-By: Igor Mammedov <address@hidden>


  Commit: 0888a29caac6e1b668e498a0ad4d1fea15de012b
      
https://github.com/qemu/qemu/commit/0888a29caac6e1b668e498a0ad4d1fea15de012b
  Author: Peter Maydell <address@hidden>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M hw/acpi/pcihp.c
    M hw/acpi/piix4.c
    M hw/core/Makefile.objs
    A hw/core/hotplug.c
    M hw/core/qdev.c
    M hw/display/cirrus_vga.c
    M hw/display/qxl.c
    M hw/display/vga-pci.c
    M hw/display/vmware_vga.c
    M hw/i386/acpi-build.c
    M hw/i386/acpi-dsdt-hpet.dsl
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/ide/piix.c
    M hw/isa/piix4.c
    M hw/pci-bridge/pci_bridge_dev.c
    M hw/pci-host/piix.c
    M hw/pci/pci.c
    M hw/pci/pcie.c
    M hw/pci/pcie_port.c
    M hw/pci/shpc.c
    M hw/usb/hcd-ehci-pci.c
    M hw/usb/hcd-ohci.c
    M hw/usb/hcd-uhci.c
    M hw/usb/hcd-xhci.c
    M include/hw/acpi/acpi.h
    M include/hw/acpi/pcihp.h
    A include/hw/hotplug.h
    M include/hw/loader.h
    M include/hw/pci/pci.h
    M include/hw/pci/pci_bus.h
    M include/hw/pci/pcie.h
    M include/hw/pci/shpc.h
    M include/hw/qdev-core.h
    M include/sysemu/qtest.h
    M qtest.c
    M tests/Makefile
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging

acpi,pc,pci fixes and enhancements

Most changes here are hotplug related:

This merges hotplug infrastructure changes by Igor,
some acpi related fixes, and PC fixes.

Signed-off-by: Michael S. Tsirkin <address@hidden>

# gpg: Signature made Mon 10 Feb 2014 09:13:26 GMT using RSA key ID D28D5469
# gpg: Good signature from "Michael S. Tsirkin <address@hidden>"
# gpg:                 aka "Michael S. Tsirkin <address@hidden>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17  0970 C350 3912 AFBE 8E67
#      Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA  8A0D 281F 0DB8 D28D 5469

* remotes/mst/tags/for_upstream:
  ACPI: Remove commented-out code from HPET._CRS
  hw/pci: switch to a generic hotplug handling for PCIDevice
  pci/pcie: convert PCIE hotplug to use hotplug-handler API
  pci/shpc: convert SHPC hotplug to use hotplug-handler API
  acpi/piix4pm: convert ACPI PCI hotplug to use hotplug-handler API
  qdev:pci: refactor PCIDevice to use generic "hotpluggable" property
  hw/acpi: move typeinfo to the file end
  qdev: add "hotpluggable" property to Device
  qdev: add to BusState "hotplug-handler" link
  define hotplug interface
  loader: document that errno is set
  pc.c: better error message on initrd sizing failure
  pc_piix: enable legacy hotplug for Xen
  qtest: don't report signals if qtest driver enabled
  hw:piix4:acpi: reuse pcihp code for legacy PCI hotplug
  pcihp: remove unused AcpiPciHpPciStatus.device_present field
  pcihp: make pci_read() mmio calback compatible with legacy ACPI hotplug
  pcihp: make PCI hotplug mmio handlers indifferent to PCI_HOTPLUG_ADDR
  pcihp: replace enable|disable_device() with oneliners
  pcihp: reduce number of device check events

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/f673e70ccc66...0888a29caac6

reply via email to

[Prev in Thread] Current Thread [Next in Thread]