diff options
Diffstat (limited to 'arch/x86/kvm/mmu.c')
-rw-r--r-- | arch/x86/kvm/mmu.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index 978f402006ee..10fbed126b11 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c | |||
@@ -214,13 +214,12 @@ EXPORT_SYMBOL_GPL(kvm_mmu_set_mmio_spte_mask); | |||
214 | #define MMIO_GEN_LOW_SHIFT 10 | 214 | #define MMIO_GEN_LOW_SHIFT 10 |
215 | #define MMIO_GEN_LOW_MASK ((1 << MMIO_GEN_LOW_SHIFT) - 2) | 215 | #define MMIO_GEN_LOW_MASK ((1 << MMIO_GEN_LOW_SHIFT) - 2) |
216 | #define MMIO_GEN_MASK ((1 << MMIO_GEN_SHIFT) - 1) | 216 | #define MMIO_GEN_MASK ((1 << MMIO_GEN_SHIFT) - 1) |
217 | #define MMIO_MAX_GEN ((1 << MMIO_GEN_SHIFT) - 1) | ||
218 | 217 | ||
219 | static u64 generation_mmio_spte_mask(unsigned int gen) | 218 | static u64 generation_mmio_spte_mask(unsigned int gen) |
220 | { | 219 | { |
221 | u64 mask; | 220 | u64 mask; |
222 | 221 | ||
223 | WARN_ON(gen > MMIO_MAX_GEN); | 222 | WARN_ON(gen & ~MMIO_GEN_MASK); |
224 | 223 | ||
225 | mask = (gen & MMIO_GEN_LOW_MASK) << MMIO_SPTE_GEN_LOW_SHIFT; | 224 | mask = (gen & MMIO_GEN_LOW_MASK) << MMIO_SPTE_GEN_LOW_SHIFT; |
226 | mask |= ((u64)gen >> MMIO_GEN_LOW_SHIFT) << MMIO_SPTE_GEN_HIGH_SHIFT; | 225 | mask |= ((u64)gen >> MMIO_GEN_LOW_SHIFT) << MMIO_SPTE_GEN_HIGH_SHIFT; |
@@ -263,13 +262,13 @@ static bool is_mmio_spte(u64 spte) | |||
263 | 262 | ||
264 | static gfn_t get_mmio_spte_gfn(u64 spte) | 263 | static gfn_t get_mmio_spte_gfn(u64 spte) |
265 | { | 264 | { |
266 | u64 mask = generation_mmio_spte_mask(MMIO_MAX_GEN) | shadow_mmio_mask; | 265 | u64 mask = generation_mmio_spte_mask(MMIO_GEN_MASK) | shadow_mmio_mask; |
267 | return (spte & ~mask) >> PAGE_SHIFT; | 266 | return (spte & ~mask) >> PAGE_SHIFT; |
268 | } | 267 | } |
269 | 268 | ||
270 | static unsigned get_mmio_spte_access(u64 spte) | 269 | static unsigned get_mmio_spte_access(u64 spte) |
271 | { | 270 | { |
272 | u64 mask = generation_mmio_spte_mask(MMIO_MAX_GEN) | shadow_mmio_mask; | 271 | u64 mask = generation_mmio_spte_mask(MMIO_GEN_MASK) | shadow_mmio_mask; |
273 | return (spte & ~mask) & ~PAGE_MASK; | 272 | return (spte & ~mask) & ~PAGE_MASK; |
274 | } | 273 | } |
275 | 274 | ||