[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v3 10/18] spapr_pci: Define DDW callbacks
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-devel] [RFC PATCH v3 10/18] spapr_pci: Define DDW callbacks |
Date: |
Fri, 29 Aug 2014 20:12:14 +1000 |
This adds callbacks definitions which PHB needs to implement in order to
support dynamic DMA windows (DDW).
Will be squashed later.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
---
include/hw/pci-host/spapr.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/include/hw/pci-host/spapr.h b/include/hw/pci-host/spapr.h
index 3892f1a..6658b9c 100644
--- a/include/hw/pci-host/spapr.h
+++ b/include/hw/pci-host/spapr.h
@@ -49,6 +49,24 @@ struct sPAPRPHBClass {
PCIHostBridgeClass parent_class;
void (*finish_realize)(sPAPRPHBState *sphb, Error **errp);
+
+/* sPAPR spec defined pagesize mask values */
+#define DDW_PGSIZE_4K 0x01
+#define DDW_PGSIZE_64K 0x02
+#define DDW_PGSIZE_16M 0x04
+#define DDW_PGSIZE_32M 0x08
+#define DDW_PGSIZE_64M 0x10
+#define DDW_PGSIZE_128M 0x20
+#define DDW_PGSIZE_256M 0x40
+#define DDW_PGSIZE_16G 0x80
+
+ int (*ddw_query)(sPAPRPHBState *sphb, uint32_t *windows_available,
+ uint32_t *page_size_mask);
+ int (*ddw_create)(sPAPRPHBState *sphb, uint32_t page_shift,
+ uint32_t window_shift, uint32_t liobn,
+ sPAPRTCETable **ptcet);
+ int (*ddw_remove)(sPAPRPHBState *sphb, sPAPRTCETable *tcet);
+ int (*ddw_reset)(sPAPRPHBState *sphb);
};
typedef struct spapr_pci_msi {
--
2.0.0
- [Qemu-devel] [RFC PATCH v3 07/18] spapr_iommu: Make spapr_tce_find_by_liobn() public, (continued)
- [Qemu-devel] [RFC PATCH v3 07/18] spapr_iommu: Make spapr_tce_find_by_liobn() public, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 04/18] spapr_pci: Introduce a liobn number generating macros, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 08/18] spapr_iommu: Implement free_table() helper, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 09/18] spapr_rtas: Reserve DDW RTAS token numbers, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 17/18] vfio: Enable DDW ioctls to VFIO IOMMU driver, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 11/18] spapr_pci: Add windows counter, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 06/18] spapr_pci: Make find_phb()/find_dev() public, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 02/18] qom: Make object_child_foreach safe for objects removal, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 12/18] spapr_rtas: Add Dynamic DMA windows (DDW) RTAS calls support, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 14/18] spapr_pci_vfio: Call spapr_pci::reset on reset, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 10/18] spapr_pci: Define DDW callbacks,
Alexey Kardashevskiy <=
- [Qemu-devel] [RFC PATCH v3 18/18] spapr: Add pseries-2.2 machine, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 16/18] spapr_pci_vfio: Enable DDW, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 15/18] linux headers update for SPAPR (DDW + EEH), Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 13/18] spapr_pci: Enable DDW, Alexey Kardashevskiy, 2014/08/29