Skip to content

Commit 29caeda

Browse files
Sebastian EneMarc Zyngier
authored andcommitted
KVM: arm64: Move pagetable definitions to common header
In preparation for using the stage-2 definitions in ptdump, move some of these macros in the common header. Signed-off-by: Sebastian Ene <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
1 parent 7c626ce commit 29caeda

File tree

2 files changed

+42
-42
lines changed

2 files changed

+42
-42
lines changed

arch/arm64/include/asm/kvm_pgtable.h

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,48 @@ typedef u64 kvm_pte_t;
5959

6060
#define KVM_PHYS_INVALID (-1ULL)
6161

62+
#define KVM_PTE_LEAF_ATTR_LO GENMASK(11, 2)
63+
64+
#define KVM_PTE_LEAF_ATTR_LO_S1_ATTRIDX GENMASK(4, 2)
65+
#define KVM_PTE_LEAF_ATTR_LO_S1_AP GENMASK(7, 6)
66+
#define KVM_PTE_LEAF_ATTR_LO_S1_AP_RO \
67+
({ cpus_have_final_cap(ARM64_KVM_HVHE) ? 2 : 3; })
68+
#define KVM_PTE_LEAF_ATTR_LO_S1_AP_RW \
69+
({ cpus_have_final_cap(ARM64_KVM_HVHE) ? 0 : 1; })
70+
#define KVM_PTE_LEAF_ATTR_LO_S1_SH GENMASK(9, 8)
71+
#define KVM_PTE_LEAF_ATTR_LO_S1_SH_IS 3
72+
#define KVM_PTE_LEAF_ATTR_LO_S1_AF BIT(10)
73+
74+
#define KVM_PTE_LEAF_ATTR_LO_S2_MEMATTR GENMASK(5, 2)
75+
#define KVM_PTE_LEAF_ATTR_LO_S2_S2AP_R BIT(6)
76+
#define KVM_PTE_LEAF_ATTR_LO_S2_S2AP_W BIT(7)
77+
#define KVM_PTE_LEAF_ATTR_LO_S2_SH GENMASK(9, 8)
78+
#define KVM_PTE_LEAF_ATTR_LO_S2_SH_IS 3
79+
#define KVM_PTE_LEAF_ATTR_LO_S2_AF BIT(10)
80+
81+
#define KVM_PTE_LEAF_ATTR_HI GENMASK(63, 50)
82+
83+
#define KVM_PTE_LEAF_ATTR_HI_SW GENMASK(58, 55)
84+
85+
#define KVM_PTE_LEAF_ATTR_HI_S1_XN BIT(54)
86+
87+
#define KVM_PTE_LEAF_ATTR_HI_S2_XN BIT(54)
88+
89+
#define KVM_PTE_LEAF_ATTR_HI_S1_GP BIT(50)
90+
91+
#define KVM_PTE_LEAF_ATTR_S2_PERMS (KVM_PTE_LEAF_ATTR_LO_S2_S2AP_R | \
92+
KVM_PTE_LEAF_ATTR_LO_S2_S2AP_W | \
93+
KVM_PTE_LEAF_ATTR_HI_S2_XN)
94+
95+
#define KVM_INVALID_PTE_OWNER_MASK GENMASK(9, 2)
96+
#define KVM_MAX_OWNER_ID 1
97+
98+
/*
99+
* Used to indicate a pte for which a 'break-before-make' sequence is in
100+
* progress.
101+
*/
102+
#define KVM_INVALID_PTE_LOCKED BIT(10)
103+
62104
static inline bool kvm_pte_valid(kvm_pte_t pte)
63105
{
64106
return pte & KVM_PTE_VALID;

arch/arm64/kvm/hyp/pgtable.c

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -17,48 +17,6 @@
1717
#define KVM_PTE_TYPE_PAGE 1
1818
#define KVM_PTE_TYPE_TABLE 1
1919

20-
#define KVM_PTE_LEAF_ATTR_LO GENMASK(11, 2)
21-
22-
#define KVM_PTE_LEAF_ATTR_LO_S1_ATTRIDX GENMASK(4, 2)
23-
#define KVM_PTE_LEAF_ATTR_LO_S1_AP GENMASK(7, 6)
24-
#define KVM_PTE_LEAF_ATTR_LO_S1_AP_RO \
25-
({ cpus_have_final_cap(ARM64_KVM_HVHE) ? 2 : 3; })
26-
#define KVM_PTE_LEAF_ATTR_LO_S1_AP_RW \
27-
({ cpus_have_final_cap(ARM64_KVM_HVHE) ? 0 : 1; })
28-
#define KVM_PTE_LEAF_ATTR_LO_S1_SH GENMASK(9, 8)
29-
#define KVM_PTE_LEAF_ATTR_LO_S1_SH_IS 3
30-
#define KVM_PTE_LEAF_ATTR_LO_S1_AF BIT(10)
31-
32-
#define KVM_PTE_LEAF_ATTR_LO_S2_MEMATTR GENMASK(5, 2)
33-
#define KVM_PTE_LEAF_ATTR_LO_S2_S2AP_R BIT(6)
34-
#define KVM_PTE_LEAF_ATTR_LO_S2_S2AP_W BIT(7)
35-
#define KVM_PTE_LEAF_ATTR_LO_S2_SH GENMASK(9, 8)
36-
#define KVM_PTE_LEAF_ATTR_LO_S2_SH_IS 3
37-
#define KVM_PTE_LEAF_ATTR_LO_S2_AF BIT(10)
38-
39-
#define KVM_PTE_LEAF_ATTR_HI GENMASK(63, 50)
40-
41-
#define KVM_PTE_LEAF_ATTR_HI_SW GENMASK(58, 55)
42-
43-
#define KVM_PTE_LEAF_ATTR_HI_S1_XN BIT(54)
44-
45-
#define KVM_PTE_LEAF_ATTR_HI_S2_XN BIT(54)
46-
47-
#define KVM_PTE_LEAF_ATTR_HI_S1_GP BIT(50)
48-
49-
#define KVM_PTE_LEAF_ATTR_S2_PERMS (KVM_PTE_LEAF_ATTR_LO_S2_S2AP_R | \
50-
KVM_PTE_LEAF_ATTR_LO_S2_S2AP_W | \
51-
KVM_PTE_LEAF_ATTR_HI_S2_XN)
52-
53-
#define KVM_INVALID_PTE_OWNER_MASK GENMASK(9, 2)
54-
#define KVM_MAX_OWNER_ID 1
55-
56-
/*
57-
* Used to indicate a pte for which a 'break-before-make' sequence is in
58-
* progress.
59-
*/
60-
#define KVM_INVALID_PTE_LOCKED BIT(10)
61-
6220
struct kvm_pgtable_walk_data {
6321
struct kvm_pgtable_walker *walker;
6422

0 commit comments

Comments
 (0)