qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 620ac8: range: add Range structure


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 620ac8: range: add Range structure
Date: Mon, 08 Jul 2013 11:00:08 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 620ac82eb0fc4218fb6a4937bcef3fdab3126703
      
https://github.com/qemu/qemu/commit/620ac82eb0fc4218fb6a4937bcef3fdab3126703
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2013-07-04 (Thu, 04 Jul 2013)

  Changed paths:
    M include/qemu/range.h

  Log Message:
  -----------
  range: add Range structure

Sometimes we need to pass ranges around, add a
handy structure for this purpose.

Note: memory.c defines its own concept of AddrRange structure for
working with 128 addresses.  It's necessary there for doing range math.
This is not needed for most users: struct Range is
much simpler, and is only used for passing the range around.

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


  Commit: 3459a625215449b67b9c67d9151ff72892d0a42a
      
https://github.com/qemu/qemu/commit/3459a625215449b67b9c67d9151ff72892d0a42a
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2013-07-04 (Thu, 04 Jul 2013)

  Changed paths:
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/pci-host/q35.c
    M include/hw/i386/pc.h
    M include/hw/pci-host/q35.h
    M include/qemu/typedefs.h

  Log Message:
  -----------
  pci: store PCI hole ranges in guestinfo structure

Will be used to pass hole ranges to guests.

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


  Commit: f8c457b88d72a48989f190bc3d7b79f4f3b7d11c
      
https://github.com/qemu/qemu/commit/f8c457b88d72a48989f190bc3d7b79f4f3b7d11c
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2013-07-04 (Thu, 04 Jul 2013)

  Changed paths:
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M include/hw/i386/pc.h

  Log Message:
  -----------
  pc: pass PCI hole ranges to Guests

Guest currently has to jump through lots of hoops to guess the PCI hole
ranges.  It's fragile, and makes us change BIOS each time we add a new
chipset.  Let's report the window in a ROM file, to make BIOS do exactly
what QEMU intends.

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


  Commit: fcbe0a707a227ea25f06382e61ff9b2761c77661
      
https://github.com/qemu/qemu/commit/fcbe0a707a227ea25f06382e61ff9b2761c77661
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2013-07-04 (Thu, 04 Jul 2013)

  Changed paths:
    M hw/i386/pc_piix.c

  Log Message:
  -----------
  pc_piix: cleanup init compat handling

Make sure 1.4 calls 1.5, 1.3 calls 1.4 etc.
This way it's enough to add enough new compat hook
in a single place in piix.

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


  Commit: a0ae17a63e08a57a644eacc1f0fd89d535ed36bf
      
https://github.com/qemu/qemu/commit/a0ae17a63e08a57a644eacc1f0fd89d535ed36bf
  Author: Andrew Jones <address@hidden>
  Date:   2013-07-04 (Thu, 04 Jul 2013)

  Changed paths:
    M hw/net/e1000.c

  Log Message:
  -----------
  e1000: cleanup process_tx_desc

Coverity complains about two overruns in process_tx_desc(). The
complaints are false positives, but we might as well eliminate
them. The problem is that "hdr" is defined as an unsigned int,
but then used to offset an array of size 65536, and another of
size 256 bytes. hdr will actually never be greater than 255
though, as it's assigned only once and to the value of
tp->hdr_len, which is an uint8_t. This patch simply gets rid of
hdr, replacing it with tp->hdr_len, which makes it consistent
with all other tp member use in the function.

v2:
 - also cleanup coding style issues in the touched lines

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


  Commit: c6d559d9cf8687d8378e888e7570c07ce53b94e2
      
https://github.com/qemu/qemu/commit/c6d559d9cf8687d8378e888e7570c07ce53b94e2
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2013-07-04 (Thu, 04 Jul 2013)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: s/Marcelo/Paolo/

Marcelo doesn't maintain kvm anymore,
Paolo is taking over the job.
Update MAINTAINERS to stop flooding Marcelo with mail.

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


  Commit: bc3e6a0d6c8ab6cd7cd4b576ed567756f1dcabd2
      
https://github.com/qemu/qemu/commit/bc3e6a0d6c8ab6cd7cd4b576ed567756f1dcabd2
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2013-07-04 (Thu, 04 Jul 2013)

  Changed paths:
    M hw/misc/pvpanic.c
    M include/hw/i386/pc.h

  Log Message:
  -----------
  pvpanic: initialization cleanup

Avoid use of static variables: PC systems
initialize pvpanic device through pvpanic_init,
so we can simply create the fw_cfg file at that point.
This also makes it possible to skip device
creation completely if fw_cfg is not there, e.g. for xen -
so the ports it reserves are not discoverable by guests.

Also, make pvpanic_init void since callers ignore return
status anyway.

Cc: Stefano Stabellini <address@hidden>
Cc: Laszlo Ersek <address@hidden>
Cc: Paul Durrant <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: fea7d5966a54a5e5400cd38897a95ea576b5af4d
      
https://github.com/qemu/qemu/commit/fea7d5966a54a5e5400cd38897a95ea576b5af4d
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2013-07-04 (Thu, 04 Jul 2013)

  Changed paths:
    M hw/misc/pvpanic.c

  Log Message:
  -----------
  pvpanic: fix fwcfg for big endian hosts

Convert port number to little endian when
exposing it in fw cfg.

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


  Commit: 79ca616f291124d166ca173e512c4ace1c2fe8b2
      
https://github.com/qemu/qemu/commit/79ca616f291124d166ca173e512c4ace1c2fe8b2
  Author: David Gibson <address@hidden>
  Date:   2013-07-04 (Thu, 04 Jul 2013)

  Changed paths:
    M default-configs/i386-softmmu.mak
    M default-configs/ppc64-softmmu.mak
    M default-configs/x86_64-softmmu.mak
    M hmp-commands.hx
    M hw/pci/Makefile.objs
    A hw/pci/pci-hotplug-old.c
    R hw/pci/pci-hotplug.c

  Log Message:
  -----------
  pci: Cleanup configuration for pci-hotplug.c

pci-hotplug.c and the CONFIG_PCI_HOTPLUG variable which controls its
compilation are misnamed.  They're not about PCI hotplug in general, but
rather about the pci_add/pci_del interface which are now deprecated in
favour of the more general device_add/device_del interface.  This patch
therefore renames them to pci-hotplug-old.c and CONFIG_PCI_HOTPLUG_OLD.

CONFIG_PCI_HOTPLUG=y was listed twice in {i386,x86_64}-softmmu.make for no
particular reason, so we clean that up too.  In addition it was included in
ppc64-softmmu.mak for which the old hotplug interface was never used and is
unsuitable, so we remove that too.

Most of pci-hotplug.c was additionaly protected by #ifdef TARGET_I386.  The
small piece which wasn't is only called from the pci_add and pci_del hooks
in hmp-commands.hx, which themselves were protected by #ifdef TARGET_I386.
This patch therefore also removes the #ifdef from pci-hotplug-old.c,
and changes the ifdefs in hmp-commands.hx to use CONFIG_PCI_HOTPLUG_OLD.

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


  Commit: 6ac363b50c569815786a795d806e068b3f6a07eb
      
https://github.com/qemu/qemu/commit/6ac363b50c569815786a795d806e068b3f6a07eb
  Author: David Gibson <address@hidden>
  Date:   2013-07-04 (Thu, 04 Jul 2013)

  Changed paths:
    M hw/pci/pci-hotplug-old.c
    M hw/pci/pci.c
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: Move pci_read_devaddr to pci-hotplug-old.c

pci_read_devaddr() is only used by the legacy functions for the old PCI
hotplug interface in pci-hotplug-old.c.  So we move the function there,
and make it static.

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


  Commit: 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71
      
https://github.com/qemu/qemu/commit/1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71
  Author: David Gibson <address@hidden>
  Date:   2013-07-07 (Sun, 07 Jul 2013)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/pci/pci-hotplug-old.c
    M hw/pci/pci.c
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: Abolish pci_find_root_bus()

pci_find_root_bus() takes a domain parameter.  Currently PCI root buses
with domain other than 0 can't be created, so this is more or less a long
winded way of retrieving the main PCI root bus.  Numbered domains don't
actually properly cover the (non x86) possibilities for multiple PCI root
buses, so this patch for now enforces the domain == 0 restriction in other
places to replace pci_find_root_bus() with an explicit
pci_find_primary_bus().

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


  Commit: c473d18da1b73301c580115e527207b73dcd597f
      
https://github.com/qemu/qemu/commit/c473d18da1b73301c580115e527207b73dcd597f
  Author: David Gibson <address@hidden>
  Date:   2013-07-07 (Sun, 07 Jul 2013)

  Changed paths:
    M hw/pci/pci-hotplug-old.c
    M hw/pci/pci.c
    M hw/pci/pcie_aer.c
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: Use helper to find device's root bus in pci_find_domain()

Currently pci_find_domain() performs two functions - it locates the PCI
root bus above the given bus, then looks up that root bus's domain number.
This patch adds a helper function to perform the first task, finding the
root bus for a given PCI device.  This is then used in pci_find_domain().
This changes pci_find_domain()'s signature slightly, taking a PCIDevice
instead of a PCIBus - since all callers passed something of the form
dev->bus, this simplifies things slightly.

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


  Commit: 568f0690fd9aa4d39d84b04c1a5dbb53a915c3fe
      
https://github.com/qemu/qemu/commit/568f0690fd9aa4d39d84b04c1a5dbb53a915c3fe
  Author: David Gibson <address@hidden>
  Date:   2013-07-07 (Sun, 07 Jul 2013)

  Changed paths:
    M hw/pci-host/piix.c
    M hw/pci-host/q35.c
    M hw/pci/pci-hotplug-old.c
    M hw/pci/pci.c
    M hw/pci/pci_host.c
    M hw/pci/pcie_aer.c
    M hw/ppc/spapr_pci.c
    M include/hw/pci/pci.h
    M include/hw/pci/pci_host.h

  Log Message:
  -----------
  pci: Replace pci_find_domain() with more general pci_root_bus_path()

pci_find_domain() is used in a number of places where we want an id for a
whole PCI domain (i.e. the subtree under a PCI root bus).  The trouble is
that many platforms may support multiple independent host bridges with no
hardware supplied notion of domain number.

This patch, therefore, replaces calls to pci_find_domain() with calls to
a new pci_root_bus_path() returning a string.  The new call is implemented
in terms of a new callback in the host bridge class, so it can be defined
in some way that's well defined for the platform.  When no callback is
available we fall back on the qbus name.

Most current uses of pci_find_domain() are for error or informational
messages, so the change in identifiers should be harmless.  The exception
is pci_get_dev_path(), whose results form part of migration streams.  To
maintain compatibility with old migration streams, the PIIX PCI host is
altered to always supply "0000" for this path, which matches the old domain
number (since the code didn't actually support domains other than 0).

For the pseries (spapr) PCI bridge we use a different platform-unique
identifier (pseries machines can routinely have dozens of PCI host
bridges).  Theoretically that breaks migration streams, but given that we
don't yet have migration support for pseries, it doesn't matter.

Any other machines that have working migration support including PCI
devices will need to be updated to maintain migration stream compatibility.

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


  Commit: 85c6e4fabb4c26e5cd8a024415ed2f5bcdd578db
      
https://github.com/qemu/qemu/commit/85c6e4fabb4c26e5cd8a024415ed2f5bcdd578db
  Author: David Gibson <address@hidden>
  Date:   2013-07-07 (Sun, 07 Jul 2013)

  Changed paths:
    M hw/pci/pci-hotplug-old.c
    M hw/pci/pci.c
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: Add root bus argument to pci_get_bus_devfn()

pci_get_bus_devfn() interprets a full PCI address string to give a PCIBus *
and device/function number within that bus.  Currently it assumes it is
working on an address under the primary PCI root bus.  This patch extends
it to allow the caller to specify a root bus.  This might seem a little odd
since the supplied address can (theoretically) include a PCI domain number.
However, attempting to use a non-zero domain number there is currently an
error, so that shouldn't really cause problems.

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


  Commit: 29b358f93a48a415853d11fc9b02f711b5ec8f76
      
https://github.com/qemu/qemu/commit/29b358f93a48a415853d11fc9b02f711b5ec8f76
  Author: David Gibson <address@hidden>
  Date:   2013-07-07 (Sun, 07 Jul 2013)

  Changed paths:
    M hw/alpha/dp264.c
    M hw/arm/realview.c
    M hw/arm/versatilepb.c
    M hw/i386/pc.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_malta.c
    M hw/pci/pci-hotplug-old.c
    M hw/pci/pci.c
    M hw/ppc/e500.c
    M hw/ppc/mac_newworld.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/prep.c
    M hw/ppc/spapr.c
    M hw/sh4/r2d.c
    M hw/sparc64/sun4u.c
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: Add root bus parameter to pci_nic_init()

At present, pci_nic_init() and pci_nic_init_nofail() assume that they will
only create a NIC under the primary PCI root.  As we add support for
multiple PCI roots, that may no longer be the case.  This patch adds a root
bus parameter to pci_nic_init() (and updates callers accordingly) to allow
the machine init code using it to specify the right PCI root for NICs
created by old-style -net nic parameters.  NICs created new-style, with
-device can of course be put anywhere.

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


  Commit: 9bc473057db773dd24be381ccbde4c686595d2e7
      
https://github.com/qemu/qemu/commit/9bc473057db773dd24be381ccbde4c686595d2e7
  Author: David Gibson <address@hidden>
  Date:   2013-07-07 (Sun, 07 Jul 2013)

  Changed paths:
    M hw/pci/pci-hotplug-old.c
    M hw/pci/pci.c

  Log Message:
  -----------
  pci: Simpler implementation of primary PCI bus

Currently pci_find_primary_bus() searches the list of root buses for one
with domain 0.  But since host buses are always registered with domain 0,
this just amounts to finding the only PCI host bus.  The only remaining
users of pci_find_primary_bus() are in pci-hotplug-old.c, which implements
the old style pci_add/pci_del commands.

Therefore, this patch redefines pci_find_primary_bus() to find the only
PCI root bus, returning an error if there are multiple roots.  The callers
in pci-hotplug-old.c are updated correspondingly, to produce sensible
error messages.

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


  Commit: 2b8cc89a5c4a8bccbef8c6862bae7371afbf3e76
      
https://github.com/qemu/qemu/commit/2b8cc89a5c4a8bccbef8c6862bae7371afbf3e76
  Author: David Gibson <address@hidden>
  Date:   2013-07-07 (Sun, 07 Jul 2013)

  Changed paths:
    M hw/pci/pci.c

  Log Message:
  -----------
  pci: Remove domain from PCIHostBus

There are now no users of the domain field of PCIHostBus, so remove it
from the structure, and as a parameter from the pci_host_bus_register()
function which sets it.

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


  Commit: 7588e2b0559ae72d3c2952c7807fc05c03099970
      
https://github.com/qemu/qemu/commit/7588e2b0559ae72d3c2952c7807fc05c03099970
  Author: David Gibson <address@hidden>
  Date:   2013-07-07 (Sun, 07 Jul 2013)

  Changed paths:
    M hw/pci/pci.c
    M include/hw/pci/pci_host.h

  Log Message:
  -----------
  pci: Fold host_buses list into PCIHostState functionality

The host_buses list is an odd structure - a list of pointers to PCI root
buses existing in parallel to the normal qdev tree structure.  This patch
removes it, instead putting the link pointers into the PCIHostState
structure, which have a 1:1 relationship to PCIHostBus structures anyway.

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


  Commit: dc11549ec213f85f6a024c7df68d349464cd1688
      
https://github.com/qemu/qemu/commit/dc11549ec213f85f6a024c7df68d349464cd1688
  Author: Anthony Liguori <address@hidden>
  Date:   2013-07-08 (Mon, 08 Jul 2013)

  Changed paths:
    M MAINTAINERS
    M default-configs/i386-softmmu.mak
    M default-configs/ppc64-softmmu.mak
    M default-configs/x86_64-softmmu.mak
    M hmp-commands.hx
    M hw/alpha/dp264.c
    M hw/arm/realview.c
    M hw/arm/versatilepb.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_malta.c
    M hw/misc/pvpanic.c
    M hw/net/e1000.c
    M hw/pci-host/piix.c
    M hw/pci-host/q35.c
    M hw/pci/Makefile.objs
    A hw/pci/pci-hotplug-old.c
    R hw/pci/pci-hotplug.c
    M hw/pci/pci.c
    M hw/pci/pci_host.c
    M hw/pci/pcie_aer.c
    M hw/ppc/e500.c
    M hw/ppc/mac_newworld.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/prep.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_pci.c
    M hw/sh4/r2d.c
    M hw/sparc64/sun4u.c
    M include/hw/i386/pc.h
    M include/hw/pci-host/q35.h
    M include/hw/pci/pci.h
    M include/hw/pci/pci_host.h
    M include/qemu/range.h
    M include/qemu/typedefs.h

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

pci,misc enhancements

This includes some pci enhancements:

Better support for systems with multiple PCI root buses
FW cfg interface for more robust pci programming in BIOS
Minor fixes/cleanups for fw cfg and cross-version migration -
    because of dependencies with other patches

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

# gpg: Signature made Sun 07 Jul 2013 03:11:18 PM CDT using RSA key ID D28D5469
# gpg: Can't check signature: public key not found

# By David Gibson (10) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
  pci: Fold host_buses list into PCIHostState functionality
  pci: Remove domain from PCIHostBus
  pci: Simpler implementation of primary PCI bus
  pci: Add root bus parameter to pci_nic_init()
  pci: Add root bus argument to pci_get_bus_devfn()
  pci: Replace pci_find_domain() with more general pci_root_bus_path()
  pci: Use helper to find device's root bus in pci_find_domain()
  pci: Abolish pci_find_root_bus()
  pci: Move pci_read_devaddr to pci-hotplug-old.c
  pci: Cleanup configuration for pci-hotplug.c
  pvpanic: fix fwcfg for big endian hosts
  pvpanic: initialization cleanup
  MAINTAINERS: s/Marcelo/Paolo/
  e1000: cleanup process_tx_desc
  pc_piix: cleanup init compat handling
  pc: pass PCI hole ranges to Guests
  pci: store PCI hole ranges in guestinfo structure
  range: add Range structure

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


Compare: https://github.com/qemu/qemu/compare/945dad6d9d79...dc11549ec213

reply via email to

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