From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:51870) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RoK5Z-0000B9-Rg for qemu-devel@nongnu.org; Fri, 20 Jan 2012 14:25:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RoK5Y-0005dI-HK for qemu-devel@nongnu.org; Fri, 20 Jan 2012 14:25:29 -0500 Received: from smtp181.dfw.emailsrvr.com ([67.192.241.181]:49239) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RoK5Y-0005dC-Ad for qemu-devel@nongnu.org; Fri, 20 Jan 2012 14:25:28 -0500 Message-ID: <4F19BFA7.9070207@calxeda.com> Date: Fri, 20 Jan 2012 13:25:27 -0600 From: Mark Langsdorf MIME-Version: 1.0 References: <1326213943-878-1-git-send-email-mark.langsdorf@calxeda.com> <1327008660-16789-1-git-send-email-mark.langsdorf@calxeda.com> <1327008660-16789-5-git-send-email-mark.langsdorf@calxeda.com> <4F18A475.80009@calxeda.com> <4F197099.2020708@calxeda.com> <4F199576.1070701@calxeda.com> <4F199CEB.3050003@calxeda.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v12 4/4] arm: SoC model for Calxeda Highbank List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: "qemu-devel@nongnu.org" On 01/20/2012 10:58 AM, Peter Maydell wrote: > On 20 January 2012 16:57, Mark Langsdorf wrote: >> On 01/20/2012 10:27 AM, Peter Maydell wrote: >>> It's still not clear to me from this conversation if the right >>> answer is "0", "-1" or "anything that's not a valid board ID >>> and not -1 either"... >> >> Quoting Rob from upthread: >> "0 or -1 is the right value as those are obviously meaningless." >> >> The original code that Rob wrote had a board_id of -1. That's >> the right answer. > > In that case you need a patch that causes arm_boot to actually > pass -1, not 0xffff. > > (Also it would be nice if the kernel barfed if (id == -1 and > there's no appended device tree), but that's not a qemu thing.) It looks like there's an issue with commit 2be276242135eac6, in that target-arm/helper.c:cpu_reset() is called after hw/highbank.c:highbank_cpu_reset() and keeps clobbering our c15_config_base_address. So when the kernel attempts to read that address, it gets a 0, and it never accesses the GIC code but instead reads the value of the hw/arm_boot.c: bootloader[] array (loaded into ROM at address 0). Is there a way to prioritize the callbacks or something so that arm's cpu_reset() doesn't clobber highbank's cpu_reset()? Alternately, is there some other way to set c15 values outside of cpu_reset()? --Mark Langsdorf Calxeda, Inc.