diff options
Diffstat (limited to 'include/asm-x86/paravirt.h')
-rw-r--r-- | include/asm-x86/paravirt.h | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h index 4aa06b929e48..c38cf1ac4e48 100644 --- a/include/asm-x86/paravirt.h +++ b/include/asm-x86/paravirt.h | |||
@@ -230,28 +230,32 @@ struct pv_mmu_ops { | |||
230 | void (*pte_update_defer)(struct mm_struct *mm, | 230 | void (*pte_update_defer)(struct mm_struct *mm, |
231 | unsigned long addr, pte_t *ptep); | 231 | unsigned long addr, pte_t *ptep); |
232 | 232 | ||
233 | pteval_t (*pte_val)(pte_t); | ||
234 | pte_t (*make_pte)(pteval_t pte); | ||
235 | |||
236 | pgdval_t (*pgd_val)(pgd_t); | ||
237 | pgd_t (*make_pgd)(pgdval_t pgd); | ||
238 | |||
239 | #if PAGETABLE_LEVELS >= 3 | ||
233 | #ifdef CONFIG_X86_PAE | 240 | #ifdef CONFIG_X86_PAE |
234 | void (*set_pte_atomic)(pte_t *ptep, pte_t pteval); | 241 | void (*set_pte_atomic)(pte_t *ptep, pte_t pteval); |
235 | void (*set_pte_present)(struct mm_struct *mm, unsigned long addr, | 242 | void (*set_pte_present)(struct mm_struct *mm, unsigned long addr, |
236 | pte_t *ptep, pte_t pte); | 243 | pte_t *ptep, pte_t pte); |
237 | void (*set_pud)(pud_t *pudp, pud_t pudval); | ||
238 | void (*pte_clear)(struct mm_struct *mm, unsigned long addr, pte_t *ptep); | 244 | void (*pte_clear)(struct mm_struct *mm, unsigned long addr, pte_t *ptep); |
239 | void (*pmd_clear)(pmd_t *pmdp); | 245 | void (*pmd_clear)(pmd_t *pmdp); |
240 | 246 | ||
241 | unsigned long long (*pte_val)(pte_t); | 247 | #endif /* CONFIG_X86_PAE */ |
242 | unsigned long long (*pmd_val)(pmd_t); | 248 | |
243 | unsigned long long (*pgd_val)(pgd_t); | 249 | void (*set_pud)(pud_t *pudp, pud_t pudval); |
244 | 250 | ||
245 | pte_t (*make_pte)(unsigned long long pte); | 251 | pmdval_t (*pmd_val)(pmd_t); |
246 | pmd_t (*make_pmd)(unsigned long long pmd); | 252 | pmd_t (*make_pmd)(pmdval_t pmd); |
247 | pgd_t (*make_pgd)(unsigned long long pgd); | ||
248 | #else | ||
249 | unsigned long (*pte_val)(pte_t); | ||
250 | unsigned long (*pgd_val)(pgd_t); | ||
251 | 253 | ||
252 | pte_t (*make_pte)(unsigned long pte); | 254 | #if PAGETABLE_LEVELS == 4 |
253 | pgd_t (*make_pgd)(unsigned long pgd); | 255 | pudval_t (*pud_val)(pud_t); |
254 | #endif | 256 | pud_t (*make_pud)(pudval_t pud); |
257 | #endif /* PAGETABLE_LEVELS == 4 */ | ||
258 | #endif /* PAGETABLE_LEVELS >= 3 */ | ||
255 | 259 | ||
256 | #ifdef CONFIG_HIGHPTE | 260 | #ifdef CONFIG_HIGHPTE |
257 | void *(*kmap_atomic_pte)(struct page *page, enum km_type type); | 261 | void *(*kmap_atomic_pte)(struct page *page, enum km_type type); |