Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
c3f9f5b0
Commit
c3f9f5b0
authored
Jul 19, 2003
by
Anton Blanchard
Browse files
Options
Browse Files
Download
Plain Diff
Merge samba.org:/scratch/anton/linux-2.5
into samba.org:/scratch/anton/tmp3
parents
9892c3b0
030d0ba0
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
64 additions
and
2 deletions
+64
-2
arch/ppc64/boot/Makefile
arch/ppc64/boot/Makefile
+1
-1
arch/ppc64/boot/div64.S
arch/ppc64/boot/div64.S
+59
-0
arch/ppc64/boot/prom.c
arch/ppc64/boot/prom.c
+1
-0
arch/ppc64/mm/fault.c
arch/ppc64/mm/fault.c
+2
-0
include/asm-ppc64/smp.h
include/asm-ppc64/smp.h
+1
-1
No files found.
arch/ppc64/boot/Makefile
View file @
c3f9f5b0
...
...
@@ -33,7 +33,7 @@ BOOTLFLAGS := -Ttext 0x00400000 -e _start -T $(obj)/zImage.lds
BOOTOBJCOPY
:=
$(CROSS32_COMPILE)
objcopy
OBJCOPYFLAGS
:=
contents,alloc,load,readonly,data
src-boot
:=
crt0.S string.S prom.c main.c zlib.c imagesize.c
src-boot
:=
crt0.S string.S prom.c main.c zlib.c imagesize.c
div64.S
src-boot
:=
$(
addprefix
$(obj)
/,
$
(
src-boot
))
obj-boot
:=
$(
addsuffix
.o,
$(
basename
$
(
src-boot
)))
...
...
arch/ppc64/boot/div64.S
0 → 100644
View file @
c3f9f5b0
/*
*
Divide
a
64
-
bit
unsigned
number
by
a
32
-
bit
unsigned
number
.
*
This
routine
assumes
that
the
top
32
bits
of
the
dividend
are
*
non
-
zero
to
start
with
.
*
On
entry
,
r3
points
to
the
dividend
,
which
get
overwritten
with
*
the
64
-
bit
quotient
,
and
r4
contains
the
divisor
.
*
On
exit
,
r3
contains
the
remainder
.
*
*
Copyright
(
C
)
2002
Paul
Mackerras
,
IBM
Corp
.
*
*
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 <asm/ppc_asm.h>
#include <asm/processor.h>
.
globl
__div64_32
__div64_32
:
lwz
r5
,
0
(
r3
)
#
get
the
dividend
into
r5
/
r6
lwz
r6
,
4
(
r3
)
cmplw
r5
,
r4
li
r7
,
0
li
r8
,
0
blt
1
f
divwu
r7
,
r5
,
r4
#
if
dividend
.
hi
>=
divisor
,
mullw
r0
,
r7
,
r4
#
quotient
.
hi
=
dividend
.
hi
/
divisor
subf
.
r5
,
r0
,
r5
#
dividend
.
hi
%=
divisor
beq
3
f
1
:
mr
r11
,
r5
#
here
dividend
.
hi
!=
0
andis
.
r0
,
r5
,
0xc000
bne
2
f
cntlzw
r0
,
r5
#
we
are
shifting
the
dividend
right
li
r10
,-
1
#
to
make
it
<
2
^
32
,
and
shifting
srw
r10
,
r10
,
r0
#
the
divisor
right
the
same
amount
,
add
r9
,
r4
,
r10
#
rounding
up
(
so
the
estimate
cannot
andc
r11
,
r6
,
r10
#
ever
be
too
large
,
only
too
small
)
andc
r9
,
r9
,
r10
or
r11
,
r5
,
r11
rotlw
r9
,
r9
,
r0
rotlw
r11
,
r11
,
r0
divwu
r11
,
r11
,
r9
#
then
we
divide
the
shifted
quantities
2
:
mullw
r10
,
r11
,
r4
#
to
get
an
estimate
of
the
quotient
,
mulhwu
r9
,
r11
,
r4
#
multiply
the
estimate
by
the
divisor
,
subfc
r6
,
r10
,
r6
#
take
the
product
from
the
divisor
,
add
r8
,
r8
,
r11
#
and
add
the
estimate
to
the
accumulated
subfe
.
r5
,
r9
,
r5
#
quotient
bne
1
b
3
:
cmplw
r6
,
r4
blt
4
f
divwu
r0
,
r6
,
r4
#
perform
the
remaining
32
-
bit
division
mullw
r10
,
r0
,
r4
#
and
get
the
remainder
add
r8
,
r8
,
r0
subf
r6
,
r10
,
r6
4
:
stw
r7
,
0
(
r3
)
#
return
the
quotient
in
*
r3
stw
r8
,
4
(
r3
)
mr
r3
,
r6
#
return
the
remainder
in
r3
blr
arch/ppc64/boot/prom.c
View file @
c3f9f5b0
...
...
@@ -11,6 +11,7 @@
#include <linux/string.h>
#include <linux/ctype.h>
#define BITS_PER_LONG 32
#include <asm/div64.h>
int
(
*
prom
)(
void
*
);
...
...
arch/ppc64/mm/fault.c
View file @
c3f9f5b0
...
...
@@ -66,6 +66,8 @@ void do_page_fault(struct pt_regs *regs, unsigned long address,
*/
if
(
regs
->
trap
==
0x400
)
error_code
&=
0x48200000
;
else
if
(
regs
->
trap
!=
0x300
)
/* ensure error_code is 0 on SLB miss */
error_code
=
0
;
#ifdef CONFIG_DEBUG_KERNEL
if
(
debugger_fault_handler
&&
(
regs
->
trap
==
0x300
||
...
...
include/asm-ppc64/smp.h
View file @
c3f9f5b0
...
...
@@ -44,7 +44,7 @@ static inline unsigned int num_online_cpus(void)
return
hweight64
(
cpu_online_map
);
}
static
inline
unsigned
int
any_online_cpu
(
unsigned
int
mask
)
static
inline
unsigned
int
any_online_cpu
(
unsigned
long
mask
)
{
if
(
mask
&
cpu_online_map
)
return
__ffs
(
mask
&
cpu_online_map
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment