On Thu, Jan 29, 2015 at 04:04:58PM +1100, Alexey Kardashevskiy wrote:
> 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 <a...@ozlabs.ru>

It looks correct to me, although I don't love the fact that the bypass
is controlled by the VIO layer, but the state is stored in the TCE
table.  We should fix that at some point, although it will require
some awkward changing to the migration stream.

Reviewed-by: David Gibson <da...@gibson.dropbear.id.au>

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: pgpUe28fKhrQ5.pgp
Description: PGP signature

Reply via email to