From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49391) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aan25-0002wy-Dh for qemu-devel@nongnu.org; Tue, 01 Mar 2016 11:20:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aan23-0004Jv-V7 for qemu-devel@nongnu.org; Tue, 01 Mar 2016 11:20:21 -0500 Received: from mail-vk0-x234.google.com ([2607:f8b0:400c:c05::234]:36188) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aan23-0004Jr-IN for qemu-devel@nongnu.org; Tue, 01 Mar 2016 11:20:19 -0500 Received: by mail-vk0-x234.google.com with SMTP id c3so172644974vkb.3 for ; Tue, 01 Mar 2016 08:20:19 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <56D4B8FA.4010305@tribudubois.net> References: <4499d69ec1326c07481e9d8178e64b63f9748706.1454967766.git.jcd@tribudubois.net> <56C38B52.7080904@tribudubois.net> <56C398FA.8010204@tribudubois.net> <56C62EDA.3010307@tribudubois.net> <56C6B707.8040001@tribudubois.net> <56D4AB67.6080506@tribudubois.net> <56D4B8FA.4010305@tribudubois.net> From: Peter Maydell Date: Tue, 1 Mar 2016 16:19:59 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 7/9] i.MX: Add i.MX6 SOC implementation. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jean-Christophe DUBOIS Cc: QEMU Developers , Peter Crosthwaite On 29 February 2016 at 21:32, Jean-Christophe DUBOIS wrote: > Le 29/02/2016 22:14, Peter Maydell a =C3=A9crit : >> Is there a datasheet available for this? > Well the SRC device is described in the i.MX6 reference manual. > > http://cache.nxp.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf?fpsp=3D1&WT_= TYPE=3DReference%20Manuals&WT_VENDOR=3DFREESCALE&WT_FILE_FORMAT=3Dpdf&WT_AS= SET=3DDocumentation&fileExt=3D.pdf Thanks for the link. > I believe it is hardware based. Now it might involve some of the function= s > of the internal ROM in the process but we cannot change this behavior in = any > way. The datasheet is pretty clear -- registers like the SRC_GPR are just "holds some state" registers, and when the system reset controller starts a secondary CPU it runs through some boot ROM code which reads the GPR controlling the start address and branches to it. This means the code you have in the SRC emulation is actually implementing a combination of the SRC hardware and the boot ROM software. That's OK, but we should have a comment somewhere that makes it clear that that's what's going on. (it is possible to implement the "jump to address as per register" as code that runs in the guest; highbank has a variant on this. It doesn't really seem necessary here though.) On the "secure vs nonsecure" question, I'm not completely sure but I think that the answer is that it will boot in secure. So we should use the patche that adds "sabrelite_binfo.secure_boot =3D true;" to the board code. thanks -- PMM