9
0
Fork 0
Commit Graph

78 Commits

Author SHA1 Message Date
Sascha Hauer 5f56079cd5 ARM: move armlinux_add_dram to location which is always compiled
We want to use the memory banks later in the MMU which is
independent of Linux, so move this to a location which is
always compiled.

Also, make the memory bank list global and add an iterator
for it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-08-01 21:49:33 +08:00
Sascha Hauer aab32057b3 ARM cache l2x0: depend on MMU
l2x0 cache support does not work without MMU, so depend
on it in Kconfig.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-08-01 21:49:33 +08:00
Sascha Hauer 64476d2177 ARM: compile in image size and magic into barebox image
This is useful to detect a barebox image and to be able
to copy only the image size if barebox is stored on
raw partitions which are bigger than the image.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-05-06 08:53:26 +02:00
Sascha Hauer d332597c7c ARM: make exception handling optional
On several boards without MMU support the vectors cannot be mapped
to 0x0 and exception support is nonfunctional anyway, so make this
configurable.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-11 15:58:21 +02:00
Sascha Hauer 4bfc4b4458 arm: compile icache command only when command support is present
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-11 15:57:51 +02:00
Sascha Hauer 084df155d3 ARM: Add stack unwinding support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-10 14:50:07 +01:00
Sascha Hauer cad14480bf ARM: create a second level page table entry for the exception vectors
Often enough the exception vectors are not on TEXT_BASE (for example
on i.MX SoCs in internal boot mode), so the board specific code did
not map the exception vectors to 0x0 but whatever happens to be on
TEXT_BASE. Also, the current section-only mapping requires the
exception vectors to be on a 1MB boundary.
Instead, create the possibility to create second level tables and
use this to map a copy of the exception vectors in a board
independent way.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-10 14:49:47 +01:00
Sascha Hauer 1c33aacf8a ARM: use memalign to allocate page table
We have the proper function for getting aligned memory, so use it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-08 12:33:20 +01:00
Sascha Hauer acc033704c ARM v7: Fix typos in cache-armv7.S
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-08 12:33:16 +01:00
Sascha Hauer 4b74753cce ARM v7: Fix broken mmu initialization
The armv7 specific __mmu_cache_on function accidently sets
the page table pointer with the unitialized value of r3. It seems
that often enough r3 still held the correct value from a previous
call to mmu_init allowing this bug to remain uncovered for longer.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-08 12:33:12 +01:00
Sascha Hauer 420dab954c ARM start.c: use sections.h header file for linker variables
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-17 11:05:14 +01:00
Krzysztof Halasa ffcdb2796a ARM: support big/little endian switching in "bootX".
Currently implemented only in "bootz".

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-07 10:21:22 +01:00
Krzysztof Halasa c5baa0edc4 Fix error handling with malloc, memalign etc. Introduce xmemalign().
The idea is to panic() when there is no memory available for normal
operation. Exception: code which can consume arbitrary amount of RAM
(example: files allocated in ramfs) must report error instead of panic().

This patch also fixes code which didn't check for NULL from malloc() etc.

Usage: malloc(), memalign() return NULL when out of RAM.
xmalloc(), xmemalign() always return non-NULL or panic().

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-07 10:21:22 +01:00
Krzysztof Halasa fdf5768a1b ARM: support big-endian processors.
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 09:02:40 +01:00
Sascha Hauer fd37f613a5 arm interrupts.c: sparse fixes
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-21 22:21:42 +02:00
Sascha Hauer 12c101bcfd cache-l2x0: sparse fixes
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-21 22:21:24 +02:00
Sascha Hauer 3205f09674 arch/arm/cpu/cpu.c: sparse fixes
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-21 22:21:23 +02:00
Sascha Hauer cdd5db42ef ARM mmu: Call __mmu_cache_flush instead of hardcoded v4/v5 only function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 13:22:14 +02:00
Jean-Christophe PLAGNIOL-VILLARD e34c1d4fcc init: introduce __BARE_INIT for .section ".text_bare_init.text"
and make init.h availlable for assembly too

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-09-20 08:56:37 +02:00
Sascha Hauer 3aa5c839eb ARM: add missing call to arch_init_lowlevel
This got lost during the switch to implement the lowlevel
stuff in C.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-06-23 08:37:34 +02:00
Sascha Hauer 6d4ffe499f arch/arm/cpu/cpu.c: remove unused variable
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-06-17 08:46:27 +02:00
Sascha Hauer c21a7fb9f1 arm start.c: Make runtime function address calculation tolerant for more compilers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-06-13 13:07:12 +02:00
Sascha Hauer ce971c2367 arm: use processor specififc functions to turn off MMU
The way it was done before does not work on Cortex processors.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: Orjan Friberg <of@flatfrog.com>
Tested-by: Luca Ceresoli <list@lucaceresoli.net>
2010-06-10 14:20:39 +02:00
Sascha Hauer 78104ae181 arm: reimplement startup code in C
Lets translate the startup code to a language we all understand better.
Tested on pcm038 (arm v5) and pcm043 (arm v6).

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-05-03 15:05:38 +02:00
Sascha Hauer bd9e5ca89e arm: move __mmu_cache_flush to bare_init section
Instead of having seperate cache flush functions in the startup code
we want to call the generic functions. To accomplish this they have
to be in the bare_init section.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-05-03 15:05:38 +02:00
Sascha Hauer acbeeab989 ARM: update icache functions to use get_cr/set_cr
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-05-03 15:02:03 +02:00
Sascha Hauer 51b4009f3c ARM: use memalign in dma_alloc_coherent to assure alignment
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-05-03 15:02:03 +02:00
Sascha Hauer be00ed538c add l2x0 cache support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-30 14:15:04 +02:00
Sascha Hauer bcaabae0f6 ARM: Add a wrapper around dma_* functions
This is a preparation to add second level cache support.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-30 14:15:04 +02:00
Sascha Hauer cf2703a6fb ARM: replace cleanup_before_linux with the generic shutdown_barebox function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-30 14:15:03 +02:00
Sascha Hauer 78127b0a97 remove unused file arch/arm/cpu/cache.S
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-18 08:14:03 +01:00
Sascha Hauer a5189af297 armv5: use proper cache flush function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-18 08:12:19 +01:00
Marc Kleine-Budde 75478b15bf start-arm: cleanup: proper indention
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2010-02-16 21:49:29 +01:00
Marc Kleine-Budde d6f04bf3c8 arm/cpu/Makefile: cleanup: proper indention
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2010-02-16 21:49:18 +01:00
Sascha Hauer e304879aba add armv6 support to the konfig system
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-02-01 17:25:32 +01:00
Sascha Hauer 922bb41a47 remove typedef cmd_tbl_t and replace it with struct command
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-02-01 17:25:32 +01:00
Sascha Hauer 3f1bf1f058 Use cache functions from kernel
These cache functions have been extracted from
arch/arm/boot/compressed/head.S. The old code only worked
properly on ARMv4. Tested on ARMv4, ARMv5, ARMv6 hardware.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-02-01 17:23:40 +01:00
Juergen Beisert dac84c7b9d documentation updates
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-12-15 11:32:02 +01:00
Sascha Hauer a3ffa97f40 rename U-Boot-v2 project to barebox
This has been done with the following script:

find -path ./.git -prune -o -type f -print0 | xargs -0 -r sed -i \
	-e 's/u2boot/barebox/g' \
	-e 's/U2Boot/barebox/g' \
	-e 's/U-boot V2/barebox/g' \
	-e 's/u-boot v2/barebox/g' \
	-e 's/U-Boot V2/barebox/g' \
	-e 's/U-Boot-v2/barebox/g' \
	-e 's/U_BOOT/BAREBOX/g' \
	-e 's/UBOOT/BAREBOX/g' \
	-e 's/uboot/barebox/g' \
	-e 's/u-boot/barebox/g' \
	-e 's/u_boot/barebox/g' \
	-e 's/U-Boot/barebox/g' \
	-e 's/U-boot/barebox/g' \
	-e 's/U-BOOT/barebox/g'

find -path ./.git -prune -o \( -name "*u-boot*" -o -name "*uboot*" -o -name "*u_boot*" \) -print0 | \
	xargs -0 -r rename 's/u[-_]?boot/barebox/'

It needs some manual fixup following in the next patch

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-12-15 10:18:30 +01:00
Juergen Beisert f522d42597 Some doxygen related fixes
Nishanth Menon wrote:
> no signed off by and no diffstat?

Ups.

> can you use git-format-patch to send please? it is easier to review.

Sure. Here it comes:

jbe

------8<---------8<---------8<---------8<---------8<---------8<----

Subject: [PATCH] Some doxygen related fixes:
  - fix a few doxygen comments that are used in a wrong way
  - move some pages and their content to a better place in the
    generated documentation

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-12-14 09:43:02 +01:00
Jean-Christophe PLAGNIOL-VILLARD a4292fe7cf arm: add endian config support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-11-03 09:47:32 +01:00
Jean-Christophe PLAGNIOL-VILLARD bab3a3b976 arm: introduce CPU CONFIG from linux
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-11-03 09:45:55 +01:00
Sascha Hauer 420a3173f0 commands: remove maxargs
No need to check for maximum argument counts. The commands are
safe to be called with more arguments, so lets safe some bytes.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-10-19 16:18:33 +02:00
Sascha Hauer 3820307eb0 rename dma macros
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-09-25 13:34:57 +02:00
Sascha Hauer fd18bc87c2 use _stext instead of TEXT_BASE
When checking if we have to relocate ourselves, use _stext instead
of TEXT_BASE. TEXT_BASE might be the location of a pre image header.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-09-08 12:42:55 +02:00
Sascha Hauer e2c8e8a180 Add MMU support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-19 10:51:30 +02:00
Sascha Hauer 66457f42e4 return is not a function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-18 15:44:53 +02:00
Sascha Hauer 0b5a776c1e Shutdown U-Boot before starting an OS
Some devices, especially the ones doing DMA should be disabled before
giving control to an OS. We take the simple approach here: Just shutdown
the devices in the reverse order they were activated.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-19 12:21:18 +01:00
Sascha Hauer a03d8b82df Fix Exception handling
Uh, oh, some copy paste bug which existed for nearly 2 years now

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-02-20 18:24:36 +01:00
Sascha Hauer 8d62c1f629 ARM: Add simple icache enable/disable command
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-02-06 14:44:46 +01:00