Changes in boot/arch/mips32/src/asm.S [63a045c:dabaa83] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/mips32/src/asm.S
r63a045c rdabaa83 36 36 .section BOOTSTRAP 37 37 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 */ 38 49 SYMBOL(start) 39 50 /* … … 43 54 * - Disable 64-bit user addressing mode 44 55 */ 45 mfc0 $ a0, $status46 la $ a1, 0xffffff1f47 and $ a0, $a1, $a048 mtc0 $ a0, $status56 mfc0 $t0, $status 57 la $t1, 0xffffff1f 58 and $t0, $t1, $t0 59 mtc0 $t0, $status 49 60 50 61 #if defined(MACHINE_lmalta) || defined(MACHINE_bmalta) … … 52 63 * Remember the size of the SDRAM in bootinfo. 53 64 */ 54 la $ a0, PA2KA(BOOTINFO_OFFSET)55 sw $a3, 0($ a0)65 la $t0, PA2KA(BOOTINFO_OFFSET) 66 sw $a3, 0($t0) 56 67 #endif 57 68 … … 61 72 * but it not an issue). 62 73 */ 63 la $ a0, PA2KA(CPUMAP_OFFSET)74 la $t0, PA2KA(CPUMAP_OFFSET) 64 75 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) 69 80 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) 74 85 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) 79 90 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) 84 95 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) 89 100 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) 94 105 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) 99 110 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) 104 115 105 lui $ a1, 1116 lui $t1, 1 106 117 107 118 #ifdef MACHINE_msim … … 119 130 120 131 /* Record CPU presence */ 121 sll $ a2, $k1, 2122 addu $ a2, $a2, $a0123 sw $ a1, ($a2)132 sll $t2, $k1, 2 133 addu $t2, $t2, $t0 134 sw $t1, ($t2) 124 135 125 136 loop: … … 131 142 bsp: 132 143 /* Record CPU presence */ 133 sw $ a1, ($a0)144 sw $t1, ($t0) 134 145 135 146 /* Setup initial stack */ 136 147 la $sp, PA2KA(STACK_OFFSET) 137 148 149 /* a0=kargc, a1=kargv */ 138 150 j bootstrap 139 151 nop
Note:
See TracChangeset
for help on using the changeset viewer.