Cleanup whitespace, remove old author tag

Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
This commit is contained in:
Jesper Nilsson 2014-01-09 17:18:51 +01:00
parent bb1d2a9453
commit e7672be573

View File

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