qemu/include
Peter Maydell 20bccb82ff 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.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
2016-10-24 16:26:49 +01:00
..
block async: add aio_bh_schedule_oneshot 2016-10-07 13:34:07 +02:00
crypto crypto: add CTR mode support 2016-10-19 10:09:24 +01:00
disas disas: Fix ATTRIBUTE_UNUSED define clash with ALSA headers 2016-07-19 16:40:39 +01:00
exec cpu: Support a target CPU having a variable page size 2016-10-24 16:26:49 +01:00
fpu fpu: add mechanism to check for invalid long double formats 2016-09-15 12:43:18 +01:00
hw cpu: Support a target CPU having a variable page size 2016-10-24 16:26:49 +01:00
io Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
libdecnumber Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
migration migrate: move max-bandwidth and downtime-limit to migrate_set_parameter 2016-10-13 17:23:53 +02:00
monitor monitor: fix crash when leaving qemu with spice audio 2016-08-08 14:16:11 +02:00
net Remove unused function declarations 2016-09-15 15:32:22 +03:00
qapi qapi: Support unregistering QMP commands 2016-09-19 17:32:21 +02:00
qemu atomic: base mb_read/mb_set on load-acquire and store-release 2016-10-24 15:27:15 +02:00
qom trace: dynamically allocate trace_dstate in CPUState 2016-10-12 09:54:52 +02:00
standard-headers linux-headers: update 2016-09-05 15:15:16 +02:00
sysemu char: remove explicit_be_open from CharDriverState 2016-10-24 15:46:11 +02:00
ui spice/gl: render DisplaySurface via opengl 2016-09-28 12:49:36 +02:00
elf.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
glib-compat.h glib-compat: add g_(s)list_free_full() 2016-09-08 17:57:32 +04:00
qemu-common.h cpu: Support a target CPU having a variable page size 2016-10-24 16:26:49 +01:00
qemu-io.h qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
trace-tcg.h trace: get rid of generated-events.h/generated-events.c 2016-10-12 09:54:52 +02:00
trace.h trace: get rid of generated-events.h/generated-events.c 2016-10-12 09:54:52 +02:00