summaryrefslogtreecommitdiffstats
path: root/include/hw/ppc/spapr.h
diff options
context:
space:
mode:
authorAlexey Kardashevskiy2014-05-27 07:36:36 +0200
committerAlexander Graf2014-06-16 13:24:39 +0200
commit650f33adbd53b0bacdd5d3392ea5b11a8a0fba42 (patch)
tree3b67289211c446be7e9a29301f798b4ffd73ad9a /include/hw/ppc/spapr.h
parentspapr_iommu: Get rid of window_size in sPAPRTCETable (diff)
downloadqemu-650f33adbd53b0bacdd5d3392ea5b11a8a0fba42.tar.gz
qemu-650f33adbd53b0bacdd5d3392ea5b11a8a0fba42.tar.xz
qemu-650f33adbd53b0bacdd5d3392ea5b11a8a0fba42.zip
spapr_iommu: Introduce page_shift in sPAPRTCETable
At the moment only 4K pages are supported by sPAPRTCETable. Since sPAPR spec allows other page sizes and we are going to implement them, we need page size to be configrable. This adds @page_shift into sPAPRTCETable and replaces SPAPR_TCE_PAGE_SHIFT with it where it is possible. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include/hw/ppc/spapr.h')
-rw-r--r--include/hw/ppc/spapr.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
index 7a0bcc53ff..38e61cfab0 100644
--- a/include/hw/ppc/spapr.h
+++ b/include/hw/ppc/spapr.h
@@ -398,6 +398,7 @@ struct sPAPRTCETable {
DeviceState parent;
uint32_t liobn;
uint32_t nb_table;
+ uint32_t page_shift;
uint64_t *table;
bool bypass;
int fd;
@@ -409,6 +410,7 @@ void spapr_events_init(sPAPREnvironment *spapr);
void spapr_events_fdt_skel(void *fdt, uint32_t epow_irq);
int spapr_h_cas_compose_response(target_ulong addr, target_ulong size);
sPAPRTCETable *spapr_tce_new_table(DeviceState *owner, uint32_t liobn,
+ uint32_t page_shift,
uint32_t nb_table);
MemoryRegion *spapr_tce_get_iommu(sPAPRTCETable *tcet);
void spapr_tce_set_bypass(sPAPRTCETable *tcet, bool bypass);