Download raw body.
remove i386 pmap_zero_page_uncached()
On Fri, Nov 08, 2024 at 11:34:17AM +1100, Jonathan Gray wrote:
> used by idle page zeroing code removed from uvm in 2015
>
ok mlarkin
> diff --git sys/arch/i386/i386/pmap.c sys/arch/i386/i386/pmap.c
> index 240e8dbb054..1edd1b35072 100644
> --- sys/arch/i386/i386/pmap.c
> +++ sys/arch/i386/i386/pmap.c
> @@ -1611,32 +1611,6 @@ pmap_zero_phys_86(paddr_t pa)
> *zpte = 0;
> }
>
> -/*
> - * pmap_zero_page_uncached: the same, except uncached.
> - */
> -
> -int
> -pmap_zero_page_uncached_86(paddr_t pa)
> -{
> -#ifdef MULTIPROCESSOR
> - int id = cpu_number();
> -#endif
> - pt_entry_t *zpte = PTESLEW(zero_pte, id);
> - caddr_t zerova = VASLEW(pmap_zerop, id);
> -
> -#ifdef DIAGNOSTIC
> - if (*zpte)
> - panic("pmap_zero_page_uncached_86: lock botch");
> -#endif
> -
> - *zpte = (pa & PG_FRAME) | PG_V | PG_RW | PG_N; /* map in */
> - pmap_update_pg((vaddr_t)zerova); /* flush TLB */
> - pagezero(zerova, PAGE_SIZE); /* zero */
> - *zpte = 0;
> -
> - return 1;
> -}
> -
> /*
> * pmap_flush_cache: flush the cache for a virtual address.
> */
> @@ -2882,7 +2856,5 @@ void (*pmap_write_protect_p)(struct pmap *, vaddr_t, vaddr_t,
> vm_prot_t) = pmap_write_protect_86;
> void (*pmap_pinit_pd_p)(pmap_t) = pmap_pinit_pd_86;
> void (*pmap_zero_phys_p)(paddr_t) = pmap_zero_phys_86;
> -int (*pmap_zero_page_uncached_p)(paddr_t) =
> - pmap_zero_page_uncached_86;
> void (*pmap_copy_page_p)(struct vm_page *, struct vm_page *) =
> pmap_copy_page_86;
> diff --git sys/arch/i386/i386/pmapae.c sys/arch/i386/i386/pmapae.c
> index b7be0b44e73..c8931e23554 100644
> --- sys/arch/i386/i386/pmapae.c
> +++ sys/arch/i386/i386/pmapae.c
> @@ -811,7 +811,6 @@ pmap_bootstrap_pae(void)
> pmap_write_protect_p = pmap_write_protect_pae;
> pmap_pinit_pd_p = pmap_pinit_pd_pae;
> pmap_zero_phys_p = pmap_zero_phys_pae;
> - pmap_zero_page_uncached_p = pmap_zero_page_uncached_pae;
> pmap_copy_page_p = pmap_copy_page_pae;
>
> bzero((void *)kpm->pm_pdir + 8, (PDSLOT_PTE-1) * 8);
> @@ -1094,32 +1093,6 @@ pmap_zero_phys_pae(paddr_t pa)
> *zpte = 0;
> }
>
> -/*
> - * pmap_zero_page_uncached: the same, except uncached.
> - */
> -
> -int
> -pmap_zero_page_uncached_pae(paddr_t pa)
> -{
> -#ifdef MULTIPROCESSOR
> - int id = cpu_number();
> -#endif
> - pt_entry_t *zpte = PTESLEW(zero_pte, id);
> - caddr_t zerova = VASLEW(pmap_zerop, id);
> -
> -#ifdef DIAGNOSTIC
> - if (*zpte)
> - panic("pmap_zero_page_uncached_pae: lock botch");
> -#endif
> -
> - *zpte = (pa & PG_FRAME) | PG_V | PG_RW | PG_N; /* map in */
> - pmap_update_pg((vaddr_t)zerova); /* flush TLB */
> - pagezero(zerova, PAGE_SIZE); /* zero */
> - *zpte = 0;
> -
> - return 1;
> -}
> -
> /*
> * pmap_copy_page: copy a page
> */
> diff --git sys/arch/i386/include/pmap.h sys/arch/i386/include/pmap.h
> index 2ead66ef937..605d6531017 100644
> --- sys/arch/i386/include/pmap.h
> +++ sys/arch/i386/include/pmap.h
> @@ -276,7 +276,6 @@ extern void (*pmap_unwire_p)(struct pmap *, vaddr_t);
> extern void (*pmap_write_protect_p)(struct pmap*, vaddr_t, vaddr_t, vm_prot_t);
> extern void (*pmap_pinit_pd_p)(pmap_t);
> extern void (*pmap_zero_phys_p)(paddr_t);
> -extern int (*pmap_zero_page_uncached_p)(paddr_t);
> extern void (*pmap_copy_page_p)(struct vm_page *, struct vm_page *);
>
> u_int32_t pmap_pte_set_pae(vaddr_t, paddr_t, u_int32_t);
> @@ -295,7 +294,6 @@ void pmap_unwire_pae(struct pmap *, vaddr_t);
> void pmap_write_protect_pae(struct pmap *, vaddr_t, vaddr_t, vm_prot_t);
> void pmap_pinit_pd_pae(pmap_t);
> void pmap_zero_phys_pae(paddr_t);
> -int pmap_zero_page_uncached_pae(paddr_t);
> void pmap_copy_page_pae(struct vm_page *, struct vm_page *);
>
> #define pmap_pte_set (*pmap_pte_set_p)
> @@ -310,7 +308,6 @@ void pmap_copy_page_pae(struct vm_page *, struct vm_page *);
> #define pmap_write_protect (*pmap_write_protect_p)
> #define pmap_pinit_pd (*pmap_pinit_pd_p)
> #define pmap_zero_phys (*pmap_zero_phys_p)
> -#define pmap_zero_page_uncached (*pmap_zero_page_uncached_p)
> #define pmap_copy_page (*pmap_copy_page_p)
>
> u_int32_t pmap_pte_set_86(vaddr_t, paddr_t, u_int32_t);
> @@ -329,7 +326,6 @@ void pmap_unwire_86(struct pmap *, vaddr_t);
> void pmap_write_protect_86(struct pmap *, vaddr_t, vaddr_t, vm_prot_t);
> void pmap_pinit_pd_86(pmap_t);
> void pmap_zero_phys_86(paddr_t);
> -int pmap_zero_page_uncached_86(paddr_t);
> void pmap_copy_page_86(struct vm_page *, struct vm_page *);
> void pmap_tlb_shootpage(struct pmap *, vaddr_t);
> void pmap_tlb_shootrange(struct pmap *, vaddr_t, vaddr_t);
> @@ -362,11 +358,6 @@ void pmap_flush_page_pae(paddr_t);
>
> #define PMAP_GROWKERNEL /* turn on pmap_growkernel interface */
>
> -/*
> - * Do idle page zero'ing uncached to avoid polluting the cache.
> - */
> -#define PMAP_PAGEIDLEZERO(pg) pmap_zero_page_uncached(VM_PAGE_TO_PHYS(pg))
> -
> /*
> * Inline functions
> */
>
remove i386 pmap_zero_page_uncached()