Remove dead code and dead comments, most notably the implemenation of the
now-obsolete setfault(). No NetBSD code exists in the AIM locore files, so update the copyrights there.
This commit is contained in:
parent
ef0b7e48a5
commit
9b316d0daf
@ -1,8 +1,7 @@
|
||||
/* $FreeBSD$ */
|
||||
/* $NetBSD: locore.S,v 1.24 2000/05/31 05:09:17 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (C) 2001 Benno Rice
|
||||
* Copyright (C) 2010-2016 Nathan Whitehorn
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -14,37 +13,7 @@
|
||||
* 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
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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,
|
||||
@ -95,15 +64,7 @@ GLOBAL(tmpstk)
|
||||
btext:
|
||||
|
||||
/*
|
||||
* This symbol is here for the benefit of kvm_mkdb, and is supposed to
|
||||
* mark the start of kernel text.
|
||||
*/
|
||||
.globl kernel_text
|
||||
kernel_text:
|
||||
|
||||
/*
|
||||
* Startup entry. Note, this must be the first thing in the text
|
||||
* segment!
|
||||
* Main kernel entry point.
|
||||
*/
|
||||
.text
|
||||
.globl __start
|
||||
@ -148,29 +109,7 @@ __start:
|
||||
stw %r3, 0(%r1)
|
||||
bl mi_startup
|
||||
|
||||
/* If mi_startup somehow returns, exit. This would be bad. */
|
||||
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,TD_PCB(2) /* curthread = r2 */
|
||||
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
|
||||
/* mi_startup() does not return */
|
||||
b .
|
||||
|
||||
#include <powerpc/aim/trap_subr32.S>
|
||||
|
@ -1,8 +1,7 @@
|
||||
/* $FreeBSD$ */
|
||||
/* $NetBSD: locore.S,v 1.24 2000/05/31 05:09:17 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (C) 2001 Benno Rice
|
||||
* Copyright (C) 2010-2016 Nathan Whitehorn
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -14,7 +13,7 @@
|
||||
* 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
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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,
|
||||
@ -24,36 +23,8 @@
|
||||
* 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.
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include "assym.s"
|
||||
@ -69,13 +40,6 @@
|
||||
.abiversion _CALL_ELF
|
||||
#endif
|
||||
|
||||
/* Locate the per-CPU data structure */
|
||||
#define GET_CPUINFO(r) \
|
||||
mfsprg0 r
|
||||
#define GET_TOCBASE(r) \
|
||||
li r,TRAP_TOCBASE; /* Magic address for TOC */ \
|
||||
ld r,0(r)
|
||||
|
||||
/* Glue for linker script */
|
||||
.globl kernbase
|
||||
.set kernbase, KERNBASE
|
||||
@ -102,15 +66,7 @@ TOC_ENTRY(tmpstk)
|
||||
btext:
|
||||
|
||||
/*
|
||||
* This symbol is here for the benefit of kvm_mkdb, and is supposed to
|
||||
* mark the start of kernel text.
|
||||
*/
|
||||
.globl kernel_text
|
||||
kernel_text:
|
||||
|
||||
/*
|
||||
* Startup entry. Note, this must be the first thing in the text
|
||||
* segment!
|
||||
* Main kernel entry point.
|
||||
*
|
||||
* Calling convention:
|
||||
* r3: Flattened Device Tree pointer (or zero)
|
||||
@ -169,50 +125,7 @@ ASENTRY_NOPROF(__start)
|
||||
bl mi_startup
|
||||
nop
|
||||
|
||||
/* If this returns (it won't), go back to firmware */
|
||||
b OF_exit
|
||||
nop
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
ASENTRY_NOPROF(setfault)
|
||||
mflr 0
|
||||
mfcr 12
|
||||
mfsprg 4,0
|
||||
ld 4,TD_PCB(13) /* curthread = r13 */
|
||||
std 3,PCB_ONFAULT(4)
|
||||
std 0,0(3)
|
||||
std 1,8(3)
|
||||
std 2,16(3)
|
||||
|
||||
std %r12,24(%r3) /* Save the non-volatile GP regs. */
|
||||
std %r13,24+1*8(%r3)
|
||||
std %r14,24+2*8(%r3)
|
||||
std %r15,24+3*8(%r3)
|
||||
std %r16,24+4*8(%r3)
|
||||
std %r17,24+5*8(%r3)
|
||||
std %r18,24+6*8(%r3)
|
||||
std %r19,24+7*8(%r3)
|
||||
std %r20,24+8*8(%r3)
|
||||
std %r21,24+9*8(%r3)
|
||||
std %r22,24+10*8(%r3)
|
||||
std %r23,24+11*8(%r3)
|
||||
std %r24,24+12*8(%r3)
|
||||
std %r25,24+13*8(%r3)
|
||||
std %r26,24+14*8(%r3)
|
||||
std %r27,24+15*8(%r3)
|
||||
std %r28,24+16*8(%r3)
|
||||
std %r29,24+17*8(%r3)
|
||||
std %r30,24+18*8(%r3)
|
||||
std %r31,24+19*8(%r3)
|
||||
|
||||
xor 3,3,3
|
||||
blr
|
||||
/* Unreachable */
|
||||
b .
|
||||
|
||||
#include <powerpc/aim/trap_subr64.S>
|
||||
|
@ -39,9 +39,12 @@
|
||||
* #include <powerpc/aim/trap_subr.S>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Save/restore segment registers
|
||||
*/
|
||||
/* Locate the per-CPU data structure */
|
||||
#define GET_CPUINFO(r) \
|
||||
mfsprg0 r
|
||||
#define GET_TOCBASE(r) \
|
||||
li r,TRAP_TOCBASE; /* Magic address for TOC */ \
|
||||
ld r,0(r)
|
||||
|
||||
/*
|
||||
* Restore SRs for a pmap
|
||||
|
@ -156,7 +156,6 @@ __FBSDID("$FreeBSD$");
|
||||
#define debugf(fmt, args...)
|
||||
#endif
|
||||
|
||||
extern unsigned char kernel_text[];
|
||||
extern unsigned char _etext[];
|
||||
extern unsigned char _edata[];
|
||||
extern unsigned char __bss_start[];
|
||||
@ -311,7 +310,7 @@ booke_init(u_long arg1, u_long arg2)
|
||||
end += fdt_totalsize((void *)dtbp);
|
||||
__endkernel = end;
|
||||
mdp = NULL;
|
||||
} else if (arg1 > (uintptr_t)kernel_text) /* FreeBSD loader */
|
||||
} else if (arg1 > (uintptr_t)btext) /* FreeBSD loader */
|
||||
mdp = (void *)arg1;
|
||||
else /* U-Boot */
|
||||
mdp = NULL;
|
||||
|
@ -837,29 +837,6 @@ ENTRY(dataloss_erratum_access)
|
||||
|
||||
blr
|
||||
|
||||
/*
|
||||
* 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 %r0
|
||||
mfsprg0 %r4
|
||||
lwz %r4, TD_PCB(%r2)
|
||||
stw %r3, PCB_ONFAULT(%r4)
|
||||
mfcr %r4
|
||||
stw %r0, 0(%r3)
|
||||
stw %r1, 4(%r3)
|
||||
stw %r2, 8(%r3)
|
||||
stw %r4, 12(%r3)
|
||||
stmw %r13, 16(%r3) /* store CR, CTR, XER, [r13 .. r31] */
|
||||
li %r3, 0 /* return FALSE */
|
||||
blr
|
||||
|
||||
/************************************************************************/
|
||||
/* Data section */
|
||||
/************************************************************************/
|
||||
|
@ -40,7 +40,6 @@
|
||||
#define JMP_cr 22*REGWIDTH
|
||||
#define JMP_ctr 23*REGWIDTH
|
||||
#define JMP_xer 24*REGWIDTH
|
||||
#define JMP_sig 25*REGWIDTH
|
||||
|
||||
ASENTRY_NOPROF(setjmp)
|
||||
ST_REG 31, JMP_r31(3)
|
||||
|
Loading…
Reference in New Issue
Block a user