| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: asm.h,v 1.37 2011/06/05 16:52:25 matt Exp $ */ | | 1 | /* $NetBSD: asm.h,v 1.38 2011/06/08 05:11:07 matt Exp $ */ |
2 | | | 2 | |
3 | /* | | 3 | /* |
4 | * Copyright (C) 1995, 1996 Wolfgang Solfrank. | | 4 | * Copyright (C) 1995, 1996 Wolfgang Solfrank. |
5 | * Copyright (C) 1995, 1996 TooLs GmbH. | | 5 | * Copyright (C) 1995, 1996 TooLs GmbH. |
6 | * All rights reserved. | | 6 | * All rights reserved. |
7 | * | | 7 | * |
8 | * Redistribution and use in source and binary forms, with or without | | 8 | * Redistribution and use in source and binary forms, with or without |
9 | * modification, are permitted provided that the following conditions | | 9 | * modification, are permitted provided that the following conditions |
10 | * are met: | | 10 | * are met: |
11 | * 1. Redistributions of source code must retain the above copyright | | 11 | * 1. Redistributions of source code must retain the above copyright |
12 | * notice, this list of conditions and the following disclaimer. | | 12 | * notice, this list of conditions and the following disclaimer. |
13 | * 2. Redistributions in binary form must reproduce the above copyright | | 13 | * 2. Redistributions in binary form must reproduce the above copyright |
14 | * notice, this list of conditions and the following disclaimer in the | | 14 | * notice, this list of conditions and the following disclaimer in the |
| @@ -204,26 +204,27 @@ y: .quad .y,.TOC.@tocbase,0; \ | | | @@ -204,26 +204,27 @@ y: .quad .y,.TOC.@tocbase,0; \ |
204 | lis tmp1,_C_LABEL(cpu_info)@ha; \ | | 204 | lis tmp1,_C_LABEL(cpu_info)@ha; \ |
205 | addi tmp1,tmp1,_C_LABEL(cpu_info)@l; \ | | 205 | addi tmp1,tmp1,_C_LABEL(cpu_info)@l; \ |
206 | mtsprg0 tmp1; /* save for later use */ \ | | 206 | mtsprg0 tmp1; /* save for later use */ \ |
207 | INIT_CPUINFO_INTSTK(er,tmp1); \ | | 207 | INIT_CPUINFO_INTSTK(er,tmp1); \ |
208 | lis tmp2,_C_LABEL(emptyidlespin)@h; \ | | 208 | lis tmp2,_C_LABEL(emptyidlespin)@h; \ |
209 | ori tmp2,tmp2,_C_LABEL(emptyidlespin)@l; \ | | 209 | ori tmp2,tmp2,_C_LABEL(emptyidlespin)@l; \ |
210 | stptr tmp2,CI_IDLESPIN(tmp1); \ | | 210 | stptr tmp2,CI_IDLESPIN(tmp1); \ |
211 | li tmp2,-1; \ | | 211 | li tmp2,-1; \ |
212 | stint tmp2,CI_IDEPTH(tmp1); \ | | 212 | stint tmp2,CI_IDEPTH(tmp1); \ |
213 | li tmp2,0; \ | | 213 | li tmp2,0; \ |
214 | lis %r13,_C_LABEL(lwp0)@h; \ | | 214 | lis %r13,_C_LABEL(lwp0)@h; \ |
215 | ori %r13,%r13,_C_LABEL(lwp0)@l; \ | | 215 | ori %r13,%r13,_C_LABEL(lwp0)@l; \ |
216 | stptr er,L_PCB(%r13); /* XXXuvm_lwp_getuarea */ \ | | 216 | stptr er,L_PCB(%r13); /* XXXuvm_lwp_getuarea */ \ |
| | | 217 | stptr tmp1,L_CPU(%r13); \ |
217 | addi er,er,USPACE; /* stackpointer for lwp0 */ \ | | 218 | addi er,er,USPACE; /* stackpointer for lwp0 */ \ |
218 | addi sp,er,-FRAMELEN-CALLFRAMELEN; /* stackpointer for lwp0 */ \ | | 219 | addi sp,er,-FRAMELEN-CALLFRAMELEN; /* stackpointer for lwp0 */ \ |
219 | stptr sp,L_MD_UTF(%r13); /* save in lwp0.l_md.md_utf */ \ | | 220 | stptr sp,L_MD_UTF(%r13); /* save in lwp0.l_md.md_utf */ \ |
220 | /* er = end of mem reserved for kernel */ \ | | 221 | /* er = end of mem reserved for kernel */ \ |
221 | li tmp2,0; \ | | 222 | li tmp2,0; \ |
222 | stptr tmp2,-CALLFRAMELEN(er); /* end of stack chain */ \ | | 223 | stptr tmp2,-CALLFRAMELEN(er); /* end of stack chain */ \ |
223 | stptru tmp2,-CALLFRAMELEN(sp) /* end of stack chain */ | | 224 | stptru tmp2,-CALLFRAMELEN(sp) /* end of stack chain */ |
224 | | | 225 | |
225 | #endif | | 226 | #endif |
226 | | | 227 | |
227 | /* Condition Register Bit Fields */ | | 228 | /* Condition Register Bit Fields */ |
228 | | | 229 | |
229 | #if defined(_REGNAMES) | | 230 | #if defined(_REGNAMES) |