提交 5c928d02 编写于 作者: A Angelo Dureghello

m68k: code reformatting for all start.S files

This patch is style-related only, to reformat all the start.S code,
actually not following a coherent style inside single files and
between different cpu start.S files.

Linux format has been respected, as
  - max line width at 80 columns
  - one 8 cols tab between asm instructions and operands
  - inline comments, where any, fixed at col 41
Signed-off-by: NAngelo Dureghello <angelo@sysam.it>
上级 08887ed4
......@@ -28,17 +28,19 @@
rte;
#if defined(CONFIG_CF_SBF)
#define ASM_DRAMINIT (asm_dram_init - CONFIG_SYS_TEXT_BASE + CONFIG_SYS_INIT_RAM_ADDR)
#define ASM_SBF_IMG_HDR (asm_sbf_img_hdr - CONFIG_SYS_TEXT_BASE + CONFIG_SYS_INIT_RAM_ADDR)
#define ASM_DRAMINIT (asm_dram_init - CONFIG_SYS_TEXT_BASE + \
CONFIG_SYS_INIT_RAM_ADDR)
#define ASM_SBF_IMG_HDR (asm_sbf_img_hdr - CONFIG_SYS_TEXT_BASE + \
CONFIG_SYS_INIT_RAM_ADDR)
#endif
.text
/*
* Vector table. This is used for initial platform startup.
* These vectors are to catch any un-intended traps.
*/
_vectors:
#if defined(CONFIG_CF_SBF)
INITSP: .long 0 /* Initial SP */
INITPC: .long ASM_DRAMINIT /* Initial PC */
......@@ -47,33 +49,16 @@ INITSP: .long 0 /* Initial SP */
INITPC: .long _START /* Initial PC */
#endif
vector02: .long _FAULT /* Access Error */
vector03: .long _FAULT /* Address Error */
vector04: .long _FAULT /* Illegal Instruction */
vector05: .long _FAULT /* Reserved */
vector06: .long _FAULT /* Reserved */
vector07: .long _FAULT /* Reserved */
vector08: .long _FAULT /* Privilege Violation */
vector09: .long _FAULT /* Trace */
vector0A: .long _FAULT /* Unimplemented A-Line */
vector0B: .long _FAULT /* Unimplemented F-Line */
vector0C: .long _FAULT /* Debug Interrupt */
vector0D: .long _FAULT /* Reserved */
vector0E: .long _FAULT /* Format Error */
vector0F: .long _FAULT /* Unitialized Int. */
vector02_0F:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
/* Reserved */
vector10_17:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
vector18: .long _FAULT /* Spurious Interrupt */
vector19: .long _FAULT /* Autovector Level 1 */
vector1A: .long _FAULT /* Autovector Level 2 */
vector1B: .long _FAULT /* Autovector Level 3 */
vector1C: .long _FAULT /* Autovector Level 4 */
vector1D: .long _FAULT /* Autovector Level 5 */
vector1E: .long _FAULT /* Autovector Level 6 */
vector1F: .long _FAULT /* Autovector Level 7 */
vector18_1F:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
#if !defined(CONFIG_CF_SBF)
/* TRAP #0 - #15 */
......@@ -127,6 +112,7 @@ asm_sbf_img_hdr:
asm_dram_init:
move.l #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0
movec %d0, %RAMBAR1 /* init Rambar */
move.l #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET), %sp
clr.l %sp@-
......@@ -142,7 +128,6 @@ asm_dram_init:
* Dram Initialization
* a1, a2, and d0
*/
/* mscr sdram */
move.l #0xFC0A4074, %a1
move.b #(CONFIG_SYS_SDRAM_DRV_STRENGTH), (%a1)
nop
......@@ -338,9 +323,9 @@ asm_dspi_rd_status:
rts
#endif /* CONFIG_CF_SBF */
.text
.text
. = 0x400
.globl _start
.globl _start
_start:
nop
nop
......@@ -393,13 +378,16 @@ _start:
move.l %d0, -(%sp)
bsr board_init_f_init_reserve
bsr cpu_init_f /* run low-level CPU init code (from flash) */
/* run low-level CPU init code (from flash) */
bsr cpu_init_f
clr.l %sp@-
bsr board_init_f /* run low-level board init code (from flash) */
/* run low-level board init code (from flash) */
bsr board_init_f
/* board_init_f() does not return */
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/*
* void relocate_code (addr_sp, gd, addr_moni)
......@@ -412,7 +400,7 @@ _start:
* r5 = length in bytes
* r6 = cachelinesize
*/
.globl relocate_code
.globl relocate_code
relocate_code:
link.w %a6,#0
move.l 8(%a6), %sp /* set new stack pointer */
......@@ -458,7 +446,7 @@ clear_bss:
*/
move.l %a0, %a1
add.l #(__got_start - CONFIG_SYS_MONITOR_BASE),%a1
move.l %a1,%a5 /* * fix got pointer register a5 */
move.l %a1,%a5 /* fix got pointer register a5 */
move.l %a0, %a2
add.l #(__got_end - CONFIG_SYS_MONITOR_BASE),%a2
......@@ -480,13 +468,14 @@ clear_bss:
move.l %d0,-(%sp) /* gd */
jsr (%a1)
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/* exception code */
.globl _fault
.globl _fault
_fault:
bra _fault
.globl _exc_handler
.globl _exc_handler
_exc_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -494,7 +483,7 @@ _exc_handler:
addql #4,%sp
RESTORE_ALL
.globl _int_handler
.globl _int_handler
_int_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -502,9 +491,9 @@ _int_handler:
addql #4,%sp
RESTORE_ALL
/*------------------------------------------------------------------------------*/
/******************************************************************************/
.globl version_string
.globl version_string
version_string:
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
......@@ -28,41 +28,25 @@
rte;
.text
/*
* Vector table. This is used for initial platform startup.
* These vectors are to catch any un-intended traps.
*/
_vectors:
INITSP: .long 0x00000000 /* Initial SP */
INITPC: .long _START /* Initial PC */
vector02: .long _FAULT /* Access Error */
vector03: .long _FAULT /* Address Error */
vector04: .long _FAULT /* Illegal Instruction */
vector05: .long _FAULT /* Reserved */
vector06: .long _FAULT /* Reserved */
vector07: .long _FAULT /* Reserved */
vector08: .long _FAULT /* Privilege Violation */
vector09: .long _FAULT /* Trace */
vector0A: .long _FAULT /* Unimplemented A-Line */
vector0B: .long _FAULT /* Unimplemented F-Line */
vector0C: .long _FAULT /* Debug Interrupt */
vector0D: .long _FAULT /* Reserved */
vector0E: .long _FAULT /* Format Error */
vector0F: .long _FAULT /* Unitialized Int. */
vector02_0F:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
/* Reserved */
vector10_17:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
vector18: .long _FAULT /* Spurious Interrupt */
vector19: .long _FAULT /* Autovector Level 1 */
vector1A: .long _FAULT /* Autovector Level 2 */
vector1B: .long _FAULT /* Autovector Level 3 */
vector1C: .long _FAULT /* Autovector Level 4 */
vector1D: .long _FAULT /* Autovector Level 5 */
vector1E: .long _FAULT /* Autovector Level 6 */
vector1F: .long _FAULT /* Autovector Level 7 */
vector18_1F:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
/* TRAP #0 - #15 */
vector20_2F:
......@@ -104,9 +88,9 @@ vector192_255:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
.text
.text
.globl _start
.globl _start
_start:
nop
nop
......@@ -160,6 +144,7 @@ _start:
/* run low-level CPU init code (from flash) */
move.l #cpu_init_f, %a1
jsr (%a1)
/* run low-level board init code (from flash) */
clr.l %sp@-
move.l #board_init_f, %a1
......@@ -167,7 +152,7 @@ _start:
/* board_init_f() does not return */
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/*
* void relocate_code (addr_sp, gd, addr_moni)
......@@ -180,7 +165,7 @@ _start:
* r5 = length in bytes
* r6 = cachelinesize
*/
.globl relocate_code
.globl relocate_code
relocate_code:
link.w %a6,#0
move.l 8(%a6), %sp /* set new stack pointer */
......@@ -248,13 +233,14 @@ clear_bss:
move.l %d0,-(%sp) /* gd */
jsr (%a1)
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/* exception code */
.globl _fault
.globl _fault
_fault:
bra _fault
.globl _exc_handler
.globl _exc_handler
_exc_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -262,7 +248,7 @@ _exc_handler:
addql #4,%sp
RESTORE_ALL
.globl _int_handler
.globl _int_handler
_int_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -270,9 +256,9 @@ _int_handler:
addql #4,%sp
RESTORE_ALL
/*------------------------------------------------------------------------------*/
/******************************************************************************/
.globl version_string
.globl version_string
version_string:
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
......@@ -34,12 +34,12 @@
#if !defined(CONFIG_MONITOR_IS_IN_RAM)
.text
/*
* Vector table. This is used for initial platform startup.
* These vectors are to catch any un-intended traps.
*/
_vectors:
.long 0x00000000 /* Flash offset is 0 until we setup CS0 */
#if defined(CONFIG_M5282) && (CONFIG_SYS_TEXT_BASE == CONFIG_SYS_INT_FLASH_BASE)
.long _start - CONFIG_SYS_TEXT_BASE
......@@ -85,20 +85,20 @@ _vectors:
#endif
.text
.text
#if defined(CONFIG_SYS_INT_FLASH_BASE) && \
(defined(CONFIG_M5282) || defined(CONFIG_M5281))
#if (CONFIG_SYS_TEXT_BASE == CONFIG_SYS_INT_FLASH_BASE)
.long 0x55AA55AA,0xAA55AA55 /* CFM Backdoorkey */
.long 0xFFFFFFFF /* all sectors protected */
.long 0x00000000 /* supervisor/User restriction */
.long 0x00000000 /* programm/data space restriction */
.long 0x00000000 /* Flash security */
#endif
#if (CONFIG_SYS_TEXT_BASE == CONFIG_SYS_INT_FLASH_BASE)
.long 0x55AA55AA,0xAA55AA55 /* CFM Backdoorkey */
.long 0xFFFFFFFF /* all sectors protected */
.long 0x00000000 /* supervisor/User restriction */
.long 0x00000000 /* programm/data space restriction */
.long 0x00000000 /* Flash security */
#endif
#endif
.globl _start
.globl _start
_start:
nop
nop
......@@ -111,22 +111,24 @@ _start:
#endif
#if defined(CONFIG_M5272) || defined(CONFIG_M5249) || defined(CONFIG_M5253)
move.l #(CONFIG_SYS_MBAR + 1), %d0 /* set MBAR address + valid flag */
/* set MBAR address + valid flag */
move.l #(CONFIG_SYS_MBAR + 1), %d0
move.c %d0, %MBAR
/*** The 5249 has MBAR2 as well ***/
#ifdef CONFIG_SYS_MBAR2
move.l #(CONFIG_SYS_MBAR2 + 1), %d0 /* Get MBAR2 address */
movec %d0, #0xc0e /* Set MBAR2 */
/* Get MBAR2 address */
move.l #(CONFIG_SYS_MBAR2 + 1), %d0
/* Set MBAR2 */
movec %d0, #0xc0e
#endif
move.l #(CONFIG_SYS_INIT_RAM_ADDR + 1), %d0
movec %d0, %RAMBAR0
#endif /* CONFIG_M5272 || CONFIG_M5249 || CONFIG_M5253 */
#if defined(CONFIG_M5282) || defined(CONFIG_M5271)
/* Initialize IPSBAR */
move.l #(CONFIG_SYS_MBAR + 1), %d0 /* set IPSBAR address + valid flag */
/* set MBAR address + valid flag */
move.l #(CONFIG_SYS_MBAR + 1), %d0
move.l %d0, 0x40000000
/* Initialize RAMBAR1: locate SRAM and validate it */
......@@ -135,8 +137,10 @@ _start:
#if defined(CONFIG_M5282)
#if (CONFIG_SYS_TEXT_BASE == CONFIG_SYS_INT_FLASH_BASE)
/* Setup code in SRAM to initialize FLASHBAR, if start from internal Flash */
/*
* Setup code in SRAM to initialize FLASHBAR,
* if start from internal Flash
*/
move.l #(_flashbar_setup-CONFIG_SYS_INT_FLASH_BASE), %a0
move.l #(_flashbar_setup_end-CONFIG_SYS_INT_FLASH_BASE), %a1
move.l #(CONFIG_SYS_INIT_RAM_ADDR), %a2
......@@ -162,7 +166,8 @@ _after_flashbar_copy:
#endif
#endif
/* if we come from a pre-loader we have no exception table and
/*
* if we come from a pre-loader we have no exception table and
* therefore no VBR to set
*/
#if !defined(CONFIG_MONITOR_IS_IN_RAM)
......@@ -175,8 +180,8 @@ _after_flashbar_copy:
#endif
#ifdef CONFIG_M5275
/* Initialize IPSBAR */
move.l #(CONFIG_SYS_MBAR + 1), %d0 /* set IPSBAR address + valid flag */
/* set MBAR address + valid flag */
move.l #(CONFIG_SYS_MBAR + 1), %d0
move.l %d0, 0x40000000
/* movec %d0, %MBAR */
......@@ -218,6 +223,7 @@ _after_flashbar_copy:
/* run low-level CPU init code (from flash) */
move.l #cpu_init_f, %a1
jsr (%a1)
/* run low-level board init code (from flash) */
clr.l %sp@-
move.l #board_init_f, %a1
......@@ -225,7 +231,7 @@ _after_flashbar_copy:
/* board_init_f() does not return */
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/*
* void relocate_code (addr_sp, gd, addr_moni)
......@@ -238,7 +244,7 @@ _after_flashbar_copy:
* r5 = length in bytes
* r6 = cachelinesize
*/
.globl relocate_code
.globl relocate_code
relocate_code:
link.w %a6,#0
move.l 8(%a6), %sp /* set new stack pointer */
......@@ -283,7 +289,7 @@ clear_bss:
*/
move.l %a0, %a1
add.l #(__got_start - CONFIG_SYS_MONITOR_BASE),%a1
move.l %a1,%a5 /* * fix got pointer register a5 */
move.l %a1,%a5 /* fix got pointer register a5 */
move.l %a0, %a2
add.l #(__got_end - CONFIG_SYS_MONITOR_BASE),%a2
......@@ -309,13 +315,14 @@ clear_bss:
#endif
jsr (%a1)
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/* exception code */
.globl _fault
.globl _fault
_fault:
bra _fault
.globl _exc_handler
.globl _exc_handler
_exc_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -323,7 +330,7 @@ _exc_handler:
addql #4,%sp
RESTORE_ALL
.globl _int_handler
.globl _int_handler
_int_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -331,9 +338,9 @@ _int_handler:
addql #4,%sp
RESTORE_ALL
/*------------------------------------------------------------------------------*/
/******************************************************************************/
.globl version_string
.globl version_string
version_string:
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
......@@ -36,12 +36,12 @@
#if !defined(CONFIG_MONITOR_IS_IN_RAM)
.text
/*
* Vector table. This is used for initial platform startup.
* These vectors are to catch any un-intended traps.
*/
_vectors:
/* Flash offset is 0 until we setup CS0 */
.long 0x00000000
#if defined(CONFIG_M5307) && \
......@@ -89,8 +89,9 @@ _vectors:
#endif
.text
.globl _start
.text
.globl _start
_start:
nop
nop
......@@ -156,7 +157,7 @@ _start:
/* board_init_f() does not return */
/*--------------------------------------------------------------------------*/
/******************************************************************************/
/*
* void relocate_code (addr_sp, gd, addr_moni)
......@@ -165,7 +166,7 @@ _start:
* after relocating the monitor code.
*
*/
.globl relocate_code
.globl relocate_code
relocate_code:
link.w %a6,#0
move.l 8(%a6), %sp /* set new stack pointer */
......@@ -209,7 +210,8 @@ clear_bss:
*/
move.l %a0, %a1
add.l #(__got_start - CONFIG_SYS_MONITOR_BASE), %a1
/* * fix got pointer register a5 */
/* fix got pointer register a5 */
move.l %a1,%a5
move.l %a0, %a2
......@@ -236,13 +238,14 @@ clear_bss:
#endif
jsr (%a1)
/*--------------------------------------------------------------------------*/
/******************************************************************************/
/* exception code */
.globl _fault
.globl _fault
_fault:
bra _fault
.globl _exc_handler
.globl _exc_handler
_exc_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -250,7 +253,7 @@ _exc_handler:
addql #4,%sp
RESTORE_ALL
.globl _int_handler
.globl _int_handler
_int_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -258,11 +261,11 @@ _int_handler:
addql #4,%sp
RESTORE_ALL
/*--------------------------------------------------------------------------*/
/******************************************************************************/
.globl version_string
.globl version_string
version_string:
.ascii U_BOOT_VERSION
.ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")"
.ascii CONFIG_IDENT_STRING, "\0"
.align 4
.ascii U_BOOT_VERSION
.ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")"
.ascii CONFIG_IDENT_STRING, "\0"
.align 4
......@@ -31,42 +31,27 @@
rte;
#if !defined(CONFIG_MONITOR_IS_IN_RAM)
.text
/*
* Vector table. This is used for initial platform startup.
* These vectors are to catch any un-intended traps.
*/
_vectors:
INITSP: .long 0x00000000 /* Initial SP */
INITPC: .long _START /* Initial PC */
vector02: .long _FAULT /* Access Error */
vector03: .long _FAULT /* Address Error */
vector04: .long _FAULT /* Illegal Instruction */
vector05: .long _FAULT /* Reserved */
vector06: .long _FAULT /* Reserved */
vector07: .long _FAULT /* Reserved */
vector08: .long _FAULT /* Privilege Violation */
vector09: .long _FAULT /* Trace */
vector0A: .long _FAULT /* Unimplemented A-Line */
vector0B: .long _FAULT /* Unimplemented F-Line */
vector0C: .long _FAULT /* Debug Interrupt */
vector0D: .long _FAULT /* Reserved */
vector0E: .long _FAULT /* Format Error */
vector0F: .long _FAULT /* Unitialized Int. */
vector02_0F:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
/* Reserved */
vector10_17:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
vector18: .long _FAULT /* Spurious Interrupt */
vector19: .long _FAULT /* Autovector Level 1 */
vector1A: .long _FAULT /* Autovector Level 2 */
vector1B: .long _FAULT /* Autovector Level 3 */
vector1C: .long _FAULT /* Autovector Level 4 */
vector1D: .long _FAULT /* Autovector Level 5 */
vector1E: .long _FAULT /* Autovector Level 6 */
vector1F: .long _FAULT /* Autovector Level 7 */
vector18_1F:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
/* TRAP #0 - #15 */
vector20_2F:
......@@ -109,9 +94,9 @@ vector192_255:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
#endif /* !defined(CONFIG_MONITOR_IS_IN_RAM) */
.text
.text
.globl _start
.globl _start
_start:
nop
nop
......@@ -174,6 +159,7 @@ _start:
/* run low-level CPU init code (from flash) */
move.l #cpu_init_f, %a1
jsr (%a1)
/* run low-level board init code (from flash) */
clr.l %sp@-
move.l #board_init_f, %a1
......@@ -181,7 +167,7 @@ _start:
/* board_init_f() does not return */
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/*
* void relocate_code (addr_sp, gd, addr_moni)
......@@ -194,7 +180,7 @@ _start:
* r5 = length in bytes
* r6 = cachelinesize
*/
.globl relocate_code
.globl relocate_code
relocate_code:
link.w %a6,#0
move.l 8(%a6), %sp /* set new stack pointer */
......@@ -240,7 +226,7 @@ clear_bss:
*/
move.l %a0, %a1
add.l #(__got_start - CONFIG_SYS_MONITOR_BASE),%a1
move.l %a1,%a5 /* * fix got pointer register a5 */
move.l %a1,%a5 /* fix got pointer register a5 */
move.l %a0, %a2
add.l #(__got_end - CONFIG_SYS_MONITOR_BASE),%a2
......@@ -262,13 +248,14 @@ clear_bss:
move.l %d0,-(%sp) /* gd */
jsr (%a1)
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/* exception code */
.globl _fault
.globl _fault
_fault:
bra _fault
.globl _exc_handler
.globl _exc_handler
_exc_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -276,7 +263,7 @@ _exc_handler:
addql #4,%sp
RESTORE_ALL
.globl _int_handler
.globl _int_handler
_int_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -284,8 +271,9 @@ _int_handler:
addql #4,%sp
RESTORE_ALL
/*------------------------------------------------------------------------------*/
.globl version_string
/******************************************************************************/
.globl version_string
version_string:
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
......@@ -33,9 +33,11 @@
rte;
#if defined(CONFIG_SERIAL_BOOT)
#define ASM_DRAMINIT (asm_dram_init - CONFIG_SYS_TEXT_BASE + CONFIG_SYS_INIT_RAM_ADDR)
#define ASM_DRAMINIT (asm_dram_init - CONFIG_SYS_TEXT_BASE + \
CONFIG_SYS_INIT_RAM_ADDR)
#define ASM_DRAMINIT_N (asm_dram_init - CONFIG_SYS_TEXT_BASE)
#define ASM_SBF_IMG_HDR (asm_sbf_img_hdr - CONFIG_SYS_TEXT_BASE + CONFIG_SYS_INIT_RAM_ADDR)
#define ASM_SBF_IMG_HDR (asm_sbf_img_hdr - CONFIG_SYS_TEXT_BASE + \
CONFIG_SYS_INIT_RAM_ADDR)
#endif
.text
......@@ -62,33 +64,16 @@ INITPC: .long _START /* Initial PC */
#endif
vector02: .long _FAULT /* Access Error */
vector03: .long _FAULT /* Address Error */
vector04: .long _FAULT /* Illegal Instruction */
vector05: .long _FAULT /* Reserved */
vector06: .long _FAULT /* Reserved */
vector07: .long _FAULT /* Reserved */
vector08: .long _FAULT /* Privilege Violation */
vector09: .long _FAULT /* Trace */
vector0A: .long _FAULT /* Unimplemented A-Line */
vector0B: .long _FAULT /* Unimplemented F-Line */
vector0C: .long _FAULT /* Debug Interrupt */
vector0D: .long _FAULT /* Reserved */
vector0E: .long _FAULT /* Format Error */
vector0F: .long _FAULT /* Unitialized Int. */
vector02_0F:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
/* Reserved */
vector10_17:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
vector18: .long _FAULT /* Spurious Interrupt */
vector19: .long _FAULT /* Autovector Level 1 */
vector1A: .long _FAULT /* Autovector Level 2 */
vector1B: .long _FAULT /* Autovector Level 3 */
vector1C: .long _FAULT /* Autovector Level 4 */
vector1D: .long _FAULT /* Autovector Level 5 */
vector1E: .long _FAULT /* Autovector Level 6 */
vector1F: .long _FAULT /* Autovector Level 7 */
vector18_1F:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
#if !defined(CONFIG_SERIAL_BOOT)
......@@ -571,7 +556,7 @@ asm_nand_init:
move.l #4, %d2 /* start at 4 */
move.l #0xFC0FFF04, %a0 /* cmd2 */
move.l #0xFC0FFF0C, %a1 /* rar */
move.l #(CONFIG_SYS_TEXT_BASE + 0xF80), %a2 /* dst */
move.l #(CONFIG_SYS_TEXT_BASE + 0xF80), %a2
asm_nand_read:
move.l #0x11000000, %d0 /* rar */
......@@ -621,9 +606,9 @@ asm_delay:
rts
#endif /* CONFIG_CF_SBF || CONFIG_NAND_U_BOOT */
.text
.text
. = 0x400
.globl _start
.globl _start
_start:
#if !defined(CONFIG_SERIAL_BOOT)
nop
......@@ -683,6 +668,7 @@ _start:
/* run low-level CPU init code (from flash) */
move.l #cpu_init_f, %a1
jsr (%a1)
/* run low-level board init code (from flash) */
clr.l %sp@-
move.l #board_init_f, %a1
......@@ -690,7 +676,7 @@ _start:
/* board_init_f() does not return */
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/*
* void relocate_code (addr_sp, gd, addr_moni)
......@@ -703,7 +689,7 @@ _start:
* r5 = length in bytes
* r6 = cachelinesize
*/
.globl relocate_code
.globl relocate_code
relocate_code:
link.w %a6,#0
move.l 8(%a6), %sp /* set new stack pointer */
......@@ -749,7 +735,7 @@ clear_bss:
*/
move.l %a0, %a1
add.l #(__got_start - CONFIG_SYS_MONITOR_BASE),%a1
move.l %a1,%a5 /* * fix got pointer register a5 */
move.l %a1,%a5 /* fix got pointer register a5 */
move.l %a0, %a2
add.l #(__got_end - CONFIG_SYS_MONITOR_BASE),%a2
......@@ -771,13 +757,14 @@ clear_bss:
move.l %d0,-(%sp) /* gd */
jsr (%a1)
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/* exception code */
.globl _fault
.globl _fault
_fault:
bra _fault
.globl _exc_handler
.globl _exc_handler
_exc_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -785,7 +772,7 @@ _exc_handler:
addql #4,%sp
RESTORE_ALL
.globl _int_handler
.globl _int_handler
_int_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -793,9 +780,9 @@ _int_handler:
addql #4,%sp
RESTORE_ALL
/*------------------------------------------------------------------------------*/
/******************************************************************************/
.globl version_string
.globl version_string
version_string:
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
......@@ -28,41 +28,25 @@
rte;
.text
/*
* Vector table. This is used for initial platform startup.
* These vectors are to catch any un-intended traps.
*/
_vectors:
INITSP: .long 0x00000000 /* Initial SP */
INITPC: .long _START /* Initial PC */
vector02: .long _FAULT /* Access Error */
vector03: .long _FAULT /* Address Error */
vector04: .long _FAULT /* Illegal Instruction */
vector05: .long _FAULT /* Reserved */
vector06: .long _FAULT /* Reserved */
vector07: .long _FAULT /* Reserved */
vector08: .long _FAULT /* Privilege Violation */
vector09: .long _FAULT /* Trace */
vector0A: .long _FAULT /* Unimplemented A-Line */
vector0B: .long _FAULT /* Unimplemented F-Line */
vector0C: .long _FAULT /* Debug Interrupt */
vector0D: .long _FAULT /* Reserved */
vector0E: .long _FAULT /* Format Error */
vector0F: .long _FAULT /* Unitialized Int. */
vector02_0F:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
/* Reserved */
vector10_17:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
vector18: .long _FAULT /* Spurious Interrupt */
vector19: .long _FAULT /* Autovector Level 1 */
vector1A: .long _FAULT /* Autovector Level 2 */
vector1B: .long _FAULT /* Autovector Level 3 */
vector1C: .long _FAULT /* Autovector Level 4 */
vector1D: .long _FAULT /* Autovector Level 5 */
vector1E: .long _FAULT /* Autovector Level 6 */
vector1F: .long _FAULT /* Autovector Level 7 */
vector18_1F:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
/* TRAP #0 - #15 */
vector20_2F:
......@@ -104,9 +88,9 @@ vector192_255:
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
.text
.text
.globl _start
.globl _start
_start:
nop
nop
......@@ -162,13 +146,16 @@ _start:
move.l %d0, -(%sp)
bsr board_init_f_init_reserve
jbsr cpu_init_f /* run low-level CPU init code (from flash) */
/* run low-level CPU init code (from flash) */
jbsr cpu_init_f
/* run low-level board init code (from flash) */
clr.l %sp@-
jbsr board_init_f /* run low-level board init code (from flash) */
jbsr board_init_f
/* board_init_f() does not return */
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/*
* void relocate_code (addr_sp, gd, addr_moni)
......@@ -181,7 +168,7 @@ _start:
* r5 = length in bytes
* r6 = cachelinesize
*/
.globl relocate_code
.globl relocate_code
relocate_code:
link.w %a6,#0
move.l 8(%a6), %sp /* set new stack pointer */
......@@ -227,7 +214,7 @@ clear_bss:
*/
move.l %a0, %a1
add.l #(__got_start - CONFIG_SYS_MONITOR_BASE),%a1
move.l %a1,%a5 /* * fix got pointer register a5 */
move.l %a1,%a5 /* fix got pointer register a5 */
move.l %a0, %a2
add.l #(__got_end - CONFIG_SYS_MONITOR_BASE),%a2
......@@ -249,13 +236,14 @@ clear_bss:
move.l %d0,-(%sp) /* gd */
jsr (%a1)
/*------------------------------------------------------------------------------*/
/******************************************************************************/
/* exception code */
.globl _fault
.globl _fault
_fault:
bra _fault
.globl _exc_handler
.globl _exc_handler
_exc_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -263,7 +251,7 @@ _exc_handler:
addql #4,%sp
RESTORE_ALL
.globl _int_handler
.globl _int_handler
_int_handler:
SAVE_ALL
movel %sp,%sp@-
......@@ -271,9 +259,9 @@ _int_handler:
addql #4,%sp
RESTORE_ALL
/*------------------------------------------------------------------------------*/
/******************************************************************************/
.globl version_string
.globl version_string
version_string:
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
.ascii U_BOOT_VERSION_STRING, "\0"
.align 4
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册