Cleanup whitespace, remove old author tag
authorJesper Nilsson <jespern@axis.com>
Thu, 9 Jan 2014 16:18:51 +0000 (17:18 +0100)
committerJesper Nilsson <jespern@axis.com>
Thu, 9 Jan 2014 16:18:51 +0000 (17:18 +0100)
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
arch/cris/arch-v10/kernel/head.S

index a1f2014..137bf52 100644 (file)
@@ -1,12 +1,10 @@
 /*
  * Head of the kernel - alter with care
  *
- * Copyright (C) 2000, 2001 Axis Communications AB
+ * Copyright (C) 2000, 2001, 2010 Axis Communications AB
  *
- * Authors:    Bjorn Wesen (bjornw@axis.com)
- * 
  */
-       
+
 #define ASSEMBLER_MACROS_ONLY
 /* The IO_* macros use the ## token concatenation operator, so
    -traditional must not be used when assembling this file.  */
 
 #define START_ETHERNET_CLOCK IO_STATE(R_NETWORK_GEN_CONFIG, enable, on) |\
                              IO_STATE(R_NETWORK_GEN_CONFIG, phy, mii_clk)
-                               
+
        ;; exported symbols
-               
+
        .globl  etrax_irv
        .globl  romfs_start
        .globl  romfs_length
        .globl  romfs_in_flash
        .globl  swapper_pg_dir
-                                       
+
        .text
 
        ;; This is the entry point of the kernel. We are in supervisor mode.
        ;; put a nop (2 bytes) here first so we dont accidentally skip the di
        ;;
        ;; NOTICE! The registers r8 and r9 are used as parameters carrying
-       ;; information from the decompressor (if the kernel was compressed). 
+       ;; information from the decompressor (if the kernel was compressed).
        ;; They should not be used in the code below until read.
-       
-       nop     
+
+       nop
        di
 
        ;; First setup the kseg_c mapping from where the kernel is linked
 
 #ifdef CONFIG_CRIS_LOW_MAP
        ; kseg mappings, temporary map of 0xc0->0x40
-       move.d    IO_FIELD (R_MMU_KBASE_HI, base_c, 4)          \
+       move.d    IO_FIELD (R_MMU_KBASE_HI, base_c, 4)          \
                | IO_FIELD (R_MMU_KBASE_HI, base_b, 0xb)        \
                | IO_FIELD (R_MMU_KBASE_HI, base_9, 9)          \
                | IO_FIELD (R_MMU_KBASE_HI, base_8, 8), $r0
        move.d  $r0, [R_MMU_KBASE_HI]
 
-       ; temporary map of 0x40->0x40 and 0x60->0x40 
-       move.d    IO_FIELD (R_MMU_KBASE_LO, base_6, 4)          \
+       ; temporary map of 0x40->0x40 and 0x60->0x40
+       move.d    IO_FIELD (R_MMU_KBASE_LO, base_6, 4)          \
                | IO_FIELD (R_MMU_KBASE_LO, base_4, 4), $r0
        move.d  $r0, [R_MMU_KBASE_LO]
 
        ; mmu enable, segs e,c,b,a,6,5,4,0 segment mapped
-       move.d    IO_STATE (R_MMU_CONFIG, mmu_enable, enable)   \
+       move.d    IO_STATE (R_MMU_CONFIG, mmu_enable, enable)   \
                | IO_STATE (R_MMU_CONFIG, inv_excp, enable)     \
                | IO_STATE (R_MMU_CONFIG, acc_excp, enable)     \
                | IO_STATE (R_MMU_CONFIG, we_excp, enable)      \
        move.d  $r0, [R_MMU_CONFIG]
 #else
        ; kseg mappings
-       move.d    IO_FIELD (R_MMU_KBASE_HI, base_e, 8)          \
+       move.d    IO_FIELD (R_MMU_KBASE_HI, base_e, 8)          \
                | IO_FIELD (R_MMU_KBASE_HI, base_c, 4)          \
                | IO_FIELD (R_MMU_KBASE_HI, base_b, 0xb), $r0
        move.d  $r0, [R_MMU_KBASE_HI]
 
-       ; temporary map of 0x40->0x40 and 0x00->0x00 
+       ; temporary map of 0x40->0x40 and 0x00->0x00
        move.d    IO_FIELD (R_MMU_KBASE_LO, base_4, 4), $r0
        move.d  $r0, [R_MMU_KBASE_LO]
 
        ; mmu enable, segs f,e,c,b,4,0 segment mapped
-       move.d    IO_STATE (R_MMU_CONFIG, mmu_enable, enable)   \
+       move.d    IO_STATE (R_MMU_CONFIG, mmu_enable, enable)   \
                | IO_STATE (R_MMU_CONFIG, inv_excp, enable)     \
                | IO_STATE (R_MMU_CONFIG, acc_excp, enable)     \
                | IO_STATE (R_MMU_CONFIG, we_excp, enable)      \
        ;;
        ;; In both cases, we start in un-cached mode, and need to jump into a
        ;; cached PC after we're done fiddling around with the segments.
-       ;; 
+       ;;
        ;; arch/etrax100/etrax100.ld sets some symbols that define the start
        ;; and end of each segment.
 
        ;; Check if we start from DRAM or FLASH by testing PC
-       
+
        move.d  $pc,$r0
        and.d   0x7fffffff,$r0  ; get rid of the non-cache bit
        cmp.d   0x10000,$r0     ; arbitrary... just something above this code
@@ -163,7 +161,7 @@ _inflash0:
        ;; after init.
        .section ".init.text", "ax"
 _inflash:
-#ifdef CONFIG_ETRAX_ETHERNET   
+#ifdef CONFIG_ETRAX_ETHERNET
        ;; Start MII clock to make sure it is running when tranceiver is reset
        move.d START_ETHERNET_CLOCK, $r0
        move.d $r0, [R_NETWORK_GEN_CONFIG]
@@ -183,10 +181,10 @@ _inflash:
        cmp.d   RAM_INIT_MAGIC, $r8     ; Already initialized?
        beq     _dram_init_finished
        nop
-       
+
 #include "../lib/dram_init.S"
 
-_dram_init_finished:           
+_dram_init_finished:
        ;; Copy text+data to DRAM
        ;; This is fragile - the calculation of r4 as the image size depends
        ;; on that the labels below actually are the first and last positions
@@ -198,7 +196,7 @@ _dram_init_finished:
        ;; between the physical start of the flash and the flash-image start,
        ;; and when run with compression, the kernel is actually unpacked to
        ;; DRAM and we never get here in the first place :))
-       
+
        moveq   0, $r0                  ; source
        move.d  text_start, $r1         ; destination
        move.d  __vmlinux_end, $r2      ; end destination
@@ -229,10 +227,10 @@ _dram_init_finished:
        add.d   0xf0000000, $r4 ; add flash start in virtual memory (cached)
 #endif
        move.d  $r4, [romfs_start]
-1:     
+1:
        moveq   1, $r0
        move.d  $r0, [romfs_in_flash]
-               
+
        jump    _start_it       ; enter code, cached this time
 
 _inram:
@@ -241,7 +239,7 @@ _inram:
 
        moveq   0, $r0
        move.d  $r0, [romfs_length] ; default if there is no cramfs
-       
+
        ;; The kernel could have been unpacked to DRAM by the loader, but
        ;; the cramfs image could still be in the Flash directly after the
        ;; compressed kernel image. The loader passes the address of the
@@ -251,7 +249,7 @@ _inram:
        ;; (Notice that if this is not booted from the loader, r9 will be
        ;;  garbage but we do sanity checks on it, the chance that it points
        ;;  to a cramfs magic is small.. )
-       
+
        cmp.d   0x0ffffff8, $r9
        bhs     _no_romfs_in_flash      ; r9 points outside the flash area
        nop
@@ -274,7 +272,7 @@ _inram:
        jump    _start_it       ; enter code, cached this time
 
 _no_romfs_in_flash:
-       
+
        ;; Check if there is a cramfs (magic value).
        ;; Notice that we check for cramfs magic value - which is
        ;; the "rom fs" we'll possibly use in 2.4 if not JFFS (which does
@@ -286,8 +284,8 @@ _no_romfs_in_flash:
        bne     2f
        nop
 
-       ;; Ok. What is its size ? 
-       
+       ;; Ok. What is its size ?
+
        move.d  [$r0 + 4], $r2  ; cramfs_super.size (again, no need to swapwb)
 
        ;; We want to copy it to the end of the BSS
@@ -303,7 +301,7 @@ _no_romfs_in_flash:
 
        add.d   $r2, $r0
        add.d   $r2, $r1
-               
+
        ;; Go ahead. Make my loop.
 
        lsrq    1, $r2          ; size is in bytes, we copy words
@@ -314,14 +312,14 @@ _no_romfs_in_flash:
        bne     1b
        nop
 
-2:             
+2:
        ;; Dont worry that the BSS is tainted. It will be cleared later.
 
        moveq   0, $r0
        move.d  $r0, [romfs_in_flash]
 
        jump    _start_it       ; better skip the additional cramfs check below
-       
+
 _start_it:
 
        ;; Check if kernel command line is supplied
@@ -348,7 +346,7 @@ no_command_line:
        move.d  ibr_start,$r0   ; this symbol is set by the linker script 
        move    $r0,$ibr
        move.d  $r0,[etrax_irv] ; set the interrupt base register and pointer
-       
+
        ;; Clear BSS region, from _bss_start to _end
 
        move.d  __bss_start, $r0
@@ -357,7 +355,7 @@ no_command_line:
        cmp.d   $r1, $r0
        blo     1b
        nop
-       
+
 #ifdef CONFIG_BLK_DEV_ETRAXIDE
        ;; disable ATA before enabling it in genconfig below
        moveq   0,$r0
@@ -380,7 +378,7 @@ no_command_line:
 
 #ifdef CONFIG_JULIETTE
        ;; configure external DMA channel 0 before enabling it in genconfig
-       
+
        moveq   0,$r0
        move.d  $r0,[R_EXT_DMA_0_ADDR]
        ; cnt enable, word size, output, stop, size 0
@@ -395,7 +393,7 @@ no_command_line:
        move.d  $r0,[R_EXT_DMA_0_CMD]
 
        ;; reset dma4 and wait for completion
-       
+
        moveq   IO_STATE (R_DMA_CH4_CMD, cmd, reset),$r0
        move.b  $r0,[R_DMA_CH4_CMD]
 1:     move.b  [R_DMA_CH4_CMD],$r0
@@ -405,7 +403,7 @@ no_command_line:
        nop
 
        ;; reset dma5 and wait for completion
-       
+
        moveq   IO_STATE (R_DMA_CH5_CMD, cmd, reset),$r0
        move.b  $r0,[R_DMA_CH5_CMD]
 1:     move.b  [R_DMA_CH5_CMD],$r0
@@ -413,8 +411,8 @@ no_command_line:
        cmp.b   IO_STATE (R_DMA_CH5_CMD, cmd, reset),$r0
        beq     1b
        nop
-#endif 
-                       
+#endif
+
        ;; Etrax product HW genconfig setup
 
        moveq   0,$r0
@@ -486,7 +484,7 @@ no_command_line:
        beq     1b
        nop
 #endif
-       
+
        moveq   IO_STATE (R_DMA_CH8_CMD, cmd, reset),$r0
        move.b  $r0,[R_DMA_CH8_CMD]     ; reset (ser1 dma out)
        move.b  $r0,[R_DMA_CH9_CMD]     ; reset (ser1 dma in)
@@ -503,7 +501,7 @@ no_command_line:
 
        ;; setup port PA and PB default initial directions and data
        ;; including their shadow registers
-               
+
        move.b  CONFIG_ETRAX_DEF_R_PORT_PA_DIR,$r0
 #if defined(CONFIG_BLUETOOTH) && defined(CONFIG_BLUETOOTH_RESET_PA7)
        or.b    IO_STATE (R_PORT_PA_DIR, dir7, output),$r0
@@ -520,7 +518,7 @@ no_command_line:
 #endif
        move.b  $r0,[port_pa_data_shadow]
        move.b  $r0,[R_PORT_PA_DATA]
-       
+
        move.b  CONFIG_ETRAX_DEF_R_PORT_PB_CONFIG,$r0
        move.b  $r0,[port_pb_config_shadow]
        move.b  $r0,[R_PORT_PB_CONFIG]
@@ -562,13 +560,13 @@ no_command_line:
 #endif
        move.d  $r0,[port_g_data_shadow]
        move.d  $r0,[R_PORT_G_DATA]
-       
+
        ;; setup the serial port 0 at 115200 baud for debug purposes
-       
+
        moveq     IO_STATE (R_SERIAL0_XOFF, tx_stop, enable)            \
                | IO_STATE (R_SERIAL0_XOFF, auto_xoff, disable)         \
                | IO_FIELD (R_SERIAL0_XOFF, xoff_char, 0),$r0
-       move.d  $r0,[R_SERIAL0_XOFF] 
+       move.d  $r0,[R_SERIAL0_XOFF]
 
        ; 115.2kbaud for both transmit and receive
        move.b    IO_STATE (R_SERIAL0_BAUD, tr_baud, c115k2Hz)          \
@@ -584,8 +582,8 @@ no_command_line:
                | IO_STATE (R_SERIAL0_REC_CTRL, rec_par, even)          \
                | IO_STATE (R_SERIAL0_REC_CTRL, rec_par_en, disable)    \
                | IO_STATE (R_SERIAL0_REC_CTRL, rec_bitnr, rec_8bit),$r0
-       move.b  $r0,[R_SERIAL0_REC_CTRL] 
-       
+       move.b  $r0,[R_SERIAL0_REC_CTRL]
+
        ; Set up and enable the serial0 transmitter.
        move.b    IO_FIELD (R_SERIAL0_TR_CTRL, txd, 0)                  \
                | IO_STATE (R_SERIAL0_TR_CTRL, tr_enable, enable)       \
@@ -598,11 +596,11 @@ no_command_line:
        move.b  $r0,[R_SERIAL0_TR_CTRL]
 
        ;; setup the serial port 1 at 115200 baud for debug purposes
-       
+
        moveq     IO_STATE (R_SERIAL1_XOFF, tx_stop, enable)            \
                | IO_STATE (R_SERIAL1_XOFF, auto_xoff, disable)         \
                | IO_FIELD (R_SERIAL1_XOFF, xoff_char, 0),$r0
-       move.d  $r0,[R_SERIAL1_XOFF] 
+       move.d  $r0,[R_SERIAL1_XOFF]
 
        ; 115.2kbaud for both transmit and receive
        move.b    IO_STATE (R_SERIAL1_BAUD, tr_baud, c115k2Hz)          \
@@ -618,8 +616,8 @@ no_command_line:
                | IO_STATE (R_SERIAL1_REC_CTRL, rec_par, even)          \
                | IO_STATE (R_SERIAL1_REC_CTRL, rec_par_en, disable)    \
                | IO_STATE (R_SERIAL1_REC_CTRL, rec_bitnr, rec_8bit),$r0
-       move.b  $r0,[R_SERIAL1_REC_CTRL] 
-       
+       move.b  $r0,[R_SERIAL1_REC_CTRL]
+
        ; Set up and enable the serial1 transmitter.
        move.b    IO_FIELD (R_SERIAL1_TR_CTRL, txd, 0)                  \
                | IO_STATE (R_SERIAL1_TR_CTRL, tr_enable, enable)       \
@@ -666,14 +664,14 @@ no_command_line:
                | IO_STATE (R_SERIAL2_TR_CTRL, tr_bitnr, tr_8bit),$r0
        move.b  $r0,[R_SERIAL2_TR_CTRL]
 #endif
-       
-#ifdef CONFIG_ETRAX_SERIAL_PORT3       
+
+#ifdef CONFIG_ETRAX_SERIAL_PORT3
        ;; setup the serial port 3 at 115200 baud for debug purposes
-       
+
        moveq     IO_STATE (R_SERIAL3_XOFF, tx_stop, enable)            \
                | IO_STATE (R_SERIAL3_XOFF, auto_xoff, disable)         \
                | IO_FIELD (R_SERIAL3_XOFF, xoff_char, 0),$r0
-       move.d  $r0,[R_SERIAL3_XOFF] 
+       move.d  $r0,[R_SERIAL3_XOFF]
 
        ; 115.2kbaud for both transmit and receive
        move.b    IO_STATE (R_SERIAL3_BAUD, tr_baud, c115k2Hz)          \
@@ -689,8 +687,8 @@ no_command_line:
                | IO_STATE (R_SERIAL3_REC_CTRL, rec_par, even)          \
                | IO_STATE (R_SERIAL3_REC_CTRL, rec_par_en, disable)    \
                | IO_STATE (R_SERIAL3_REC_CTRL, rec_bitnr, rec_8bit),$r0
-       move.b  $r0,[R_SERIAL3_REC_CTRL] 
-       
+       move.b  $r0,[R_SERIAL3_REC_CTRL]
+
        ; Set up and enable the serial3 transmitter.
        move.b    IO_FIELD (R_SERIAL3_TR_CTRL, txd, 0)                  \
                | IO_STATE (R_SERIAL3_TR_CTRL, tr_enable, enable)       \
@@ -702,13 +700,13 @@ no_command_line:
                | IO_STATE (R_SERIAL3_TR_CTRL, tr_bitnr, tr_8bit),$r0
        move.b  $r0,[R_SERIAL3_TR_CTRL]
 #endif
-       
+
 #endif /* CONFIG_SVINTO_SIM */
 
        jump    start_kernel    ; jump into the C-function start_kernel in init/main.c
-               
+
        .data
-etrax_irv:     
+etrax_irv:
        .dword  0
 romfs_start:
        .dword  0
@@ -716,13 +714,13 @@ romfs_length:
        .dword  0
 romfs_in_flash:
        .dword  0
-       
+
        ;; put some special pages at the beginning of the kernel aligned
        ;; to page boundaries - the kernel cannot start until after this
 
 #ifdef CONFIG_CRIS_LOW_MAP
 swapper_pg_dir = 0x60002000
-#else  
+#else
 swapper_pg_dir = 0xc0002000
 #endif