• P
    cpu: Support a target CPU having a variable page size · 20bccb82
    Peter Maydell 提交于
    Support target CPUs having a page size which isn't knownn
    at compile time. To use this, the CPU implementation should:
     * define TARGET_PAGE_BITS_VARY
     * not define TARGET_PAGE_BITS
     * define TARGET_PAGE_BITS_MIN to the smallest value it
       might possibly want for TARGET_PAGE_BITS
     * call set_preferred_target_page_bits() in its realize
       function to indicate the actual preferred target page
       size for the CPU (and report any error from it)
    
    In CONFIG_USER_ONLY, the CPU implementation should continue
    to define TARGET_PAGE_BITS appropriately for the guest
    OS page size.
    
    Machines which want to take advantage of having the page
    size something larger than TARGET_PAGE_BITS_MIN must
    set the MachineClass minimum_page_bits field to a value
    which they guarantee will be no greater than the preferred
    page size for any CPU they create.
    
    Note that changing the target page size by setting
    minimum_page_bits is a migration compatibility break
    for that machine.
    
    For debugging purposes, attempts to use TARGET_PAGE_SIZE
    before it has been finally confirmed will assert.
    Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
    Reviewed-by: NRichard Henderson <rth@twiddle.net>
    20bccb82
qemu-common.h 5.5 KB