[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 62e9cd: macio: Convert to realize()
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 62e9cd: macio: Convert to realize() |
Date: |
Thu, 04 Jun 2015 10:30:07 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 62e9cd771cc368a8fd0f152832b78c43557897a9
https://github.com/qemu/qemu/commit/62e9cd771cc368a8fd0f152832b78c43557897a9
Author: Markus Armbruster <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/misc/macio/macio.c
Log Message:
-----------
macio: Convert to realize()
Convert device models "macio-oldworld" and "macio-newworld".
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 28f490b24af83a007937daacb9ea8bf7537f9084
https://github.com/qemu/qemu/commit/28f490b24af83a007937daacb9ea8bf7537f9084
Author: Thomas Huth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M dtc
Log Message:
-----------
dtc: Update dtc / libfdt submodule to version 1.4.0
Since some recent patches require libfdt version 1.4.0,
let's update the dtc submodule to this version.
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 31ce0adb79655003465070fa90d7d20a5b8c2ff5
https://github.com/qemu/qemu/commit/31ce0adb79655003465070fa90d7d20a5b8c2ff5
Author: Thomas Huth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M configure
Log Message:
-----------
configure: Check for libfdt version 1.4.0
Some recent patches require a function from libfdt version 1.4.0,
so we should check for this version during the configure step
already. Unfortunately, there does not seem to be a proper #define
for the version number in the libfdt headers. So alternatively,
we check for the availability of the required function
fdt_get_property_by_offset() instead instead.
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 421b1b27f6e9135ac8f01db219e0d8c0cefd7e71
https://github.com/qemu/qemu/commit/421b1b27f6e9135ac8f01db219e0d8c0cefd7e71
Author: David Gibson <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_pci.c
Log Message:
-----------
spapr_pci: Fix unsafe signed/unsigned comparisons
spapr_pci.c contains a number of expressions of the form (uval == -1) or
(uval != -1), where 'uval' is an unsigned value.
This mostly works in practice, because as long as the width of uval is
greater or equal than that of (int), the -1 will be promoted to the
unsigned type, which is the expected outcome.
However, at least for the cases where uval is uint32_t, this would break
on platforms where sizeof(int) > 4 (and a few such do exist), because then
the uint32_t value would be promoted to the larger int type, and never be
equal to -1.
This patch fixes these errors. The fixes for the (uint32_t) cases are
necessary as described above. I've made similar fixes to (uint64_t) and
(hwaddr) cases. Those are strictly theoretical, since I don't know of any
platforms where sizeof(int) > 8, but hey, it's not that hard so we might
as well be strictly C standard compliant.
Reported-by: Markus Armbruster <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 12fd28535891572be7aaf862a03019257dafa425
https://github.com/qemu/qemu/commit/12fd28535891572be7aaf862a03019257dafa425
Author: Alexey Kardashevskiy <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_iommu.c
Log Message:
-----------
spapr_iommu: Disable in-kernel IOMMU tables for >4GB windows
The existing KVM_CREATE_SPAPR_TCE ioctl only support 4G windows max as
the window size parameter to the kernel ioctl() is 32-bit so
there's no way of expressing a TCE window > 4GB.
We are going to add huge DMA windows support so this will create small
window and unexpectedly fail later.
This disables KVM_CREATE_SPAPR_TCE for windows bigger that 4GB.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: f1215ea702e6e6cb3876221cf1f7f60133e08c30
https://github.com/qemu/qemu/commit/f1215ea702e6e6cb3876221cf1f7f60133e08c30
Author: Alexey Kardashevskiy <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_iommu.c
Log Message:
-----------
spapr_iommu: Make H_PUT_TCE_INDIRECT endian-safe
PAPR is defined as big endian so TCEs need an adjustment so
does this patch.
This changes code to have ldq_be_phys() in one place.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: c8545818b331e9a32e5dd47f0aefbcf2b93e41da
https://github.com/qemu/qemu/commit/c8545818b331e9a32e5dd47f0aefbcf2b93e41da
Author: Alexey Kardashevskiy <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_pci.c
M include/hw/ppc/spapr.h
Log Message:
-----------
spapr_pci: Introduce a liobn number generating macros
We are going to have multiple DMA windows per PHB and we want them to
migrate so we need a predictable way of assigning LIOBNs.
This introduces a macro which makes up a LIOBN from fixed prefix,
PHB index (unique PHB id) and window number.
This introduces a SPAPR_PCI_DMA_WINDOW_NUM() to know the window number
from LIOBN. It is used to distinguish the default 32bit windows from
dynamic windows and avoid picking default DMA window properties from
a wrong TCE table.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 4290ca49eed5e239695ce85c925a770e4a7317a6
https://github.com/qemu/qemu/commit/4290ca49eed5e239695ce85c925a770e4a7317a6
Author: Alexey Kardashevskiy <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_vio.c
M include/hw/ppc/spapr.h
Log Message:
-----------
spapr_vio: Introduce a liobn number generating macros
This introduces a macro which makes up a LIOBN from fixed prefix and
VIO device address (@reg property).
This is to keep LIOBN macros rendering consistent - the same macro for
PCI has been added by the previous patch.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 3e1a01cb554412e8a9c25573126356596dc0c50f
https://github.com/qemu/qemu/commit/3e1a01cb554412e8a9c25573126356596dc0c50f
Author: Alexey Kardashevskiy <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_pci.c
M include/hw/pci-host/spapr.h
Log Message:
-----------
spapr_pci: Define default DMA window size as a macro
This gets rid of a magic constant describing the default DMA window size
for an emulated PHB.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: d9d96a3cc7267880fbccb6bc4018fc31909fc930
https://github.com/qemu/qemu/commit/d9d96a3cc7267880fbccb6bc4018fc31909fc930
Author: Alexey Kardashevskiy <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_iommu.c
M include/hw/ppc/spapr.h
M trace-events
Log Message:
-----------
spapr_iommu: Add separate trace points for PCI DMA operations
This is to reduce VIO noise while debugging PCI DMA.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 46c5874e9cd752ed8ded31af03472edd8fc3efc1
https://github.com/qemu/qemu/commit/46c5874e9cd752ed8ded31af03472edd8fc3efc1
Author: Alexey Kardashevskiy <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_pci.c
M include/hw/pci-host/spapr.h
Log Message:
-----------
spapr_pci: Make find_phb()/find_dev() public
This makes find_phb()/find_dev() public and changed its names
to spapr_pci_find_phb()/spapr_pci_find_dev() as they are going to
be used from other parts of QEMU such as VFIO DDW (dynamic DMA window)
or VFIO PCI error injection or VFIO EEH handling - in all these
cases there are RTAS calls which are addressed to BUID+config_addr
in IEEE1275 format.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: fae807a2b182a613798fe619f9069bd0bbe3dc6a
https://github.com/qemu/qemu/commit/fae807a2b182a613798fe619f9069bd0bbe3dc6a
Author: Alexey Kardashevskiy <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_iommu.c
M include/hw/ppc/spapr.h
Log Message:
-----------
spapr_iommu: Make spapr_tce_find_by_liobn() public
At the moment spapr_tce_find_by_liobn() is used by H_PUT_TCE/...
handlers to find an IOMMU by LIOBN.
We are going to implement Dynamic DMA windows (DDW), new code
will go to a new file and we will use spapr_tce_find_by_liobn()
there too so let's make it public.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: ccf9ff8527a87ee485fbb6a0a73d28641cab5f60
https://github.com/qemu/qemu/commit/ccf9ff8527a87ee485fbb6a0a73d28641cab5f60
Author: Alexey Kardashevskiy <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_pci.c
Log Message:
-----------
spapr_pci: Rework device-tree rendering
This replaces object_child_foreach() and callback with existing
SPAPR_PCI_LIOBN() and spapr_tce_find_by_liobn() to make the code easier
to read.
This is a mechanical patch so no behaviour change is expected.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: dea1b3ce756d7242d4212c22b7d6e6a896495154
https://github.com/qemu/qemu/commit/dea1b3ce756d7242d4212c22b7d6e6a896495154
Author: Alexey Kardashevskiy <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_iommu.c
Log Message:
-----------
spapr_iommu: Give unique QOM name to TCE table
Useful for debugging.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: f9ce8e0aa3fb55ae7a8ea34d3169e73e87feb337
https://github.com/qemu/qemu/commit/f9ce8e0aa3fb55ae7a8ea34d3169e73e87feb337
Author: Thomas Huth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_iommu.c
M include/hw/ppc/spapr.h
Log Message:
-----------
hw/ppc/spapr_iommu: Fix the check for invalid upper bits in liobn
The check "liobn & 0xFFFFFFFF00000000ULL" in spapr_tce_find_by_liobn()
is completely useless since liobn is only declared as an uint32_t
parameter. Fix this by using target_ulong instead (this is what most
of the callers of this function are using, too).
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: a1a45612433edb0eb65c468f7ed579cd92358818
https://github.com/qemu/qemu/commit/a1a45612433edb0eb65c468f7ed579cd92358818
Author: David Gibson <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr.c
Log Message:
-----------
pseries: Add pseries-2.4 machine type
Now that 2.4 development has opened, create a new pseries machine type
variant. For now it is identical to the pseries-2.3 machine type, but
a number of new features are coming that will need to set backwards
compatibility options.
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 68fea5a0d7bac17fd74f0608ceed1d914eb0718e
https://github.com/qemu/qemu/commit/68fea5a0d7bac17fd74f0608ceed1d914eb0718e
Author: Thomas Huth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr.c
Log Message:
-----------
hw/ppc/spapr: Fix error message when firmware could not be loaded
When specifying a non-existing file with the "-bios" parameter, QEMU
complained that it "could not find LPAR rtas". That's obviously a
copy-n-paste bug from the code which loads the spapr-rtas.bin, it
should complain about a missing firmware file instead.
Additionally the error message was printed with hw_error() - which
also dumps the whole CPU state. However, this does not make much
sense here since the CPU is not running yet and thus the registers
only contain zeroes. So let's use error_report() here instead.
And while we're at it, let's also bail out if the firmware file
had zero length.
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 730fce593bbaa9240a0be860616ac4366113194d
https://github.com/qemu/qemu/commit/730fce593bbaa9240a0be860616ac4366113194d
Author: Thomas Huth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr.c
Log Message:
-----------
hw/ppc/spapr: Use error_report() instead of hw_error()
hw_error() is designed for printing CPU-related error messages
(e.g. it also prints a full CPU register dump). For error messages
that are not directly related to CPU problems, a function like
error_report() should be used instead.
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 11eec063f29733395846ba756ecd544876ef6839
https://github.com/qemu/qemu/commit/11eec063f29733395846ba756ecd544876ef6839
Author: Michael Roth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
A docs/specs/ppc-spapr-hotplug.txt
Log Message:
-----------
docs: add sPAPR hotplug/dynamic-reconfiguration documentation
This adds a general overview of hotplug/dynamic-reconfiguration
for sPAPR/pSeries guest.
As specified in PAPR+ v2.7.
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: bbf5c878ab76a74f6277f99082c77bbdb1ad4c5b
https://github.com/qemu/qemu/commit/bbf5c878ab76a74f6277f99082c77bbdb1ad4c5b
Author: Michael Roth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/Makefile.objs
A hw/ppc/spapr_drc.c
A include/hw/ppc/spapr_drc.h
Log Message:
-----------
spapr_drc: initial implementation of sPAPRDRConnector device
This device emulates a firmware abstraction used by pSeries guests to
manage hotplug/dynamic-reconfiguration of host-bridges, PCI devices,
memory, and CPUs. It is conceptually similar to an SHPC device,
complete with LED indicators to identify individual slots to physical
physical users and indicate when it is safe to remove a device. In
some cases it is also used to manage virtualized resources, such a
memory, CPUs, and physical-host bridges, which in the case of pSeries
guests are virtualized resources where the physical components are
managed by the host.
Guests communicate with these DR Connectors using RTAS calls,
generally by addressing the unique DRC index associated with a
particular connector for a particular resource. For introspection
purposes we expose this state initially as QOM properties, and
in subsequent patches will introduce the RTAS calls that make use of
it. This constitutes to the 'guest' interface.
On the QEMU side we provide an attach/detach interface to associate
or cleanup a DeviceState with a particular sPAPRDRConnector in
response to hotplug/unplug, respectively. This constitutes the
'physical' interface to the DR Connector.
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 094d20585ecdcd31959b1b88a390b4d2c4cfeab7
https://github.com/qemu/qemu/commit/094d20585ecdcd31959b1b88a390b4d2c4cfeab7
Author: Nathan Fontenot <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_rtas.c
Log Message:
-----------
spapr_rtas: add get/set-power-level RTAS interfaces
These interfaces manage the power domains that guest devices are
assigned to and are used to power on/off devices. Currently we
only utilize 1 power domain, the 'live-insertion' domain, which
automates power management of plugged/unplugged devices, essentially
making these calls no-ops, but the RTAS interfaces are still required
by guest hotplug code and PAPR+.
See docs/specs/ppc-spapr-hotplug.txt for a complete description of
these interfaces.
Signed-off-by: Nathan Fontenot <address@hidden>
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 8c8639df32f19d5ca9bf6a823ac83e298a188fd1
https://github.com/qemu/qemu/commit/8c8639df32f19d5ca9bf6a823ac83e298a188fd1
Author: Mike Day <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_rtas.c
M include/hw/ppc/spapr.h
Log Message:
-----------
spapr_rtas: add set-indicator RTAS interface
This interface allows a guest to control various platform/device
sensors. Initially, we only implement support necessary to control
sensors that are required for hotplug: DR connector indicators/LEDs,
resource allocation state, and resource isolation state.
See docs/specs/ppc-spapr-hotplug.txt for a complete description of
this interface.
Signed-off-by: Mike Day <address@hidden>
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 886445a6ee808ee06533f9ecdf0f169c9ea83fbb
https://github.com/qemu/qemu/commit/886445a6ee808ee06533f9ecdf0f169c9ea83fbb
Author: Mike Day <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_rtas.c
Log Message:
-----------
spapr_rtas: add get-sensor-state RTAS interface
This interface allows a guest to read various platform/device sensors.
initially, we only implement support necessary to support hotplug:
reading of the dr-entity-sense sensor, which communicates the state of
a hotplugged resource/device to the guest (EMPTY/PRESENT/UNUSABLE).
See docs/specs/ppc-spapr-hotplug.txt for a complete description of
this interface.
Signed-off-by: Mike Day <address@hidden>
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: ab316865db8ee97c53cd70c91b1b160c474102f8
https://github.com/qemu/qemu/commit/ab316865db8ee97c53cd70c91b1b160c474102f8
Author: Michael Roth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M include/hw/ppc/spapr.h
Log Message:
-----------
spapr: add rtas_st_buffer_direct() helper
This is similar to the existing rtas_st_buffer(), but for cases
where the guest is not expecting a length-encoded byte array.
Namely, for calls where a "work area" buffer is used to pass
around arbitrary fields/data.
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 46503c2bc047bfe8c26440e17298fcbc59d7bbbe
https://github.com/qemu/qemu/commit/46503c2bc047bfe8c26440e17298fcbc59d7bbbe
Author: Michael Roth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr.c
M hw/ppc/spapr_rtas.c
M include/hw/ppc/spapr.h
Log Message:
-----------
spapr_rtas: add ibm, configure-connector RTAS interface
This interface is used to fetch an OF device-tree nodes that describes a
newly-attached device to guest. It is called multiple times to walk the
device-tree node and fetch individual properties into a 'workarea'/buffer
provided by the guest.
The device-tree is generated by QEMU and passed to an sPAPRDRConnector during
the initial hotplug operation, and the state of these RTAS calls is tracked by
the sPAPRDRConnector. When the last of these properties is successfully
fetched, we report as special return value to the guest and transition
the device to a 'configured' state on the QEMU/DRC side.
See docs/specs/ppc-spapr-hotplug.txt for a complete description of
this interface.
Signed-off-by: Michael Roth <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 31fe14d15d08d613ff38abb249911e98c7966b86
https://github.com/qemu/qemu/commit/31fe14d15d08d613ff38abb249911e98c7966b86
Author: Nathan Fontenot <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr.c
M hw/ppc/spapr_events.c
M include/hw/ppc/spapr.h
Log Message:
-----------
spapr_events: re-use EPOW event infrastructure for hotplug events
This extends the data structures currently used to report EPOW events to
guests via the check-exception RTAS interfaces to also include event types
for hotplug/unplug events.
This is currently undocumented and being finalized for inclusion in PAPR
specification, but we implement this here as an extension for guest
userspace tools to implement (existing guest kernels simply log these
events via a sysfs interface that's read by rtas_errd, and current
versions of rtas_errd/powerpc-utils already support the use of this
mechanism for initiating hotplug operations).
We also add support for queues of pending RTAS events, since in the
case of hotplug there's chance for multiple events being in-flight
at any point in time.
Signed-off-by: Nathan Fontenot <address@hidden>
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 79853e18d904b0a4bcef62701d48559688007c93
https://github.com/qemu/qemu/commit/79853e18d904b0a4bcef62701d48559688007c93
Author: Tyrel Datwyler <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr.c
M hw/ppc/spapr_events.c
M include/hw/ppc/spapr.h
Log Message:
-----------
spapr_events: event-scan RTAS interface
We don't actually rely on this interface to surface hotplug events, and
instead rely on the similar-but-interrupt-driven check-exception RTAS
interface used for EPOW events. However, the existence of this interface
is needed to ensure guest kernels initialize the event-reporting
interfaces which will in turn be used by userspace tools to handle these
events, so we implement this interface here.
Since events surfaced by this call are mutually exclusive to those
surfaced via check-exception, we also update the RTAS event queue code
to accept a boolean to mark/filter for events accordingly.
Events of this sort are not currently generated by QEMU, but the interface
has been tested by surfacing hotplug events via event-scan in place
of check-exception.
Signed-off-by: Tyrel Datwyler <address@hidden>
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: e4b798bb53447ba4608fc7e6ed91927bdb1c3d5d
https://github.com/qemu/qemu/commit/e4b798bb53447ba4608fc7e6ed91927bdb1c3d5d
Author: Michael Roth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_drc.c
M include/hw/ppc/spapr_drc.h
Log Message:
-----------
spapr_drc: add spapr_drc_populate_dt()
This function handles generation of ibm,drc-* array device tree
properties to describe DRC topology to guests. This will by used
by the guest to direct RTAS calls to manage any dynamic resources
we associate with a particular DR Connector as part of
hotplug/unplug.
Since general management of boot-time device trees are handled
outside of sPAPRDRConnector, we insert these values blindly given
an FDT and offset. A mask of sPAPRDRConnector types is given to
instruct us on what types of connectors entries should be generated
for, since descriptions for different connectors may live in
different parts of the device tree.
Based on code originally written by Nathan Fontenot.
Signed-off-by: Nathan Fontenot <address@hidden>
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 7619c7b00c90a39243f1229facde8c53a8fba921
https://github.com/qemu/qemu/commit/7619c7b00c90a39243f1229facde8c53a8fba921
Author: Michael Roth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr.c
M hw/ppc/spapr_pci.c
M include/hw/pci-host/spapr.h
Log Message:
-----------
spapr_pci: add dynamic-reconfiguration option for spapr-pci-host-bridge
This option enables/disables PCI hotplug for a particular PHB.
Also add machine compatibility code to disable it by default for machine
types prior to pseries-2.4.
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
[agraf: move commas for compat fields]
Signed-off-by: Alexander Graf <address@hidden>
Commit: 62083979b0471ac07da6d94944bf12a9b18baa1f
https://github.com/qemu/qemu/commit/62083979b0471ac07da6d94944bf12a9b18baa1f
Author: Michael Roth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_pci.c
Log Message:
-----------
spapr_pci: create DRConnectors for each PCI slot during PHB realize
These will be used to support hotplug/unplug of PCI devices to the PCI
bus associated with a particular PHB.
We also set up device-tree properties in each PHBs initial FDT to
describe the DRCs associated with them. This advertises to guests that
each PHB is DR-capable device with physical hotpluggable slots, each
managed by the corresponding DRC. This is necessary for allowing
hotplugging of devices to it later via bus rescan or guest rpaphp
hotplug module.
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: cf8c704d5a06e7b8327c65d19d0c342dc23fff84
https://github.com/qemu/qemu/commit/cf8c704d5a06e7b8327c65d19d0c342dc23fff84
Author: Michael Roth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/pci/pci.c
M include/hw/pci/pci.h
Log Message:
-----------
pci: make pci_bar useable outside pci.c
We need to work with PCI BARs to generate OF properties
during PCI hotplug for sPAPR guests.
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 7454c7af91bdd60216e2b6eead827c012bb4d0d0
https://github.com/qemu/qemu/commit/7454c7af91bdd60216e2b6eead827c012bb4d0d0
Author: Michael Roth <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_pci.c
Log Message:
-----------
spapr_pci: enable basic hotplug operations
This enables hotplug of PCI devices to a PHB. Upon hotplug we
generate the OF-nodes required by PAPR specification and
IEEE 1275-1994 "PCI Bus Binding to Open Firmware" for the
device.
We associate the corresponding FDT for these nodes with the DRC
corresponding to the slot, which will be fetched via
ibm,configure-connector RTAS calls by the guest as described by PAPR
specification.
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: c5bc152bc399ae7ec8ac5227762e4320d0fd2d1c
https://github.com/qemu/qemu/commit/c5bc152bc399ae7ec8ac5227762e4320d0fd2d1c
Author: Tyrel Datwyler <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr_pci.c
Log Message:
-----------
spapr_pci: emit hotplug add/remove events during hotplug
This uses extension of existing EPOW interrupt/event mechanism
to notify userspace tools like librtas/drmgr to handle
in-guest configuration/cleanup operations in response to
device_add/device_del.
Userspace tools that don't implement this extension will need
to be run manually in response/advance of device_add/device_del,
respectively.
Signed-off-by: Tyrel Datwyler <address@hidden>
Signed-off-by: Michael Roth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 076b35b5a56bca57c4aa41044ed304fe9c45d6c5
https://github.com/qemu/qemu/commit/076b35b5a56bca57c4aa41044ed304fe9c45d6c5
Author: Nikunj A Dadhania <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/core/machine.c
M include/hw/boards.h
M include/qemu-common.h
M vl.c
Log Message:
-----------
machine: add default_ram_size to machine class
Machines types can have different requirement for default ram
size. Introduce a member in the machine class and set the current
default_ram_size to 128MB.
For QEMUMachine types override the value during the registration of
the machine and for MachineClass introduce the generic class init
setting the default_ram_size.
Add helpers [K,M,G,T,P,E]_BYTE for better readability and easy usage
Signed-off-by: Nikunj A Dadhania <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: a34944fe2e2457309bde74c1ffe3a1c60c6da018
https://github.com/qemu/qemu/commit/a34944fe2e2457309bde74c1ffe3a1c60c6da018
Author: Nikunj A Dadhania <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr.c
Log Message:
-----------
spapr: override default ram size to 512MB
Signed-off-by: Nikunj A Dadhania <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 026bfd89cb896c8a3460cc551cc4836219bd7ff9
https://github.com/qemu/qemu/commit/026bfd89cb896c8a3460cc551cc4836219bd7ff9
Author: David Gibson <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M hw/ppc/spapr.c
M target-ppc/kvm.c
M target-ppc/kvm_ppc.h
Log Message:
-----------
pseries: Enable in-kernel H_LOGICAL_CI_{LOAD, STORE} implementations
qemu currently implements the hypercalls H_LOGICAL_CI_LOAD and
H_LOGICAL_CI_STORE as PAPR extensions. These are used by the SLOF firmware
for IO, because performing cache inhibited MMIO accesses with the MMU off
(real mode) is very awkward on POWER.
This approach breaks when SLOF needs to access IO devices implemented
within KVM instead of in qemu. The simplest example would be virtio-blk
using an iothread, because the iothread / dataplane mechanism relies on
an in-kernel implementation of the virtio queue notification MMIO.
To fix this, an in-kernel implementation of these hypercalls has been made,
(kernel commit 99342cf "kvmppc: Implement H_LOGICAL_CI_{LOAD,STORE} in KVM"
however, the hypercalls still need to be enabled from qemu. This performs
the necessary calls to do so.
It would be nice to provide some warning if we encounter a problematic
device with a kernel which doesn't support the new calls. Unfortunately,
I can't see a way to detect this case which won't either warn in far too
many cases that will probably work, or which is horribly invasive.
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 085eb217dfb3ee12e7985c11f71f8a038394735a
https://github.com/qemu/qemu/commit/085eb217dfb3ee12e7985c11f71f8a038394735a
Author: David Gibson <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M MAINTAINERS
Log Message:
-----------
Add David Gibson for sPAPR in MAINTAINERS file
At Alex Graf's request I'm now acting as sub-maintainer for the sPAPR
(-machine pseries) code. This updates MAINTAINERS accordingly.
While we're at it, change the label to mention pseries since that's the
actual name of the machine type, even if most of the C files use the sPAPR
name.
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 5a58e884d1d9905a835de2889c8cd73327fe2a94
https://github.com/qemu/qemu/commit/5a58e884d1d9905a835de2889c8cd73327fe2a94
Author: Paolo Bonzini <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M tcg/tcg.h
M tcg/tci/tcg-target.h
Log Message:
-----------
tci: do not use CPUArchState in tcg-target.h
tcg-target.h does not use any QEMU-specific symbols, save for tci's usage
of CPUArchState. Pull that up to tcg/tcg.h.
This will make it possible to include tcg-target.h in cpu-defs.h.
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 006f8638c62bca2b0caf609485f47fa5e14d8a3c
https://github.com/qemu/qemu/commit/006f8638c62bca2b0caf609485f47fa5e14d8a3c
Author: Paolo Bonzini <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M tcg/aarch64/tcg-target.h
M tcg/arm/tcg-target.h
M tcg/i386/tcg-target.h
M tcg/ia64/tcg-target.h
M tcg/mips/tcg-target.h
M tcg/ppc/tcg-target.h
M tcg/s390/tcg-target.h
M tcg/sparc/tcg-target.h
M tcg/tci/tcg-target.h
Log Message:
-----------
tcg: add TCG_TARGET_TLB_DISPLACEMENT_BITS
This will be used to size the TLB when more than 8 MMU modes are
used by the target. Limitations come from the limited size of
the immediate fields (which sometimes, as in the case of Aarch64,
extend to instructions that shift the immediate).
Signed-off-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 1de29aef17a7d70dbc04a7fe51e18942e3ebe313
https://github.com/qemu/qemu/commit/1de29aef17a7d70dbc04a7fe51e18942e3ebe313
Author: Paolo Bonzini <address@hidden>
Date: 2015-06-03 (Wed, 03 Jun 2015)
Changed paths:
M include/exec/cpu-defs.h
M include/exec/cpu_ldst.h
Log Message:
-----------
softmmu: support up to 12 MMU modes
At 8k per TLB (for 64-bit host or target), 8 or more modes
make the TLBs bigger than 64k, and some RISC TCG backends do
not like that. On the affected hosts, cut the TLB size in
half---there is still a measurable speedup on PPC with the
next patch.
Signed-off-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 3b730f570c5872ceea2137848f1d4554d4847441
https://github.com/qemu/qemu/commit/3b730f570c5872ceea2137848f1d4554d4847441
Author: Peter Maydell <address@hidden>
Date: 2015-06-04 (Thu, 04 Jun 2015)
Changed paths:
M MAINTAINERS
M configure
A docs/specs/ppc-spapr-hotplug.txt
M dtc
M hw/core/machine.c
M hw/misc/macio/macio.c
M hw/pci/pci.c
M hw/ppc/Makefile.objs
M hw/ppc/spapr.c
A hw/ppc/spapr_drc.c
M hw/ppc/spapr_events.c
M hw/ppc/spapr_iommu.c
M hw/ppc/spapr_pci.c
M hw/ppc/spapr_rtas.c
M hw/ppc/spapr_vio.c
M include/exec/cpu-defs.h
M include/exec/cpu_ldst.h
M include/hw/boards.h
M include/hw/pci-host/spapr.h
M include/hw/pci/pci.h
M include/hw/ppc/spapr.h
A include/hw/ppc/spapr_drc.h
M include/qemu-common.h
M target-ppc/kvm.c
M target-ppc/kvm_ppc.h
M tcg/aarch64/tcg-target.h
M tcg/arm/tcg-target.h
M tcg/i386/tcg-target.h
M tcg/ia64/tcg-target.h
M tcg/mips/tcg-target.h
M tcg/ppc/tcg-target.h
M tcg/s390/tcg-target.h
M tcg/sparc/tcg-target.h
M tcg/tcg.h
M tcg/tci/tcg-target.h
M trace-events
M vl.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/agraf/tags/signed-ppc-for-upstream'
into staging
Patch queue for ppc - 2015-06-03
Highlights this time around:
- sPAPR: endian fixes, speedups, bug fixes, hotplug basics
- add default ram size capability for machines (sPAPR defaults to 512MB now)
# gpg: Signature made Wed Jun 3 22:59:09 2015 BST using RSA key ID 03FEDC60
# gpg: Good signature from "Alexander Graf <address@hidden>"
# gpg: aka "Alexander Graf <address@hidden>"
* remotes/agraf/tags/signed-ppc-for-upstream: (40 commits)
softmmu: support up to 12 MMU modes
tcg: add TCG_TARGET_TLB_DISPLACEMENT_BITS
tci: do not use CPUArchState in tcg-target.h
Add David Gibson for sPAPR in MAINTAINERS file
pseries: Enable in-kernel H_LOGICAL_CI_{LOAD, STORE} implementations
spapr: override default ram size to 512MB
machine: add default_ram_size to machine class
spapr_pci: emit hotplug add/remove events during hotplug
spapr_pci: enable basic hotplug operations
pci: make pci_bar useable outside pci.c
spapr_pci: create DRConnectors for each PCI slot during PHB realize
spapr_pci: add dynamic-reconfiguration option for spapr-pci-host-bridge
spapr_drc: add spapr_drc_populate_dt()
spapr_events: event-scan RTAS interface
spapr_events: re-use EPOW event infrastructure for hotplug events
spapr_rtas: add ibm, configure-connector RTAS interface
spapr: add rtas_st_buffer_direct() helper
spapr_rtas: add get-sensor-state RTAS interface
spapr_rtas: add set-indicator RTAS interface
spapr_rtas: add get/set-power-level RTAS interfaces
...
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/2700a976dba6...3b730f570c58
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 62e9cd: macio: Convert to realize(),
GitHub <=