summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/arm_cortexa8
AgeCommit message (Collapse)Author
2010-07-05ARM: Rename arch/arm/cpu/arm_cortexa8 to armv7Steve Sakoman
The purpose of this patch is to prepare for adding the OMAP4 architecture, which is Cortex A9 Cortex A8 and A9 both belong to the armv7 architecture, hence the name change. The two architectures are similar enough that substantial code can be shared. Signed-off-by: Aneesh V <[email protected]> Signed-off-by: Steve Sakoman <[email protected]> Signed-off-by: Sandeep Paulraj <[email protected]>
2010-07-04Make sure that argv[] argument pointers are not modified.Wolfgang Denk
The hush shell dynamically allocates (and re-allocates) memory for the argument strings in the "char *argv[]" argument vector passed to commands. Any code that modifies these pointers will cause serious corruption of the malloc data structures and crash U-Boot, so make sure the compiler can check that no such modifications are being done by changing the code into "char * const argv[]". This modification is the result of debugging a strange crash caused after adding a new command, which used the following argument processing code which has been working perfectly fine in all Unix systems since version 6 - but not so in U-Boot: int main (int argc, char **argv) { while (--argc > 0 && **++argv == '-') { /* ====> */ while (*++*argv) { switch (**argv) { case 'd': debug++; break; ... default: usage (); } } } ... } The line marked "====>" will corrupt the malloc data structures and usually cause U-Boot to crash when the next command gets executed by the shell. With the modification, the compiler will prevent this with an error: increment of read-only location '*argv' N.B.: The code above can be trivially rewritten like this: while (--argc > 0 && **++argv == '-') { char *arg = *argv; while (*++arg) { switch (*arg) { ... Signed-off-by: Wolfgang Denk <[email protected]> Acked-by: Mike Frysinger <[email protected]>
2010-06-22ARM: Align stack to 8 bytesVitaly Kuzmichev
The ARM ABI requires that the stack be aligned to 8 bytes as it is noted in Procedure Call Standard for the ARM Architecture: http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/index.html Unaligned SP also causes the problem with variable-length arrays allocation when VLA address becomes less than stack pointer during aligning of this address, so the next 'push' in the stack overwrites first 4 bytes of VLA. Signed-off-by: Vitaly Kuzmichev <[email protected]>
2010-06-18arch/arm/cpu/arm_cortexa8/omap3/cache.S: make build with older toolsWolfgang Denk
The push / pop instructions used in this file are available only with more recent tool chains: cache.S: Assembler messages: cache.S:133: Error: bad instruction `push {r0,r1,r2,lr}' cache.S:160: Error: bad instruction `pop {r1,r2,r3,pc}' cache.S:164: Error: bad instruction `push {r0,r1,r2,lr}' cache.S:191: Error: bad instruction `pop {r1,r2,r3,pc}' Change push/pop into stmfd/ldmfd instructions to support older versions of binutils as well. I verified that the modified source code generates exactly the same binary code. Signed-off-by: Wolfgang Denk <[email protected]> Cc: Sandeep Paulraj <[email protected]> Cc: Tom Rix <[email protected]>
2010-06-08AM35x: Add support for EMIF4Vaibhav Hiremath
This patch adds support for the EMIF4 interface available in the AM35x processors. Signed-off-by: Vaibhav Hiremath <[email protected]> Signed-off-by: Sanjeev Premi <[email protected]> Signed-off-by: Sandeep Paulraj <[email protected]>
2010-06-08omap3: Consolidate SDRC related operationsVaibhav Hiremath
Consolidated SDRC related functions into one file - sdrc.c And also replaced sdrc_init with generic memory init function (mem_init), this generalization of omap memory setup is necessary to support the new emif4 interface introduced in AM3517. Signed-off-by: Vaibhav Hiremath <[email protected]> Signed-off-by: Sandeep Paulraj <[email protected]>
2010-06-08omap3: Calculate CS1 size only when SDRC isVaibhav Hiremath
initialized for CS1 From: Vaibhav Hiremath <[email protected]> The patch makes sure that size for SDRC CS1 gets calculated only when the CS1 SDRC is initialized. Signed-off-by: Vaibhav Hiremath <[email protected]> Signed-off-by: Sandeep Paulraj <[email protected]>
2010-05-21ARM: */timer.c: fix spelling and vertical alignmentWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]>
2010-05-05MX51: Fix MX51 CPU detect messageFabio Estevam
Fix MX51 CPU detect message. Original string was: CPU: Freescale i.MX51 family 3.0V at 800 MHz which can be misinterpreted as 3.0 Volts instead of the silicon revision. ,change it to: CPU: Freescale i.MX51 family rev3.0 at 800 MHz Signed-off-by: Fabio Estevam <[email protected]>
2010-04-30Moved board specific values in config fileStefano Babic
The lowlevel_init file contained some hard-coded values to setup the RAM. These board related values are moved into the board configuration file. Signed-off-by: Stefano Babic <[email protected]>
2010-04-30SAMSUNG: make s5p common gpio functionsMinkyu Kang
Because of s5pc1xx gpio is same as s5p seires SoC, move gpio functions to drvier/gpio/ and modify structure's name from s5pc1xx_ to s5p_. Signed-off-by: Minkyu Kang <[email protected]>
2010-04-13arm: Move cpu/$CPU to arch/arm/cpu/$CPUPeter Tyser
Signed-off-by: Peter Tyser <[email protected]>