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