diff options
Diffstat (limited to 'include/asm-i386/paravirt.h')
-rw-r--r-- | include/asm-i386/paravirt.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/asm-i386/paravirt.h b/include/asm-i386/paravirt.h index 10f44af76b49..5048b41428fa 100644 --- a/include/asm-i386/paravirt.h +++ b/include/asm-i386/paravirt.h | |||
@@ -16,7 +16,9 @@ | |||
16 | #ifndef __ASSEMBLY__ | 16 | #ifndef __ASSEMBLY__ |
17 | #include <linux/types.h> | 17 | #include <linux/types.h> |
18 | #include <linux/cpumask.h> | 18 | #include <linux/cpumask.h> |
19 | #include <asm/kmap_types.h> | ||
19 | 20 | ||
21 | struct page; | ||
20 | struct thread_struct; | 22 | struct thread_struct; |
21 | struct Xgt_desc_struct; | 23 | struct Xgt_desc_struct; |
22 | struct tss_struct; | 24 | struct tss_struct; |
@@ -187,6 +189,10 @@ struct paravirt_ops | |||
187 | 189 | ||
188 | pte_t (*ptep_get_and_clear)(pte_t *ptep); | 190 | pte_t (*ptep_get_and_clear)(pte_t *ptep); |
189 | 191 | ||
192 | #ifdef CONFIG_HIGHPTE | ||
193 | void *(*kmap_atomic_pte)(struct page *page, enum km_type type); | ||
194 | #endif | ||
195 | |||
190 | #ifdef CONFIG_X86_PAE | 196 | #ifdef CONFIG_X86_PAE |
191 | void (*set_pte_atomic)(pte_t *ptep, pte_t pteval); | 197 | void (*set_pte_atomic)(pte_t *ptep, pte_t pteval); |
192 | void (*set_pte_present)(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte); | 198 | void (*set_pte_present)(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte); |
@@ -884,6 +890,15 @@ static inline void paravirt_release_pd(unsigned pfn) | |||
884 | PVOP_VCALL1(release_pd, pfn); | 890 | PVOP_VCALL1(release_pd, pfn); |
885 | } | 891 | } |
886 | 892 | ||
893 | #ifdef CONFIG_HIGHPTE | ||
894 | static inline void *kmap_atomic_pte(struct page *page, enum km_type type) | ||
895 | { | ||
896 | unsigned long ret; | ||
897 | ret = PVOP_CALL2(unsigned long, kmap_atomic_pte, page, type); | ||
898 | return (void *)ret; | ||
899 | } | ||
900 | #endif | ||
901 | |||
887 | static inline void pte_update(struct mm_struct *mm, unsigned long addr, | 902 | static inline void pte_update(struct mm_struct *mm, unsigned long addr, |
888 | pte_t *ptep) | 903 | pte_t *ptep) |
889 | { | 904 | { |