From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:6f8:1178:4:290:27ff:fe1d:cc33]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1U1BXK-00044Z-Kb for barebox@lists.infradead.org; Fri, 01 Feb 2013 07:59:53 +0000 Received: from dude.hi.pengutronix.de ([2001:6f8:1178:2:21e:67ff:fe11:9c5c]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1U1BXI-00023J-HJ for barebox@lists.infradead.org; Fri, 01 Feb 2013 08:59:48 +0100 Received: from sha by dude.hi.pengutronix.de with local (Exim 4.80) (envelope-from ) id 1U1BXI-0002i7-GA for barebox@lists.infradead.org; Fri, 01 Feb 2013 08:59:48 +0100 From: Sascha Hauer Date: Fri, 1 Feb 2013 08:59:13 +0100 Message-Id: <1359705587-9762-1-git-send-email-s.hauer@pengutronix.de> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: barebox-bounces@lists.infradead.org Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: [PATCH v2] Add new ARM entry point for barebox To: barebox@lists.infradead.org Second version. I updated the series to current -next. Besides, I dropped the board reserved memory chunk at the end of SDRAM as it does not work for configurations which run in tight SRAM. Boards are now required to reserve some memory themselves and skip this area from barebox_arm_entry should they need some space. This version is compile tested only currently. My plan is to do some additional runtime tests on Monday when I'm back from the FOSDEM and apply it afterwards. So I won't apply any patches conflicting to this series before applying this one. Sascha The following changes since commit f1c191de412ce88288f661dc261674af69d6fe4e: Merge branch 'for-next/pbl' into next (2013-02-01 08:21:12 +0100) are available in the git repository at: git://git.pengutronix.de/git/barebox.git pu/arm-entry for you to fetch changes up to e2312a2c5736008cc889383005cca3fee7883a47: ARM pbl: inline decompress function (2013-02-01 08:28:47 +0100) ---------------------------------------------------------------- Sascha Hauer (34): ARM: Add new entry point for barebox ARM: add __noreturn to board_init_lowlevel_return ARM i.MX: Use SRAM stack in lowlevel code ARM i.MX: Add i.MX specific entry point for barebox ARM i.MX: prepare external nand boot for SoC specific entry ARM i.MX boards: switch to barebox_arm_entry ARM MXS boards: switch to barebox_arm_entry ARM OMAP boards: switch to barebox_arm_entry ARM Samsung boards: switch to barebox_arm_entry ARM PXA boards: switch to barebox_arm_entry ARM ep93xx boards: switch to barebox_arm_entry ARM tegra boards: switch to barebox_arm_entry ARM nomadik boards: switch to barebox_arm_entry ARM versatile boards: switch to barebox_arm_entry ARM netx boards: switch to barebox_arm_entry ARM clep7212: switch to barebox_arm_entry ARM raspberrypi: switch to barebox_arm_entry ARM AT91: switch to barebox_arm_entry part1 ARM AT91: switch at91rm9200 board to barebox_arm_entry ARM AT91: switch sama5d3 to barebox_arm_entry ARM AT91: switch remaining boards to barebox_arm_entry ARM: remove now unused MACH_[HAS|DO]_LOWLEVEL_INIT ARM start-pbl: make board_init_lowlevel_return static ARM start-pbl: call uncompressed binary with arguments ARM start: pickup parameters from pbl ARM: Setup stack at end of SDRAM ARM pbl: Use dynamic parameters for early malloc space ARM mmu: pickup already enabled mmu ARM: Factor out early mmu code ARM: Enable mmu early ARM: Automatically determine malloc size generic memory layout: fix deps for [MALLOC|STACK]_BASE ARM: disable HAVE_CONFIGURABLE_MEMORY_LAYOUT ARM pbl: inline decompress function arch/arm/Kconfig | 1 - arch/arm/boards/a9m2410/lowlevel_init.S | 9 +- arch/arm/boards/a9m2440/lowlevel_init.S | 9 +- arch/arm/boards/archosg9/Makefile | 4 +- arch/arm/boards/archosg9/lowlevel.c | 3 +- arch/arm/boards/at91sam9263ek/Makefile | 4 +- arch/arm/boards/at91sam9m10g45ek/Makefile | 2 + arch/arm/boards/at91sam9m10g45ek/lowlevel.c | 11 ++ arch/arm/boards/at91sam9m10ihd/Makefile | 2 + arch/arm/boards/at91sam9m10ihd/lowlevel.c | 11 ++ arch/arm/boards/at91sam9n12ek/Makefile | 2 + arch/arm/boards/at91sam9n12ek/lowlevel.c | 11 ++ arch/arm/boards/at91sam9x5ek/Makefile | 2 + arch/arm/boards/at91sam9x5ek/lowlevel.c | 11 ++ arch/arm/boards/beagle/lowlevel.c | 16 +- arch/arm/boards/beaglebone/Makefile | 2 + arch/arm/boards/beaglebone/lowlevel.c | 12 +- arch/arm/boards/ccxmx51/Makefile | 2 + arch/arm/boards/ccxmx51/lowlevel.c | 9 ++ arch/arm/boards/chumby_falconwing/Makefile | 2 + arch/arm/boards/chumby_falconwing/lowlevel.c | 11 ++ arch/arm/boards/clep7212/lowlevel.c | 3 +- arch/arm/boards/crystalfontz-cfa10036/Makefile | 2 + arch/arm/boards/crystalfontz-cfa10036/lowlevel.c | 11 ++ arch/arm/boards/edb93xx/sdram_cfg.c | 4 + arch/arm/boards/efika-mx-smartbook/Makefile | 2 + arch/arm/boards/efika-mx-smartbook/lowlevel.c | 9 ++ arch/arm/boards/eukrea_cpuimx25/lowlevel.c | 6 +- arch/arm/boards/eukrea_cpuimx27/lowlevel_init.S | 7 +- arch/arm/boards/eukrea_cpuimx35/lowlevel.c | 8 +- arch/arm/boards/eukrea_cpuimx51/Makefile | 2 + arch/arm/boards/eukrea_cpuimx51/lowlevel.c | 9 ++ arch/arm/boards/freescale-mx23-evk/Makefile | 2 + arch/arm/boards/freescale-mx23-evk/lowlevel.c | 11 ++ .../boards/freescale-mx25-3-stack/lowlevel_init.S | 7 +- arch/arm/boards/freescale-mx28-evk/Makefile | 2 + arch/arm/boards/freescale-mx28-evk/lowlevel.c | 11 ++ arch/arm/boards/freescale-mx35-3-stack/3stack.c | 1 + .../boards/freescale-mx35-3-stack/lowlevel_init.S | 7 +- arch/arm/boards/freescale-mx51-pdk/Makefile | 2 + arch/arm/boards/freescale-mx51-pdk/lowlevel.c | 9 ++ arch/arm/boards/freescale-mx53-loco/Makefile | 2 + arch/arm/boards/freescale-mx53-loco/lowlevel.c | 9 ++ arch/arm/boards/freescale-mx53-smd/Makefile | 2 + arch/arm/boards/freescale-mx53-smd/lowlevel.c | 9 ++ arch/arm/boards/freescale-mx6-arm2/Makefile | 2 + arch/arm/boards/freescale-mx6-arm2/lowlevel.c | 10 ++ arch/arm/boards/freescale-mx6-sabrelite/Makefile | 2 + arch/arm/boards/freescale-mx6-sabrelite/lowlevel.c | 10 ++ .../boards/friendlyarm-mini2440/lowlevel_init.S | 9 +- arch/arm/boards/friendlyarm-mini6410/Makefile | 2 + arch/arm/boards/friendlyarm-mini6410/lowlevel.c | 11 ++ arch/arm/boards/friendlyarm-tiny210/lowlevel.c | 4 +- arch/arm/boards/friendlyarm-tiny6410/Makefile | 3 +- arch/arm/boards/friendlyarm-tiny6410/lowlevel.c | 11 ++ arch/arm/boards/guf-cupid/lowlevel.c | 8 +- arch/arm/boards/guf-neso/lowlevel.c | 8 +- arch/arm/boards/guf-vincell/lowlevel.c | 5 +- arch/arm/boards/imx21ads/imx21ads.c | 3 +- arch/arm/boards/imx21ads/lowlevel_init.S | 11 +- arch/arm/boards/imx233-olinuxino/Makefile | 2 + arch/arm/boards/imx233-olinuxino/lowlevel.c | 11 ++ arch/arm/boards/imx27ads/lowlevel_init.S | 4 +- arch/arm/boards/karo-tx25/lowlevel.c | 10 +- arch/arm/boards/karo-tx28/Makefile | 2 + arch/arm/boards/karo-tx28/lowlevel.c | 11 ++ arch/arm/boards/karo-tx51/Makefile | 2 + arch/arm/boards/karo-tx51/lowlevel.c | 9 ++ arch/arm/boards/karo-tx53/lowlevel.c | 6 +- arch/arm/boards/mioa701/Makefile | 2 + arch/arm/boards/mioa701/lowlevel.c | 10 ++ arch/arm/boards/mmccpu/Makefile | 4 +- arch/arm/boards/netx/platform.S | 7 +- arch/arm/boards/nhk8815/Makefile | 2 + arch/arm/boards/nhk8815/lowlevel.c | 10 ++ arch/arm/boards/omap343xdsp/lowlevel.c | 15 +- arch/arm/boards/omap3evm/lowlevel.c | 13 +- arch/arm/boards/panda/lowlevel.c | 7 +- arch/arm/boards/pcm027/lowlevel_init.S | 7 +- arch/arm/boards/pcm037/lowlevel.c | 6 +- arch/arm/boards/pcm038/lowlevel.c | 8 +- arch/arm/boards/pcm043/lowlevel.c | 8 +- arch/arm/boards/pcm049/lowlevel.c | 7 +- arch/arm/boards/pcm051/Makefile | 2 + arch/arm/boards/pcm051/lowlevel.c | 11 ++ arch/arm/boards/phycard-a-l1/lowlevel.c | 12 +- arch/arm/boards/phycard-a-xl2/lowlevel.c | 7 +- arch/arm/boards/phycard-i.MX27/lowlevel_init.S | 4 +- arch/arm/boards/pm9261/Makefile | 4 +- arch/arm/boards/pm9263/Makefile | 4 +- arch/arm/boards/pm9g45/Makefile | 2 + arch/arm/boards/pm9g45/lowlevel.c | 11 ++ arch/arm/boards/raspberry-pi/Makefile | 2 + arch/arm/boards/raspberry-pi/lowlevel.c | 11 ++ arch/arm/boards/scb9328/lowlevel_init.S | 4 +- arch/arm/boards/tny-a926x/Makefile | 4 +- arch/arm/boards/toshiba-ac100/Makefile | 2 + arch/arm/boards/toshiba-ac100/lowlevel.c | 10 ++ arch/arm/boards/tqma53/Makefile | 2 + arch/arm/boards/tqma53/lowlevel.c | 9 ++ arch/arm/boards/usb-a926x/Makefile | 4 +- arch/arm/boards/versatile/Makefile | 3 +- arch/arm/boards/versatile/lowlevel.c | 10 ++ arch/arm/configs/archosg9_defconfig | 1 - arch/arm/configs/phycard_a_l1_defconfig | 2 - arch/arm/cpu/Makefile | 4 +- arch/arm/cpu/cpu.c | 12 ++ arch/arm/cpu/mmu-early.c | 53 +++++++ arch/arm/cpu/mmu-early.h | 6 + arch/arm/cpu/mmu.c | 9 +- arch/arm/cpu/start-pbl.c | 163 ++++++-------------- arch/arm/cpu/start.c | 107 ++++++++++--- arch/arm/include/asm/barebox-arm.h | 4 +- arch/arm/lib/Makefile | 1 - arch/arm/lib/arm.c | 14 -- arch/arm/mach-at91/Kconfig | 17 +- arch/arm/mach-at91/Makefile | 5 +- arch/arm/mach-at91/at91rm9200_lowlevel_init.c | 2 +- arch/arm/mach-at91/at91sam926x_lowlevel_init.c | 4 +- arch/arm/mach-at91/sama5d3_lowlevel_init.c | 25 +++ arch/arm/mach-clps711x/Kconfig | 2 - arch/arm/mach-ep93xx/Kconfig | 8 - arch/arm/mach-ep93xx/Makefile | 4 +- arch/arm/mach-ep93xx/lowlevel_init.S | 11 +- arch/arm/mach-imx/Kconfig | 17 -- arch/arm/mach-imx/Makefile | 5 +- arch/arm/mach-imx/esdctl.c | 136 +++++++++++++--- arch/arm/mach-imx/external-nand-boot.c | 74 ++++++--- arch/arm/mach-imx/include/mach/esdctl.h | 11 ++ arch/arm/mach-imx/include/mach/imx-nand.h | 1 - arch/arm/mach-imx/include/mach/imx21-regs.h | 1 + arch/arm/mach-imx/include/mach/imx25-regs.h | 3 + arch/arm/mach-imx/include/mach/imx27-regs.h | 1 + arch/arm/mach-imx/include/mach/imx31-regs.h | 3 + arch/arm/mach-netx/Kconfig | 1 - arch/arm/mach-omap/Kconfig | 5 - arch/arm/mach-omap/arch-omap.dox | 1 - arch/arm/mach-omap/include/mach/omap3-silicon.h | 1 + arch/arm/mach-omap/omap3_core.S | 11 +- arch/arm/mach-pxa/Kconfig | 1 - arch/arm/mach-samsung/Kconfig | 6 - arch/arm/pbl/zbarebox.lds.S | 8 +- common/Kconfig | 21 ++- common/meminfo.c | 5 - include/asm-generic/memory_layout.h | 6 +- 145 files changed, 1035 insertions(+), 390 deletions(-) create mode 100644 arch/arm/boards/at91sam9m10g45ek/lowlevel.c create mode 100644 arch/arm/boards/at91sam9m10ihd/lowlevel.c create mode 100644 arch/arm/boards/at91sam9n12ek/lowlevel.c create mode 100644 arch/arm/boards/at91sam9x5ek/lowlevel.c create mode 100644 arch/arm/boards/ccxmx51/lowlevel.c create mode 100644 arch/arm/boards/chumby_falconwing/lowlevel.c create mode 100644 arch/arm/boards/crystalfontz-cfa10036/lowlevel.c create mode 100644 arch/arm/boards/efika-mx-smartbook/lowlevel.c create mode 100644 arch/arm/boards/eukrea_cpuimx51/lowlevel.c create mode 100644 arch/arm/boards/freescale-mx23-evk/lowlevel.c create mode 100644 arch/arm/boards/freescale-mx28-evk/lowlevel.c create mode 100644 arch/arm/boards/freescale-mx51-pdk/lowlevel.c create mode 100644 arch/arm/boards/freescale-mx53-loco/lowlevel.c create mode 100644 arch/arm/boards/freescale-mx53-smd/lowlevel.c create mode 100644 arch/arm/boards/freescale-mx6-arm2/lowlevel.c create mode 100644 arch/arm/boards/freescale-mx6-sabrelite/lowlevel.c create mode 100644 arch/arm/boards/friendlyarm-mini6410/lowlevel.c create mode 100644 arch/arm/boards/friendlyarm-tiny6410/lowlevel.c create mode 100644 arch/arm/boards/imx233-olinuxino/lowlevel.c create mode 100644 arch/arm/boards/karo-tx28/lowlevel.c create mode 100644 arch/arm/boards/karo-tx51/lowlevel.c create mode 100644 arch/arm/boards/mioa701/lowlevel.c create mode 100644 arch/arm/boards/nhk8815/lowlevel.c create mode 100644 arch/arm/boards/pcm051/lowlevel.c create mode 100644 arch/arm/boards/pm9g45/lowlevel.c create mode 100644 arch/arm/boards/raspberry-pi/lowlevel.c create mode 100644 arch/arm/boards/toshiba-ac100/lowlevel.c create mode 100644 arch/arm/boards/tqma53/lowlevel.c create mode 100644 arch/arm/boards/versatile/lowlevel.c create mode 100644 arch/arm/cpu/mmu-early.c create mode 100644 arch/arm/cpu/mmu-early.h delete mode 100644 arch/arm/lib/arm.c create mode 100644 arch/arm/mach-at91/sama5d3_lowlevel_init.c _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox