|
@@ -188,8 +188,6 @@ struct paravirt_ops
|
|
|
void (*pte_update_defer)(struct mm_struct *mm,
|
|
|
unsigned long addr, pte_t *ptep);
|
|
|
|
|
|
- pte_t (*ptep_get_and_clear)(pte_t *ptep);
|
|
|
-
|
|
|
#ifdef CONFIG_HIGHPTE
|
|
|
void *(*kmap_atomic_pte)(struct page *page, enum km_type type);
|
|
|
#endif
|
|
@@ -859,12 +857,8 @@ static inline void pmd_clear(pmd_t *pmdp)
|
|
|
PVOP_VCALL1(pmd_clear, pmdp);
|
|
|
}
|
|
|
|
|
|
-static inline pte_t raw_ptep_get_and_clear(pte_t *p)
|
|
|
-{
|
|
|
- unsigned long long val = PVOP_CALL1(unsigned long long, ptep_get_and_clear, p);
|
|
|
- return (pte_t) { val, val >> 32 };
|
|
|
-}
|
|
|
#else /* !CONFIG_X86_PAE */
|
|
|
+
|
|
|
static inline pte_t __pte(unsigned long val)
|
|
|
{
|
|
|
return (pte_t) { PVOP_CALL1(unsigned long, make_pte, val) };
|
|
@@ -900,11 +894,6 @@ static inline void set_pmd(pmd_t *pmdp, pmd_t pmdval)
|
|
|
{
|
|
|
PVOP_VCALL2(set_pmd, pmdp, pmdval.pud.pgd.pgd);
|
|
|
}
|
|
|
-
|
|
|
-static inline pte_t raw_ptep_get_and_clear(pte_t *p)
|
|
|
-{
|
|
|
- return (pte_t) { PVOP_CALL1(unsigned long, ptep_get_and_clear, p) };
|
|
|
-}
|
|
|
#endif /* CONFIG_X86_PAE */
|
|
|
|
|
|
#define __HAVE_ARCH_ENTER_LAZY_CPU_MODE
|