[RFC PATCH 10/11] powerpc/svm: Force the use of bounce buffers

From: Thiago Jung Bauermann
Date: Thu Aug 23 2018 - 23:00:47 EST


From: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx>

SWIOTLB checks range of incoming CPU addresses to be bounced and see if the
device can access it through it's DMA window without requiring bouncing. In
such cases it just chooses to skip bouncing. But for cases like secure
guests on powerpc platform all addresses need to be bounced into the shared
pool of memory because the host cannot access it otherwise. Hence the need
to do the bouncing is not related to device's DMA window. Hence force the
use of bouncing by setting the swiotlb_force variable on secure guests.

Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Thiago Jung Bauermann <bauerman@xxxxxxxxxxxxx>
---
arch/powerpc/kernel/svm.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/kernel/svm.c b/arch/powerpc/kernel/svm.c
index 1af5caa955f5..f0576ad65cd0 100644
--- a/arch/powerpc/kernel/svm.c
+++ b/arch/powerpc/kernel/svm.c
@@ -17,6 +17,7 @@ static int __init init_svm(void)
return 0;

ppc_swiotlb_enable = 1;
+ swiotlb_force = SWIOTLB_FORCE;
swiotlb_update_mem_attributes();

return 0;