cpu/x64_64: Move MMU page table types back to <cpu/pmap.h>.
authorzrj <rimvydas.jasinskas@gmail.com>
Mon, 11 Nov 2019 09:48:04 +0000 (11:48 +0200)
committerzrj <rimvydas.jasinskas@gmail.com>
Thu, 14 Nov 2019 13:58:55 +0000 (15:58 +0200)
commit40209b5b88a7b72cd05905efc1ca2105c32f4fbd
tree9a11c492e04643fe93f1e6be76599660f2364079
parentf5825408568a7fb65537355c2bef1eb71951b28e
cpu/x64_64: Move MMU page table types back to <cpu/pmap.h>.

 Reduce namespace pollution.  These types are common for both
 pc64/vkernel64 and are used in pmap context only.
 All userland cases need just VM_MAX_USER_ADDRESS, PS_STRINGS constants
 through <machine/vmparam.h> with huge cpp expansion that requires
 <machine/pmap.h> header inclusion anyway.  Simplify it.

 * Hard-code NPTEPG/NPDEPG/NPDPEPG/NPML4EPG constants to properly solve
   header inclusion ordering.  The SHIFT constants are hard-coded already
   (log2() values) so there are no reasons to pretend everything will
   adjust automatically.
 * Use LU suffixes, debug printf() in vkernel64 use %ld types.
 * Optionally reorder includes in libc setproctitle.c.
 * Optionally add explicit includes in libkvm where pmap.h is only
   coming from <sys/user.h>.  The kvm_*_x86_64.c use X86_PG_* constants.

 For now keep PDESIZE/PTESIZE (used in pc64 genassym.c).

 No intermediates differences observed.
lib/libc/gen/setproctitle.c
lib/libkvm/kvm_minidump_x86_64.c
lib/libkvm/kvm_proc.c
lib/libkvm/kvm_x86_64.c
sys/cpu/x86_64/include/param.h
sys/cpu/x86_64/include/pmap.h
sys/cpu/x86_64/include/types.h
sys/platform/pc64/vmm/vmm_utils.c