[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH qemu v5 11/12] spapr_pci: Disable all DMA windows on
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-devel] [PATCH qemu v5 11/12] spapr_pci: Disable all DMA windows on reset |
Date: |
Tue, 31 Mar 2015 16:28:46 +1100 |
This disables all DMA windows on a PHB reset. It does not make any
difference now as there is just one DMA window but it will later with DDW
patches.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
---
hw/ppc/spapr_pci.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
index b8c2488..a85289e 100644
--- a/hw/ppc/spapr_pci.c
+++ b/hw/ppc/spapr_pci.c
@@ -724,13 +724,24 @@ static const MemoryRegionOps spapr_msi_ops = {
/*
* DMA windows
*/
+static int spapr_phb_disable_dma_windows(Object *child, void *opaque)
+{
+ sPAPRTCETable *tcet = (sPAPRTCETable *)
+ object_dynamic_cast(child, TYPE_SPAPR_TCE_TABLE);
+
+ if (tcet) {
+ spapr_tce_table_disable(tcet);
+ }
+
+ return 0;
+}
+
int spapr_phb_dma_reset(sPAPRPHBState *sphb)
{
const uint32_t liobn = SPAPR_PCI_LIOBN(sphb->index, 0);
- sPAPRTCETable *tcet = spapr_tce_find_by_liobn(liobn);
sPAPRPHBClass *spc = SPAPR_PCI_HOST_BRIDGE_GET_CLASS(sphb);
- spapr_tce_table_disable(tcet);
+ object_child_foreach(OBJECT(sphb), spapr_phb_disable_dma_windows, NULL);
spc->dma_init_window(sphb, liobn, SPAPR_TCE_PAGE_SHIFT, 0);
return 0;
--
2.0.0
- [Qemu-devel] [PATCH qemu v5 00/12] spapr: vfio: Enable Dynamic DMA windows (DDW), Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 03/12] spapr_pci: Make find_phb()/find_dev() public, Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 02/12] vmstate: Define VARRAY with VMS_ALLOC, Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 01/12] linux headers update for DDW on SPAPR, Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 11/12] spapr_pci: Disable all DMA windows on reset,
Alexey Kardashevskiy <=
- [Qemu-devel] [PATCH qemu v5 08/12] spapr_pci: Rework reset to reset DMA configuration, Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 07/12] spapr_iommu: Rework TCE table initialization, Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 04/12] spapr_pci_vfio: Enable multiple groups per container, Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 05/12] vfio: spapr: Move SPAPR-related code to a separate file, Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 12/12] spapr_pci/spapr_pci_vfio: Support Dynamic DMA Windows (DDW), Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 10/12] spapr_pci: Rework finish_realize(), Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 06/12] vfio: spapr: Add SPAPR IOMMU v2 support (DMA memory preregistering), Alexey Kardashevskiy, 2015/03/31
- [Qemu-devel] [PATCH qemu v5 09/12] spapr_iommu: Add root memory region, Alexey Kardashevskiy, 2015/03/31