summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/e500.h
diff options
context:
space:
mode:
authorBharat Bhushan <r65777@freescale.com>2013-11-18 11:18:54 +0530
committerAlexander Graf <agraf@suse.de>2014-01-09 10:15:08 +0100
commit08c9a188d0d0fc0f0c5e17d89a06bb59c493110f (patch)
tree01aca3b21723345995672898c0dc88294f3338ab /arch/powerpc/kvm/e500.h
parentf5e3fe091f5238459752a81b478398b7cb22e575 (diff)
downloadlinux-08c9a188d0d0fc0f0c5e17d89a06bb59c493110f.tar.bz2
kvm: powerpc: use caching attributes as per linux pte
KVM uses same WIM tlb attributes as the corresponding qemu pte. For this we now search the linux pte for the requested page and get these cache caching/coherency attributes from pte. Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com> Reviewed-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/kvm/e500.h')
-rw-r--r--arch/powerpc/kvm/e500.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/powerpc/kvm/e500.h b/arch/powerpc/kvm/e500.h
index 4fd9650eb018..a326178bdea5 100644
--- a/arch/powerpc/kvm/e500.h
+++ b/arch/powerpc/kvm/e500.h
@@ -31,11 +31,13 @@ enum vcpu_ftr {
#define E500_TLB_NUM 2
/* entry is mapped somewhere in host TLB */
-#define E500_TLB_VALID (1 << 0)
+#define E500_TLB_VALID (1 << 31)
/* TLB1 entry is mapped by host TLB1, tracked by bitmaps */
-#define E500_TLB_BITMAP (1 << 1)
+#define E500_TLB_BITMAP (1 << 30)
/* TLB1 entry is mapped by host TLB0 */
-#define E500_TLB_TLB0 (1 << 2)
+#define E500_TLB_TLB0 (1 << 29)
+/* bits [6-5] MAS2_X1 and MAS2_X0 and [4-0] bits for WIMGE */
+#define E500_TLB_MAS2_ATTR (0x7f)
struct tlbe_ref {
pfn_t pfn; /* valid only for TLB0, except briefly */