1052ab67f4
In spapr_machine_init() we clamp the size of the RMA to 16GiB and the comment saying why doesn't make a whole lot of sense. In fact, this was done because the real mode handling code elsewhere limited the RMA in TCG mode to the maximum value configurable in LPCR[RMLS], 16GiB. But, * Actually LPCR[RMLS] has been able to encode a 256GiB size for a very long time, we just didn't implement it properly in the softmmu * LPCR[RMLS] shouldn't really be relevant anyway, it only was because we used to abuse the RMOR based translation mode in order to handle the fact that we're not modelling the hypervisor parts of the cpu We've now removed those limitations in the modelling so the 16GiB clamp no longer serves a function. However, we can't just remove the limit universally: that would break migration to earlier qemu versions, where the 16GiB RMLS limit still applies, no matter how bad the reasons for it are. So, we replace the 16GiB clamp, with a clamp to a limit defined in the machine type class. We set it to 16 GiB for machine types 4.2 and earlier, but set it to 0 meaning unlimited for the new 5.0 machine type. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Greg Kurz <groug@kaod.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> |
||
---|---|---|
.. | ||
fdt.h | ||
mac_dbdma.h | ||
openpic_kvm.h | ||
openpic.h | ||
pnv_core.h | ||
pnv_homer.h | ||
pnv_lpc.h | ||
pnv_occ.h | ||
pnv_pnor.h | ||
pnv_psi.h | ||
pnv_xive.h | ||
pnv_xscom.h | ||
pnv.h | ||
ppc4xx.h | ||
ppc_e500.h | ||
ppc.h | ||
spapr_cpu_core.h | ||
spapr_drc.h | ||
spapr_irq.h | ||
spapr_nvdimm.h | ||
spapr_ovec.h | ||
spapr_rtas.h | ||
spapr_tpm_proxy.h | ||
spapr_vio.h | ||
spapr_xive.h | ||
spapr.h | ||
xics_spapr.h | ||
xics.h | ||
xive_regs.h | ||
xive.h |