From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36889) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vvz0q-0005fE-8B for qemu-devel@nongnu.org; Wed, 25 Dec 2013 19:41:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vvz0l-0008FQ-Kl for qemu-devel@nongnu.org; Wed, 25 Dec 2013 19:41:20 -0500 Received: from [222.73.24.84] (port=52008 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vvz0l-0008FJ-8w for qemu-devel@nongnu.org; Wed, 25 Dec 2013 19:41:15 -0500 Message-ID: <52BB7AC0.5080909@cn.fujitsu.com> Date: Thu, 26 Dec 2013 08:39:28 +0800 From: Li Guang MIME-Version: 1.0 References: <1387960503-11838-1-git-send-email-lig.fnst@cn.fujitsu.com> <52BB74E5.8010602@cn.fujitsu.com> In-Reply-To: Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=UTF-8; format=flowed Subject: Re: [Qemu-devel] [PATCH] allwinner-a10: add config script support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Peter Crosthwaite , QEMU Developers Peter Maydell wrote: > On 26 December 2013 00:14, Li Guang wrote: > >> Peter Maydell wrote: >> >>> On 25 December 2013 08:35, liguang wrote: >>> >>> >>>> sunxi-linux kernel parse config script >>>> to do hardware configurations >>>> >>>> Signed-off-by: liguang >>>> --- >>>> hw/arm/allwinner-a10.c | 18 ++++++++++++++++++ >>>> hw/arm/cubieboard.c | 2 ++ >>>> include/hw/arm/allwinner-a10.h | 5 +++++ >>>> pc-bios/aw-script.bin | Bin 0 -> 50188 bytes >>>> >>>> >>> What is this? You can't just stick a 50K binary into the >>> tree with no explanation, I'm afraid. >>> >>> >>> >> >> it's the approach sunxi-linux kernel config hardware, >> the binary is actually a transformed text script, >> and context of script is like: >> >> [card0_boot_para] >> card_ctrl = 0 >> card_high_speed = 1 >> card_line = 4 >> sdc_d1 = port:PF00<2><1> >> sdc_d0 = port:PF01<2><1> >> sdc_clk = port:PF02<2><1> >> sdc_cmd = port:PF03<2><1> >> sdc_d3 = port:PF04<2><1> >> sdc_d2 = port:PF05<2><1> >> > So what sets this up on real hardware? Is this part of > a firmware blob? Is it in ROM or flash? > > it's generally in /boot, bootloader will load it into ram address 0x43000000, kernel will find it at this fixed address, and parse it, learn the hardware related configuration, mostly property of devices, and GPIOes used. Thanks and Merry Christmas! Li Guang