summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/cpu.c
Commit message (Collapse)AuthorAgeFilesLines
* arm: cpu: add basic arm64 mmu supportRaphael Poggi2016-07-061-0/+2
| | | | | | | | | | | | | | | | This commit adds basic mmu support, ie: - DMA cache handling is not supported - Remapping memory region also The current mmu setting is: - 4KB granularity - 3 level lookup (skipping L0) - 33 bits per VA This is based on coreboot and u-boot mmu configuration. Signed-off-by: Raphael Poggi <poggi.raph@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: cpu: disable code portion in armv8 caseRaphael Poggi2016-07-061-0/+5
| | | | | | | | Enclosed by #if directive OMAP specific code and mmu_disable (ARMv8 code will implemented it somewhere else). Signed-off-by: Raphael Poggi <poggi.raph@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: Remove do_execute and thumb2_executeTrent Piepho2015-12-071-26/+0
| | | | | | | | | | | | | | | | | | | | In commit 104a6a7ccfb7928ca5dc28c8cbe0ea231ffc45ee support was added for Thumb2. It added do_execute() as a way to provide arch dependent calling veneers for use in "go" and thumb2_execute() as the thumb2 to arm veneer. But thumb2_execute() isn't necessary as gcc generates a proper calling sequence from a standard function pointer call. Thumb2 barebox is compiled with the AAPCS ABI which requires this. It also had a bug and didn't pass the arguments properly, but code execute via "go" rarely uses arguments so this wasn't very noticeable. Since thumb2 was always the only user of do_execute(), go ahead and delete that too. Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: l2x0: move outer cache flush on disable to userLucas Stach2015-10-131-1/+3
| | | | | | | | | | | | | There are systems like the Calxeda Highbank, which need to do SMC calls in order to access the secure L2C registers, which means they want to replace the outer cache disable function with their own. As the cache flush before entering the boot target is still needed and to avoid exposing L2C internals to the architectures move the flush before disable into the only current user. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: l2x0: Flush cache before disabling itSascha Hauer2015-08-081-2/+1
| | | | | | Otherwise entries may still be in the cache and never reach memory. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* exitcall: move arch_shutdown to exitcall infrastructureHerve Codina2015-07-131-1/+2
| | | | | Signed-off-by: Herve Codina <Herve.CODINA@celad.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* misc: upper-case some abbreviationsHolger Schurig2014-06-021-1/+1
| | | | | Signed-off-by: Holger Schurig <holgerschurig@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: mode cpu_architecture() to common.cSascha Hauer2014-01-291-14/+0
| | | | | | | It might be needed in pbl code, so move it to a file which is compiled in pbl mode. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: make cpu architecture detection available as static inline functionSascha Hauer2013-03-041-33/+1
| | | | | | | | | When we have multi cpu support compiled in we need the cpu architecture early so that we can pick the correct cacheflush function. Make it available as static inline function and add a comment above it that this function normally should not be used. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: move outercase to cpu.c as some SoC as the ux500 always need to flush ↵Jean-Christophe PLAGNIOL-VILLARD2013-02-111-2/+20
| | | | | | | the l2x0 Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: Setup stack at end of SDRAMSascha Hauer2013-02-041-0/+12
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: ensure irqs are disabled at barebox exitVicente Bergas2012-10-151-0/+11
| | | | | Signed-off-by: Vicente Bergas <vicencb@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: no need to call cache functions when MMU is disabledSascha Hauer2012-10-121-11/+2
| | | | | | | | Without MMU enabled we do not need to call __mmu_cache_* as the caches are not enabled. Calling flush_icache() before jumping to new code is enough. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: Add cpu_architecture() functionSascha Hauer2012-10-101-0/+47
| | | | | | | Once we run on multiple SoCs we must know which arm architecture we are on. Add cpu_architecture() from the kernel to detect it. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Treewide: remove address of the Free Software FoundationSascha Hauer2012-09-171-4/+0
| | | | | | | The FSF address has changed in the past. Instead of updating it each time the address changes, just drop it completely treewide. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: Allow to compile in thumb-2 modeSascha Hauer2012-03-061-0/+27
| | | | | | | | | This shrinks the resulting binary size by ~25%. Exceptions are still handled in arm mode, so we have to explicitely put .arm directives into the exception code. Thumb-2 mode has been tested on i.MX51 Babbage board. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'next'Sascha Hauer2012-01-051-34/+0
|\
| * ARM: remove unused icache commandSascha Hauer2011-12-151-34/+0
| | | | | | | | | | | | | | The icache command is unused. Instead of adding it to compilation again, remove it as the cpuinfo command provides the same information. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: mark 'lr' as clobbered by inline assemblerEnrico Scholz2012-01-021-1/+1
|/ | | | | | | | When executing 'bl' in inline assembler, the 'lr' register must be marked as clobbered too. Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: switch to generic memory banksSascha Hauer2011-09-231-13/+0
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: move armlinux_add_dram to location which is always compiledSascha Hauer2011-08-011-0/+14
| | | | | | | | | | | 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>
* arm: compile icache command only when command support is presentSascha Hauer2011-04-111-1/+2
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arch/arm/cpu/cpu.c: sparse fixesSascha Hauer2010-10-211-0/+1
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arch/arm/cpu/cpu.c: remove unused variableSascha Hauer2010-06-171-2/+0
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: use processor specififc functions to turn off MMUSascha Hauer2010-06-101-4/+11
| | | | | | | | 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>
* ARM: update icache functions to use get_cr/set_crSascha Hauer2010-05-031-81/+13
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: replace cleanup_before_linux with the generic shutdown_barebox functionSascha Hauer2010-03-301-7/+5
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* remove typedef cmd_tbl_t and replace it with struct commandSascha Hauer2010-02-011-1/+1
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* rename U-Boot-v2 project to bareboxSascha Hauer2009-12-151-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Some doxygen related fixesJuergen Beisert2009-12-141-6/+0
| | | | | | | | | | | | | | | | | | | | | | | 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>
* commands: remove maxargsSascha Hauer2009-10-191-1/+0
| | | | | | | 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>
* Add MMU supportSascha Hauer2009-08-191-0/+5
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* return is not a functionSascha Hauer2009-08-181-1/+1
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Shutdown U-Boot before starting an OSSascha Hauer2009-03-191-0/+2
| | | | | | | | 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>
* ARM: Add simple icache enable/disable commandSascha Hauer2009-02-061-0/+24
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* [memory layout]: streamline memory layoutSascha Hauer2008-06-041-14/+0
| | | | | | | Memory layout can now be specified via kconfig options. Two possibilities exist: default layout means the layout is stack / malloc heap / U-Boot. The user can also specify fixed addresses for each TEXT_BASE / stack / malloc heap.
* remove warningsRobert Schwebel2007-11-271-1/+2
| | | | | | | | | This patch fixes the following warnings: arch/arm/cpu/cpu.c:176:4: warning: no newline at end of file commands/bootm.c:872:4: warning: no newline at end of file Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* saving added docuJuergen Beisert2007-11-051-22/+90
|
* _armboot_start -> _u_boot_startSascha Hauer2007-07-121-1/+1
|
* svn_rev_693Sascha Hauer2007-07-051-15/+4
| | | | remove do_reset
* svn_rev_630Sascha Hauer2007-07-051-2/+1
|
* svn_rev_495Sascha Hauer2007-07-051-2/+7
|
* svn_rev_494Sascha Hauer2007-07-051-0/+115