[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] xen: arm: clarify cacheability requirements of hypercall arguments.



commit 5d81d015539535fb7f79383c7b9d49253b5209fe
Author:     Ian Campbell <ian.campbell@xxxxxxxxxx>
AuthorDate: Wed Dec 18 11:54:46 2013 +0000
Commit:     Ian Campbell <ian.campbell@xxxxxxxxxx>
CommitDate: Wed Dec 18 13:05:10 2013 +0000

    xen: arm: clarify cacheability requirements of hypercall arguments.
    
    Accepting hypercall arguments which are either consistently in cached or
    uncached is tricky and/or potentially slow, requiring a guest mapping lookup
    to determine whether/when to do a cache clean or invalidate.
    
    There are very few reasons, and no current use cases in practice, for a 
guest
    to use uncached memory for their hypercall arguments. Therefore mandate that
    all hypercall arguments must be mapped inner-cacheable.
    
    Do not place any restriction on the outer-cacheability or on the cache
    fill/flush strategy used.
    
    If use cases arise then we can consider specific exemptions to this rule.
    
    Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
    Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
 xen/include/public/arch-arm.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 475cb4a..ef6217d 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -58,6 +58,11 @@
  * (AAPCS64). Where there is a conflict the 64-bit standard should be
  * used regardless of guest type. Structures which are passed as
  * hypercall arguments are always little endian.
+ *
+ * All hypercall arguments passed via a pointer to guest memory must
+ * reside in memory which is mapped as Normal Inner-cacheable. Any
+ * Inner cache allocation strategy (Write-Back, Write-Through etc) is
+ * acceptable. There is no restriction on the Outer-cacheability.
  */
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.