locore32.S (258541) | locore32.S (277334) |
---|---|
1/* $FreeBSD: head/sys/powerpc/aim/locore32.S 258541 2013-11-25 07:38:45Z attilio $ */ | 1/* $FreeBSD: head/sys/powerpc/aim/locore32.S 277334 2015-01-18 18:32:43Z nwhitehorn $ */ |
2/* $NetBSD: locore.S,v 1.24 2000/05/31 05:09:17 thorpej Exp $ */ 3 4/*- 5 * Copyright (C) 2001 Benno Rice 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions --- 61 unchanged lines hidden (view full) --- 71 mfsprg0 r 72 73/* 74 * Compiled KERNBASE location and the kernel load address 75 */ 76 .globl kernbase 77 .set kernbase, KERNBASE 78 | 2/* $NetBSD: locore.S,v 1.24 2000/05/31 05:09:17 thorpej Exp $ */ 3 4/*- 5 * Copyright (C) 2001 Benno Rice 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions --- 61 unchanged lines hidden (view full) --- 71 mfsprg0 r 72 73/* 74 * Compiled KERNBASE location and the kernel load address 75 */ 76 .globl kernbase 77 .set kernbase, KERNBASE 78 |
79#define TMPSTKSZ 8192 /* 8K temporary stack */ 80 | |
81/* 82 * Globals 83 */ 84 .data | 79/* 80 * Globals 81 */ 82 .data |
83 .align 3 84GLOBAL(__startkernel) 85 .long begin 86GLOBAL(__endkernel) 87 .long end |
|
85 .align 4 | 88 .align 4 |
89#define TMPSTKSZ 8192 /* 8K temporary stack */ |
|
86GLOBAL(tmpstk) 87 .space TMPSTKSZ | 90GLOBAL(tmpstk) 91 .space TMPSTKSZ |
88GLOBAL(esym) 89 .long 0 /* end of symbol table */ | |
90 | 92 |
91#define INTRCNT_COUNT 256 /* max(HROWPIC_IRQMAX,OPENPIC_IRQMAX) */ 92GLOBAL(intrnames) 93 .space INTRCNT_COUNT * (MAXCOMLEN + 1) * 2 94GLOBAL(sintrnames) 95 .long INTRCNT_COUNT * (MAXCOMLEN + 1) * 2 96 97 .align 4 98GLOBAL(intrcnt) 99 .space INTRCNT_COUNT * 4 * 2 100GLOBAL(sintrcnt) 101 .long INTRCNT_COUNT * 4 * 2 102 | |
103 .text 104 .globl btext 105btext: 106 107/* 108 * This symbol is here for the benefit of kvm_mkdb, and is supposed to 109 * mark the start of kernel text. 110 */ --- 26 unchanged lines hidden (view full) --- 137 addi 8,8,_edata@l 138 lis 9,_end@ha 139 addi 9,9,_end@l 1402: stw 0,0(8) 141 addi 8,8,4 142 cmplw 8,9 143 blt 2b 144 | 93 .text 94 .globl btext 95btext: 96 97/* 98 * This symbol is here for the benefit of kvm_mkdb, and is supposed to 99 * mark the start of kernel text. 100 */ --- 26 unchanged lines hidden (view full) --- 127 addi 8,8,_edata@l 128 lis 9,_end@ha 129 addi 9,9,_end@l 1302: stw 0,0(8) 131 addi 8,8,4 132 cmplw 8,9 133 blt 2b 134 |
145 /* Save the argument pointer and length */ 146 mr 20,6 147 mr 21,7 148 149 lis 8,openfirmware_entry@ha 150 stw 5,openfirmware_entry@l(8) /* save client interface handler */ 151 | |
152 lis 1,(tmpstk+TMPSTKSZ-16)@ha 153 addi 1,1,(tmpstk+TMPSTKSZ-16)@l 154 | 135 lis 1,(tmpstk+TMPSTKSZ-16)@ha 136 addi 1,1,(tmpstk+TMPSTKSZ-16)@l 137 |
155 mfmsr 0 156 lis 9,ofmsr@ha 157 stwu 0,ofmsr@l(9) 158 159 mfsprg0 0 /* save SPRG0-3 */ 160 stw 0,4(9) /* ofmsr[1] = sprg0 */ 161 mfsprg1 0 162 stw 0,8(9) /* ofmsr[2] = sprg1 */ 163 mfsprg2 0 164 stw 0,12(9) /* ofmsr[3] = sprg2 */ 165 mfsprg3 0 166 stw 0,16(9) /* ofmsr[4] = sprg3 */ 167 168 bl OF_initial_setup 169 170 lis 3,kernel_text@ha 171 addi 3,3,kernel_text@l 172 173 lis 4,end@ha 174 addi 4,4,end@l 175 add 4,4,3 176 mr 5,4 177 178 /* Restore the argument pointer and length */ 179 mr 6,20 180 mr 7,21 181 | |
182 bl powerpc_init 183 mr %r1, %r3 184 li %r3, 0 185 stw %r3, 0(%r1) 186 bl mi_startup 187 b OF_exit 188 189/* --- 22 unchanged lines hidden --- | 138 bl powerpc_init 139 mr %r1, %r3 140 li %r3, 0 141 stw %r3, 0(%r1) 142 bl mi_startup 143 b OF_exit 144 145/* --- 22 unchanged lines hidden --- |