mirror of https://gitee.com/openkylin/qemu.git
ee9a569ab8
Instead of tweaking a TCE table device by adding there a bypass flag, let's add an alias to RAM and IOMMU memory region, and enable/disable those according to the selected bypass mode. This way IOMMU memory region can have size of the actual window rather than ram_size which is essential for upcoming DDW support. This moves bypass logic to VIO layer and keeps @bypass flag in TCE table for migration compatibility only. This replaces spapr_tce_set_bypass() calls with explicit assignment to avoid confusion as the function could do something more that just syncing the @bypass flag. This adds a pointer to VIO device into the sPAPRTCETable struct to provide the sPAPRTCETable device a way to update bypass mode for the VIO device. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de> |
||
---|---|---|
.. | ||
Makefile.objs | ||
e500-ccsr.h | ||
e500.c | ||
e500.h | ||
e500plat.c | ||
mac.h | ||
mac_newworld.c | ||
mac_oldworld.c | ||
mpc8544_guts.c | ||
mpc8544ds.c | ||
ppc.c | ||
ppc4xx_devs.c | ||
ppc4xx_pci.c | ||
ppc405.h | ||
ppc405_boards.c | ||
ppc405_uc.c | ||
ppc440_bamboo.c | ||
ppc_booke.c | ||
ppce500_spin.c | ||
prep.c | ||
spapr.c | ||
spapr_events.c | ||
spapr_hcall.c | ||
spapr_iommu.c | ||
spapr_pci.c | ||
spapr_pci_vfio.c | ||
spapr_rtas.c | ||
spapr_vio.c | ||
virtex_ml507.c |