parent
7309612797
commit
40c855574c
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,91 @@ |
|||||||
|
/*
|
||||||
|
* (C) Copyright 2000 |
||||||
|
* Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
||||||
|
* |
||||||
|
* See file CREDITS for list of people who contributed to this |
||||||
|
* project. |
||||||
|
* |
||||||
|
* This program is free software; you can redistribute it and/or |
||||||
|
* modify it under the terms of the GNU General Public License as |
||||||
|
* published by the Free Software Foundation; either version 2 of |
||||||
|
* the License, or (at your option) any later version. |
||||||
|
* |
||||||
|
* This program is distributed in the hope that it will be useful, |
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
* |
||||||
|
* You should have received a copy of the GNU General Public License |
||||||
|
* along with this program; if not, write to the Free Software |
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
||||||
|
* MA 02111-1307 USA |
||||||
|
*/ |
||||||
|
|
||||||
|
/*
|
||||||
|
* WARNING! This file is automatically generated - DO NOT EDIT! |
||||||
|
*/ |
||||||
|
#define KERNELBASE -1073741824 |
||||||
|
#define STATE 0 |
||||||
|
#define NEXT_TASK 64 |
||||||
|
#define COUNTER 52 |
||||||
|
#define PROCESSOR 916 |
||||||
|
#define SIGPENDING 8 |
||||||
|
#define TSS 576 |
||||||
|
#define MM 880 |
||||||
|
#define TASK_STRUCT_SIZE 928 |
||||||
|
#define KSP 0 |
||||||
|
#define PG_TABLES 4 |
||||||
|
#define PGD 8 |
||||||
|
#define LAST_SYSCALL 20 |
||||||
|
#define PT_REGS 12 |
||||||
|
#define PF_TRACESYS 32 |
||||||
|
#define TASK_FLAGS 4 |
||||||
|
#define TSS_FPR0 24 |
||||||
|
#define TSS_FPSCR 284 |
||||||
|
#define TSS_SMP_FORK_RET 288 |
||||||
|
#define TASK_UNION_SIZE 8192 |
||||||
|
#define STACK_FRAME_OVERHEAD 16 |
||||||
|
#define INT_FRAME_SIZE 192 |
||||||
|
#define GPR0 16 |
||||||
|
#define GPR1 20 |
||||||
|
#define GPR2 24 |
||||||
|
#define GPR3 28 |
||||||
|
#define GPR4 32 |
||||||
|
#define GPR5 36 |
||||||
|
#define GPR6 40 |
||||||
|
#define GPR7 44 |
||||||
|
#define GPR8 48 |
||||||
|
#define GPR9 52 |
||||||
|
#define GPR10 56 |
||||||
|
#define GPR11 60 |
||||||
|
#define GPR12 64 |
||||||
|
#define GPR13 68 |
||||||
|
#define GPR14 72 |
||||||
|
#define GPR15 76 |
||||||
|
#define GPR16 80 |
||||||
|
#define GPR17 84 |
||||||
|
#define GPR18 88 |
||||||
|
#define GPR19 92 |
||||||
|
#define GPR20 96 |
||||||
|
#define GPR21 100 |
||||||
|
#define GPR22 104 |
||||||
|
#define GPR23 108 |
||||||
|
#define GPR24 112 |
||||||
|
#define GPR25 116 |
||||||
|
#define GPR26 120 |
||||||
|
#define GPR27 124 |
||||||
|
#define GPR28 128 |
||||||
|
#define GPR29 132 |
||||||
|
#define GPR30 136 |
||||||
|
#define GPR31 140 |
||||||
|
#define _NIP 144 |
||||||
|
#define _MSR 148 |
||||||
|
#define _CTR 156 |
||||||
|
#define _LINK 160 |
||||||
|
#define _CCR 168 |
||||||
|
#define _XER 164 |
||||||
|
#define _DAR 180 |
||||||
|
#define _DSISR 184 |
||||||
|
#define ORIG_GPR3 152 |
||||||
|
#define RESULT 188 |
||||||
|
#define TRAP 176 |
@ -0,0 +1,56 @@ |
|||||||
|
/*
|
||||||
|
* (C) Copyright 2000 |
||||||
|
* Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
||||||
|
* |
||||||
|
* See file CREDITS for list of people who contributed to this |
||||||
|
* project. |
||||||
|
* |
||||||
|
* This program is free software; you can redistribute it and/or |
||||||
|
* modify it under the terms of the GNU General Public License as |
||||||
|
* published by the Free Software Foundation; either version 2 of |
||||||
|
* the License, or (at your option) any later version. |
||||||
|
* |
||||||
|
* This program is distributed in the hope that it will be useful, |
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
* |
||||||
|
* You should have received a copy of the GNU General Public License |
||||||
|
* along with this program; if not, write to the Free Software |
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
||||||
|
* MA 02111-1307 USA |
||||||
|
*/ |
||||||
|
|
||||||
|
/*
|
||||||
|
* linux/lib/ctype.c |
||||||
|
* |
||||||
|
* Copyright (C) 1991, 1992 Linus Torvalds |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <linux/ctype.h> |
||||||
|
|
||||||
|
unsigned char _ctype[] = { |
||||||
|
_C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */ |
||||||
|
_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */ |
||||||
|
_C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */ |
||||||
|
_C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */ |
||||||
|
_S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */ |
||||||
|
_P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */ |
||||||
|
_D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */ |
||||||
|
_D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */ |
||||||
|
_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */ |
||||||
|
_U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */ |
||||||
|
_U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */ |
||||||
|
_U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */ |
||||||
|
_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */ |
||||||
|
_L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */ |
||||||
|
_L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */ |
||||||
|
_L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */ |
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */ |
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */ |
||||||
|
_S|_SP,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P, /* 160-175 */ |
||||||
|
_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P, /* 176-191 */ |
||||||
|
_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U, /* 192-207 */ |
||||||
|
_U,_U,_U,_U,_U,_U,_U,_P,_U,_U,_U,_U,_U,_U,_U,_L, /* 208-223 */ |
||||||
|
_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L, /* 224-239 */ |
||||||
|
_L,_L,_L,_L,_L,_L,_L,_P,_L,_L,_L,_L,_L,_L,_L,_L}; /* 240-255 */ |
@ -0,0 +1,216 @@ |
|||||||
|
/* |
||||||
|
* String handling functions for PowerPC. |
||||||
|
* |
||||||
|
* Copyright (C) 1996 Paul Mackerras. |
||||||
|
* |
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License |
||||||
|
* as published by the Free Software Foundation; either version
|
||||||
|
* 2 of the License, or (at your option) any later version. |
||||||
|
*/ |
||||||
|
#include <ppc_asm.tmpl> |
||||||
|
#include <asm/errno.h> |
||||||
|
|
||||||
|
.globl strcpy
|
||||||
|
strcpy: |
||||||
|
addi r5,r3,-1 |
||||||
|
addi r4,r4,-1 |
||||||
|
1: lbzu r0,1(r4) |
||||||
|
cmpwi 0,r0,0 |
||||||
|
stbu r0,1(r5) |
||||||
|
bne 1b |
||||||
|
blr |
||||||
|
|
||||||
|
.globl strncpy
|
||||||
|
strncpy: |
||||||
|
cmpwi 0,r5,0 |
||||||
|
beqlr |
||||||
|
mtctr r5 |
||||||
|
addi r6,r3,-1 |
||||||
|
addi r4,r4,-1 |
||||||
|
1: lbzu r0,1(r4) |
||||||
|
cmpwi 0,r0,0 |
||||||
|
stbu r0,1(r6) |
||||||
|
bdnzf 2,1b /* dec ctr, branch if ctr != 0 && !cr0.eq */ |
||||||
|
blr |
||||||
|
|
||||||
|
.globl strcat
|
||||||
|
strcat: |
||||||
|
addi r5,r3,-1 |
||||||
|
addi r4,r4,-1 |
||||||
|
1: lbzu r0,1(r5) |
||||||
|
cmpwi 0,r0,0 |
||||||
|
bne 1b |
||||||
|
addi r5,r5,-1 |
||||||
|
1: lbzu r0,1(r4) |
||||||
|
cmpwi 0,r0,0 |
||||||
|
stbu r0,1(r5) |
||||||
|
bne 1b |
||||||
|
blr |
||||||
|
|
||||||
|
.globl strcmp
|
||||||
|
strcmp: |
||||||
|
addi r5,r3,-1 |
||||||
|
addi r4,r4,-1 |
||||||
|
1: lbzu r3,1(r5) |
||||||
|
cmpwi 1,r3,0 |
||||||
|
lbzu r0,1(r4) |
||||||
|
subf. r3,r0,r3 |
||||||
|
beqlr 1 |
||||||
|
beq 1b |
||||||
|
blr |
||||||
|
|
||||||
|
.globl strlen
|
||||||
|
strlen: |
||||||
|
addi r4,r3,-1 |
||||||
|
1: lbzu r0,1(r4) |
||||||
|
cmpwi 0,r0,0 |
||||||
|
bne 1b |
||||||
|
subf r3,r3,r4 |
||||||
|
blr |
||||||
|
|
||||||
|
.globl memset
|
||||||
|
memset: |
||||||
|
rlwimi r4,r4,8,16,23 |
||||||
|
rlwimi r4,r4,16,0,15 |
||||||
|
addi r6,r3,-4 |
||||||
|
cmplwi 0,r5,4 |
||||||
|
blt 7f |
||||||
|
stwu r4,4(r6) |
||||||
|
beqlr |
||||||
|
andi. r0,r6,3 |
||||||
|
add r5,r0,r5 |
||||||
|
subf r6,r0,r6 |
||||||
|
rlwinm r0,r5,32-2,2,31 |
||||||
|
mtctr r0 |
||||||
|
bdz 6f |
||||||
|
1: stwu r4,4(r6) |
||||||
|
bdnz 1b |
||||||
|
6: andi. r5,r5,3 |
||||||
|
7: cmpwi 0,r5,0 |
||||||
|
beqlr |
||||||
|
mtctr r5 |
||||||
|
addi r6,r6,3 |
||||||
|
8: stbu r4,1(r6) |
||||||
|
bdnz 8b |
||||||
|
blr |
||||||
|
|
||||||
|
.globl bcopy
|
||||||
|
bcopy: |
||||||
|
mr r6,r3 |
||||||
|
mr r3,r4 |
||||||
|
mr r4,r6 |
||||||
|
b memcpy |
||||||
|
|
||||||
|
.globl memmove
|
||||||
|
memmove: |
||||||
|
cmplw 0,r3,r4 |
||||||
|
bgt backwards_memcpy |
||||||
|
/* fall through */ |
||||||
|
|
||||||
|
.globl memcpy
|
||||||
|
memcpy: |
||||||
|
rlwinm. r7,r5,32-3,3,31 /* r0 = r5 >> 3 */ |
||||||
|
addi r6,r3,-4 |
||||||
|
addi r4,r4,-4 |
||||||
|
beq 2f /* if less than 8 bytes to do */ |
||||||
|
andi. r0,r6,3 /* get dest word aligned */ |
||||||
|
mtctr r7 |
||||||
|
bne 5f |
||||||
|
1: lwz r7,4(r4) |
||||||
|
lwzu r8,8(r4) |
||||||
|
stw r7,4(r6) |
||||||
|
stwu r8,8(r6) |
||||||
|
bdnz 1b |
||||||
|
andi. r5,r5,7 |
||||||
|
2: cmplwi 0,r5,4 |
||||||
|
blt 3f |
||||||
|
lwzu r0,4(r4) |
||||||
|
addi r5,r5,-4 |
||||||
|
stwu r0,4(r6) |
||||||
|
3: cmpwi 0,r5,0 |
||||||
|
beqlr |
||||||
|
mtctr r5 |
||||||
|
addi r4,r4,3 |
||||||
|
addi r6,r6,3 |
||||||
|
4: lbzu r0,1(r4) |
||||||
|
stbu r0,1(r6) |
||||||
|
bdnz 4b |
||||||
|
blr |
||||||
|
5: subfic r0,r0,4 |
||||||
|
mtctr r0 |
||||||
|
6: lbz r7,4(r4) |
||||||
|
addi r4,r4,1 |
||||||
|
stb r7,4(r6) |
||||||
|
addi r6,r6,1 |
||||||
|
bdnz 6b |
||||||
|
subf r5,r0,r5 |
||||||
|
rlwinm. r7,r5,32-3,3,31 |
||||||
|
beq 2b |
||||||
|
mtctr r7 |
||||||
|
b 1b |
||||||
|
|
||||||
|
.globl backwards_memcpy
|
||||||
|
backwards_memcpy: |
||||||
|
rlwinm. r7,r5,32-3,3,31 /* r0 = r5 >> 3 */ |
||||||
|
add r6,r3,r5 |
||||||
|
add r4,r4,r5 |
||||||
|
beq 2f |
||||||
|
andi. r0,r6,3 |
||||||
|
mtctr r7 |
||||||
|
bne 5f |
||||||
|
1: lwz r7,-4(r4) |
||||||
|
lwzu r8,-8(r4) |
||||||
|
stw r7,-4(r6) |
||||||
|
stwu r8,-8(r6) |
||||||
|
bdnz 1b |
||||||
|
andi. r5,r5,7 |
||||||
|
2: cmplwi 0,r5,4 |
||||||
|
blt 3f |
||||||
|
lwzu r0,-4(r4) |
||||||
|
subi r5,r5,4 |
||||||
|
stwu r0,-4(r6) |
||||||
|
3: cmpwi 0,r5,0 |
||||||
|
beqlr |
||||||
|
mtctr r5 |
||||||
|
4: lbzu r0,-1(r4) |
||||||
|
stbu r0,-1(r6) |
||||||
|
bdnz 4b |
||||||
|
blr |
||||||
|
5: mtctr r0 |
||||||
|
6: lbzu r7,-1(r4) |
||||||
|
stbu r7,-1(r6) |
||||||
|
bdnz 6b |
||||||
|
subf r5,r0,r5 |
||||||
|
rlwinm. r7,r5,32-3,3,31 |
||||||
|
beq 2b |
||||||
|
mtctr r7 |
||||||
|
b 1b |
||||||
|
|
||||||
|
.globl memcmp
|
||||||
|
memcmp: |
||||||
|
cmpwi 0,r5,0 |
||||||
|
ble- 2f |
||||||
|
mtctr r5 |
||||||
|
addi r6,r3,-1 |
||||||
|
addi r4,r4,-1 |
||||||
|
1: lbzu r3,1(r6) |
||||||
|
lbzu r0,1(r4) |
||||||
|
subf. r3,r0,r3 |
||||||
|
bdnzt 2,1b |
||||||
|
blr |
||||||
|
2: li r3,0 |
||||||
|
blr |
||||||
|
|
||||||
|
.global memchr
|
||||||
|
memchr: |
||||||
|
cmpwi 0,r5,0 |
||||||
|
ble- 2f |
||||||
|
mtctr r5 |
||||||
|
addi r3,r3,-1 |
||||||
|
1: lbzu r0,1(r3) |
||||||
|
cmpw 0,r0,r4 |
||||||
|
bdnzf 2,1b |
||||||
|
beqlr |
||||||
|
2: li r3,0 |
||||||
|
blr |
Loading…
Reference in new issue