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
f0cc009e
Commit
f0cc009e
authored
Apr 03, 2004
by
Steve French
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://linux.bkbits.net/linux-2.5
into hostme.bitkeeper.com:/repos/c/cifs/linux-2.5cifs
parents
082e21d6
196c4ebd
Changes
31
Show whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
572 additions
and
312 deletions
+572
-312
Makefile
Makefile
+1
-1
arch/alpha/kernel/setup.c
arch/alpha/kernel/setup.c
+218
-4
arch/alpha/lib/dec_and_lock.c
arch/alpha/lib/dec_and_lock.c
+1
-1
arch/alpha/mm/numa.c
arch/alpha/mm/numa.c
+4
-2
arch/arm/Makefile
arch/arm/Makefile
+15
-26
arch/arm/boot/compressed/Makefile
arch/arm/boot/compressed/Makefile
+1
-1
arch/arm/kernel/Makefile
arch/arm/kernel/Makefile
+1
-1
arch/arm/lib/Makefile
arch/arm/lib/Makefile
+9
-19
arch/i386/kernel/setup.c
arch/i386/kernel/setup.c
+1
-1
arch/i386/mm/hugetlbpage.c
arch/i386/mm/hugetlbpage.c
+1
-0
arch/ia64/mm/hugetlbpage.c
arch/ia64/mm/hugetlbpage.c
+1
-0
arch/ppc/boot/simple/relocate.S
arch/ppc/boot/simple/relocate.S
+4
-1
arch/ppc/configs/ebony_defconfig
arch/ppc/configs/ebony_defconfig
+71
-69
arch/ppc/configs/walnut_defconfig
arch/ppc/configs/walnut_defconfig
+68
-84
arch/ppc/kernel/cputable.c
arch/ppc/kernel/cputable.c
+14
-0
arch/ppc/kernel/head_44x.S
arch/ppc/kernel/head_44x.S
+2
-0
arch/ppc64/mm/hugetlbpage.c
arch/ppc64/mm/hugetlbpage.c
+1
-0
arch/sh/mm/hugetlbpage.c
arch/sh/mm/hugetlbpage.c
+1
-0
arch/sparc64/mm/hugetlbpage.c
arch/sparc64/mm/hugetlbpage.c
+1
-0
drivers/acorn/char/Makefile
drivers/acorn/char/Makefile
+0
-1
drivers/isdn/hardware/eicon/divasmain.c
drivers/isdn/hardware/eicon/divasmain.c
+2
-7
drivers/scsi/mac53c94.c
drivers/scsi/mac53c94.c
+27
-26
drivers/scsi/mesh.c
drivers/scsi/mesh.c
+32
-30
include/asm-alpha/elf.h
include/asm-alpha/elf.h
+36
-2
include/asm-alpha/module.h
include/asm-alpha/module.h
+1
-1
include/asm-alpha/pci.h
include/asm-alpha/pci.h
+32
-20
include/asm-alpha/unistd.h
include/asm-alpha/unistd.h
+11
-11
include/asm-generic/siginfo.h
include/asm-generic/siginfo.h
+10
-1
include/asm-ppc/reg.h
include/asm-ppc/reg.h
+3
-1
include/asm-ppc/reg_booke.h
include/asm-ppc/reg_booke.h
+2
-2
include/asm-sparc64/siginfo.h
include/asm-sparc64/siginfo.h
+1
-0
No files found.
Makefile
View file @
f0cc009e
VERSION
=
2
PATCHLEVEL
=
6
SUBLEVEL
=
5
EXTRAVERSION
=
-rc3
EXTRAVERSION
=
NAME
=
Zonked Quokka
# *DOCUMENTATION*
...
...
arch/alpha/kernel/setup.c
View file @
f0cc009e
...
...
@@ -38,8 +38,9 @@
#include <linux/sysrq.h>
#include <linux/reboot.h>
#endif
#include <linux/notifier.h>
#include <asm/io.h>
extern
struct
notifier_block
*
panic_notifier_list
;
static
int
alpha_panic_event
(
struct
notifier_block
*
,
unsigned
long
,
void
*
);
static
struct
notifier_block
alpha_panic_block
=
{
...
...
@@ -64,6 +65,11 @@ static struct notifier_block alpha_panic_block = {
struct
hwrpb_struct
*
hwrpb
;
unsigned
long
srm_hae
;
int
alpha_l1i_cacheshape
;
int
alpha_l1d_cacheshape
;
int
alpha_l2_cacheshape
;
int
alpha_l3_cacheshape
;
#ifdef CONFIG_VERBOSE_MCHECK
/* 0=minimum, 1=verbose, 2=all */
/* These can be overridden via the command line, ie "verbose_mcheck=2") */
...
...
@@ -113,6 +119,7 @@ static struct alpha_machine_vector *get_sysvec(unsigned long, unsigned long,
static
struct
alpha_machine_vector
*
get_sysvec_byname
(
const
char
*
);
static
void
get_sysnames
(
unsigned
long
,
unsigned
long
,
unsigned
long
,
char
**
,
char
**
);
static
void
determine_cpu_caches
(
unsigned
int
);
static
char
command_line
[
COMMAND_LINE_SIZE
];
char
saved_command_line
[
COMMAND_LINE_SIZE
];
...
...
@@ -672,6 +679,9 @@ setup_arch(char **cmdline_p)
/* Find our memory. */
setup_memory
(
kernel_end
);
/* First guess at cpu cache sizes. Do this before init_arch. */
determine_cpu_caches
(
cpu
->
type
);
/* Initialize the machine. Usually has to do with setting up
DMA windows and the like. */
if
(
alpha_mv
.
init_arch
)
...
...
@@ -1156,6 +1166,18 @@ get_nr_processors(struct percpu_struct *cpubase, unsigned long num)
return
count
;
}
static
void
show_cache_size
(
struct
seq_file
*
f
,
const
char
*
which
,
int
shape
)
{
if
(
shape
==
-
1
)
seq_printf
(
f
,
"%s
\t\t
: n/a
\n
"
,
which
);
else
if
(
shape
==
0
)
seq_printf
(
f
,
"%s
\t\t
: unknown
\n
"
,
which
);
else
seq_printf
(
f
,
"%s
\t\t
: %dK, %d-way, %db line
\n
"
,
which
,
shape
>>
10
,
shape
&
15
,
1
<<
((
shape
>>
4
)
&
15
));
}
static
int
show_cpuinfo
(
struct
seq_file
*
f
,
void
*
slot
)
...
...
@@ -1229,9 +1251,202 @@ show_cpuinfo(struct seq_file *f, void *slot)
num_online_cpus
(),
cpu_present_mask
);
#endif
show_cache_size
(
f
,
"L1 Icache"
,
alpha_l1i_cacheshape
);
show_cache_size
(
f
,
"L1 Dcache"
,
alpha_l1d_cacheshape
);
show_cache_size
(
f
,
"L2 cache"
,
alpha_l2_cacheshape
);
show_cache_size
(
f
,
"L3 cache"
,
alpha_l3_cacheshape
);
return
0
;
}
static
int
__init
read_mem_block
(
int
*
addr
,
int
stride
,
int
size
)
{
long
nloads
=
size
/
stride
,
cnt
,
tmp
;
__asm__
__volatile__
(
" rpcc %0
\n
"
"1: ldl %3,0(%2)
\n
"
" subq %1,1,%1
\n
"
/* Next two XORs introduce an explicit data dependency between
consecutive loads in the loop, which will give us true load
latency. */
" xor %3,%2,%2
\n
"
" xor %3,%2,%2
\n
"
" addq %2,%4,%2
\n
"
" bne %1,1b
\n
"
" rpcc %3
\n
"
" subl %3,%0,%0
\n
"
:
"=&r"
(
cnt
),
"=&r"
(
nloads
),
"=&r"
(
addr
),
"=&r"
(
tmp
)
:
"r"
(
stride
),
"1"
(
nloads
),
"2"
(
addr
));
return
cnt
/
(
size
/
stride
);
}
#define CSHAPE(totalsize, linesize, assoc) \
((totalsize & ~0xff) | (linesize << 4) | assoc)
/* ??? EV5 supports up to 64M, but did the systems with more than
16M of BCACHE ever exist? */
#define MAX_BCACHE_SIZE 16*1024*1024
/* Note that the offchip caches are direct mapped on all Alphas. */
static
int
__init
external_cache_probe
(
int
minsize
,
int
width
)
{
int
cycles
,
prev_cycles
=
1000000
;
int
stride
=
1
<<
width
;
long
size
=
minsize
,
maxsize
=
MAX_BCACHE_SIZE
*
2
;
if
(
maxsize
>
(
max_low_pfn
+
1
)
<<
PAGE_SHIFT
)
maxsize
=
1
<<
(
floor_log2
(
max_low_pfn
+
1
)
+
PAGE_SHIFT
);
/* Get the first block cached. */
read_mem_block
(
__va
(
0
),
stride
,
size
);
while
(
size
<
maxsize
)
{
/* Get an average load latency in cycles. */
cycles
=
read_mem_block
(
__va
(
0
),
stride
,
size
);
if
(
cycles
>
prev_cycles
*
2
)
{
/* Fine, we exceed the cache. */
printk
(
"%ldK Bcache detected; load hit latency %d "
"cycles, load miss latency %d cycles
\n
"
,
size
>>
11
,
prev_cycles
,
cycles
);
return
CSHAPE
(
size
>>
1
,
width
,
1
);
}
/* Try to get the next block cached. */
read_mem_block
(
__va
(
size
),
stride
,
size
);
prev_cycles
=
cycles
;
size
<<=
1
;
}
return
-
1
;
/* No BCACHE found. */
}
static
void
__init
determine_cpu_caches
(
unsigned
int
cpu_type
)
{
int
L1I
,
L1D
,
L2
,
L3
;
switch
(
cpu_type
)
{
case
EV4_CPU
:
case
EV45_CPU
:
{
if
(
cpu_type
==
EV4_CPU
)
L1I
=
CSHAPE
(
8
*
1024
,
5
,
1
);
else
L1I
=
CSHAPE
(
16
*
1024
,
5
,
1
);
L1D
=
L1I
;
L3
=
-
1
;
/* BIU_CTL is a write-only Abox register. PALcode has a
shadow copy, and may be available from some versions
of the CSERVE PALcall. If we can get it, then
unsigned long biu_ctl, size;
size = 128*1024 * (1 << ((biu_ctl >> 28) & 7));
L2 = CSHAPE (size, 5, 1);
Unfortunately, we can't rely on that.
*/
L2
=
external_cache_probe
(
128
*
1024
,
5
);
break
;
}
case
LCA4_CPU
:
{
unsigned
long
car
,
size
;
L1I
=
L1D
=
CSHAPE
(
8
*
1024
,
5
,
1
);
L3
=
-
1
;
car
=
*
(
vuip
)
phys_to_virt
(
0x120000078
);
size
=
64
*
1024
*
(
1
<<
((
car
>>
5
)
&
7
));
/* No typo -- 8 byte cacheline size. Whodathunk. */
L2
=
(
car
&
1
?
CSHAPE
(
size
,
3
,
1
)
:
-
1
);
break
;
}
case
EV5_CPU
:
case
EV56_CPU
:
{
unsigned
long
sc_ctl
,
width
;
L1I
=
L1D
=
CSHAPE
(
8
*
1024
,
5
,
1
);
/* Check the line size of the Scache. */
sc_ctl
=
*
(
vulp
)
phys_to_virt
(
0xfffff000a8
);
width
=
sc_ctl
&
0x1000
?
6
:
5
;
L2
=
CSHAPE
(
96
*
1024
,
width
,
3
);
/* BC_CONTROL and BC_CONFIG are write-only IPRs. PALcode
has a shadow copy, and may be available from some versions
of the CSERVE PALcall. If we can get it, then
unsigned long bc_control, bc_config, size;
size = 1024*1024 * (1 << ((bc_config & 7) - 1));
L3 = (bc_control & 1 ? CSHAPE (size, width, 1) : -1);
Unfortunately, we can't rely on that.
*/
L3
=
external_cache_probe
(
1024
*
1024
,
width
);
break
;
}
case
PCA56_CPU
:
case
PCA57_CPU
:
{
unsigned
long
cbox_config
,
size
;
if
(
cpu_type
==
PCA56_CPU
)
{
L1I
=
CSHAPE
(
16
*
1024
,
6
,
1
);
L1D
=
CSHAPE
(
8
*
1024
,
5
,
1
);
}
else
{
L1I
=
CSHAPE
(
32
*
1024
,
6
,
2
);
L1D
=
CSHAPE
(
16
*
1024
,
5
,
1
);
}
L3
=
-
1
;
cbox_config
=
*
(
vulp
)
phys_to_virt
(
0xfffff00008
);
size
=
512
*
1024
*
(
1
<<
((
cbox_config
>>
12
)
&
3
));
#if 0
L2 = ((cbox_config >> 31) & 1 ? CSHAPE (size, 6, 1) : -1);
#else
L2
=
external_cache_probe
(
512
*
1024
,
6
);
#endif
break
;
}
case
EV6_CPU
:
case
EV67_CPU
:
case
EV68CB_CPU
:
case
EV68AL_CPU
:
case
EV68CX_CPU
:
case
EV69_CPU
:
L1I
=
L1D
=
CSHAPE
(
64
*
1024
,
6
,
2
);
L2
=
external_cache_probe
(
1024
*
1024
,
6
);
L3
=
-
1
;
break
;
case
EV7_CPU
:
case
EV79_CPU
:
L1I
=
L1D
=
CSHAPE
(
64
*
1024
,
6
,
2
);
L2
=
CSHAPE
(
7
*
1024
*
1024
/
4
,
6
,
7
);
L3
=
-
1
;
break
;
default:
/* Nothing known about this cpu type. */
L1I
=
L1D
=
L2
=
L3
=
0
;
break
;
}
alpha_l1i_cacheshape
=
L1I
;
alpha_l1d_cacheshape
=
L1D
;
alpha_l2_cacheshape
=
L2
;
alpha_l3_cacheshape
=
L3
;
}
/*
* We show only CPU #0 info.
*/
...
...
@@ -1260,9 +1475,8 @@ struct seq_operations cpuinfo_op = {
};
static
int
alpha_panic_event
(
struct
notifier_block
*
this
,
unsigned
long
event
,
void
*
ptr
)
static
int
alpha_panic_event
(
struct
notifier_block
*
this
,
unsigned
long
event
,
void
*
ptr
)
{
#if 1
/* FIXME FIXME FIXME */
...
...
arch/alpha/lib/dec_and_lock.c
View file @
f0cc009e
...
...
@@ -30,7 +30,7 @@ atomic_dec_and_lock: \n\
.previous
\n
\
.end atomic_dec_and_lock"
);
static
int
__attribute_
_
((
unused
))
static
int
__attribute_
used__
atomic_dec_and_lock_1
(
atomic_t
*
atomic
,
spinlock_t
*
lock
)
{
/* Slow path */
...
...
arch/alpha/mm/numa.c
View file @
f0cc009e
...
...
@@ -158,8 +158,10 @@ setup_memory_node(int nid, void *kernel_end)
if
(
!
nid
&&
(
node_max_pfn
<
end_kernel_pfn
||
node_min_pfn
>
start_kernel_pfn
))
panic
(
"kernel loaded out of ram"
);
/* Zone start phys-addr must be 2^(MAX_ORDER-1) aligned */
node_min_pfn
=
(
node_min_pfn
+
((
1UL
<<
(
MAX_ORDER
-
1
))
-
1
))
&
~
((
1UL
<<
(
MAX_ORDER
-
1
))
-
1
);
/* Zone start phys-addr must be 2^(MAX_ORDER-1) aligned.
Note that we round this down, not up - node memory
has much larger alignment than 8Mb, so it's safe. */
node_min_pfn
&=
~
((
1UL
<<
(
MAX_ORDER
-
1
))
-
1
);
/* We need to know how many physically contiguous pages
we'll need for the bootmap. */
...
...
arch/arm/Makefile
View file @
f0cc009e
...
...
@@ -36,7 +36,7 @@ comma = ,
# Note that GCC does not numerically define an architecture version
# macro, but instead defines a whole series of macros which makes
# testing for a specific architecture or later rather impossible.
arch-$(CONFIG_CPU_32v6)
:=
-D__LINUX_ARM_ARCH__
=
6
-march
=
armv5t
-Wa
,-march
=
armv6
arch-$(CONFIG_CPU_32v6)
:=
-D__LINUX_ARM_ARCH__
=
6
$(
call
check_gcc,-march
=
armv6,-march
=
armv5t
-Wa
$(comma)
-march
=
armv6
)
arch-$(CONFIG_CPU_32v5)
:=
-D__LINUX_ARM_ARCH__
=
5
$(
call
check_gcc,-march
=
armv5te,-march
=
armv4
)
arch-$(CONFIG_CPU_32v4)
:=
-D__LINUX_ARM_ARCH__
=
4
-march
=
armv4
arch-$(CONFIG_CPU_32v3)
:=
-D__LINUX_ARM_ARCH__
=
3
-march
=
armv3
...
...
@@ -54,20 +54,13 @@ tune-$(CONFIG_CPU_XSCALE) :=$(call check_gcc,-mtune=xscale,-mtune=strongarm110)
tune-$(CONFIG_CPU_V6)
:=
-mtune
=
strongarm
# Need -Uarm for gcc < 3.x
CFLAGS_BOOT
:=
-mapcs-32
$
(
arch-y
)
$
(
tune-y
)
-mshort-load-bytes
-msoft-float
-Wa
,-mno-fpu
-Uarm
CFLAGS
+=
-mapcs-32
$
(
arch-y
)
$
(
tune-y
)
-mshort-load-bytes
-msoft-float
-Wa
,-mno-fpu
-Uarm
AFLAGS
+=
-mapcs-32
$
(
arch-y
)
$
(
tune-y
)
-msoft-float
-Wa
,-mno-fpu
#Default value
DATAADDR
:=
.
PROCESSOR
:=
armv
head-y
:=
arch
/arm/kernel/head.o
arch
/arm/kernel/init_task.o
ifeq
($(CONFIG_CPU_BIG_ENDIAN),y)
LDFLAGS_BLOB
+=
--oformat
elf32-bigarm
else
LDFLAGS_BLOB
+=
--oformat
elf32-littlearm
endif
textaddr-y
:=
0xC0008000
machine-$(CONFIG_ARCH_ARCA5K)
:=
arc
...
...
@@ -99,14 +92,13 @@ textaddr-$(CONFIG_ARCH_FORTUNET) := 0xc0008000
machine-$(CONFIG_ARCH_IOP3XX)
:=
iop3xx
machine-$(CONFIG_ARCH_ADIFCC)
:=
adifcc
MACHINE
:=
$
(
machine-y
)
TEXTADDR
:=
$
(
textaddr-y
)
ifeq
($(incdir-y),)
incdir-y
:=
$(
MACHINE
)
incdir-y
:=
$
(
machine-y
)
endif
INCDIR
:=
$
(
incdir-y
)
export
MACHINE
PROCESSOR
TEXTADDR
GZFLAGS
CFLAGS_BOOT
export
TEXTADDR
GZFLAGS
# Do we have FASTFPE?
FASTFPE
:=
arch
/arm/fastfpe
...
...
@@ -116,8 +108,8 @@ endif
# If we have a machine-specific directory, then include it in the build.
core-y
+=
arch
/arm/kernel/
arch
/arm/mm/
arch
/arm/common/
ifneq
($(
MACHINE
),)
core-y
+=
arch
/arm/mach-
$(
MACHINE
)
/
ifneq
($(
machine-y
),)
core-y
+=
arch
/arm/mach-
$
(
machine-y
)
/
endif
core-$(CONFIG_FPE_NWFPE)
+=
arch
/arm/nwfpe/
core-$(CONFIG_FPE_FASTFPE)
+=
$(FASTFPE_OBJ)
...
...
@@ -134,20 +126,18 @@ all: zImage
boot
:=
arch
/arm/boot
# Update machine arch and proc symlinks if something which affects
# them changed. We use .arch
and .proc to indicate when they were
#
updated
last, otherwise make uses the target directory mtime.
# them changed. We use .arch
to indicate when they were updated
# last, otherwise make uses the target directory mtime.
include/asm-arm/.arch
:
$(wildcard include/config/arch/*.h)
@
echo
' Making asm-arm/arch -> asm-arm/arch-
$(INCDIR)
symlink'
@
rm
-f
include/asm-arm/arch
@
ln
-sf
arch-
$(INCDIR)
include/asm-arm/arch
include/asm-arm/.arch
:
$(wildcard include/config/arch/*.h) include/config/MARKER
@
echo
' SYMLINK include/asm-arm/arch -> include/asm-arm/arch-
$(INCDIR)
'
@
ln
-fsn
arch-
$(INCDIR)
include/asm-arm/arch
@
touch
$@
prepare
:
maketools
prepare
:
maketools
include/asm-arm/.arch
.PHONY
:
maketools FORCE
maketools
:
include/asm-arm/.arch
\
include/asm-arm/constants.h include/linux/version.h FORCE
maketools
:
include/asm-arm/constants.h include/linux/version.h FORCE
$(Q)$(MAKE)
$(build)
=
arch
/arm/tools include/asm-arm/mach-types.h
# Convert bzImage to zImage
...
...
@@ -160,8 +150,8 @@ zImage Image bootpImage uImage: vmlinux
zinstall install
:
vmlinux
$(Q)$(MAKE)
$(build)
=
$(boot)
$@
CLEAN_FILES
+=
include/asm-arm/constants.h
*
include/asm-arm/mach-types.h
MRPROPER_FILES
+=
include/asm-arm/arch include/asm-arm/.arch
CLEAN_FILES
+=
include/asm-arm/constants.h
*
include/asm-arm/mach-types.h
\
include/asm-arm/arch include/asm-arm/.arch
# We use MRPROPER_FILES and CLEAN_FILES now
archclean
:
...
...
@@ -175,8 +165,7 @@ i:; $(Q)$(MAKE) $(build)=$(boot) install
zi
:
; $(Q)$(MAKE) $(build)=$(boot) zinstall
arch/$(ARCH)/kernel/asm-offsets.s
:
include/asm include/linux/version.h
\
include/asm-arm/.arch
\
include/config/MARKER
include/asm-arm/.arch
include/asm-$(ARCH)/constants.h
:
arch/$(ARCH)/kernel/asm-offsets.s
$(
call
filechk,gen-asm-offsets
)
...
...
arch/arm/boot/compressed/Makefile
View file @
f0cc009e
...
...
@@ -59,7 +59,7 @@ SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/LOAD_ADDR/$(ZRELADDR)/;s/BSS_START/$(ZBS
targets
:=
vmlinux vmlinux.lds piggy piggy.gz piggy.o
\
font.o head.o
$(OBJS)
EXTRA_CFLAGS
:=
$(CFLAGS_BOOT)
-fpic
EXTRA_CFLAGS
:=
-fpic
EXTRA_AFLAGS
:=
-traditional
LDFLAGS_vmlinux
:=
-p
-X
\
...
...
arch/arm/kernel/Makefile
View file @
f0cc009e
...
...
@@ -20,7 +20,7 @@ obj-$(CONFIG_ARTHUR) += arthur.o
obj-$(CONFIG_ISA_DMA)
+=
dma-isa.o
obj-$(CONFIG_PCI)
+=
bios32.o
ifneq
($(
MACHINE),ebsa110
)
ifneq
($(
CONFIG_ARCH_EBSA110),y
)
obj-y
+=
io.o
endif
...
...
arch/arm/lib/Makefile
View file @
f0cc009e
...
...
@@ -11,30 +11,20 @@ lib-y := backtrace.o changebit.o csumipv6.o csumpartial.o \
strnlen_user.o strchr.o strrchr.o testchangebit.o
\
testclearbit.o testsetbit.o uaccess.o getuser.o
\
putuser.o ashldi3.o ashrdi3.o lshrdi3.o muldi3.o
\
ucmpdi2.o udivdi3.o lib1funcs.o div64.o
lib-arc
:=
ecard.o io-acorn.o floppydma.o
lib-rpc
:=
ecard.o io-acorn.o floppydma.o
lib-clps7500
:=
io-acorn.o
lib-l7200
:=
io-acorn.o
lib-shark
:=
io-shark.o
lib-edb7211
:=
io-acorn.o
lib-y
+=
$
(
lib-
$(MACHINE)
)
ucmpdi2.o udivdi3.o lib1funcs.o div64.o
\
io-readsb.o io-writesb.o io-writesl.o
ifeq
($(CONFIG_CPU_32v3),y)
v3
:=
y
v4
:=
n
lib-y
+=
io-readsw-armv3.o io-writesw-armv3.o io-readsl-armv3.o
else
v3
:=
n
v4
:=
y
lib-y
+=
io-readsw-armv4.o io-writesw-armv4.o io-readsl-armv4.o
endif
lib-y
+=
io-readsb.o io-writesb.o
lib-$(v3)
+=
io-readsw-armv3.o io-writesw-armv3.o io-readsl-armv3.o
lib-$(v4)
+=
io-readsw-armv4.o io-writesw-armv4.o io-readsl-armv4.o
lib-y
+=
io-writesl.o
lib-$(CONFIG_ARCH_RPC)
+=
ecard.o io-acorn.o floppydma.o
lib-$(CONFIG_ARCH_CLPS7500)
+=
io-acorn.o
lib-$(CONFIG_ARCH_L7200)
+=
io-acorn.o
lib-$(CONFIG_ARCH_SHARK)
+=
io-shark.o
lib-$(CONFIG_ARCH_CLPS711X)
+=
io-acorn.o
$(obj)/csumpartialcopy.o
:
$(obj)/csumpartialcopygeneric.S
$(obj)/csumpartialcopyuser.o
:
$(obj)/csumpartialcopygeneric.S
arch/i386/kernel/setup.c
View file @
f0cc009e
...
...
@@ -560,7 +560,7 @@ static void __init parse_cmdline_early (char ** cmdline_p)
}
}
#ifdef CONFIG_SMP
#ifdef CONFIG_
X86_
SMP
/*
* If the BIOS enumerates physical processors before logical,
* maxcpus=N at enumeration-time can be used to disable HT.
...
...
arch/i386/mm/hugetlbpage.c
View file @
f0cc009e
...
...
@@ -532,6 +532,7 @@ unsigned long hugetlb_total_pages(void)
{
return
htlbzone_pages
*
(
HPAGE_SIZE
/
PAGE_SIZE
);
}
EXPORT_SYMBOL
(
hugetlb_total_pages
);
/*
* We cannot handle pagefaults against hugetlb pages at all. They cause
...
...
arch/ia64/mm/hugetlbpage.c
View file @
f0cc009e
...
...
@@ -597,6 +597,7 @@ unsigned long hugetlb_total_pages(void)
{
return
htlbzone_pages
*
(
HPAGE_SIZE
/
PAGE_SIZE
);
}
EXPORT_SYMBOL
(
hugetlb_total_pages
);
static
struct
page
*
hugetlb_nopage
(
struct
vm_area_struct
*
area
,
unsigned
long
address
,
int
*
unused
)
{
...
...
arch/ppc/boot/simple/relocate.S
View file @
f0cc009e
...
...
@@ -196,9 +196,9 @@ start_ldr:
/
*
*
Start
at
the
begining
.
*/
#ifdef CONFIG_PPC_MULTIPLATFORM
li
r9
,
0xc
mtlr
r9
#ifdef CONFIG_PPC_MULTIPLATFORM
/
*
tell
kernel
we
're prep, by putting 0xdeadc0de at KERNELLOAD,
*
and
tell
the
kernel
to
start
on
the
4
th
instruction
since
we
*
overwrite
the
first
3
sometimes
(
which
are
'nop'
)
.
...
...
@@ -207,6 +207,9 @@ start_ldr:
ori
r10
,
r10
,
0xdeadc0de
@
l
li
r9
,
0
stw
r10
,
0
(
r9
)
#else
li
r9
,
0
mtlr
r9
#endif
blr
...
...
arch/ppc/configs/ebony_defconfig
View file @
f0cc009e
...
...
@@ -6,6 +6,7 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_PPC=y
CONFIG_PPC32=y
CONFIG_GENERIC_NVRAM=y
#
# Code maturity level options
...
...
@@ -23,14 +24,16 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_HOTPLUG is not set
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
CONFIG_EMBEDDED=y
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
# Loadable module support
...
...
@@ -62,9 +65,9 @@ CONFIG_EBONY=y
# CONFIG_OCOTEA is not set
CONFIG_440GP=y
CONFIG_440=y
CONFIG_PIN_TLB=y
CONFIG_BOOKE=y
CONFIG_IBM_OCP=y
CONFIG_PPC_OCP=y
# CONFIG_PM is not set
CONFIG_NOT_COHERENT_CACHE=y
...
...
@@ -88,12 +91,6 @@ CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_LEGACY_PROC is not set
# CONFIG_PCI_NAMES is not set
# CONFIG_HOTPLUG is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Advanced setup
...
...
@@ -109,38 +106,43 @@ CONFIG_KERNEL_START=0xc0000000
CONFIG_TASK_SIZE=0x80000000
CONFIG_BOOT_LOAD=0x01000000
#
# Device Drivers
#
#
# Generic Driver Options
#
# CONFIG_DEBUG_DRIVER is not set
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#
# CONFIG_PNP is not set
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_CARMEL is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_LBD=y
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# ATA/ATAPI/MFM/RLL support
#
...
...
@@ -151,12 +153,18 @@ CONFIG_LBD=y
#
# CONFIG_SCSI is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
(EXPERIMENTAL)
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
...
...
@@ -165,6 +173,10 @@ CONFIG_LBD=y
#
# CONFIG_I2O is not set
#
# Macintosh device drivers
#
#
# Networking support
#
...
...
@@ -188,7 +200,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
...
...
@@ -217,7 +228,6 @@ CONFIG_NETFILTER=y
#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
...
...
@@ -291,6 +301,7 @@ CONFIG_NETDEVICES=y
# CONFIG_TR is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
#
# Wan interfaces
...
...
@@ -311,23 +322,18 @@ CONFIG_NETDEVICES=y
# Bluetooth support
#
# CONFIG_BT is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
# ISDN subsystem
#
# CONFIG_ISDN_BOOL is not set
#
# Graphics support
#
# CONFIG_FB is not set
# CONFIG_ISDN is not set
#
#
Console display driver s
upport
#
Telephony S
upport
#
# CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
# CONFIG_PHONE is not set
#
# Input device support
...
...
@@ -366,16 +372,10 @@ CONFIG_SERIO=y
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Macintosh device drivers
#
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT is not set
# CONFIG_SERIAL_NONSTANDARD is not set
#
...
...
@@ -397,30 +397,8 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
#
# I2C support
#
# CONFIG_I2C is not set
#
# I2C Algorithms
#
#
# I2C Hardware Bus support
#
#
# I2C Hardware Sensors Chip support
#
# CONFIG_I2C_SENSOR is not set
#
# Mice
#
# CONFIG_BUSMOUSE is not set
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_QIC02_TAPE is not set
#
...
...
@@ -446,6 +424,15 @@ CONFIG_UNIX98_PTY_COUNT=256
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# Misc devices
#
#
# Multimedia devices
#
...
...
@@ -456,6 +443,26 @@ CONFIG_UNIX98_PTY_COUNT=256
#
# CONFIG_DVB is not set
#
# Graphics support
#
# CONFIG_FB is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
# CONFIG_USB is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# File systems
#
...
...
@@ -489,7 +496,6 @@ CONFIG_UNIX98_PTY_COUNT=256
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_DEVPTS_FS_XATTR is not set
# CONFIG_TMPFS is not set
# CONFIG_HUGETLB_PAGE is not set
...
...
@@ -501,6 +507,7 @@ CONFIG_RAMFS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
...
...
@@ -517,12 +524,13 @@ CONFIG_RAMFS=y
CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
# CONFIG_EXPORTFS is not set
CONFIG_SUNRPC=y
# CONFIG_
SUNRPC_GSS
is not set
# CONFIG_
RPCSEC_GSS_KRB5
is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
...
...
@@ -537,15 +545,9 @@ CONFIG_SUNRPC=y
CONFIG_MSDOS_PARTITION=y
#
#
Sound
#
Native Language Support
#
# CONFIG_SOUND is not set
#
# USB support
#
# CONFIG_USB is not set
# CONFIG_USB_GADGET is not set
# CONFIG_NLS is not set
#
# Library routines
...
...
arch/ppc/configs/walnut_defconfig
View file @
f0cc009e
...
...
@@ -6,6 +6,7 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_PPC=y
CONFIG_PPC32=y
CONFIG_GENERIC_NVRAM=y
#
# Code maturity level options
...
...
@@ -23,6 +24,7 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_HOTPLUG is not set
# CONFIG_IKCONFIG is not set
CONFIG_EMBEDDED=y
# CONFIG_KALLSYMS is not set
...
...
@@ -31,6 +33,7 @@ CONFIG_FUTEX=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
# Loadable module support
...
...
@@ -59,24 +62,20 @@ CONFIG_4xx=y
# IBM 4xx options
#
# CONFIG_ASH is not set
# CONFIG_BEECH is not set
# CONFIG_CEDAR is not set
# CONFIG_CPCI405 is not set
# CONFIG_EP405 is not set
# CONFIG_OAK is not set
# CONFIG_REDWOOD_4 is not set
# CONFIG_REDWOOD_5 is not set
# CONFIG_REDWOOD_6 is not set
# CONFIG_SYCAMORE is not set
# CONFIG_TIVO is not set
CONFIG_WALNUT=y
CONFIG_IBM405_ERR77=y
CONFIG_IBM405_ERR51=y
CONFIG_IBM_OCP=y
CONFIG_PPC_OCP=y
CONFIG_BIOS_FIXUP=y
CONFIG_405GP=y
CONFIG_IBM_OPENBIOS=y
# CONFIG_405_DMA is not set
# CONFIG_PM is not set
CONFIG_UART0_TTYS0=y
# CONFIG_UART0_TTYS1 is not set
...
...
@@ -101,12 +100,6 @@ CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_LEGACY_PROC=y
# CONFIG_PCI_NAMES is not set
# CONFIG_HOTPLUG is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Advanced setup
...
...
@@ -122,6 +115,10 @@ CONFIG_KERNEL_START=0xc0000000
CONFIG_TASK_SIZE=0x80000000
CONFIG_BOOT_LOAD=0x00400000
#
# Device Drivers
#
#
# Generic Driver Options
#
...
...
@@ -131,14 +128,19 @@ CONFIG_BOOT_LOAD=0x00400000
#
# CONFIG_MTD is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#
# CONFIG_PNP is not set
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
...
...
@@ -146,16 +148,12 @@ CONFIG_BOOT_LOAD=0x00400000
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_CARMEL is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
# CONFIG_LBD is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# ATA/ATAPI/MFM/RLL support
#
...
...
@@ -166,12 +164,18 @@ CONFIG_BLK_DEV_INITRD=y
#
# CONFIG_SCSI is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
(EXPERIMENTAL)
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
...
...
@@ -180,6 +184,10 @@ CONFIG_BLK_DEV_INITRD=y
#
# CONFIG_I2O is not set
#
# Macintosh device drivers
#
#
# Networking support
#
...
...
@@ -203,7 +211,6 @@ CONFIG_IP_PNP_RARP=y
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
...
...
@@ -216,7 +223,6 @@ CONFIG_SYN_COOKIES=y
#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
...
...
@@ -302,6 +308,7 @@ CONFIG_MII=y
# CONFIG_TR is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
#
# Wan interfaces
...
...
@@ -322,16 +329,18 @@ CONFIG_MII=y
# Bluetooth support
#
# CONFIG_BT is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
# ISDN subsystem
#
# CONFIG_ISDN
_BOOL
is not set
# CONFIG_ISDN is not set
#
#
Graphics s
upport
#
Telephony S
upport
#
# CONFIG_
FB
is not set
# CONFIG_
PHONE
is not set
#
# Input device support
...
...
@@ -367,10 +376,6 @@ CONFIG_SERIO=y
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Macintosh device drivers
#
#
# Character devices
#
...
...
@@ -391,53 +396,8 @@ CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
#
# I2C support
#
CONFIG_I2C=y
# CONFIG_I2C_CHARDEV is not set
#
# I2C Algorithms
#
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
CONFIG_I2C_IBM_IIC=y
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIAPRO is not set
#
# I2C Hardware Sensors Chip support
#
# CONFIG_I2C_SENSOR is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set
#
# Mice
#
# CONFIG_BUSMOUSE is not set
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_QIC02_TAPE is not set
#
...
...
@@ -463,6 +423,15 @@ CONFIG_I2C_IBM_IIC=y
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# Misc devices
#
#
# Multimedia devices
#
...
...
@@ -473,6 +442,26 @@ CONFIG_I2C_IBM_IIC=y
#
# CONFIG_DVB is not set
#
# Graphics support
#
# CONFIG_FB is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
# CONFIG_USB is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# File systems
#
...
...
@@ -507,7 +496,6 @@ CONFIG_EXT2_FS=y
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
...
...
@@ -519,6 +507,7 @@ CONFIG_RAMFS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
...
...
@@ -535,12 +524,13 @@ CONFIG_RAMFS=y
CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
# CONFIG_EXPORTFS is not set
CONFIG_SUNRPC=y
# CONFIG_
SUNRPC_GSS
is not set
# CONFIG_
RPCSEC_GSS_KRB5
is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
...
...
@@ -566,20 +556,14 @@ CONFIG_PARTITION_ADVANCED=y
# CONFIG_EFI_PARTITION is not set
#
#
Sound
#
Native Language Support
#
# CONFIG_
SOUND
is not set
# CONFIG_
NLS
is not set
#
# IBM 40x options
#
#
# USB support
#
# CONFIG_USB is not set
# CONFIG_USB_GADGET is not set
#
# Library routines
#
...
...
arch/ppc/kernel/cputable.c
View file @
f0cc009e
...
...
@@ -476,6 +476,20 @@ struct cpu_spec cpu_specs[] = {
32
,
32
,
0
,
/*__setup_cpu_440 */
},
{
/* 440GX Rev. B */
0xf0000fff
,
0x50000851
,
"440GX Rev. B"
,
CPU_FTR_SPLIT_ID_CACHE
|
CPU_FTR_USE_TB
,
PPC_FEATURE_32
|
PPC_FEATURE_HAS_MMU
,
32
,
32
,
0
,
/*__setup_cpu_440 */
},
{
/* 440GX Rev. B1 (2.1) */
0xf0000fff
,
0x50000852
,
"440GX Rev. B1 (2.1)"
,
CPU_FTR_SPLIT_ID_CACHE
|
CPU_FTR_USE_TB
,
PPC_FEATURE_32
|
PPC_FEATURE_HAS_MMU
,
32
,
32
,
0
,
/*__setup_cpu_440 */
},
#endif
/* CONFIG_44x */
#if !CLASSIC_PPC
{
/* default match */
...
...
arch/ppc/kernel/head_44x.S
View file @
f0cc009e
...
...
@@ -860,6 +860,7 @@ finish_tlb_load:
lis
r13
,
tlb_44x_index
@
ha
lwz
r14
,
tlb_44x_index
@
l
(
r13
)
/
*
Load
the
TLB
high
watermark
*/
lis
r13
,
tlb_44x_hwater
@
ha
lwz
r11
,
tlb_44x_hwater
@
l
(
r13
)
/
*
Increment
,
rollover
,
and
store
TLB
index
*/
...
...
@@ -869,6 +870,7 @@ finish_tlb_load:
li
r14
,
0
7
:
/
*
Store
the
next
available
TLB
index
*/
lis
r13
,
tlb_44x_index
@
ha
stw
r14
,
tlb_44x_index
@
l
(
r13
)
lwz
r13
,
0
(
r12
)
/*
Get
MS
word
of
PTE
*/
...
...
arch/ppc64/mm/hugetlbpage.c
View file @
f0cc009e
...
...
@@ -933,6 +933,7 @@ unsigned long hugetlb_total_pages(void)
{
return
htlbpage_total
*
(
HPAGE_SIZE
/
PAGE_SIZE
);
}
EXPORT_SYMBOL
(
hugetlb_total_pages
);
/*
* We cannot handle pagefaults against hugetlb pages at all. They cause
...
...
arch/sh/mm/hugetlbpage.c
View file @
f0cc009e
...
...
@@ -506,6 +506,7 @@ unsigned long hugetlb_total_pages(void)
{
return
htlbzone_pages
*
(
HPAGE_SIZE
/
PAGE_SIZE
);
}
EXPORT_SYMBOL
(
hugetlb_total_pages
);
/*
* We cannot handle pagefaults against hugetlb pages at all. They cause
...
...
arch/sparc64/mm/hugetlbpage.c
View file @
f0cc009e
...
...
@@ -502,6 +502,7 @@ unsigned long hugetlb_total_pages(void)
{
return
htlbzone_pages
*
(
HPAGE_SIZE
/
PAGE_SIZE
);
}
EXPORT_SYMBOL
(
hugetlb_total_pages
);
/*
* We cannot handle pagefaults against hugetlb pages at all. They cause
...
...
drivers/acorn/char/Makefile
View file @
f0cc009e
...
...
@@ -4,4 +4,3 @@
obj-$(CONFIG_ARCH_ACORN)
+=
i2c.o pcf8583.o
obj-$(CONFIG_L7200_KEYB)
+=
defkeymap-l7200.o keyb_l7200.o
obj-y
+=
$
(
obj-
$(MACHINE)
)
drivers/isdn/hardware/eicon/divasmain.c
View file @
f0cc009e
/* $Id: divasmain.c,v 1.5
2 2004/03/21 17:26:01
armin Exp $
/* $Id: divasmain.c,v 1.5
4 2004/04/02 18:59:22
armin Exp $
*
* Low level driver for Eicon DIVA Server ISDN cards.
*
...
...
@@ -41,7 +41,7 @@
#include "diva_dma.h"
#include "diva_pci.h"
static
char
*
main_revision
=
"$Revision: 1.5
2
$"
;
static
char
*
main_revision
=
"$Revision: 1.5
4
$"
;
static
int
major
;
...
...
@@ -594,11 +594,6 @@ int diva_os_schedule_soft_isr(diva_os_soft_isr_t * psoft_isr)
int
diva_os_cancel_soft_isr
(
diva_os_soft_isr_t
*
psoft_isr
)
{
if
(
psoft_isr
&&
psoft_isr
->
object
)
{
diva_os_thread_dpc_t
*
pdpc
=
(
diva_os_thread_dpc_t
*
)
psoft_isr
->
object
;
tasklet_kill
(
&
pdpc
->
divas_task
);
}
return
(
0
);
}
...
...
drivers/scsi/mac53c94.c
View file @
f0cc009e
...
...
@@ -25,8 +25,11 @@
#include <asm/pci-bridge.h>
#include <asm/macio.h>
#include "scsi.h"
#include "hosts.h"
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include "mac53c94.h"
enum
fsc_phase
{
...
...
@@ -44,9 +47,9 @@ struct fsc_state {
int
dmaintr
;
int
clk_freq
;
struct
Scsi_Host
*
host
;
Scsi_C
mnd
*
request_q
;
Scsi_C
mnd
*
request_qtail
;
Scsi_C
mnd
*
current_req
;
/* req we're currently working on */
struct
scsi_c
mnd
*
request_q
;
struct
scsi_c
mnd
*
request_qtail
;
struct
scsi_c
mnd
*
current_req
;
/* req we're currently working on */
enum
fsc_phase
phase
;
/* what we're currently trying to do */
struct
dbdma_cmd
*
dma_cmds
;
/* space for dbdma commands, aligned */
void
*
dma_cmd_space
;
...
...
@@ -60,15 +63,15 @@ static void mac53c94_start(struct fsc_state *);
static
void
mac53c94_interrupt
(
int
,
void
*
,
struct
pt_regs
*
);
static
irqreturn_t
do_mac53c94_interrupt
(
int
,
void
*
,
struct
pt_regs
*
);
static
void
cmd_done
(
struct
fsc_state
*
,
int
result
);
static
void
set_dma_cmds
(
struct
fsc_state
*
,
Scsi_C
mnd
*
);
static
void
set_dma_cmds
(
struct
fsc_state
*
,
struct
scsi_c
mnd
*
);
static
int
mac53c94_queue
(
Scsi_Cmnd
*
cmd
,
void
(
*
done
)(
Scsi_C
mnd
*
))
static
int
mac53c94_queue
(
struct
scsi_cmnd
*
cmd
,
void
(
*
done
)(
struct
scsi_c
mnd
*
))
{
struct
fsc_state
*
state
;
#if 0
if (cmd->sc_data_direction ==
SCSI_DATA_WRIT
E) {
if (cmd->sc_data_direction ==
DMA_TO_DEVIC
E) {
int i;
printk(KERN_DEBUG "mac53c94_queue %p: command is", cmd);
for (i = 0; i < cmd->cmd_len; ++i)
...
...
@@ -95,12 +98,12 @@ static int mac53c94_queue(Scsi_Cmnd *cmd, void (*done)(Scsi_Cmnd *))
return
0
;
}
static
int
mac53c94_abort
(
Scsi_C
mnd
*
cmd
)
static
int
mac53c94_abort
(
struct
scsi_c
mnd
*
cmd
)
{
return
SCSI_ABORT_SNOOZE
;
return
FAILED
;
}
static
int
mac53c94_host_reset
(
Scsi_C
mnd
*
cmd
)
static
int
mac53c94_host_reset
(
struct
scsi_c
mnd
*
cmd
)
{
struct
fsc_state
*
state
=
(
struct
fsc_state
*
)
cmd
->
device
->
host
->
hostdata
;
struct
mac53c94_regs
*
regs
=
state
->
regs
;
...
...
@@ -139,7 +142,7 @@ static void mac53c94_init(struct fsc_state *state)
*/
static
void
mac53c94_start
(
struct
fsc_state
*
state
)
{
Scsi_C
mnd
*
cmd
;
struct
scsi_c
mnd
*
cmd
;
struct
mac53c94_regs
*
regs
=
state
->
regs
;
int
i
;
...
...
@@ -148,7 +151,7 @@ static void mac53c94_start(struct fsc_state *state)
if
(
state
->
request_q
==
NULL
)
return
;
state
->
current_req
=
cmd
=
state
->
request_q
;
state
->
request_q
=
(
Scsi_C
mnd
*
)
cmd
->
host_scribble
;
state
->
request_q
=
(
struct
scsi_c
mnd
*
)
cmd
->
host_scribble
;
/* Off we go */
writeb
(
0
,
&
regs
->
count_lo
);
...
...
@@ -190,10 +193,9 @@ static void mac53c94_interrupt(int irq, void *dev_id, struct pt_regs *ptregs)
struct
fsc_state
*
state
=
(
struct
fsc_state
*
)
dev_id
;
struct
mac53c94_regs
*
regs
=
state
->
regs
;
struct
dbdma_regs
*
dma
=
state
->
dma
;
Scsi_C
mnd
*
cmd
=
state
->
current_req
;
struct
scsi_c
mnd
*
cmd
=
state
->
current_req
;
int
nb
,
stat
,
seq
,
intr
;
static
int
mac53c94_errors
;
int
dma_dir
;
/*
* Apparently, reading the interrupt register unlatches
...
...
@@ -308,14 +310,13 @@ static void mac53c94_interrupt(int irq, void *dev_id, struct pt_regs *ptregs)
printk
(
KERN_DEBUG
"intr %x before data xfer complete
\n
"
,
intr
);
}
writel
(
RUN
<<
16
,
&
dma
->
control
);
/* stop dma */
dma_dir
=
scsi_to_pci_dma_dir
(
cmd
->
sc_data_direction
);
if
(
cmd
->
use_sg
!=
0
)
{
pci_unmap_sg
(
state
->
pdev
,
(
struct
scatterlist
*
)
cmd
->
request_buffer
,
cmd
->
use_sg
,
dma_dir
);
cmd
->
use_sg
,
cmd
->
sc_data_direction
);
}
else
{
pci_unmap_single
(
state
->
pdev
,
state
->
dma_addr
,
cmd
->
request_bufflen
,
dma_dir
);
cmd
->
request_bufflen
,
cmd
->
sc_data_direction
);
}
/* should check dma status */
writeb
(
CMD_I_COMPLETE
,
&
regs
->
command
);
...
...
@@ -347,7 +348,7 @@ static void mac53c94_interrupt(int irq, void *dev_id, struct pt_regs *ptregs)
static
void
cmd_done
(
struct
fsc_state
*
state
,
int
result
)
{
Scsi_C
mnd
*
cmd
;
struct
scsi_c
mnd
*
cmd
;
cmd
=
state
->
current_req
;
if
(
cmd
!=
0
)
{
...
...
@@ -362,24 +363,24 @@ static void cmd_done(struct fsc_state *state, int result)
/*
* Set up DMA commands for transferring data.
*/
static
void
set_dma_cmds
(
struct
fsc_state
*
state
,
Scsi_C
mnd
*
cmd
)
static
void
set_dma_cmds
(
struct
fsc_state
*
state
,
struct
scsi_c
mnd
*
cmd
)
{
int
i
,
dma_cmd
,
total
;
struct
scatterlist
*
scl
;
struct
dbdma_cmd
*
dcmds
;
dma_addr_t
dma_addr
;
u32
dma_len
;
int
dma_dir
=
scsi_to_pci_dma_dir
(
cmd
->
sc_data_direction
);
dma_cmd
=
cmd
->
sc_data_direction
==
SCSI_DATA_WRITE
?
OUTPUT_MORE
:
INPUT_MORE
;
dma_cmd
=
cmd
->
sc_data_direction
==
DMA_TO_DEVICE
?
OUTPUT_MORE
:
INPUT_MORE
;
dcmds
=
state
->
dma_cmds
;
if
(
cmd
->
use_sg
>
0
)
{
int
nseg
;
total
=
0
;
scl
=
(
struct
scatterlist
*
)
cmd
->
buffer
;
nseg
=
pci_map_sg
(
state
->
pdev
,
scl
,
cmd
->
use_sg
,
dma_dir
);
nseg
=
pci_map_sg
(
state
->
pdev
,
scl
,
cmd
->
use_sg
,
cmd
->
sc_data_direction
);
for
(
i
=
0
;
i
<
nseg
;
++
i
)
{
dma_addr
=
sg_dma_address
(
scl
);
dma_len
=
sg_dma_len
(
scl
);
...
...
@@ -398,7 +399,7 @@ static void set_dma_cmds(struct fsc_state *state, Scsi_Cmnd *cmd)
if
(
total
>
0xffff
)
panic
(
"mac53c94: transfer size >= 64k"
);
dma_addr
=
pci_map_single
(
state
->
pdev
,
cmd
->
request_buffer
,
total
,
dma_dir
);
total
,
cmd
->
sc_data_direction
);
state
->
dma_addr
=
dma_addr
;
st_le16
(
&
dcmds
->
req_count
,
total
);
st_le32
(
&
dcmds
->
phy_addr
,
dma_addr
);
...
...
@@ -411,7 +412,7 @@ static void set_dma_cmds(struct fsc_state *state, Scsi_Cmnd *cmd)
cmd
->
SCp
.
this_residual
=
total
;
}
static
Scsi_Host_T
emplate
mac53c94_template
=
{
static
struct
scsi_host_t
emplate
mac53c94_template
=
{
.
proc_name
=
"53c94"
,
.
name
=
"53C94"
,
.
queuecommand
=
mac53c94_queue
,
...
...
drivers/scsi/mesh.c
View file @
f0cc009e
...
...
@@ -44,8 +44,11 @@
#include <asm/pci-bridge.h>
#include <asm/macio.h>
#include "scsi.h"
#include "hosts.h"
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include "mesh.h"
#if 1
...
...
@@ -131,7 +134,7 @@ struct mesh_target {
enum
sdtr_phase
sdtr_state
;
int
sync_params
;
int
data_goes_out
;
/* guess as to data direction */
Scsi_C
mnd
*
current_req
;
struct
scsi_c
mnd
*
current_req
;
u32
saved_ptr
;
#ifdef MESH_DBG
int
log_ix
;
...
...
@@ -147,12 +150,12 @@ struct mesh_state {
int
dmaintr
;
struct
Scsi_Host
*
host
;
struct
mesh_state
*
next
;
Scsi_C
mnd
*
request_q
;
Scsi_C
mnd
*
request_qtail
;
struct
scsi_c
mnd
*
request_q
;
struct
scsi_c
mnd
*
request_qtail
;
enum
mesh_phase
phase
;
/* what we're currently trying to do */
enum
msg_phase
msgphase
;
int
conn_tgt
;
/* target we're connected to */
Scsi_C
mnd
*
current_req
;
/* req we're currently working on */
struct
scsi_c
mnd
*
current_req
;
/* req we're currently working on */
int
data_ptr
;
int
dma_started
;
int
dma_count
;
...
...
@@ -185,7 +188,7 @@ struct mesh_state {
static
void
mesh_done
(
struct
mesh_state
*
ms
,
int
start_next
);
static
void
mesh_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
ptregs
);
static
void
cmd_complete
(
struct
mesh_state
*
ms
);
static
void
set_dma_cmds
(
struct
mesh_state
*
ms
,
Scsi_C
mnd
*
cmd
);
static
void
set_dma_cmds
(
struct
mesh_state
*
ms
,
struct
scsi_c
mnd
*
cmd
);
static
void
halt_dma
(
struct
mesh_state
*
ms
);
static
void
phase_mismatch
(
struct
mesh_state
*
ms
);
...
...
@@ -344,7 +347,7 @@ static inline void mesh_flush_io(volatile struct mesh_regs *mr)
/*
* Complete a SCSI command
*/
static
void
mesh_completed
(
struct
mesh_state
*
ms
,
Scsi_C
mnd
*
cmd
)
static
void
mesh_completed
(
struct
mesh_state
*
ms
,
struct
scsi_c
mnd
*
cmd
)
{
(
*
cmd
->
scsi_done
)(
cmd
);
}
...
...
@@ -402,14 +405,14 @@ static void mesh_init(struct mesh_state *ms)
}
static
void
mesh_start_cmd
(
struct
mesh_state
*
ms
,
Scsi_C
mnd
*
cmd
)
static
void
mesh_start_cmd
(
struct
mesh_state
*
ms
,
struct
scsi_c
mnd
*
cmd
)
{
volatile
struct
mesh_regs
*
mr
=
ms
->
mesh
;
int
t
,
id
;
id
=
cmd
->
device
->
id
;
ms
->
current_req
=
cmd
;
ms
->
tgts
[
id
].
data_goes_out
=
cmd
->
sc_data_direction
==
SCSI_DATA_WRIT
E
;
ms
->
tgts
[
id
].
data_goes_out
=
cmd
->
sc_data_direction
==
DMA_TO_DEVIC
E
;
ms
->
tgts
[
id
].
current_req
=
cmd
;
#if 1
...
...
@@ -558,7 +561,7 @@ static void mesh_start_cmd(struct mesh_state *ms, Scsi_Cmnd *cmd)
*/
static
void
mesh_start
(
struct
mesh_state
*
ms
)
{
Scsi_C
mnd
*
cmd
,
*
prev
,
*
next
;
struct
scsi_c
mnd
*
cmd
,
*
prev
,
*
next
;
if
(
ms
->
phase
!=
idle
||
ms
->
current_req
!=
NULL
)
{
printk
(
KERN_ERR
"inappropriate mesh_start (phase=%d, ms=%p)"
,
...
...
@@ -568,14 +571,14 @@ static void mesh_start(struct mesh_state *ms)
while
(
ms
->
phase
==
idle
)
{
prev
=
NULL
;
for
(
cmd
=
ms
->
request_q
;
;
cmd
=
(
Scsi_C
mnd
*
)
cmd
->
host_scribble
)
{
for
(
cmd
=
ms
->
request_q
;
;
cmd
=
(
struct
scsi_c
mnd
*
)
cmd
->
host_scribble
)
{
if
(
cmd
==
NULL
)
return
;
if
(
ms
->
tgts
[
cmd
->
device
->
id
].
current_req
==
NULL
)
break
;
prev
=
cmd
;
}
next
=
(
Scsi_C
mnd
*
)
cmd
->
host_scribble
;
next
=
(
struct
scsi_c
mnd
*
)
cmd
->
host_scribble
;
if
(
prev
==
NULL
)
ms
->
request_q
=
next
;
else
...
...
@@ -589,7 +592,7 @@ static void mesh_start(struct mesh_state *ms)
static
void
mesh_done
(
struct
mesh_state
*
ms
,
int
start_next
)
{
Scsi_C
mnd
*
cmd
;
struct
scsi_c
mnd
*
cmd
;
struct
mesh_target
*
tp
=
&
ms
->
tgts
[
ms
->
conn_tgt
];
cmd
=
ms
->
current_req
;
...
...
@@ -679,7 +682,7 @@ static void start_phase(struct mesh_state *ms)
int
i
,
seq
,
nb
;
volatile
struct
mesh_regs
*
mr
=
ms
->
mesh
;
volatile
struct
dbdma_regs
*
md
=
ms
->
dma
;
Scsi_C
mnd
*
cmd
=
ms
->
current_req
;
struct
scsi_c
mnd
*
cmd
=
ms
->
current_req
;
struct
mesh_target
*
tp
=
&
ms
->
tgts
[
ms
->
conn_tgt
];
dlog
(
ms
,
"start_phase nmo/exc/fc/seq = %.8x"
,
...
...
@@ -854,7 +857,7 @@ static inline int msgin_length(struct mesh_state *ms)
static
void
reselected
(
struct
mesh_state
*
ms
)
{
volatile
struct
mesh_regs
*
mr
=
ms
->
mesh
;
Scsi_C
mnd
*
cmd
;
struct
scsi_c
mnd
*
cmd
;
struct
mesh_target
*
tp
;
int
b
,
t
,
prev
;
...
...
@@ -985,7 +988,7 @@ static void handle_reset(struct mesh_state *ms)
{
int
tgt
;
struct
mesh_target
*
tp
;
Scsi_C
mnd
*
cmd
;
struct
scsi_c
mnd
*
cmd
;
volatile
struct
mesh_regs
*
mr
=
ms
->
mesh
;
for
(
tgt
=
0
;
tgt
<
8
;
++
tgt
)
{
...
...
@@ -1000,7 +1003,7 @@ static void handle_reset(struct mesh_state *ms)
}
ms
->
current_req
=
NULL
;
while
((
cmd
=
ms
->
request_q
)
!=
NULL
)
{
ms
->
request_q
=
(
Scsi_C
mnd
*
)
cmd
->
host_scribble
;
ms
->
request_q
=
(
struct
scsi_c
mnd
*
)
cmd
->
host_scribble
;
cmd
->
result
=
DID_RESET
<<
16
;
mesh_completed
(
ms
,
cmd
);
}
...
...
@@ -1154,7 +1157,7 @@ static void handle_exception(struct mesh_state *ms)
static
void
handle_msgin
(
struct
mesh_state
*
ms
)
{
int
i
,
code
;
Scsi_C
mnd
*
cmd
=
ms
->
current_req
;
struct
scsi_c
mnd
*
cmd
=
ms
->
current_req
;
struct
mesh_target
*
tp
=
&
ms
->
tgts
[
ms
->
conn_tgt
];
if
(
ms
->
n_msgin
==
0
)
...
...
@@ -1252,7 +1255,7 @@ static void handle_msgin(struct mesh_state *ms)
/*
* Set up DMA commands for transferring data.
*/
static
void
set_dma_cmds
(
struct
mesh_state
*
ms
,
Scsi_C
mnd
*
cmd
)
static
void
set_dma_cmds
(
struct
mesh_state
*
ms
,
struct
scsi_c
mnd
*
cmd
)
{
int
i
,
dma_cmd
,
total
,
off
,
dtot
;
struct
scatterlist
*
scl
;
...
...
@@ -1270,7 +1273,7 @@ static void set_dma_cmds(struct mesh_state *ms, Scsi_Cmnd *cmd)
scl
=
(
struct
scatterlist
*
)
cmd
->
buffer
;
off
=
ms
->
data_ptr
;
nseg
=
pci_map_sg
(
ms
->
pdev
,
scl
,
cmd
->
use_sg
,
scsi_to_pci_dma_dir
(
cmd
->
sc_data_direction
)
);
cmd
->
sc_data_direction
);
for
(
i
=
0
;
i
<
nseg
;
++
i
,
++
scl
)
{
u32
dma_addr
=
sg_dma_address
(
scl
);
u32
dma_len
=
sg_dma_len
(
scl
);
...
...
@@ -1324,7 +1327,7 @@ static void halt_dma(struct mesh_state *ms)
{
volatile
struct
dbdma_regs
*
md
=
ms
->
dma
;
volatile
struct
mesh_regs
*
mr
=
ms
->
mesh
;
Scsi_C
mnd
*
cmd
=
ms
->
current_req
;
struct
scsi_c
mnd
*
cmd
=
ms
->
current_req
;
int
t
,
nb
;
if
(
!
ms
->
tgts
[
ms
->
conn_tgt
].
data_goes_out
)
{
...
...
@@ -1364,8 +1367,7 @@ static void halt_dma(struct mesh_state *ms)
if
(
cmd
->
use_sg
!=
0
)
{
struct
scatterlist
*
sg
;
sg
=
(
struct
scatterlist
*
)
cmd
->
request_buffer
;
pci_unmap_sg
(
ms
->
pdev
,
sg
,
cmd
->
use_sg
,
scsi_to_pci_dma_dir
(
cmd
->
sc_data_direction
));
pci_unmap_sg
(
ms
->
pdev
,
sg
,
cmd
->
use_sg
,
cmd
->
sc_data_direction
);
}
ms
->
dma_started
=
0
;
}
...
...
@@ -1452,7 +1454,7 @@ static void phase_mismatch(struct mesh_state *ms)
static
void
cmd_complete
(
struct
mesh_state
*
ms
)
{
volatile
struct
mesh_regs
*
mr
=
ms
->
mesh
;
Scsi_C
mnd
*
cmd
=
ms
->
current_req
;
struct
scsi_c
mnd
*
cmd
=
ms
->
current_req
;
struct
mesh_target
*
tp
=
&
ms
->
tgts
[
ms
->
conn_tgt
];
int
seq
,
n
,
t
;
...
...
@@ -1635,7 +1637,7 @@ static void cmd_complete(struct mesh_state *ms)
* Called by midlayer with host locked to queue a new
* request
*/
static
int
mesh_queue
(
Scsi_Cmnd
*
cmd
,
void
(
*
done
)(
Scsi_C
mnd
*
))
static
int
mesh_queue
(
struct
scsi_cmnd
*
cmd
,
void
(
*
done
)(
struct
scsi_c
mnd
*
))
{
struct
mesh_state
*
ms
;
...
...
@@ -1692,7 +1694,7 @@ static void mesh_interrupt(int irq, void *dev_id, struct pt_regs *ptregs)
* queue if it isn't connected yet, and for pending command, assert
* ATN until the bus gets freed.
*/
static
int
mesh_abort
(
Scsi_C
mnd
*
cmd
)
static
int
mesh_abort
(
struct
scsi_c
mnd
*
cmd
)
{
struct
mesh_state
*
ms
=
(
struct
mesh_state
*
)
cmd
->
device
->
host
->
hostdata
;
...
...
@@ -1700,7 +1702,7 @@ static int mesh_abort(Scsi_Cmnd *cmd)
mesh_dump_regs
(
ms
);
dumplog
(
ms
,
cmd
->
device
->
id
);
dumpslog
(
ms
);
return
SCSI_ABORT_SNOOZE
;
return
FAILED
;
}
/*
...
...
@@ -1709,7 +1711,7 @@ static int mesh_abort(Scsi_Cmnd *cmd)
* The midlayer will wait for devices to come back, we don't need
* to do that ourselves
*/
static
int
mesh_host_reset
(
Scsi_C
mnd
*
cmd
)
static
int
mesh_host_reset
(
struct
scsi_c
mnd
*
cmd
)
{
struct
mesh_state
*
ms
=
(
struct
mesh_state
*
)
cmd
->
device
->
host
->
hostdata
;
volatile
struct
mesh_regs
*
mr
=
ms
->
mesh
;
...
...
@@ -1832,7 +1834,7 @@ static int mesh_shutdown(struct macio_dev *mdev)
return
0
;
}
static
Scsi_Host_T
emplate
mesh_template
=
{
static
struct
scsi_host_t
emplate
mesh_template
=
{
.
proc_name
=
"mesh"
,
.
name
=
"MESH"
,
.
queuecommand
=
mesh_queue
,
...
...
include/asm-alpha/elf.h
View file @
f0cc009e
...
...
@@ -137,10 +137,44 @@ extern int dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task);
: amask (AMASK_CIX) ? "ev6" : "ev67"); \
})
/* Reserve these numbers for any future use of a VDSO. */
#if 0
#define AT_SYSINFO 32
#define AT_SYSINFO_EHDR 33
#endif
/* More complete cache descriptions than AT_[DIU]CACHEBSIZE. If the
value is -1, then the cache doesn't exist. Otherwise:
bit 0-3: Cache set-associativity; 0 means fully associative.
bit 4-7: Log2 of cacheline size.
bit 8-31: Size of the entire cache >> 8.
bit 32-63: Reserved.
*/
#define AT_L1I_CACHESHAPE 34
#define AT_L1D_CACHESHAPE 35
#define AT_L2_CACHESHAPE 36
#define AT_L3_CACHESHAPE 37
#ifdef __KERNEL__
#define SET_PERSONALITY(EX, IBCS2) \
set_personality(((EX).e_flags & EF_ALPHA_32BIT) \
? PER_LINUX_32BIT : (IBCS2) ? PER_SVR4 : PER_LINUX)
#endif
#endif
extern
int
alpha_l1i_cacheshape
;
extern
int
alpha_l1d_cacheshape
;
extern
int
alpha_l2_cacheshape
;
extern
int
alpha_l3_cacheshape
;
#define ARCH_DLINFO \
do { \
NEW_AUX_ENT(AT_L1I_CACHESHAPE, alpha_l1i_cacheshape); \
NEW_AUX_ENT(AT_L1D_CACHESHAPE, alpha_l1d_cacheshape); \
NEW_AUX_ENT(AT_L2_CACHESHAPE, alpha_l2_cacheshape); \
NEW_AUX_ENT(AT_L3_CACHESHAPE, alpha_l3_cacheshape); \
} while (0)
#endif
/* __KERNEL__ */
#endif
/* __ASM_ALPHA_ELF_H */
include/asm-alpha/module.h
View file @
f0cc009e
...
...
@@ -17,7 +17,7 @@ struct mod_arch_specific
#define ARCH_SHF_SMALL SHF_ALPHA_GPREL
#ifdef MODULE
asm
(
".section .got,
\"
aws
\"
,@
no
bits; .align 3; .previous"
);
asm
(
".section .got,
\"
aws
\"
,@
prog
bits; .align 3; .previous"
);
#endif
#endif
/*_ALPHA_MODULE_H*/
include/asm-alpha/pci.h
View file @
f0cc009e
...
...
@@ -85,10 +85,10 @@ extern void *pci_alloc_consistent(struct pci_dev *, size_t, dma_addr_t *);
extern
void
pci_free_consistent
(
struct
pci_dev
*
,
size_t
,
void
*
,
dma_addr_t
);
/* Map a single buffer of the indicate size for PCI DMA in streaming
mode. The 32-bit PCI bus mastering address to use is returned.
Once the device is given the dma address, the device owns this memory
until either
pci_unmap_single or pci_dma_sync_single_for_cpu is performed. */
/* Map a single buffer of the indicate size for PCI DMA in streaming
mode.
The 32-bit PCI bus mastering address to use is returned. Once the device
is given the dma address, the device owns this memory until either
pci_unmap_single or pci_dma_sync_single_for_cpu is performed. */
extern
dma_addr_t
pci_map_single
(
struct
pci_dev
*
,
void
*
,
size_t
,
int
);
...
...
@@ -96,6 +96,14 @@ extern dma_addr_t pci_map_single(struct pci_dev *, void *, size_t, int);
extern
dma_addr_t
pci_map_page
(
struct
pci_dev
*
,
struct
page
*
,
unsigned
long
,
size_t
,
int
);
/* Test for pci_map_single or pci_map_page having generated an error. */
static
inline
int
pci_dma_mapping_error
(
dma_addr_t
dma_addr
)
{
return
dma_addr
==
0
;
}
/* Unmap a single streaming mode DMA translation. The DMA_ADDR and
SIZE must match what was provided for in a previous pci_map_single
call. All other usages are undefined. After this call, reads by
...
...
@@ -153,15 +161,15 @@ extern void pci_unmap_sg(struct pci_dev *, struct scatterlist *, int, int);
the buffer. */
static
inline
void
pci_dma_sync_single_for_cpu
(
struct
pci_dev
*
dev
,
dma_addr_t
dma_addr
,
long
size
,
int
direction
)
pci_dma_sync_single_for_cpu
(
struct
pci_dev
*
dev
,
dma_addr_t
dma_addr
,
long
size
,
int
direction
)
{
/* Nothing to do. */
}
static
inline
void
pci_dma_sync_single_for_device
(
struct
pci_dev
*
dev
,
dma_addr_t
dma_addr
,
long
size
,
int
direction
)
pci_dma_sync_single_for_device
(
struct
pci_dev
*
dev
,
dma_addr_t
dma_addr
,
long
size
,
int
direction
)
{
/* Nothing to do. */
}
...
...
@@ -171,15 +179,15 @@ pci_dma_sync_single_for_device(struct pci_dev *dev, dma_addr_t dma_addr, long si
but for a scatter-gather list, same rules and usage. */
static
inline
void
pci_dma_sync_sg_for_cpu
(
struct
pci_dev
*
dev
,
struct
scatterlist
*
sg
,
int
nents
,
int
direction
)
pci_dma_sync_sg_for_cpu
(
struct
pci_dev
*
dev
,
struct
scatterlist
*
sg
,
int
nents
,
int
direction
)
{
/* Nothing to do. */
}
static
inline
void
pci_dma_sync_sg_for_device
(
struct
pci_dev
*
dev
,
struct
scatterlist
*
sg
,
int
nents
,
int
direction
)
pci_dma_sync_sg_for_device
(
struct
pci_dev
*
dev
,
struct
scatterlist
*
sg
,
int
nents
,
int
direction
)
{
/* Nothing to do. */
}
...
...
@@ -196,29 +204,32 @@ extern int pci_dma_supported(struct pci_dev *hwdev, u64 mask);
extern
int
pci_dac_dma_supported
(
struct
pci_dev
*
hwdev
,
u64
mask
);
/* Convert to/from DAC dma address and struct page. */
extern
dma64_addr_t
pci_dac_page_to_dma
(
struct
pci_dev
*
,
struct
page
*
,
unsigned
long
,
int
);
extern
dma64_addr_t
pci_dac_page_to_dma
(
struct
pci_dev
*
,
struct
page
*
,
unsigned
long
,
int
);
extern
struct
page
*
pci_dac_dma_to_page
(
struct
pci_dev
*
,
dma64_addr_t
);
extern
unsigned
long
pci_dac_dma_to_offset
(
struct
pci_dev
*
,
dma64_addr_t
);
static
inline
void
pci_dac_dma_sync_single_for_cpu
(
struct
pci_dev
*
pdev
,
dma64_addr_t
dma_addr
,
size_t
len
,
int
direction
)
pci_dac_dma_sync_single_for_cpu
(
struct
pci_dev
*
pdev
,
dma64_addr_t
dma_addr
,
size_t
len
,
int
direction
)
{
/* Nothing to do. */
}
static
inline
void
pci_dac_dma_sync_single_for_device
(
struct
pci_dev
*
pdev
,
dma64_addr_t
dma_addr
,
size_t
len
,
int
direction
)
pci_dac_dma_sync_single_for_device
(
struct
pci_dev
*
pdev
,
dma64_addr_t
dma_addr
,
size_t
len
,
int
direction
)
{
/* Nothing to do. */
}
extern
void
pcibios_resource_to_bus
(
struct
pci_dev
*
dev
,
struct
pci_bus_region
*
region
,
struct
resource
*
res
);
extern
void
pcibios_resource_to_bus
(
struct
pci_dev
*
,
struct
pci_bus_region
*
,
struct
resource
*
);
#define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index
static
inline
int
pci_name_bus
(
char
*
name
,
struct
pci_bus
*
bus
)
static
inline
int
pci_name_bus
(
char
*
name
,
struct
pci_bus
*
bus
)
{
struct
pci_controller
*
hose
=
bus
->
sysdata
;
...
...
@@ -230,7 +241,8 @@ static inline int pci_name_bus(char *name, struct pci_bus *bus)
return
0
;
}
static
inline
void
pcibios_add_platform_entries
(
struct
pci_dev
*
dev
)
static
inline
void
pcibios_add_platform_entries
(
struct
pci_dev
*
dev
)
{
}
...
...
include/asm-alpha/unistd.h
View file @
f0cc009e
...
...
@@ -616,16 +616,16 @@ asmlinkage long sys_rt_sigaction(int sig,
#endif
/* __KERNEL_SYSCALLS__ */
/*
* "Conditional" syscalls
*
* What we want is __attribute__((weak,alias("sys_ni_syscall"))),
* but it doesn't work on all toolchains, so we just do it by hand.
*
* Note that we do *not* provide a parameter list to avoid
* conflicting with one of the syscall declarations in some
* of the relevant header files (including this one).
*/
#define cond_syscall(x)
asmlinkage long x() __attribute__((weak,alias("sys_ni_syscall"))
);
/*
"Conditional" syscalls. What we want is
__attribute__((weak,alias("sys_ni_syscall")))
but that raises the problem of what type to give the symbol. If we use
a prototype, it'll conflict with the definition given in this file and
others. If we use __typeof, we discover that not all symbols actually
have declarations. If we use no prototype, then we get warnings from
-Wstrict-prototypes. Ho hum. */
#define cond_syscall(x)
asm(".weak\t" #x "\n" #x " = sys_ni_syscall"
);
#endif
/* _ALPHA_UNISTD_H */
include/asm-generic/siginfo.h
View file @
f0cc009e
...
...
@@ -26,6 +26,15 @@ typedef union sigval {
#define __ARCH_SI_UID_T uid_t
#endif
/*
* The default "si_band" type is "long", as specified by POSIX.
* However, some architectures want to override this to "int"
* for historical compatibility reasons, so we allow that.
*/
#ifndef __ARCH_SI_BAND_T
#define __ARCH_SI_BAND_T long
#endif
#ifndef HAVE_ARCH_SIGINFO_T
typedef
struct
siginfo
{
...
...
@@ -77,7 +86,7 @@ typedef struct siginfo {
/* SIGPOLL */
struct
{
long
_band
;
/* POLL_IN, POLL_OUT, POLL_MSG */
__ARCH_SI_BAND_T
_band
;
/* POLL_IN, POLL_OUT, POLL_MSG */
int
_fd
;
}
_sigpoll
;
}
_sifields
;
...
...
include/asm-ppc/reg.h
View file @
f0cc009e
...
...
@@ -442,7 +442,9 @@
#define PVR_440GP_RB 0x40120440
#define PVR_440GP_RC1 0x40120481
#define PVR_440GP_RC2 0x40200481
#define PVR_440GX_RC1 0x51b21850
#define PVR_440GX_RA 0x51b21850
#define PVR_440GX_RB 0x51b21851
#define PVR_440GX_RB1 0x51b21852
#define PVR_601 0x00010000
#define PVR_602 0x00050000
#define PVR_603 0x00030000
...
...
include/asm-ppc/reg_booke.h
View file @
f0cc009e
...
...
@@ -55,8 +55,6 @@ do { \
/* Special Purpose Registers (SPRNs)*/
#define SPRN_DECAR 0x036
/* Decrementer Auto Reload Register */
#define SPRN_CSRR0 0x03A
/* Critical Save and Restore Register 0 */
#define SPRN_CSRR1 0x03B
/* Critical Save and Restore Register 1 */
#define SPRN_IVPR 0x03F
/* Interrupt Vector Prefix Register */
#define SPRN_USPRG0 0x100
/* User Special Purpose Register General 0 */
#define SPRN_SPRG4R 0x104
/* Special Purpose Register General 4 Read */
...
...
@@ -108,6 +106,8 @@ do { \
*/
#ifdef CONFIG_BOOKE
#define SPRN_PID 0x030
/* Process ID */
#define SPRN_CSRR0 0x03A
/* Critical Save and Restore Register 0 */
#define SPRN_CSRR1 0x03B
/* Critical Save and Restore Register 1 */
#define SPRN_DEAR 0x03D
/* Data Error Address Register */
#define SPRN_ESR 0x03E
/* Exception Syndrome Register */
#define SPRN_PIR 0x11E
/* Processor Identification Register */
...
...
include/asm-sparc64/siginfo.h
View file @
f0cc009e
...
...
@@ -8,6 +8,7 @@
#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
#define __ARCH_SI_TRAPNO
#define __ARCH_SI_BAND_T int
#include <asm-generic/siginfo.h>
...
...
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