1. 18 2月, 2015 1 次提交
    • M
      hmp: Name HMP command handler functions hmp_COMMAND() · 3e5a50d6
      Markus Armbruster 提交于
      Some are called do_COMMAND() (old ones, usually), some hmp_COMMAND(),
      and sometimes COMMAND pointlessly differs in spelling.
      
      Normalize to hmp_COMMAND(), where COMMAND is exactly the command name
      with '-' replaced by '_'.
      
      Exceptions:
      
      * do_device_add() and client_migrate_info() *not* renamed to
        hmp_device_add(), hmp_client_migrate_info(), because they're also
        QMP handlers.  They still need to be converted to QAPI.
      
      * do_memory_dump(), do_physical_memory_dump(), do_ioport_read(),
        do_ioport_write() renamed do hmp_* instead of hmp_x(), hmp_xp(),
        hmp_i(), hmp_o(), because those names are too cryptic for my taste.
      
      * do_info_help() renamed to hmp_info_help() instead of hmp_info(),
        because it only covers help.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      3e5a50d6
  2. 20 10月, 2014 2 次提交
  3. 15 10月, 2014 1 次提交
  4. 30 9月, 2014 1 次提交
  5. 18 2月, 2014 1 次提交
  6. 06 11月, 2013 1 次提交
  7. 23 7月, 2013 1 次提交
  8. 08 7月, 2013 6 次提交
    • D
      pci: Simpler implementation of primary PCI bus · 9bc47305
      David Gibson 提交于
      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: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      9bc47305
    • D
      pci: Add root bus parameter to pci_nic_init() · 29b358f9
      David Gibson 提交于
      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: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      29b358f9
    • D
      pci: Add root bus argument to pci_get_bus_devfn() · 85c6e4fa
      David Gibson 提交于
      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: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      85c6e4fa
    • D
      pci: Replace pci_find_domain() with more general pci_root_bus_path() · 568f0690
      David Gibson 提交于
      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: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      568f0690
    • D
      pci: Use helper to find device's root bus in pci_find_domain() · c473d18d
      David Gibson 提交于
      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: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      c473d18d
    • D
      pci: Abolish pci_find_root_bus() · 1ef7a2a2
      David Gibson 提交于
      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: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      1ef7a2a2
  9. 04 7月, 2013 2 次提交
    • D
      pci: Move pci_read_devaddr to pci-hotplug-old.c · 6ac363b5
      David Gibson 提交于
      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: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      6ac363b5
    • D
      pci: Cleanup configuration for pci-hotplug.c · 79ca616f
      David Gibson 提交于
      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: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      79ca616f
  10. 09 4月, 2013 1 次提交
    • P
      hw: move headers to include/ · 0d09e41a
      Paolo Bonzini 提交于
      Many of these should be cleaned up with proper qdev-/QOM-ification.
      Right now there are many catch-all headers in include/hw/ARCH depending
      on cpu.h, and this makes it necessary to compile these files per-target.
      However, fixing this does not belong in these patches.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      0d09e41a
  11. 06 4月, 2013 1 次提交
  12. 19 12月, 2012 5 次提交
  13. 17 12月, 2012 2 次提交
  14. 07 12月, 2012 1 次提交
  15. 26 11月, 2012 1 次提交
  16. 18 6月, 2012 1 次提交
  17. 05 6月, 2012 2 次提交
  18. 10 4月, 2012 1 次提交
    • L
      qdev: qdev_unplug(): use error_set() · 56f9107e
      Luiz Capitulino 提交于
      It currently uses qerror_report(), but next commit will convert
      the drive_del command to the QAPI and this requires using
      error_set().
      
      One particularity of qerror_report() is that it knows when it's
      running on monitor context or command-line context and prints the
      error message accordingly. error_set() doesn't do this, so we
      have to be careful not to drop error messages.
      
      qdev_unplug() has three kinds of usages:
      
       1. It's called when hot adding a device fails, to undo anything
          that has been done before hitting the error
      
       2. It's called by function monitor functions like device_del(),
          to unplug a device
      
       3. It's used by xen_platform.c in a way that doesn't _seem_ to
          be in monitor context
      
      Only item 2 can print an error message to the user, this commit
      maintains that.
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      Reviewed-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      56f9107e
  19. 04 1月, 2012 1 次提交
    • A
      Add generic drive hotplugging · dd97aa8a
      Alexander Graf 提交于
      The monitor command for hotplugging is in i386 specific code. This is just
      plain wrong, as S390 just learned how to do hotplugging too and needs to
      get drives for that.
      
      So let's add a generic copy to generic code that handles drive_add in a
      way that doesn't have pci dependencies. All pci specific code can then
      be handled in a pci specific function.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      
      ---
      
      v1 -> v2:
      
        - align generic drive_add to pci specific one
        - rework to split between generic and pci code
      
      v2 -> v3:
      
        - remove comment
      dd97aa8a
  20. 22 11月, 2011 1 次提交
  21. 29 3月, 2011 1 次提交
  22. 07 2月, 2011 1 次提交
  23. 31 1月, 2011 1 次提交
    • M
      scsi hotplug: Set DriveInfo member bus correctly · 31e1ea3e
      Markus Armbruster 提交于
      drive_init() picks the first free bus and unit number, unless the user
      specifies them.
      
      This isn't a good fit for the drive_add monitor command, because there
      we specify the controller by PCI address instead of using bus number
      set by drive_init().
      
      scsi_hot_add() takes care to replace the unit number set by
      drive_init() by the real one, but it neglects to replace the bus
      number.  Thus, bus/unit in DriveInfo may be bogus.  Affects
      drive_get() and drive_get_max_bus().  I'm not aware of anything bad
      happening because of that; looks like by the time we're hot-plugging,
      the two functions aren't used anymore.  Fix it anyway.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      31e1ea3e
  24. 25 1月, 2011 1 次提交
  25. 24 8月, 2010 1 次提交
    • B
      Rearrange block headers · 2446333c
      Blue Swirl 提交于
      Changing block.h or blockdev.h resulted in recompiling most objects.
      
      Move DriveInfo typedef and BlockInterfaceType enum definitions
      to qemu-common.h and rearrange blockdev.h use to decrease churn.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      2446333c
  26. 23 8月, 2010 1 次提交
  27. 12 7月, 2010 1 次提交