search for: native_pmd_clear

Displaying 20 results from an estimated 60 matches for "native_pmd_clear".

2017 Sep 04
0
[PATCH] x86/paravirt: remove no longer used paravirt functions
...udp, pud) native_set_pud_at(mm, addr, pudp, pud) #define set_pte_atomic(ptep, pte) \ native_set_pte_atomic(ptep, pte) @@ -75,8 +73,6 @@ extern struct mm_struct *pgd_page_get_mm(struct page *page); #define pte_clear(mm, addr, ptep) native_pte_clear(mm, addr, ptep) #define pmd_clear(pmd) native_pmd_clear(pmd) -#define pte_update(mm, addr, ptep) do { } while (0) - #define pgd_val(x) native_pgd_val(x) #define __pgd(x) native_make_pgd(x) @@ -965,31 +961,18 @@ static inline void native_set_pte_at(struct mm_struct *mm, unsigned long addr, native_set_pte(ptep, pte); } -static inli...
2017 Sep 04
0
[PATCH] x86/paravirt: remove no longer used paravirt functions
...udp, pud) native_set_pud_at(mm, addr, pudp, pud) #define set_pte_atomic(ptep, pte) \ native_set_pte_atomic(ptep, pte) @@ -75,8 +73,6 @@ extern struct mm_struct *pgd_page_get_mm(struct page *page); #define pte_clear(mm, addr, ptep) native_pte_clear(mm, addr, ptep) #define pmd_clear(pmd) native_pmd_clear(pmd) -#define pte_update(mm, addr, ptep) do { } while (0) - #define pgd_val(x) native_pgd_val(x) #define __pgd(x) native_make_pgd(x) @@ -965,31 +961,18 @@ static inline void native_set_pte_at(struct mm_struct *mm, unsigned long addr, native_set_pte(ptep, pte); } -static inli...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
...turn __pte(xchg(&(ptep)->pte, 0)); +} + +void native_set_pte_at(struct mm_struct *mm, u64 addr, pte_t *ptep, + pte_t pteval) +{ + native_set_pte(ptep,pteval); +} + +void native_pte_clear(struct mm_struct *mm, u64 addr, pte_t *ptep) +{ + native_set_pte_at(mm,addr,ptep,__pte(0)); +} + +void native_pmd_clear(pmd_t *pmd) +{ + native_set_pmd(pmd,__pmd(0)); +} + +void native_swapgs(unsigned long rip) +{ + asm volatile ("swapgs" :: :"memory" ); +} + +/* These are in entry.S */ +extern void native_iret(void); +extern void native_sysret(void); + +static int __init print_banner(void) +{ +...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
...turn __pte(xchg(&(ptep)->pte, 0)); +} + +void native_set_pte_at(struct mm_struct *mm, u64 addr, pte_t *ptep, + pte_t pteval) +{ + native_set_pte(ptep,pteval); +} + +void native_pte_clear(struct mm_struct *mm, u64 addr, pte_t *ptep) +{ + native_set_pte_at(mm,addr,ptep,__pte(0)); +} + +void native_pmd_clear(pmd_t *pmd) +{ + native_set_pmd(pmd,__pmd(0)); +} + +void native_swapgs(unsigned long rip) +{ + asm volatile ("swapgs" :: :"memory" ); +} + +/* These are in entry.S */ +extern void native_iret(void); +extern void native_sysret(void); + +static int __init print_banner(void) +{ +...
2015 Nov 17
1
[PATCH] paravirt: remove paravirt ops pmd_update_defer and pte_update_defer
...pte_t *ptep); diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 6ec0c8b..5126367 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -69,9 +69,7 @@ extern struct mm_struct *pgd_page_get_mm(struct page *page); #define pmd_clear(pmd) native_pmd_clear(pmd) #define pte_update(mm, addr, ptep) do { } while (0) -#define pte_update_defer(mm, addr, ptep) do { } while (0) #define pmd_update(mm, addr, ptep) do { } while (0) -#define pmd_update_defer(mm, addr, ptep) do { } while (0) #define pgd_val(x) native...
2015 Nov 17
1
[PATCH] paravirt: remove paravirt ops pmd_update_defer and pte_update_defer
...pte_t *ptep); diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 6ec0c8b..5126367 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -69,9 +69,7 @@ extern struct mm_struct *pgd_page_get_mm(struct page *page); #define pmd_clear(pmd) native_pmd_clear(pmd) #define pte_update(mm, addr, ptep) do { } while (0) -#define pte_update_defer(mm, addr, ptep) do { } while (0) #define pmd_update(mm, addr, ptep) do { } while (0) -#define pmd_update_defer(mm, addr, ptep) do { } while (0) #define pgd_val(x) native...
2015 Nov 17
0
[PATCH] paravirt: remove paravirt ops pmd_update[_defer] and pte_update_defer
...pte_t *ptep); diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 6ec0c8b..d3eee66 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -69,9 +69,6 @@ extern struct mm_struct *pgd_page_get_mm(struct page *page); #define pmd_clear(pmd) native_pmd_clear(pmd) #define pte_update(mm, addr, ptep) do { } while (0) -#define pte_update_defer(mm, addr, ptep) do { } while (0) -#define pmd_update(mm, addr, ptep) do { } while (0) -#define pmd_update_defer(mm, addr, ptep) do { } while (0) #define pgd_val(x) native...
2015 Nov 17
0
[PATCH] paravirt: remove paravirt ops pmd_update[_defer] and pte_update_defer
...pte_t *ptep); diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 6ec0c8b..d3eee66 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -69,9 +69,6 @@ extern struct mm_struct *pgd_page_get_mm(struct page *page); #define pmd_clear(pmd) native_pmd_clear(pmd) #define pte_update(mm, addr, ptep) do { } while (0) -#define pte_update_defer(mm, addr, ptep) do { } while (0) -#define pmd_update(mm, addr, ptep) do { } while (0) -#define pmd_update_defer(mm, addr, ptep) do { } while (0) #define pgd_val(x) native...
2008 Jan 21
7
[PATCH 0/4] paravirt_ops-64 compile fixes
This series contain fixes to make the paravirt_ops code compile and boot on x86_64. This is a follow-up for the previous series from Glauber.
2008 Jan 21
7
[PATCH 0/4] paravirt_ops-64 compile fixes
This series contain fixes to make the paravirt_ops code compile and boot on x86_64. This is a follow-up for the previous series from Glauber.
2018 Aug 10
0
[PATCH 04/10] x86/paravirt: use a single ops structure
...ative_set_pmd, + + .pv_mmu_ops.ptep_modify_prot_start = __ptep_modify_prot_start, + .pv_mmu_ops.ptep_modify_prot_commit = __ptep_modify_prot_commit, #if CONFIG_PGTABLE_LEVELS >= 3 #ifdef CONFIG_X86_PAE - .set_pte_atomic = native_set_pte_atomic, - .pte_clear = native_pte_clear, - .pmd_clear = native_pmd_clear, + .pv_mmu_ops.set_pte_atomic = native_set_pte_atomic, + .pv_mmu_ops.pte_clear = native_pte_clear, + .pv_mmu_ops.pmd_clear = native_pmd_clear, #endif - .set_pud = native_set_pud, + .pv_mmu_ops.set_pud = native_set_pud, - .pmd_val = PTE_IDENT, - .make_pmd = PTE_IDENT, + .pv_mmu_ops.pmd_val = PTE_...
2007 Apr 18
0
[PATCH] paravirt_ops x86_64 , take 2
...+290,13 @@ static u64 native_read_tsc(void) return val; } +static u64 native_read_tscp(int *aux) +{ + u64 val; + asm volatile ("rdtscp" : "=A" (val), "=c" (aux)); + return val; +} + static u64 native_read_pmc(void) { unsigned long val; @@ -463,7 +473,8 @@ void native_pmd_clear(pmd_t *pmd) /* These are in entry.S */ extern void native_iret(void); -extern void native_irq_enable_sysexit(void); +extern void native_sysret(void); +extern void native_swapgs(void); static int __init print_banner(void) { @@ -475,12 +486,18 @@ core_initcall(print_banner); /* We simply dec...
2007 Apr 18
0
[PATCH] paravirt_ops x86_64 , take 2
...+290,13 @@ static u64 native_read_tsc(void) return val; } +static u64 native_read_tscp(int *aux) +{ + u64 val; + asm volatile ("rdtscp" : "=A" (val), "=c" (aux)); + return val; +} + static u64 native_read_pmc(void) { unsigned long val; @@ -463,7 +473,8 @@ void native_pmd_clear(pmd_t *pmd) /* These are in entry.S */ extern void native_iret(void); -extern void native_irq_enable_sysexit(void); +extern void native_sysret(void); +extern void native_swapgs(void); static int __init print_banner(void) { @@ -475,12 +486,18 @@ core_initcall(print_banner); /* We simply dec...
2007 Oct 31
5
[PATCH 0/7] (Re-)introducing pvops for x86_64 - Real pvops work part
Hey folks, This is the part-of-pvops-implementation-that-is-not-exactly-a-merge. Neat, uh? This is the majority of the work. The first patch in the series does not really belong here. It was already sent to lkml separetedly before, but I'm including it again, for a very simple reason: Try to test the paravirt patches without it, and you'll fail miserably ;-) (and it was not yet
2007 Oct 31
5
[PATCH 0/7] (Re-)introducing pvops for x86_64 - Real pvops work part
Hey folks, This is the part-of-pvops-implementation-that-is-not-exactly-a-merge. Neat, uh? This is the majority of the work. The first patch in the series does not really belong here. It was already sent to lkml separetedly before, but I'm including it again, for a very simple reason: Try to test the paravirt patches without it, and you'll fail miserably ;-) (and it was not yet
2007 Dec 20
6
[PATCH 0/15] adjust pvops to accomodate its x86_64 variant
Hi folks, With this series, the bulk of the work of pvops64 is done. Here, I integrate most of the paravirt.c and paravirt.h files, making them applicable to both architectures. CONFIG_PARAVIRT is _not_ present yet. Basically, this code is missing page table integration (patches currently being worked on by Jeremy). Enjoy
2007 Dec 20
6
[PATCH 0/15] adjust pvops to accomodate its x86_64 variant
Hi folks, With this series, the bulk of the work of pvops64 is done. Here, I integrate most of the paravirt.c and paravirt.h files, making them applicable to both architectures. CONFIG_PARAVIRT is _not_ present yet. Basically, this code is missing page table integration (patches currently being worked on by Jeremy). Enjoy
2020 Aug 07
0
[PATCH v3 4/7] x86/paravirt: remove 32-bit support from PARAVIRT_XXL
...plate pv_ops = { .mmu.ptep_modify_prot_start = __ptep_modify_prot_start, .mmu.ptep_modify_prot_commit = __ptep_modify_prot_commit, -#if CONFIG_PGTABLE_LEVELS >= 3 -#ifdef CONFIG_X86_PAE - .mmu.set_pte_atomic = native_set_pte_atomic, - .mmu.pte_clear = native_pte_clear, - .mmu.pmd_clear = native_pmd_clear, -#endif .mmu.set_pud = native_set_pud, .mmu.pmd_val = PTE_IDENT, .mmu.make_pmd = PTE_IDENT, -#if CONFIG_PGTABLE_LEVELS >= 4 .mmu.pud_val = PTE_IDENT, .mmu.make_pud = PTE_IDENT, @@ -398,8 +382,6 @@ struct paravirt_patch_template pv_ops = { .mmu.set_pgd = native_set_pgd,...
2020 Aug 15
0
[PATCH v4 1/6] x86/paravirt: remove 32-bit support from PARAVIRT_XXL
...plate pv_ops = { .mmu.ptep_modify_prot_start = __ptep_modify_prot_start, .mmu.ptep_modify_prot_commit = __ptep_modify_prot_commit, -#if CONFIG_PGTABLE_LEVELS >= 3 -#ifdef CONFIG_X86_PAE - .mmu.set_pte_atomic = native_set_pte_atomic, - .mmu.pte_clear = native_pte_clear, - .mmu.pmd_clear = native_pmd_clear, -#endif .mmu.set_pud = native_set_pud, .mmu.pmd_val = PTE_IDENT, .mmu.make_pmd = PTE_IDENT, -#if CONFIG_PGTABLE_LEVELS >= 4 .mmu.pud_val = PTE_IDENT, .mmu.make_pud = PTE_IDENT, @@ -398,8 +382,6 @@ struct paravirt_patch_template pv_ops = { .mmu.set_pgd = native_set_pgd,...
2007 Apr 18
2
[PATCH] x86_64 paravirt_ops port
...turn __pte(xchg(&(ptep)->pte, 0)); +} + +void native_set_pte_at(struct mm_struct *mm, u64 addr, pte_t *ptep, + pte_t pteval) +{ + native_set_pte(ptep,pteval); +} + +void native_pte_clear(struct mm_struct *mm, u64 addr, pte_t *ptep) +{ + native_set_pte_at(mm,addr,ptep,__pte(0)); +} + +void native_pmd_clear(pmd_t *pmd) +{ + native_set_pmd(pmd,__pmd(0)); +} + +/* These are in entry.S */ +extern void native_iret(void); +extern void native_irq_enable_sysexit(void); + +static int __init print_banner(void) +{ + paravirt_ops.banner(); + return 0; +} +core_initcall(print_banner); + +/* We simply declare star...