From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36096) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0qju-0000xY-N5 for qemu-devel@nongnu.org; Thu, 12 May 2016 09:33:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b0qjr-0004bV-UJ for qemu-devel@nongnu.org; Thu, 12 May 2016 09:33:17 -0400 Received: from orth.archaic.org.uk ([2001:8b0:1d0::2]:56875) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0qjr-0004ao-OH for qemu-devel@nongnu.org; Thu, 12 May 2016 09:33:15 -0400 Received: from pm215 by orth.archaic.org.uk with local (Exim 4.84_2) (envelope-from ) id 1b0qjn-00048d-NV for qemu-devel@nongnu.org; Thu, 12 May 2016 14:33:11 +0100 From: Peter Maydell Date: Thu, 12 May 2016 14:32:34 +0100 Message-Id: <1463059985-2272-13-git-send-email-peter.maydell@linaro.org> In-Reply-To: <1463059985-2272-1-git-send-email-peter.maydell@linaro.org> References: <1463059985-2272-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PULL 12/43] hw/arm/nseries: Allocating Large sized arrays to heap List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org From: Zhou Jie n8x0_init has a huge stack usage of 65536 bytes approx. Moving large arrays to heap to reduce stack usage. Signed-off-by: Zhou Jie Message-id: 1461651308-894-1-git-send-email-zhoujie2011@cn.fujitsu.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/arm/nseries.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c index 5382505..c7068c0 100644 --- a/hw/arm/nseries.c +++ b/hw/arm/nseries.c @@ -1364,7 +1364,7 @@ static void n8x0_init(MachineState *machine, if (option_rom[0].name && (machine->boot_order[0] == 'n' || !machine->kernel_filename)) { - uint8_t nolo_tags[0x10000]; + uint8_t *nolo_tags = g_new(uint8_t, 0x10000); /* No, wait, better start at the ROM. */ s->mpu->cpu->env.regs[15] = OMAP2_Q2_BASE + 0x400000; @@ -1383,6 +1383,7 @@ static void n8x0_init(MachineState *machine, n800_setup_nolo_tags(nolo_tags); cpu_physical_memory_write(OMAP2_SRAM_BASE, nolo_tags, 0x10000); + g_free(nolo_tags); } } -- 1.9.1