• Konstantin Belousov's avatar
    MI VM: Make it possible to set size of superpage at boot instead of compile time. · f2a496d6
    Konstantin Belousov authored
    In order to allow single kernel to use PAE pagetables on i386 if
    hardware supports it, and fall back to classic two-level paging
    structures if not, superpage code should be able to adopt to either 2M
    or 4M superpages size.  There I make MI VM structures large enough to
    track the biggest possible superpage, by allowing architecture to
    define VM_NFREEORDER_MAX and VM_LEVEL_0_ORDER_MAX constants.
    Corresponding VM_NFREEORDER and VM_LEVEL_0_ORDER symbols can be
    defined as runtime values and must be less than the _MAX constants.
    If architecture does not define _MAXs, it is assumed that _MAX ==
    normal constant.
    Reviewed by:	markj
    Tested by:	pho (as part of the larger patch)
    Sponsored by:	The FreeBSD Foundation
    MFC after:	1 week
    Differential revision:	https://reviews.freebsd.org/D18853