From 367f245ca982ba4b092369744ffd496293d2aaa9 Mon Sep 17 00:00:00 2001 From: benno Date: Fri, 28 Feb 2003 03:35:42 +0000 Subject: These files are no longer used. They have been replaced with similarly named .S files. --- sys/powerpc/powerpc/atomic.s | 137 ------------------------- sys/powerpc/powerpc/locore.s | 224 ----------------------------------------- sys/powerpc/powerpc/ofwmagic.s | 75 -------------- sys/powerpc/powerpc/swtch.s | 161 ----------------------------- 4 files changed, 597 deletions(-) delete mode 100644 sys/powerpc/powerpc/atomic.s delete mode 100644 sys/powerpc/powerpc/locore.s delete mode 100644 sys/powerpc/powerpc/ofwmagic.s delete mode 100644 sys/powerpc/powerpc/swtch.s diff --git a/sys/powerpc/powerpc/atomic.s b/sys/powerpc/powerpc/atomic.s deleted file mode 100644 index a844f7a..0000000 --- a/sys/powerpc/powerpc/atomic.s +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (c) 2000, 2001 Benno Rice - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include - - .text - -ASENTRY(atomic_set_8) -0: lwarx 0, 0, 3 /* load old value */ - slwi 4, 4, 24 /* shift the byte so it's in the right place */ - or 0, 0, 4 /* generate new value */ - stwcx. 0, 0, 3 /* attempt to store */ - bne- 0 /* loop if failed */ - eieio /* synchronise */ - sync - blr /* return */ - -ASENTRY(atomic_clear_8) -0: lwarx 0, 0, 3 /* load old value */ - slwi 4, 4, 24 /* shift the byte so it's in the right place */ - andc 0, 0, 4 /* generate new value */ - stwcx. 0, 0, 3 /* attempt to store */ - bne- 0 /* loop if failed */ - eieio /* synchronise */ - sync - blr /* return */ - -ASENTRY(atomic_add_8) -0: lwarx 9, 0, 3 /* load old value */ - srwi 0, 9, 24 /* byte alignment */ - add 0, 4, 0 /* calculate new value */ - slwi 0, 9, 24 /* byte alignment */ - clrlwi 9, 9, 8 /* clear the byte in the original word */ - or 9, 9, 0 /* copy back in to the original word */ - stwcx. 9, 0, 3 /* attempt to store */ - bne- 0 /* loop if failed */ - eieio /* synchronise */ - sync - blr /* return */ - -ASENTRY(atomic_subtract_8) -0: lwarx 9, 0, 3 /* load old value */ - srwi 0, 9, 24 /* byte alignment */ - subf 0, 4, 0 /* calculate new value */ - slwi 0, 9, 24 /* byte alignment */ - clrlwi 9, 9, 8 /* clear the byte in the original word */ - or 9, 9, 0 /* copy back in to the original word */ - stwcx. 9, 0, 3 /* attempt to store */ - bne- 0 /* loop if failed */ - eieio /* synchronise */ - sync - blr /* return */ - -ASENTRY(atomic_set_16) - li 11, 3 /* mask to test for alignment */ - andc. 11, 3, 11 /* force address to be word-aligned */ -0: lwarx 12, 0, 11 /* load old value */ - bne 1f /* no realignment needed if it's aligned */ - slwi 4, 4, 16 /* realign operand */ -1: or 12, 12, 4 /* calculate new value */ - stwcx. 12, 0, 11 /* attempt to store */ - bne- 0b /* loop if failed */ - eieio /* synchronise */ - sync - blr /* return */ - -ASENTRY(atomic_clear_16) - li 11, 3 /* mask to test for alignment */ - andc. 11, 3, 11 /* force address to be word-aligned */ -0: lwarx 12, 0, 11 /* load old value */ - bne 1f /* no realignment needed if it's aligned */ - slwi 4, 4, 16 /* realign operand */ -1: andc 12, 12, 4 /* calculate new value */ - stwcx. 12, 0, 11 /* attempt to store */ - bne- 0b /* loop if failed */ - eieio /* synchronise */ - sync - blr /* return */ - -ASENTRY(atomic_add_16) - li 11, 3 /* mask to test for alignment */ - andc. 11, 3, 11 /* force address to be word-aligned */ -0: lwarx 12, 0, 11 /* load old value */ - bne 1f /* no realignment needed if it's aligned */ - srwi 12, 9, 16 /* realign */ -1: add 12, 4, 12 /* calculate new value */ - bne 2f /* no realignment needed if it's aligned */ - slwi 12, 12, 16 /* realign */ -2: clrlwi 9, 9, 16 /* clear old value */ - or 9, 9, 12 /* copy in new value */ - stwcx. 12, 0, 11 /* attempt to store */ - bne- 0b /* loop if failed */ - eieio /* synchronise */ - sync - blr /* return */ - -ASENTRY(atomic_subtract_16) - li 11, 3 /* mask to test for alignment */ - andc. 11, 3, 11 /* force address to be word-aligned */ -0: lwarx 12, 0, 11 /* load old value */ - bne 1f /* no realignment needed if it's aligned */ - srwi 12, 9, 16 /* realign */ -1: subf 12, 4, 12 /* calculate new value */ - bne 2f /* no realignment needed if it's aligned */ - slwi 12, 12, 16 /* realign */ -2: clrlwi 9, 9, 16 /* clear old value */ - or 9, 9, 12 /* copy in new value */ - stwcx. 12, 0, 11 /* attempt to store */ - bne- 0 /* loop if failed */ - eieio /* synchronise */ - sync - blr /* return */ diff --git a/sys/powerpc/powerpc/locore.s b/sys/powerpc/powerpc/locore.s deleted file mode 100644 index 697fde8..0000000 --- a/sys/powerpc/powerpc/locore.s +++ /dev/null @@ -1,224 +0,0 @@ -/* $FreeBSD$ */ -/* $NetBSD: locore.S,v 1.24 2000/05/31 05:09:17 thorpej Exp $ */ - -/* - * Copyright (C) 2001 Benno Rice - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY Benno Rice ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -/* - * Copyright (C) 1995, 1996 Wolfgang Solfrank. - * Copyright (C) 1995, 1996 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "opt_ddb.h" -#include "opt_ipkdb.h" -#include "assym.s" - -#include - -#include -#include -#include -#include -#include -#include - -/* - * Some instructions gas doesn't understand (yet?) - */ -#define bdneq bdnzf 2, - -/* - * Globals - */ - .data -GLOBAL(tmpstk) - .space 8208 -GLOBAL(esym) - .long 0 /* end of symbol table */ - -GLOBAL(ofmsr) - .long 0 /* msr used in Open Firmware */ - -GLOBAL(powersave) - .long 0 - -#define INTSTK 8192 /* 8K interrupt stack */ -#define SPILLSTK 4096 /* 4K spill stack */ - -/* - * Dummy interrupt table to keep sysctl happy until - * it's worked out what to do with naming - */ -GLOBAL(intrnames) - .asciz "dummy" -GLOBAL(eintrnames) - .align 4 -GLOBAL(intrcnt) - .long 0 -GLOBAL(eintrcnt) - -/* - * File-scope for locore.S - */ -idle_u: - .long 0 /* fake uarea during idle after exit */ -openfirmware_entry: - .long 0 /* openfirmware entry point */ -srsave: - .long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - -/* - * This symbol is here for the benefit of kvm_mkdb, and is supposed to - * mark the start of kernel text. - */ - .text - .globl kernel_text -kernel_text: - -/* - * Startup entry. Note, this must be the first thing in the text - * segment! - */ - .text - .globl __start -__start: -#ifdef FIRMWORKSBUGS - mfmsr 0 - andi. 0,0,PSL_IR|PSL_DR - beq 1f - - bl ofwr_init -1: -#endif - li 8,0 - li 9,0x100 - mtctr 9 -1: - dcbf 0,8 - icbi 0,8 - addi 8,8,0x20 - bdnz 1b - sync - isync - - mtibatu 0,0 - mtibatu 1,0 - mtibatu 2,0 - mtibatu 3,0 - mtdbatu 0,0 - mtdbatu 1,0 - mtdbatu 2,0 - mtdbatu 3,0 - - li 9,0x12 - mtibatl 0,9 - mtdbatl 0,9 - li 9,0x1ffe - mtibatu 0,9 - mtdbatu 0,9 - isync - - /* Save the argument pointer and length */ - mr 20,6 - mr 21,7 - - lis 8,openfirmware_entry@ha - stw 5,openfirmware_entry@l(8) /* save client interface handler */ - mr 3,5 - - lis 1,tmpstk@ha - addi 1,1,tmpstk@l - addi 1,1,8192 - - mfmsr 0 - lis 9,ofmsr@ha - stw 0,ofmsr@l(9) - - bl OF_init - - lis 4,end@ha - addi 4,4,end@l - mr 5,4 - - lis 3,kernel_text@ha - addi 3,3,kernel_text@l - - /* Restore the argument pointer and length */ - mr 6,20 - mr 7,21 - - bl powerpc_init - bl mi_startup - b OF_exit - -/* - * int setfault() - * - * Similar to setjmp to setup for handling faults on accesses to user memory. - * Any routine using this may only call bcopy, either the form below, - * or the (currently used) C code optimized, so it doesn't use any non-volatile - * registers. - */ - .globl setfault -setfault: - mflr 0 - mfcr 12 - mfsprg 4,0 - lwz 4,PC_CURTHREAD(4) - lwz 4,TD_PCB(4) - stw 3,PCB_ONFAULT(4) - stw 0,0(3) - stw 1,4(3) - stw 2,8(3) - stmw 12,12(3) - xor 3,3,3 - blr - -#include diff --git a/sys/powerpc/powerpc/ofwmagic.s b/sys/powerpc/powerpc/ofwmagic.s deleted file mode 100644 index 890e86e..0000000 --- a/sys/powerpc/powerpc/ofwmagic.s +++ /dev/null @@ -1,75 +0,0 @@ -/* $FreeBSD$ */ -/* $NetBSD: ofwmagic.S,v 1.2 1997/10/09 08:38:18 jtc Exp $ */ - -/*- - * Copyright (c) 1997 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Jason R. Thorpe. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Magic note section used by OpenFirmware. - */ - - .section ".note" - - # note header - - # length of name - .long 8 - - # note descriptor size - .long 20 - - # note type (IEEE 1275) - .long 0x1275 - - # name of owner - .asciz "PowerPC" - .balign 4 - - - # note descriptor - - # real mode (-1) or virtual mode (0) - .long 0 - - # real-base - .long -1 - # real-size - .long -1 - - # virt-base - .long -1 - # virt-size - .long -1 diff --git a/sys/powerpc/powerpc/swtch.s b/sys/powerpc/powerpc/swtch.s deleted file mode 100644 index 188d5cf..0000000 --- a/sys/powerpc/powerpc/swtch.s +++ /dev/null @@ -1,161 +0,0 @@ -/* $FreeBSD$ */ -/* $NetBSD: locore.S,v 1.24 2000/05/31 05:09:17 thorpej Exp $ */ - -/* - * Copyright (C) 2001 Benno Rice - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY Benno Rice ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -/* - * Copyright (C) 1995, 1996 Wolfgang Solfrank. - * Copyright (C) 1995, 1996 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "assym.s" - -#include - -#include -#include -#include -#include -#include - -/* - * void cpu_switch() - * Find a runnable thread and switch to it. - */ -ENTRY(cpu_switch) - mfsprg %r3,0 /* Get the pcpu pointer */ - lwz %r4,PC_CURTHREAD(%r3) /* Get the current thread */ - lwz %r3,TD_PCB(%r4) /* Get a pointer to the PCB */ - - mr %r12,%r2 - stmw %r12,PCB_CONTEXT(%r3) /* Save the non-volatile GP regs */ - mr %r14,%r3 /* Copy the current pcb pointer */ - mr %r15,%r4 /* ... and the curthread pointer */ - mfcr %r16 /* Save the condition register */ - stw %r16,PCB_CR(%r3) - mflr %r16 /* Save the link register */ - stw %r16,PCB_LR(%r3) - mfsr %r16,USER_SR /* Save USER_SR for copyin/out */ - isync - stw %r16,PCB_USR(%r3) - stw %r1,PCB_SP(%r3) /* Save the stack pointer */ - -#if 0 - lwz %r29,PCB_FLAGS(%r3) - andi. %r9, %r29, 1 /* XXX - don't hard code */ - beq .L1 - bl save_fpu -#endif - -.L1: - bl choosethread /* Find a new thread to run */ - cmplw 0,%r3,%r15 /* Compare to curthread */ - beq .L2 /* If it's the same, we're done */ - - mr %r16,%r3 /* Save off the (struct thread *) */ - - mr %r3,%r15 - bl pmap_deactivate /* Deactivate the current pmap */ - - mr %r3,%r16 - bl pmap_activate /* Activate the new address space */ - - mfsprg %r4,0 /* Get the pcpu pointer */ - stw %r16,PC_CURTHREAD(%r4) /* Store new current thread */ - mr %r3,%r16 /* and save in r3 */ - lwz %r16,TD_PCB(%r16) /* Store new current PCB */ - stw %r16,PC_CURPCB(%r4) - -#if 0 - lwz %r29, PCB_FLAGS(%r4) /* Restore FPU regs if needed */ - andi. %r9, %r29, 1 - beq .L2 - mr %r3, %r4 - bl enable_fpu -#endif - - /* thread to restore is in r3 */ -.L2: - lwz %r3, TD_PCB(%r3) - lmw %r12,PCB_CONTEXT(%r3) /* Load the non-volatile GP regs */ - mr %r2,%r12 - lwz %r5,PCB_CR(%r3) /* Load the condition register */ - mtcr %r5 - lwz %r5,PCB_LR(%r3) /* Load the link register */ - mtlr %r5 - lwz %r5,PCB_USR(%r3) /* Load the USER_SR segment reg */ - mtsr USER_SR,%r5 - isync - lwz %r1,PCB_SP(%r3) /* Load the stack pointer */ - blr - -/* - * savectx(pcb) - * Update pcb, saving current processor state - */ -ENTRY(savectx) - mr %r12,%r2 - stmw %r12,PCB_CONTEXT(%r3) /* Save the non-volatile GP regs */ - mfcr %r4 /* Save the condition register */ - stw %r4,PCB_CONTEXT(%r3) - blr - -/* - * fork_trampoline() - * Set up the return from cpu_fork() - */ -ENTRY(fork_trampoline) - lwz %r3,CF_FUNC(%r1) - lwz %r4,CF_ARG0(%r1) - lwz %r5,CF_ARG1(%r1) - bl fork_exit - addi %r1,%r1,4 - b trapexit -- cgit v1.1