mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
Initial revision
This commit is contained in:
parent
7309612797
commit
40c855574c
4 changed files with 3639 additions and 0 deletions
3276
common/dlmalloc.src
Normal file
3276
common/dlmalloc.src
Normal file
File diff suppressed because it is too large
Load diff
91
include/ppc_defs.h
Normal file
91
include/ppc_defs.h
Normal file
|
@ -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
|
56
lib_generic/ctype.c
Normal file
56
lib_generic/ctype.c
Normal file
|
@ -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 */
|
216
lib_ppc/ppcstring.S
Normal file
216
lib_ppc/ppcstring.S
Normal file
|
@ -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 a new issue