On Thu, Dec 05, 2019 at 12:38:34PM +0100, Martin Pieuchot wrote:

> ok?

I'm no kernel hacker but I really do not see the point.

boolean_t helps to see if a functions is supposed to return a boolean
instead of an error code. I hate reading a function and having to
guess if 0 is supposed to mean success or not.

        -Otto




> 
> Index: i386/pmap.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/i386/i386/pmap.c,v
> retrieving revision 1.204
> diff -u -p -r1.204 pmap.c
> --- i386/pmap.c       18 Jan 2019 01:34:50 -0000      1.204
> +++ i386/pmap.c       5 Dec 2019 11:23:20 -0000
> @@ -403,7 +403,7 @@ int pmap_pg_wc = PG_UCMINUS;
>   */
>  
>  uint32_t protection_codes[8];                /* maps MI prot to i386 prot 
> code */
> -boolean_t pmap_initialized = FALSE;  /* pmap_init done yet? */
> +int pmap_initialized = 0;    /* pmap_init done yet? */
>  
>  /*
>   * MULTIPROCESSOR: special VAs/ PTEs are actually allocated inside a
> @@ -1120,7 +1120,7 @@ pmap_init(void)
>        * done: pmap module is up (and ready for business)
>        */
>  
> -     pmap_initialized = TRUE;
> +     pmap_initialized = 1;
>  }
>  
>  /*
> @@ -1525,7 +1525,7 @@ pmap_deactivate(struct proc *p)
>   * pmap_extract: extract a PA for the given VA
>   */
>  
> -boolean_t
> +int
>  pmap_extract_86(struct pmap *pmap, vaddr_t va, paddr_t *pap)
>  {
>       pt_entry_t *ptes, pte;
> @@ -1535,12 +1535,12 @@ pmap_extract_86(struct pmap *pmap, vaddr
>               pte = ptes[atop(va)];
>               pmap_unmap_ptes_86(pmap);
>               if (!pmap_valid_entry(pte))
> -                     return (FALSE);
> +                     return 0;
>               if (pap != NULL)
>                       *pap = (pte & PG_FRAME) | (va & ~PG_FRAME);
> -             return (TRUE);
> +             return 1;
>       }
> -     return (FALSE);
> +     return 0;
>  }
>  
>  /*
> @@ -1594,7 +1594,7 @@ pmap_zero_phys_86(paddr_t pa)
>   * pmap_zero_page_uncached: the same, except uncached.
>   */
>  
> -boolean_t
> +int
>  pmap_zero_page_uncached_86(paddr_t pa)
>  {
>  #ifdef MULTIPROCESSOR
> @@ -1613,7 +1613,7 @@ pmap_zero_page_uncached_86(paddr_t pa)
>       pagezero(zerova, PAGE_SIZE);            /* zero */
>       *zpte = 0;
>  
> -     return (TRUE);
> +     return 1;
>  }
>  
>  /*
> @@ -2009,7 +2009,7 @@ pmap_page_remove_86(struct vm_page *pg)
>   * pmap_test_attrs: test a page's attributes
>   */
>  
> -boolean_t
> +int
>  pmap_test_attrs_86(struct vm_page *pg, int testbits)
>  {
>       struct pv_entry *pve;
> @@ -2020,7 +2020,7 @@ pmap_test_attrs_86(struct vm_page *pg, i
>       testflags = pmap_pte2flags(testbits);
>  
>       if (pg->pg_flags & testflags)
> -             return (TRUE);
> +             return 1;
>  
>       mybits = 0;
>       mtx_enter(&pg->mdpage.pv_mtx);
> @@ -2035,20 +2035,20 @@ pmap_test_attrs_86(struct vm_page *pg, i
>       mtx_leave(&pg->mdpage.pv_mtx);
>  
>       if (mybits == 0)
> -             return (FALSE);
> +             return 0;
>  
>       atomic_setbits_int(&pg->pg_flags, pmap_pte2flags(mybits));
>  
> -     return (TRUE);
> +     return 1;
>  }
>  
>  /*
>   * pmap_clear_attrs: change a page's attributes
>   *
> - * => we return TRUE if we cleared one of the bits we were asked to
> + * => we return 1 if we cleared one of the bits we were asked to
>   */
>  
> -boolean_t
> +int
>  pmap_clear_attrs_86(struct vm_page *pg, int clearbits)
>  {
>       struct pv_entry *pve;
> @@ -2075,7 +2075,7 @@ pmap_clear_attrs_86(struct vm_page *pg, 
>  
>               opte = ptes[ptei(pve->pv_va)];
>               if (opte & clearbits) {
> -                     result = TRUE;
> +                     result = 1;
>                       i386_atomic_clearbits_l(&ptes[ptei(pve->pv_va)],
>                           (opte & clearbits));
>                       pmap_tlb_shootpage(pve->pv_pmap, pve->pv_va);
> @@ -2276,9 +2276,9 @@ pmap_enter_86(struct pmap *pmap, vaddr_t
>       pt_entry_t *ptes, opte, npte;
>       struct vm_page *ptp;
>       struct pv_entry *pve, *opve = NULL;
> -     boolean_t wired = (flags & PMAP_WIRED) != 0;
> -     boolean_t nocache = (pa & PMAP_NOCACHE) != 0;
> -     boolean_t wc = (pa & PMAP_WC) != 0;
> +     int wired = (flags & PMAP_WIRED) != 0;
> +     int nocache = (pa & PMAP_NOCACHE) != 0;
> +     int wc = (pa & PMAP_WC) != 0;
>       struct vm_page *pg = NULL;
>       int error, wired_count, resident_count, ptp_count;
>  
> @@ -2449,7 +2449,7 @@ enter_now:
>               npte |= PG_PVLIST;
>               if (pg->pg_flags & PG_PMAP_WC) {
>                       KASSERT(nocache == 0);
> -                     wc = TRUE;
> +                     wc = 1;
>               }
>               pmap_sync_flags_pte_86(pg, npte);
>       }
> @@ -2618,7 +2618,7 @@ pmap_growkernel_86(vaddr_t maxkvaddr)
>  
>       for (/*null*/ ; nkpde < needed_kpde ; nkpde++) {
>  
> -             if (uvm.page_init_done == FALSE) {
> +             if (uvm.page_init_done == 0) {
>  
>                       /*
>                        * we're growing the kernel pmap early (from
> @@ -2626,7 +2626,7 @@ pmap_growkernel_86(vaddr_t maxkvaddr)
>                        * handled a little differently.
>                        */
>  
> -                     if (uvm_page_physget(&ptaddr) == FALSE)
> +                     if (uvm_page_physget(&ptaddr) == 0)
>                               panic("pmap_growkernel: out of memory");
>                       pmap_zero_phys_86(ptaddr);
>  
> @@ -2640,7 +2640,7 @@ pmap_growkernel_86(vaddr_t maxkvaddr)
>  
>               /*
>                * THIS *MUST* BE CODED SO AS TO WORK IN THE
> -              * pmap_initialized == FALSE CASE!  WE MAY BE
> +              * pmap_initialized == 0 CASE!  WE MAY BE
>                * INVOKED WHILE pmap_init() IS RUNNING!
>                */
>  
> @@ -2878,26 +2878,26 @@ u_int32_t     (*pmap_pte_setbits_p)(vaddr_t,
>      pmap_pte_setbits_86;
>  u_int32_t    (*pmap_pte_bits_p)(vaddr_t) = pmap_pte_bits_86;
>  paddr_t              (*pmap_pte_paddr_p)(vaddr_t) = pmap_pte_paddr_86;
> -boolean_t    (*pmap_clear_attrs_p)(struct vm_page *, int) =
> +int          (*pmap_clear_attrs_p)(struct vm_page *, int) =
>      pmap_clear_attrs_86;
>  int          (*pmap_enter_p)(pmap_t, vaddr_t, paddr_t, vm_prot_t, int) =
>      pmap_enter_86;
>  void         (*pmap_enter_special_p)(vaddr_t, paddr_t, vm_prot_t,
>      u_int32_t) = pmap_enter_special_86;
> -boolean_t    (*pmap_extract_p)(pmap_t, vaddr_t, paddr_t *) =
> +int          (*pmap_extract_p)(pmap_t, vaddr_t, paddr_t *) =
>      pmap_extract_86;
>  vaddr_t              (*pmap_growkernel_p)(vaddr_t) = pmap_growkernel_86;
>  void         (*pmap_page_remove_p)(struct vm_page *) = pmap_page_remove_86;
>  void         (*pmap_do_remove_p)(struct pmap *, vaddr_t, vaddr_t, int) =
>      pmap_do_remove_86;
> -boolean_t     (*pmap_test_attrs_p)(struct vm_page *, int) =
> +int           (*pmap_test_attrs_p)(struct vm_page *, int) =
>      pmap_test_attrs_86;
>  void         (*pmap_unwire_p)(struct pmap *, vaddr_t) = pmap_unwire_86;
>  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;
> -boolean_t    (*pmap_zero_page_uncached_p)(paddr_t) =
> +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;
> Index: i386/pmapae.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/i386/i386/pmapae.c,v
> retrieving revision 1.57
> diff -u -p -r1.57 pmapae.c
> --- i386/pmapae.c     18 Jan 2019 01:34:50 -0000      1.57
> +++ i386/pmapae.c     5 Dec 2019 11:23:01 -0000
> @@ -439,7 +439,7 @@ typedef u_int64_t pt_entry_t;             /* PTE */
>   */
>  
>  extern u_int32_t protection_codes[]; /* maps MI prot to i386 prot code */
> -extern boolean_t pmap_initialized;   /* pmap_init done yet? */
> +extern int pmap_initialized; /* pmap_init done yet? */
>  
>  /* Segment boundaries */
>  extern vaddr_t kernel_text, etext, __rodata_start, erodata, __data_start;
> @@ -1038,7 +1038,7 @@ pmap_pinit_pd_pae(struct pmap *pmap)
>   * pmap_extract: extract a PA for the given VA
>   */
>  
> -boolean_t
> +int
>  pmap_extract_pae(struct pmap *pmap, vaddr_t va, paddr_t *pap)
>  {
>       pt_entry_t *ptes, pte;
> @@ -1048,12 +1048,12 @@ pmap_extract_pae(struct pmap *pmap, vadd
>               pte = ptes[atop(va)];
>               pmap_unmap_ptes_pae(pmap);
>               if (!pmap_valid_entry(pte))
> -                     return (FALSE);
> +                     return 0;
>               if (pap != NULL)
>                       *pap = (pte & PG_FRAME) | (va & ~PG_FRAME);
> -             return (TRUE);
> +             return 1;
>       }
> -     return (FALSE);
> +     return 0;
>  }
>  
>  extern void (*pagezero)(void *, size_t);
> @@ -1086,7 +1086,7 @@ pmap_zero_phys_pae(paddr_t pa)
>   * pmap_zero_page_uncached: the same, except uncached.
>   */
>  
> -boolean_t
> +int
>  pmap_zero_page_uncached_pae(paddr_t pa)
>  {
>  #ifdef MULTIPROCESSOR
> @@ -1105,7 +1105,7 @@ pmap_zero_page_uncached_pae(paddr_t pa)
>       pagezero(zerova, PAGE_SIZE);            /* zero */
>       *zpte = 0;
>  
> -     return (TRUE);
> +     return 1;
>  }
>  
>  /*
> @@ -1448,7 +1448,7 @@ pmap_page_remove_pae(struct vm_page *pg)
>   * => we set pv_head => pmap locking
>   */
>  
> -boolean_t
> +int
>  pmap_test_attrs_pae(struct vm_page *pg, int testbits)
>  {
>       struct pv_entry *pve;
> @@ -1459,7 +1459,7 @@ pmap_test_attrs_pae(struct vm_page *pg, 
>       testflags = pmap_pte2flags(testbits);
>  
>       if (pg->pg_flags & testflags)
> -             return (TRUE);
> +             return 1;
>  
>       mybits = 0;
>       mtx_enter(&pg->mdpage.pv_mtx);
> @@ -1474,19 +1474,19 @@ pmap_test_attrs_pae(struct vm_page *pg, 
>       mtx_leave(&pg->mdpage.pv_mtx);
>  
>       if (mybits == 0)
> -             return (FALSE);
> +             return 0;
>  
>       atomic_setbits_int(&pg->pg_flags, pmap_pte2flags(mybits));
>  
> -     return (TRUE);
> +     return 1;
>  }
>  
>  /*
>   * pmap_clear_attrs: change a page's attributes
>   *
> - * => we return TRUE if we cleared one of the bits we were asked to
> + * => we return 1 if we cleared one of the bits we were asked to
>   */
> -boolean_t
> +int
>  pmap_clear_attrs_pae(struct vm_page *pg, int clearbits)
>  {
>       struct pv_entry *pve;
> @@ -1513,7 +1513,7 @@ pmap_clear_attrs_pae(struct vm_page *pg,
>  
>               opte = ptes[ptei(pve->pv_va)];
>               if (opte & clearbits) {
> -                     result = TRUE;
> +                     result = 1;
>                       npte = opte & ~clearbits;
>                       opte = i386_atomic_testset_uq(
>                          &ptes[ptei(pve->pv_va)], npte);
> @@ -1697,9 +1697,9 @@ pmap_enter_pae(struct pmap *pmap, vaddr_
>       pt_entry_t *ptes, opte, npte;
>       struct vm_page *ptp;
>       struct pv_entry *pve, *opve = NULL;
> -     boolean_t wired = (flags & PMAP_WIRED) != 0;
> -     boolean_t nocache = (pa & PMAP_NOCACHE) != 0;
> -     boolean_t wc = (pa & PMAP_WC) != 0;
> +     int wired = (flags & PMAP_WIRED) != 0;
> +     int nocache = (pa & PMAP_NOCACHE) != 0;
> +     int wc = (pa & PMAP_WC) != 0;
>       struct vm_page *pg = NULL;
>       int error, wired_count, resident_count, ptp_count;
>  
> @@ -1873,7 +1873,7 @@ enter_now:
>               npte |= PG_PVLIST;
>               if (pg->pg_flags & PG_PMAP_WC) {
>                       KASSERT(nocache == 0);
> -                     wc = TRUE;
> +                     wc = 1;
>               }
>               pmap_sync_flags_pte_pae(pg, npte);
>       }
> @@ -2055,7 +2055,7 @@ pmap_growkernel_pae(vaddr_t maxkvaddr)
>  
>       for (/*null*/ ; nkpde < needed_kpde ; nkpde++) {
>  
> -             if (uvm.page_init_done == FALSE) {
> +             if (uvm.page_init_done == 0) {
>  
>                       /*
>                        * we're growing the kernel pmap early (from
> @@ -2063,7 +2063,7 @@ pmap_growkernel_pae(vaddr_t maxkvaddr)
>                        * handled a little differently.
>                        */
>  
> -                     if (uvm_page_physget(&ptaddr) == FALSE)
> +                     if (uvm_page_physget(&ptaddr) == 0)
>                               panic("pmap_growkernel: out of memory");
>                       pmap_zero_phys_pae(ptaddr);
>  
> @@ -2077,7 +2077,7 @@ pmap_growkernel_pae(vaddr_t maxkvaddr)
>  
>               /*
>                * THIS *MUST* BE CODED SO AS TO WORK IN THE
> -              * pmap_initialized == FALSE CASE!  WE MAY BE
> +              * pmap_initialized == 0 CASE!  WE MAY BE
>                * INVOKED WHILE pmap_init() IS RUNNING!
>                */
>  
> Index: include/pmap.h
> ===================================================================
> RCS file: /cvs/src/sys/arch/i386/include/pmap.h,v
> retrieving revision 1.86
> diff -u -p -r1.86 pmap.h
> --- include/pmap.h    18 Jan 2019 01:34:50 -0000      1.86
> +++ include/pmap.h    5 Dec 2019 11:22:55 -0000
> @@ -240,13 +240,13 @@ void pmap_zero_page(struct vm_page *);
>  void pmap_copy_page(struct vm_page *, struct vm_page *);
>  void pmap_enter_pv(struct vm_page *, struct pv_entry *,
>      struct pmap *, vaddr_t, struct vm_page *);
> -boolean_t pmap_clear_attrs(struct vm_page *, int);
> +int pmap_clear_attrs(struct vm_page *, int);
>  static void pmap_page_protect(struct vm_page *, vm_prot_t);
>  void pmap_page_remove(struct vm_page *);
>  static void pmap_protect(struct pmap *, vaddr_t,
>      vaddr_t, vm_prot_t);
>  void pmap_remove(struct pmap *, vaddr_t, vaddr_t);
> -boolean_t pmap_test_attrs(struct vm_page *, int);
> +int pmap_test_attrs(struct vm_page *, int);
>  void pmap_write_protect(struct pmap *, vaddr_t,
>      vaddr_t, vm_prot_t);
>  int pmap_exec_fixup(struct vm_map *, struct trapframe *,
> @@ -265,38 +265,38 @@ extern u_int32_t (*pmap_pte_set_p)(vaddr
>  extern u_int32_t (*pmap_pte_setbits_p)(vaddr_t, u_int32_t, u_int32_t);
>  extern u_int32_t (*pmap_pte_bits_p)(vaddr_t);
>  extern paddr_t (*pmap_pte_paddr_p)(vaddr_t);
> -extern boolean_t (*pmap_clear_attrs_p)(struct vm_page *, int);
> +extern int (*pmap_clear_attrs_p)(struct vm_page *, int);
>  extern int (*pmap_enter_p)(pmap_t, vaddr_t, paddr_t, vm_prot_t, int);
>  extern void (*pmap_enter_special_p)(vaddr_t, paddr_t, vm_prot_t, u_int32_t);
> -extern boolean_t (*pmap_extract_p)(pmap_t, vaddr_t, paddr_t *);
> +extern int (*pmap_extract_p)(pmap_t, vaddr_t, paddr_t *);
>  extern vaddr_t (*pmap_growkernel_p)(vaddr_t);
>  extern void (*pmap_page_remove_p)(struct vm_page *);
>  extern void (*pmap_do_remove_p)(struct pmap *, vaddr_t, vaddr_t, int);
> -extern boolean_t (*pmap_test_attrs_p)(struct vm_page *, int);
> +extern int (*pmap_test_attrs_p)(struct vm_page *, int);
>  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 boolean_t (*pmap_zero_page_uncached_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);
>  u_int32_t pmap_pte_setbits_pae(vaddr_t, u_int32_t, u_int32_t);
>  u_int32_t pmap_pte_bits_pae(vaddr_t);
>  paddr_t pmap_pte_paddr_pae(vaddr_t);
> -boolean_t pmap_clear_attrs_pae(struct vm_page *, int);
> +int pmap_clear_attrs_pae(struct vm_page *, int);
>  int pmap_enter_pae(pmap_t, vaddr_t, paddr_t, vm_prot_t, int);
>  void pmap_enter_special_pae(vaddr_t, paddr_t, vm_prot_t, u_int32_t);
> -boolean_t pmap_extract_pae(pmap_t, vaddr_t, paddr_t *);
> +int pmap_extract_pae(pmap_t, vaddr_t, paddr_t *);
>  vaddr_t pmap_growkernel_pae(vaddr_t);
>  void pmap_page_remove_pae(struct vm_page *);
>  void pmap_do_remove_pae(struct pmap *, vaddr_t, vaddr_t, int);
> -boolean_t pmap_test_attrs_pae(struct vm_page *, int);
> +int pmap_test_attrs_pae(struct vm_page *, int);
>  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);
> -boolean_t pmap_zero_page_uncached_pae(paddr_t);
> +int pmap_zero_page_uncached_pae(paddr_t);
>  void pmap_copy_page_pae(struct vm_page *, struct vm_page *);
>  void pae_copy_phys(paddr_t, paddr_t, int, int);
>  
> @@ -319,19 +319,19 @@ u_int32_t pmap_pte_set_86(vaddr_t, paddr
>  u_int32_t pmap_pte_setbits_86(vaddr_t, u_int32_t, u_int32_t);
>  u_int32_t pmap_pte_bits_86(vaddr_t);
>  paddr_t pmap_pte_paddr_86(vaddr_t);
> -boolean_t pmap_clear_attrs_86(struct vm_page *, int);
> +int pmap_clear_attrs_86(struct vm_page *, int);
>  int pmap_enter_86(pmap_t, vaddr_t, paddr_t, vm_prot_t, int);
>  void pmap_enter_special_86(vaddr_t, paddr_t, vm_prot_t, u_int32_t);
> -boolean_t pmap_extract_86(pmap_t, vaddr_t, paddr_t *);
> +int pmap_extract_86(pmap_t, vaddr_t, paddr_t *);
>  vaddr_t pmap_growkernel_86(vaddr_t);
>  void pmap_page_remove_86(struct vm_page *);
>  void pmap_do_remove_86(struct pmap *, vaddr_t, vaddr_t, int);
> -boolean_t pmap_test_attrs_86(struct vm_page *, int);
> +int pmap_test_attrs_86(struct vm_page *, int);
>  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);
> -boolean_t pmap_zero_page_uncached_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);
> @@ -448,7 +448,7 @@ pmap_enter_special(vaddr_t va, paddr_t p
>       (*pmap_enter_special_p)(va, pa, prot, flags);
>  }
>  
> -__inline static boolean_t
> +__inline static int
>  pmap_extract(struct pmap *pmap, vaddr_t va, paddr_t *pa)
>  {
>       return (*pmap_extract_p)(pmap, va, pa);
> @@ -462,13 +462,13 @@ pmap_extract(struct pmap *pmap, vaddr_t 
>   * pmap_is_active: is this pmap loaded into the specified processor's %cr3?
>   */
>  
> -static __inline boolean_t
> +static __inline int
>  pmap_is_active(struct pmap *pmap, struct cpu_info *ci)
>  {
>       return (pmap == pmap_kernel() || ci->ci_curpmap == pmap);
>  }
>  
> -static __inline boolean_t
> +static __inline int
>  pmap_is_curpmap(struct pmap *pmap)
>  {
>       return (pmap_is_active(pmap, curcpu()));
> 

Reply via email to