Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/mips32/src/asm.S

    r63a045c rdabaa83  
    3636.section BOOTSTRAP
    3737
     38/*
     39 * Registers on entry:
     40 *
     41 *   a0: kernel argument count (kargc)
     42 *   a1: kernel argument vector (kargv) of kargc elements
     43 *   a2: unused here (kenvp on Malta)
     44 *   a3: RAM size on Malta
     45 *
     46 * This is the case on Malta.
     47 * msim clears these registers, so it is de facto correct as well.
     48 */
    3849SYMBOL(start)
    3950        /*
     
    4354         *  - Disable 64-bit user addressing mode
    4455         */
    45         mfc0 $a0, $status
    46         la $a1, 0xffffff1f
    47         and $a0, $a1, $a0
    48         mtc0 $a0, $status
     56        mfc0 $t0, $status
     57        la $t1, 0xffffff1f
     58        and $t0, $t1, $t0
     59        mtc0 $t0, $status
    4960
    5061#if defined(MACHINE_lmalta) || defined(MACHINE_bmalta)
     
    5263         * Remember the size of the SDRAM in bootinfo.
    5364         */
    54         la $a0, PA2KA(BOOTINFO_OFFSET)
    55         sw $a3, 0($a0)
     65        la $t0, PA2KA(BOOTINFO_OFFSET)
     66        sw $a3, 0($t0)
    5667#endif
    5768
     
    6172         * but it not an issue).
    6273         */
    63         la $a0, PA2KA(CPUMAP_OFFSET)
     74        la $t0, PA2KA(CPUMAP_OFFSET)
    6475
    65         sw $zero, 0($a0)
    66         sw $zero, 4($a0)
    67         sw $zero, 8($a0)
    68         sw $zero, 12($a0)
     76        sw $zero, 0($t0)
     77        sw $zero, 4($t0)
     78        sw $zero, 8($t0)
     79        sw $zero, 12($t0)
    6980
    70         sw $zero, 16($a0)
    71         sw $zero, 20($a0)
    72         sw $zero, 24($a0)
    73         sw $zero, 28($a0)
     81        sw $zero, 16($t0)
     82        sw $zero, 20($t0)
     83        sw $zero, 24($t0)
     84        sw $zero, 28($t0)
    7485
    75         sw $zero, 32($a0)
    76         sw $zero, 36($a0)
    77         sw $zero, 40($a0)
    78         sw $zero, 44($a0)
     86        sw $zero, 32($t0)
     87        sw $zero, 36($t0)
     88        sw $zero, 40($t0)
     89        sw $zero, 44($t0)
    7990
    80         sw $zero, 48($a0)
    81         sw $zero, 52($a0)
    82         sw $zero, 56($a0)
    83         sw $zero, 60($a0)
     91        sw $zero, 48($t0)
     92        sw $zero, 52($t0)
     93        sw $zero, 56($t0)
     94        sw $zero, 60($t0)
    8495
    85         sw $zero, 64($a0)
    86         sw $zero, 68($a0)
    87         sw $zero, 72($a0)
    88         sw $zero, 76($a0)
     96        sw $zero, 64($t0)
     97        sw $zero, 68($t0)
     98        sw $zero, 72($t0)
     99        sw $zero, 76($t0)
    89100
    90         sw $zero, 80($a0)
    91         sw $zero, 84($a0)
    92         sw $zero, 88($a0)
    93         sw $zero, 92($a0)
     101        sw $zero, 80($t0)
     102        sw $zero, 84($t0)
     103        sw $zero, 88($t0)
     104        sw $zero, 92($t0)
    94105
    95         sw $zero, 96($a0)
    96         sw $zero, 100($a0)
    97         sw $zero, 104($a0)
    98         sw $zero, 108($a0)
     106        sw $zero, 96($t0)
     107        sw $zero, 100($t0)
     108        sw $zero, 104($t0)
     109        sw $zero, 108($t0)
    99110
    100         sw $zero, 112($a0)
    101         sw $zero, 116($a0)
    102         sw $zero, 120($a0)
    103         sw $zero, 124($a0)
     111        sw $zero, 112($t0)
     112        sw $zero, 116($t0)
     113        sw $zero, 120($t0)
     114        sw $zero, 124($t0)
    104115
    105         lui $a1, 1
     116        lui $t1, 1
    106117
    107118#ifdef MACHINE_msim
     
    119130
    120131        /* Record CPU presence */
    121         sll $a2, $k1, 2
    122         addu $a2, $a2, $a0
    123         sw $a1, ($a2)
     132        sll $t2, $k1, 2
     133        addu $t2, $t2, $t0
     134        sw $t1, ($t2)
    124135
    125136        loop:
     
    131142        bsp:
    132143                /* Record CPU presence */
    133                 sw $a1, ($a0)
     144                sw $t1, ($t0)
    134145
    135146                /* Setup initial stack */
    136147                la $sp, PA2KA(STACK_OFFSET)
    137148
     149                /* a0=kargc, a1=kargv */
    138150                j bootstrap
    139151                nop
Note: See TracChangeset for help on using the changeset viewer.