search for: empty_zero_pag

Displaying 20 results from an estimated 70 matches for "empty_zero_pag".

Did you mean: empty_zero_page
2013 Oct 18
11
[GIT PULL] Btrfs
Hi Linus, My for-linus branch has a one line fix: git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus Sage hit a deadlock with ceph on btrfs, and Josef tracked it down to a regression in our initial rc1 pull. When doing nocow writes we were sometimes starting a transaction with locks held. Josef Bacik (1) commits (+1/-0): Btrfs: release path before starting
2006 Feb 15
3
difference between PGT_gdt_page and PGT_ldt_page
...there cannot just be a PGT_descr_page, combining the two currently existing types? Even if it''s only a page, I''d want to avoid wasting memory for nothing, and i386''s default_ldt could easily move into the same page cpu_gdt_table lives in. Alternatively one could also use empty_zero_page here. Or do it like on x86-64, where the symbol doesn''t exist at all, and knowledge about it being all zeroes is used where needed. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
2007 Feb 14
2
[PATCH 8/8] 2.6.17: scan DMI early
...WARN_ON(HYPERVISOR_update_va_mapping( start, __pte_ma(0), 0)); + + /* Switch to the real shared_info page, and clear the + * dummy page. */ + set_fixmap(FIX_SHARED_INFO, xen_start_info->shared_info); + HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO); + memset(empty_zero_page, 0, sizeof(empty_zero_page)); + + /* Setup mapping of lower 1st MB */ + for (next = 0; next < NR_FIX_ISAMAPS; next++) + if (is_initial_xendomain()) + set_fixmap(FIX_ISAMAP_BEGIN - next, next * PAGE_SIZE); + else + __set_fixmap(FIX_ISAMAP_BEGIN - next, + virt_to_mfn(empty_ze...
2007 Apr 18
0
[PATCH 2/2] Use page present for pae pdpes
...rig/arch/i386/mm/init.c 2005-08-31 14:48:17.000000000 -0700 +++ linux-2.6.13/arch/i386/mm/init.c 2005-08-31 14:48:53.000000000 -0700 @@ -387,7 +387,7 @@ void zap_low_mappings (void) */ for (i = 0; i < USER_PTRS_PER_PGD; i++) #ifdef CONFIG_X86_PAE - set_pgd(swapper_pg_dir+i, __pgd(1 + __pa(empty_zero_page))); + set_pgd(swapper_pg_dir+i, __pgd(_PAGE_PRESENT | __pa(empty_zero_page))); #else set_pgd(swapper_pg_dir+i, __pgd(0)); #endif
2007 Apr 18
0
[PATCH 2/2] Use page present for pae pdpes
...rig/arch/i386/mm/init.c 2005-08-31 14:48:17.000000000 -0700 +++ linux-2.6.13/arch/i386/mm/init.c 2005-08-31 14:48:53.000000000 -0700 @@ -387,7 +387,7 @@ void zap_low_mappings (void) */ for (i = 0; i < USER_PTRS_PER_PGD; i++) #ifdef CONFIG_X86_PAE - set_pgd(swapper_pg_dir+i, __pgd(1 + __pa(empty_zero_page))); + set_pgd(swapper_pg_dir+i, __pgd(_PAGE_PRESENT | __pa(empty_zero_page))); #else set_pgd(swapper_pg_dir+i, __pgd(0)); #endif
2007 Apr 18
2
pgd_alloc and [cd]tors
Is there any real use in having a ctor/dtor for the pgd cache? Given that all pgd allocation happens via pgd_alloc/pgd_free, why not just fold the [cd]tor in? I'm asking because Xen wants pgd[3] to be unshared in the PAE case, and it looks to me like the easiest way to handle that is by making pgd_alloc/free pv-ops and doing the appropriate thing in the Xen code. Would need to sort out the
2007 Apr 18
2
pgd_alloc and [cd]tors
Is there any real use in having a ctor/dtor for the pgd cache? Given that all pgd allocation happens via pgd_alloc/pgd_free, why not just fold the [cd]tor in? I'm asking because Xen wants pgd[3] to be unshared in the PAE case, and it looks to me like the easiest way to handle that is by making pgd_alloc/free pv-ops and doing the appropriate thing in the Xen code. Would need to sort out the
2007 Apr 18
0
[PATCH 1/5] Paravirt page alloc.patch
...(__pa(page_table) | _PAGE_TABLE)); if (page_table != pte_offset_kernel(pmd, 0)) BUG(); @@ -347,6 +349,8 @@ static void __init pagetable_init (void) /* Init entries of the first-level page table to the zero page */ for (i = 0; i < PTRS_PER_PGD; i++) set_pgd(pgd_base + i, __pgd(__pa(empty_zero_page) | _PAGE_PRESENT)); +#else + paravirt_alloc_pd(__pa(swapper_pg_dir) >> PAGE_SHIFT); #endif /* Enable PSE if available */ =================================================================== --- a/arch/i386/mm/pageattr.c +++ b/arch/i386/mm/pageattr.c @@ -60,6 +60,7 @@ static struct page *...
2007 Apr 18
0
[PATCH 1/5] Paravirt page alloc.patch
...(__pa(page_table) | _PAGE_TABLE)); if (page_table != pte_offset_kernel(pmd, 0)) BUG(); @@ -347,6 +349,8 @@ static void __init pagetable_init (void) /* Init entries of the first-level page table to the zero page */ for (i = 0; i < PTRS_PER_PGD; i++) set_pgd(pgd_base + i, __pgd(__pa(empty_zero_page) | _PAGE_PRESENT)); +#else + paravirt_alloc_pd(__pa(swapper_pg_dir) >> PAGE_SHIFT); #endif /* Enable PSE if available */ =================================================================== --- a/arch/i386/mm/pageattr.c +++ b/arch/i386/mm/pageattr.c @@ -60,6 +60,7 @@ static struct page *...
2008 Mar 20
0
[RFC/PATCH 02/15] preparation: host memory management changes for s390 kvm
...================ --- kvm.orig/include/asm-s390/pgtable.h +++ kvm/include/asm-s390/pgtable.h @@ -30,6 +30,7 @@ */ #ifndef __ASSEMBLY__ #include <linux/mm_types.h> +#include <asm/atomic.h> #include <asm/bug.h> #include <asm/processor.h> @@ -258,6 +259,13 @@ extern char empty_zero_page[PAGE_SIZE]; * swap pte is 1011 and 0001, 0011, 0101, 0111 are invalid. */ +/* Page status extended for virtualization */ +#define _PAGE_RCP_PCL 0x0080000000000000UL +#define _PAGE_RCP_HR 0x0040000000000000UL +#define _PAGE_RCP_HC 0x0020000000000000UL +#define _PAGE_RCP_GR 0x0004000000000000U...
2007 Apr 18
0
[PATCH 1/6] Page allocation hooks for VMI backend
...(__pa(page_table) | _PAGE_TABLE)); if (page_table != pte_offset_kernel(pmd, 0)) BUG(); @@ -347,6 +349,8 @@ static void __init pagetable_init (void) /* Init entries of the first-level page table to the zero page */ for (i = 0; i < PTRS_PER_PGD; i++) set_pgd(pgd_base + i, __pgd(__pa(empty_zero_page) | _PAGE_PRESENT)); +#else + paravirt_alloc_pd(__pa(swapper_pg_dir) >> PAGE_SHIFT); #endif /* Enable PSE if available */ =================================================================== --- a/arch/i386/mm/pageattr.c +++ b/arch/i386/mm/pageattr.c @@ -60,6 +60,7 @@ static struct page *...
2007 Apr 18
0
[PATCH 1/6] Page allocation hooks for VMI backend
...(__pa(page_table) | _PAGE_TABLE)); if (page_table != pte_offset_kernel(pmd, 0)) BUG(); @@ -347,6 +349,8 @@ static void __init pagetable_init (void) /* Init entries of the first-level page table to the zero page */ for (i = 0; i < PTRS_PER_PGD; i++) set_pgd(pgd_base + i, __pgd(__pa(empty_zero_page) | _PAGE_PRESENT)); +#else + paravirt_alloc_pd(__pa(swapper_pg_dir) >> PAGE_SHIFT); #endif /* Enable PSE if available */ =================================================================== --- a/arch/i386/mm/pageattr.c +++ b/arch/i386/mm/pageattr.c @@ -60,6 +60,7 @@ static struct page *...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 08/17] paravirt_ops - memory managment
...AL_START ((unsigned long)CONFIG_PHYSICAL_START) Index: clean-start/include/asm-x86_64/pgtable.h =================================================================== --- clean-start.orig/include/asm-x86_64/pgtable.h +++ clean-start/include/asm-x86_64/pgtable.h @@ -55,50 +55,62 @@ extern unsigned long empty_zero_page[PAG */ #define PTRS_PER_PTE 512 -#define pte_ERROR(e) \ - printk("%s:%d: bad pte %p(%016lx).\n", __FILE__, __LINE__, &(e), pte_val(e)) -#define pmd_ERROR(e) \ - printk("%s:%d: bad pmd %p(%016lx).\n", __FILE__, __LINE__, &(e), pmd_val(e)) -#define pud_ERROR(e) \ - p...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 08/17] paravirt_ops - memory managment
...AL_START ((unsigned long)CONFIG_PHYSICAL_START) Index: clean-start/include/asm-x86_64/pgtable.h =================================================================== --- clean-start.orig/include/asm-x86_64/pgtable.h +++ clean-start/include/asm-x86_64/pgtable.h @@ -55,50 +55,62 @@ extern unsigned long empty_zero_page[PAG */ #define PTRS_PER_PTE 512 -#define pte_ERROR(e) \ - printk("%s:%d: bad pte %p(%016lx).\n", __FILE__, __LINE__, &(e), pte_val(e)) -#define pmd_ERROR(e) \ - printk("%s:%d: bad pmd %p(%016lx).\n", __FILE__, __LINE__, &(e), pmd_val(e)) -#define pud_ERROR(e) \ - p...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
...* pagetable rooted in swapper_pg_dir, but not in PAE + * mode, so this will end up clobbering the mappings + * for the lower 24Mbytes of the address space, + * without affecting the kernel address space. + */ + for (i = 0; i < USER_PTRS_PER_PGD; i++) + set_pgd(&base[i], + __pgd(__pa(empty_zero_page) | _PAGE_PRESENT)); + memset(&base[USER_PTRS_PER_PGD], 0, sizeof(pgd_t)); +} + +void native_pagetable_setup_done(pgd_t *base) +{ + /* + * Add low memory identity-mappings - SMP needs it when + * starting up on an AP from real-mode. In the non-PAE + * case we already have these mappings thro...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
...* pagetable rooted in swapper_pg_dir, but not in PAE + * mode, so this will end up clobbering the mappings + * for the lower 24Mbytes of the address space, + * without affecting the kernel address space. + */ + for (i = 0; i < USER_PTRS_PER_PGD; i++) + set_pgd(&base[i], + __pgd(__pa(empty_zero_page) | _PAGE_PRESENT)); + memset(&base[USER_PTRS_PER_PGD], 0, sizeof(pgd_t)); +} + +void native_pagetable_setup_done(pgd_t *base) +{ + /* + * Add low memory identity-mappings - SMP needs it when + * starting up on an AP from real-mode. In the non-PAE + * case we already have these mappings thro...
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 Apr 18
2
[PATCH] x86_64 paravirt_ops port
...ong)CONFIG_PHYSICAL_START) Index: linux-2.6.19-quilt/include/asm-x86_64/pgtable.h =================================================================== --- linux-2.6.19-quilt.orig/include/asm-x86_64/pgtable.h +++ linux-2.6.19-quilt/include/asm-x86_64/pgtable.h @@ -55,50 +55,60 @@ extern unsigned long empty_zero_page[PAG */ #define PTRS_PER_PTE 512 -#define pte_ERROR(e) \ - printk("%s:%d: bad pte %p(%016lx).\n", __FILE__, __LINE__, &(e), pte_val(e)) -#define pmd_ERROR(e) \ - printk("%s:%d: bad pmd %p(%016lx).\n", __FILE__, __LINE__, &(e), pmd_val(e)) -#define pud_ERROR(e) \ - p...
2007 Apr 18
2
[PATCH] x86_64 paravirt_ops port
...ong)CONFIG_PHYSICAL_START) Index: linux-2.6.19-quilt/include/asm-x86_64/pgtable.h =================================================================== --- linux-2.6.19-quilt.orig/include/asm-x86_64/pgtable.h +++ linux-2.6.19-quilt/include/asm-x86_64/pgtable.h @@ -55,50 +55,60 @@ extern unsigned long empty_zero_page[PAG */ #define PTRS_PER_PTE 512 -#define pte_ERROR(e) \ - printk("%s:%d: bad pte %p(%016lx).\n", __FILE__, __LINE__, &(e), pte_val(e)) -#define pmd_ERROR(e) \ - printk("%s:%d: bad pmd %p(%016lx).\n", __FILE__, __LINE__, &(e), pmd_val(e)) -#define pud_ERROR(e) \ - p...