swtch32.S (99887) | swtch32.S (105611) |
---|---|
1/* $FreeBSD: head/sys/powerpc/aim/swtch.S 99887 2002-07-12 18:34:22Z jhb $ */ | 1/* $FreeBSD: head/sys/powerpc/aim/swtch.S 105611 2002-10-21 05:27:41Z grehan $ */ |
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 --- 68 unchanged lines hidden (view full) --- 78 mr %r12,%r2 79 stmw %r12,PCB_CONTEXT(%r3) /* Save the non-volatile GP regs */ 80 mr %r14,%r3 /* Copy the current pcb pointer */ 81 mr %r15,%r4 /* ... and the curthread pointer */ 82 mfcr %r16 /* Save the condition register */ 83 stw %r16,PCB_CR(%r3) 84 mflr %r16 /* Save the link register */ 85 stw %r16,PCB_LR(%r3) | 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 --- 68 unchanged lines hidden (view full) --- 78 mr %r12,%r2 79 stmw %r12,PCB_CONTEXT(%r3) /* Save the non-volatile GP regs */ 80 mr %r14,%r3 /* Copy the current pcb pointer */ 81 mr %r15,%r4 /* ... and the curthread pointer */ 82 mfcr %r16 /* Save the condition register */ 83 stw %r16,PCB_CR(%r3) 84 mflr %r16 /* Save the link register */ 85 stw %r16,PCB_LR(%r3) |
86 mfsr %r16,USER_SR /* Save USER_SR for copyin/out */ 87 isync 88 stw %r16,PCB_USR(%r3) |
|
86 stw %r1,PCB_SP(%r3) /* Save the stack pointer */ 87 88#if 0 89 lwz %r29,PCB_FLAGS(%r3) 90 andi. %r9, %r29, 1 /* XXX - don't hard code */ 91 beq .L1 92 bl save_fpu 93#endif --- 29 unchanged lines hidden (view full) --- 123.L2: 124 lwz %r3, TD_PCB(%r3) 125 lmw %r12,PCB_CONTEXT(%r3) /* Load the non-volatile GP regs */ 126 mr %r2,%r12 127 lwz %r5,PCB_CR(%r3) /* Load the condition register */ 128 mtcr %r5 129 lwz %r5,PCB_LR(%r3) /* Load the link register */ 130 mtlr %r5 | 89 stw %r1,PCB_SP(%r3) /* Save the stack pointer */ 90 91#if 0 92 lwz %r29,PCB_FLAGS(%r3) 93 andi. %r9, %r29, 1 /* XXX - don't hard code */ 94 beq .L1 95 bl save_fpu 96#endif --- 29 unchanged lines hidden (view full) --- 126.L2: 127 lwz %r3, TD_PCB(%r3) 128 lmw %r12,PCB_CONTEXT(%r3) /* Load the non-volatile GP regs */ 129 mr %r2,%r12 130 lwz %r5,PCB_CR(%r3) /* Load the condition register */ 131 mtcr %r5 132 lwz %r5,PCB_LR(%r3) /* Load the link register */ 133 mtlr %r5 |
134 lwz %r5,PCB_USR(%r3) /* Load the USER_SR segment reg */ 135 mtsr USER_SR,%r5 136 isync |
|
131 lwz %r1,PCB_SP(%r3) /* Load the stack pointer */ 132 blr 133 134/* 135 * savectx(pcb) 136 * Update pcb, saving current processor state 137 */ 138ENTRY(savectx) --- 17 unchanged lines hidden --- | 137 lwz %r1,PCB_SP(%r3) /* Load the stack pointer */ 138 blr 139 140/* 141 * savectx(pcb) 142 * Update pcb, saving current processor state 143 */ 144ENTRY(savectx) --- 17 unchanged lines hidden --- |