On 16/10/16 18:26, Mark Cave-Ayland wrote:
Some further work on trying to boot Solaris under qemu-system-sparc64 shows that allowing the full virtual memory range in the available property causes the memory list calculations to overflow.
The first couple of patches fix up SPARC32/SPARC64 to set the appropriate upper virtual memory limits (PPC is already correct), whilst the last patch enables the upper limit in the OFMEM virtual memory allocator.
With this patchset applied, 64-bit Solaris 9 gets beyond the "VAC too big!" panic upon boot and fails further down the line trying to setup the kernel memory regions.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@ilande.co.uk
Mark Cave-Ayland (3): SPARC32: fixup available memory list and modify ofmem_arch_get_virt_top() SPARC64: set upper bound for virtual memory allocations libopenbios: limit upper virtual memory range to ofmem_arch_get_virt_top()
arch/sparc32/boot.c | 2 +- arch/sparc64/ofmem_sparc64.c | 2 +- include/arch/sparc32/ofmem_sparc32.h | 2 +- include/arch/sparc64/ofmem_sparc64.h | 2 ++ libopenbios/ofmem_common.c | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-)
Applied to master.
ATB,
Mark.