unicorn/qemu/include/hw
Peter Maydell db8b0a82b1
cpu: Support a target CPU having a variable page size
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.

Backports commit 20bccb82ff3ea09bcb7c4ee226d3160cab15f7da from qemu
2018-02-26 12:29:08 -05:00
..
arm Clean up header guards that don't match their file name 2018-02-25 04:18:42 -05:00
cpu import 2015-08-21 15:04:50 +08:00
i386 Clean up decorations and whitespace around header guards 2018-02-25 04:26:02 -05:00
m68k more cleanup in qemu/include/hw/ 2017-01-19 15:20:06 +08:00
mips more cleanup in qemu/include/hw/ 2017-01-19 15:20:06 +08:00
sparc cleanup Sparc unused code 2017-01-23 12:34:00 +08:00
xen include: Add stubbed xen function 2018-02-20 08:29:58 -05:00
boards.h cpu: Support a target CPU having a variable page size 2018-02-26 12:29:08 -05:00
hw.h hw: clean up hw/hw.h includes 2018-02-24 02:46:41 -05:00
qdev-core.h target-i386: Add x86_cpu_unrealizefn() 2018-02-25 20:54:13 -05:00
qdev.h import 2015-08-21 15:04:50 +08:00