mirror of
https://github.com/opnsense/src.git
synced 2026-06-11 01:30:30 -04:00
Centralize and simpify implemention of some VM macros
These macros have substantially identical implementations on each platform. Use roundup2/rounddown2 for round_page/trunc_page. This version standardizes on not using explicit casts and instead preserving the original type. A couple of tweaks were required to make this work. Reviewed by: brooks, kib, markj Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D48450
This commit is contained in:
parent
de11299323
commit
660331da7a
10 changed files with 15 additions and 48 deletions
|
|
@ -2499,7 +2499,7 @@ pmap_init(void)
|
|||
ret = vm_page_blacklist_add(0x40000000 +
|
||||
ptoa(i), false);
|
||||
if (!ret && bootverbose)
|
||||
printf("page at %#lx already used\n",
|
||||
printf("page at %#x already used\n",
|
||||
0x40000000 + ptoa(i));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -142,20 +142,13 @@
|
|||
/*
|
||||
* Mach derived conversion macros
|
||||
*/
|
||||
#define round_page(x) ((((unsigned long)(x)) + PAGE_MASK) & ~(PAGE_MASK))
|
||||
#define trunc_page(x) ((unsigned long)(x) & ~(PAGE_MASK))
|
||||
#define trunc_2mpage(x) ((unsigned long)(x) & ~PDRMASK)
|
||||
#define round_2mpage(x) ((((unsigned long)(x)) + PDRMASK) & ~PDRMASK)
|
||||
#define trunc_1gpage(x) ((unsigned long)(x) & ~PDPMASK)
|
||||
|
||||
#define atop(x) ((unsigned long)(x) >> PAGE_SHIFT)
|
||||
#define ptoa(x) ((unsigned long)(x) << PAGE_SHIFT)
|
||||
|
||||
#define amd64_btop(x) ((unsigned long)(x) >> PAGE_SHIFT)
|
||||
#define amd64_ptob(x) ((unsigned long)(x) << PAGE_SHIFT)
|
||||
|
||||
#define pgtok(x) ((unsigned long)(x) * (PAGE_SIZE / 1024))
|
||||
|
||||
#define INKERNEL(va) (((va) >= DMAP_MIN_ADDRESS && (va) < DMAP_MAX_ADDRESS) \
|
||||
|| ((va) >= VM_MIN_KERNEL_ADDRESS && (va) < VM_MAX_KERNEL_ADDRESS))
|
||||
|
||||
|
|
|
|||
|
|
@ -221,7 +221,8 @@ cpu_minidumpsys(struct dumperinfo *di, const struct minidumpstate *state)
|
|||
if (error != 0)
|
||||
goto fail;
|
||||
|
||||
printf("Physical memory: %u MB\n", ptoa((uintmax_t)physmem) / 1048576);
|
||||
printf("Physical memory: %ju MB\n",
|
||||
ptoa((uintmax_t)physmem) / 1048576);
|
||||
printf("Dumping %llu MB:", (long long)dumpsize >> 20);
|
||||
|
||||
/* Dump my header */
|
||||
|
|
|
|||
|
|
@ -123,17 +123,10 @@
|
|||
/*
|
||||
* Mach derived conversion macros
|
||||
*/
|
||||
#define trunc_page(x) ((x) & ~PAGE_MASK)
|
||||
#define round_page(x) (((x) + PAGE_MASK) & ~PAGE_MASK)
|
||||
#define trunc_1mpage(x) ((unsigned)(x) & ~PDRMASK)
|
||||
#define round_1mpage(x) ((((unsigned)(x)) + PDRMASK) & ~PDRMASK)
|
||||
|
||||
#define atop(x) ((unsigned)(x) >> PAGE_SHIFT)
|
||||
#define ptoa(x) ((unsigned)(x) << PAGE_SHIFT)
|
||||
|
||||
#define arm32_btop(x) ((unsigned)(x) >> PAGE_SHIFT)
|
||||
#define arm32_ptob(x) ((unsigned)(x) << PAGE_SHIFT)
|
||||
|
||||
#define pgtok(x) ((x) * (PAGE_SIZE / 1024))
|
||||
|
||||
#endif /* !_ARM_INCLUDE_PARAM_H_ */
|
||||
|
|
|
|||
|
|
@ -119,17 +119,9 @@
|
|||
/*
|
||||
* Mach derived conversion macros
|
||||
*/
|
||||
#define round_page(x) (((unsigned long)(x) + PAGE_MASK) & ~PAGE_MASK)
|
||||
#define trunc_page(x) ((unsigned long)(x) & ~PAGE_MASK)
|
||||
|
||||
#define atop(x) ((unsigned long)(x) >> PAGE_SHIFT)
|
||||
#define ptoa(x) ((unsigned long)(x) << PAGE_SHIFT)
|
||||
|
||||
#define arm64_btop(x) ((unsigned long)(x) >> PAGE_SHIFT)
|
||||
#define arm64_ptob(x) ((unsigned long)(x) << PAGE_SHIFT)
|
||||
|
||||
#define pgtok(x) ((unsigned long)(x) * (PAGE_SIZE / 1024))
|
||||
|
||||
#endif /* !_MACHINE_PARAM_H_ */
|
||||
|
||||
#endif /* !__arm__ */
|
||||
|
|
|
|||
|
|
@ -144,19 +144,12 @@
|
|||
/*
|
||||
* Mach derived conversion macros
|
||||
*/
|
||||
#define trunc_page(x) ((x) & ~PAGE_MASK)
|
||||
#define round_page(x) (((x) + PAGE_MASK) & ~PAGE_MASK)
|
||||
#define trunc_4mpage(x) ((x) & ~PDRMASK)
|
||||
#define round_4mpage(x) ((((x)) + PDRMASK) & ~PDRMASK)
|
||||
|
||||
#define atop(x) ((x) >> PAGE_SHIFT)
|
||||
#define ptoa(x) ((x) << PAGE_SHIFT)
|
||||
|
||||
#define i386_btop(x) ((x) >> PAGE_SHIFT)
|
||||
#define i386_ptob(x) ((x) << PAGE_SHIFT)
|
||||
|
||||
#define pgtok(x) ((x) * (PAGE_SIZE / 1024))
|
||||
|
||||
#define INKERNEL(va) (TRUE)
|
||||
|
||||
#endif /* !_I386_INCLUDE_PARAM_H_ */
|
||||
|
|
|
|||
|
|
@ -141,20 +141,13 @@
|
|||
/*
|
||||
* Mach derived conversion macros
|
||||
*/
|
||||
#define trunc_page(x) ((x) & ~(PAGE_MASK))
|
||||
#define round_page(x) (((x) + PAGE_MASK) & ~PAGE_MASK)
|
||||
#define trunc_2mpage(x) ((unsigned long)(x) & ~L3_PAGE_MASK)
|
||||
#define round_2mpage(x) ((((unsigned long)(x)) + L3_PAGE_MASK) & ~L3_PAGE_MASK)
|
||||
#define trunc_1gpage(x) ((unsigned long)(x) & ~L2_PAGE_MASK)
|
||||
|
||||
#define atop(x) ((x) >> PAGE_SHIFT)
|
||||
#define ptoa(x) ((x) << PAGE_SHIFT)
|
||||
|
||||
#define powerpc_btop(x) ((x) >> PAGE_SHIFT)
|
||||
#define powerpc_ptob(x) ((x) << PAGE_SHIFT)
|
||||
|
||||
#define pgtok(x) ((x) * (PAGE_SIZE / 1024UL))
|
||||
|
||||
#define btoc(x) ((vm_offset_t)(((x)+PAGE_MASK)>>PAGE_SHIFT))
|
||||
|
||||
#endif /* !_POWERPC_INCLUDE_PARAM_H_ */
|
||||
|
|
|
|||
|
|
@ -93,15 +93,7 @@
|
|||
/*
|
||||
* Mach derived conversion macros
|
||||
*/
|
||||
#define round_page(x) (((unsigned long)(x) + PAGE_MASK) & ~PAGE_MASK)
|
||||
#define trunc_page(x) ((unsigned long)(x) & ~PAGE_MASK)
|
||||
|
||||
#define atop(x) ((unsigned long)(x) >> PAGE_SHIFT)
|
||||
#define ptoa(x) ((unsigned long)(x) << PAGE_SHIFT)
|
||||
|
||||
#define riscv_btop(x) ((unsigned long)(x) >> PAGE_SHIFT)
|
||||
#define riscv_ptob(x) ((unsigned long)(x) << PAGE_SHIFT)
|
||||
|
||||
#define pgtok(x) ((unsigned long)(x) * (PAGE_SIZE / 1024))
|
||||
|
||||
#endif /* !_MACHINE_PARAM_H_ */
|
||||
|
|
|
|||
|
|
@ -200,6 +200,17 @@
|
|||
#define MJUM9BYTES (9 * 1024) /* jumbo cluster 9k */
|
||||
#define MJUM16BYTES (16 * 1024) /* jumbo cluster 16k */
|
||||
|
||||
/*
|
||||
* Mach derived conversion macros
|
||||
*/
|
||||
#define round_page(x) roundup2(x, PAGE_SIZE)
|
||||
#define trunc_page(x) rounddown2(x, PAGE_SIZE)
|
||||
|
||||
#define atop(x) ((x) >> PAGE_SHIFT)
|
||||
#define ptoa(x) ((x) << PAGE_SHIFT)
|
||||
|
||||
#define pgtok(x) ((x) * (PAGE_SIZE / 1024))
|
||||
|
||||
/*
|
||||
* Some macros for units conversion
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -25,13 +25,12 @@
|
|||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
#include <err.h>
|
||||
#include <inttypes.h>
|
||||
#include <libutil.h>
|
||||
#include <machine/param.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "systat.h"
|
||||
|
|
|
|||
Loading…
Reference in a new issue