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

[Xen-changelog] [xen master] xen/arm: Tighten memory attribute requirement for memory shared



commit bcb9a02adf99b26b0cdf18cc67b6d48a03da5844
Author:     Julien Grall <julien.grall@xxxxxxx>
AuthorDate: Tue Aug 8 18:17:26 2017 +0100
Commit:     Stefano Stabellini <sstabellini@xxxxxxxxxx>
CommitDate: Mon Aug 21 13:16:44 2017 -0700

    xen/arm: Tighten memory attribute requirement for memory shared
    
    Xen allows shared mapping to be Normal inner-cacheable with any inner cache
    allocation strategy and no restriction of the outer-cacheability.
    
    However, Xen is always mapping those region Normal Inner Write-Back
    Outer Write-Back Inner-shareable. Per B2.8 "Mismatched memory
    attributes" in ARM DDI 0487B.a, if the guest is not using the exact same
    memory attributes (excluding any cache allocation hints) for the shared
    region then the region will be accessed with mismatched attributes.
    
    This will result to potential loss of coherency, and may impact the
    performance.
    
    Given that the ARM ARM strongly recommends to avoid using mismatched
    attributes, we should impose shared region to be Normal Inner Write-Back
    Outer Write-Back Inner-shareable.
    
    Signed-off-by: Julien Grall <julien.grall@xxxxxxx>
    Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
    Signed-off-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
---
 xen/include/public/arch-arm.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index bd974fb..8f9d06e 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -61,15 +61,15 @@
  *
  * All memory which is shared with other entities in the system
  * (including the hypervisor and other guests) must reside in memory
- * which is mapped as Normal Inner-cacheable. This applies to:
+ * which is mapped as Normal Inner Write-Back Outer Write-Back Inner-Shareable.
+ * This applies to:
  *  - hypercall arguments passed via a pointer to guest memory.
  *  - memory shared via the grant table mechanism (including PV I/O
  *    rings etc).
  *  - memory shared with the hypervisor (struct shared_info, struct
  *    vcpu_info, the grant table, etc).
  *
- * Any Inner cache allocation strategy (Write-Back, Write-Through etc)
- * is acceptable. There is no restriction on the Outer-cacheability.
+ * Any cache allocation hints are acceptable.
  */
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

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