Path: blob/master/arch/h8300/platform/h8s/generic/crt0_ram.S
10820 views
/*1* linux/arch/h8300/platform/h8s/edosk2674/crt0_ram.S2*3* Yoshinori Sato <[email protected]>4*5* Platform depend startup6* Target Archtecture: generic7* Memory Layout : RAM8*/910#define ASSEMBLY1112#include <asm/linkage.h>13#include <asm/regs267x.h>1415#if !defined(CONFIG_BLKDEV_RESERVE)16#if defined(CONFIG_GDB_DEBUG)17#define RAMEND (__ramend - 0xc000)18#else19#define RAMEND __ramend20#endif21#else22#define RAMEND CONFIG_BLKDEV_RESERVE_ADDRESS23#endif2425.global SYMBOL_NAME(_start)26.global SYMBOL_NAME(_command_line)27.global SYMBOL_NAME(_platform_gpio_table)28.global SYMBOL_NAME(_target_name)2930.h8300s3132.section .text33.file "crt0_ram.S"3435/* CPU Reset entry */36SYMBOL_NAME_LABEL(_start)37mov.l #RAMEND,sp38ldc #0x80,ccr39ldc #0x00,exr4041/* Peripheral Setup */42bclr #4,@INTCR:8 /* interrupt mode 2 */43bset #5,@INTCR:84445#if defined(CONFIG_MTD_UCLINUX)46/* move romfs image */47jsr @__move_romfs48#endif4950/* .bss clear */51mov.l #__sbss,er552mov.l er5,er653mov.l #__ebss,er454sub.l er5,er455shlr #2,er456sub.l er0,er0571:58mov.l er0,@er559adds #4,er560dec.l #1,er461bne 1b6263/* copy kernel commandline */64mov.l #COMMAND_START,er565mov.l #SYMBOL_NAME(command_line),er666mov.w #512,r467eepmov.w6869/* uClinux kernel start */70ldc #0x90,ccr /* running kernel */71mov.l #SYMBOL_NAME(init_thread_union),sp72add.l #0x2000,sp73jsr @_start_kernel74_exit:7576jmp _exit7778rts7980/* I/O port assign information */81__platform_gpio_table:82mov.l #gpio_table,er083rts8485gpio_table:86;; P1DDR87;; used,ddr88.byte 0x00,0x0089;; P2DDR90.byte 0x00,0x0091;; P3DDR92.byte 0x00,0x0093;; dummy94.byte 0x00,0x0095;; P5DDR96.byte 0x00,0x0097;; P6DDR98.byte 0x00,0x0099;; P7DDR100.byte 0x00,0x00101;; P8DDR102.byte 0x00,0x00103;; dummy104.byte 0x00,0x00105;; PADDR106.byte 0x00,0x00107;; PBDDR108.byte 0x00,0x00109;; PCDDR110.byte 0x00,0x00111;; PDDDR112.byte 0x00,0x00113;; PEDDR114.byte 0x00,0x00115;; PFDDR116.byte 0x00,0x00117;; PGDDR118.byte 0x00,0x00119;; PHDDR120.byte 0x00,0x00121122__target_name:123.asciz "generic"124125.section .bootvec,"ax"126jmp @SYMBOL_NAME(_start)127128129