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
d58a75ef
Commit
d58a75ef
authored
Nov 16, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge
parents
f6ff56cd
5d66da3d
Changes
47
Hide whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
652 additions
and
402 deletions
+652
-402
arch/powerpc/Makefile
arch/powerpc/Makefile
+7
-18
arch/powerpc/boot/Makefile
arch/powerpc/boot/Makefile
+3
-2
arch/powerpc/boot/README
arch/powerpc/boot/README
+0
-0
arch/powerpc/boot/addRamDisk.c
arch/powerpc/boot/addRamDisk.c
+0
-0
arch/powerpc/boot/addnote.c
arch/powerpc/boot/addnote.c
+0
-0
arch/powerpc/boot/crt0.S
arch/powerpc/boot/crt0.S
+0
-0
arch/powerpc/boot/div64.S
arch/powerpc/boot/div64.S
+0
-0
arch/powerpc/boot/elf.h
arch/powerpc/boot/elf.h
+0
-0
arch/powerpc/boot/install.sh
arch/powerpc/boot/install.sh
+0
-0
arch/powerpc/boot/main.c
arch/powerpc/boot/main.c
+81
-41
arch/powerpc/boot/page.h
arch/powerpc/boot/page.h
+0
-0
arch/powerpc/boot/ppc_asm.h
arch/powerpc/boot/ppc_asm.h
+0
-0
arch/powerpc/boot/prom.c
arch/powerpc/boot/prom.c
+0
-0
arch/powerpc/boot/prom.h
arch/powerpc/boot/prom.h
+0
-0
arch/powerpc/boot/stdio.h
arch/powerpc/boot/stdio.h
+0
-0
arch/powerpc/boot/string.S
arch/powerpc/boot/string.S
+0
-0
arch/powerpc/boot/string.h
arch/powerpc/boot/string.h
+0
-0
arch/powerpc/boot/zImage.lds
arch/powerpc/boot/zImage.lds
+0
-0
arch/powerpc/configs/cell_defconfig
arch/powerpc/configs/cell_defconfig
+115
-60
arch/powerpc/configs/g5_defconfig
arch/powerpc/configs/g5_defconfig
+32
-21
arch/powerpc/configs/iseries_defconfig
arch/powerpc/configs/iseries_defconfig
+109
-50
arch/powerpc/configs/maple_defconfig
arch/powerpc/configs/maple_defconfig
+103
-52
arch/powerpc/configs/pseries_defconfig
arch/powerpc/configs/pseries_defconfig
+2
-2
arch/powerpc/kernel/pci_64.c
arch/powerpc/kernel/pci_64.c
+66
-4
arch/powerpc/kernel/rtas_pci.c
arch/powerpc/kernel/rtas_pci.c
+5
-63
arch/powerpc/kernel/setup-common.c
arch/powerpc/kernel/setup-common.c
+1
-0
arch/powerpc/kernel/smp.c
arch/powerpc/kernel/smp.c
+4
-3
arch/powerpc/kernel/vdso32/cacheflush.S
arch/powerpc/kernel/vdso32/cacheflush.S
+2
-0
arch/powerpc/kernel/vdso32/datapage.S
arch/powerpc/kernel/vdso32/datapage.S
+2
-1
arch/powerpc/kernel/vdso32/gettimeofday.S
arch/powerpc/kernel/vdso32/gettimeofday.S
+4
-0
arch/powerpc/kernel/vdso64/cacheflush.S
arch/powerpc/kernel/vdso64/cacheflush.S
+2
-0
arch/powerpc/kernel/vdso64/datapage.S
arch/powerpc/kernel/vdso64/datapage.S
+2
-1
arch/powerpc/kernel/vdso64/gettimeofday.S
arch/powerpc/kernel/vdso64/gettimeofday.S
+4
-0
arch/powerpc/mm/lmb.c
arch/powerpc/mm/lmb.c
+18
-15
arch/powerpc/platforms/iseries/pci.c
arch/powerpc/platforms/iseries/pci.c
+1
-2
arch/powerpc/platforms/maple/pci.c
arch/powerpc/platforms/maple/pci.c
+1
-15
arch/powerpc/platforms/powermac/feature.c
arch/powerpc/platforms/powermac/feature.c
+8
-0
arch/powerpc/platforms/powermac/pci.c
arch/powerpc/platforms/powermac/pci.c
+32
-30
arch/powerpc/platforms/pseries/smp.c
arch/powerpc/platforms/pseries/smp.c
+1
-0
arch/ppc/kernel/setup.c
arch/ppc/kernel/setup.c
+13
-1
arch/ppc/mm/init.c
arch/ppc/mm/init.c
+11
-12
arch/ppc/xmon/start.c
arch/ppc/xmon/start.c
+4
-1
include/asm-powerpc/ppc-pci.h
include/asm-powerpc/ppc-pci.h
+0
-1
include/asm-powerpc/vdso.h
include/asm-powerpc/vdso.h
+1
-1
include/asm-ppc/pgalloc.h
include/asm-ppc/pgalloc.h
+1
-1
include/asm-ppc64/pci-bridge.h
include/asm-ppc64/pci-bridge.h
+10
-4
sound/ppc/tumbler.c
sound/ppc/tumbler.c
+7
-1
No files found.
arch/powerpc/Makefile
View file @
d58a75ef
...
@@ -14,10 +14,6 @@
...
@@ -14,10 +14,6 @@
HAS_BIARCH
:=
$(
call
cc-option-yn,
-m32
)
HAS_BIARCH
:=
$(
call
cc-option-yn,
-m32
)
ifeq
($(CONFIG_PPC64),y)
OLDARCH
:=
ppc64
SZ
:=
64
# Set default 32 bits cross compilers for vdso and boot wrapper
# Set default 32 bits cross compilers for vdso and boot wrapper
CROSS32_COMPILE
?=
CROSS32_COMPILE
?=
...
@@ -37,6 +33,10 @@ endif
...
@@ -37,6 +33,10 @@ endif
export
CROSS32CC
CROSS32AS
CROSS32LD
CROSS32OBJCOPY
export
CROSS32CC
CROSS32AS
CROSS32LD
CROSS32OBJCOPY
ifeq
($(CONFIG_PPC64),y)
OLDARCH
:=
ppc64
SZ
:=
64
new_nm
:=
$(
shell
if
$(NM)
--help
2>&1 |
grep
--
'--synthetic'
>
/dev/null
;
then
echo
y
;
else
echo
n
;
fi
)
new_nm
:=
$(
shell
if
$(NM)
--help
2>&1 |
grep
--
'--synthetic'
>
/dev/null
;
then
echo
y
;
else
echo
n
;
fi
)
ifeq
($(new_nm),y)
ifeq
($(new_nm),y)
...
@@ -139,7 +139,7 @@ drivers-$(CONFIG_CPM2) += arch/ppc/8260_io/
...
@@ -139,7 +139,7 @@ drivers-$(CONFIG_CPM2) += arch/ppc/8260_io/
drivers-$(CONFIG_OPROFILE)
+=
arch
/powerpc/oprofile/
drivers-$(CONFIG_OPROFILE)
+=
arch
/powerpc/oprofile/
defaultimage-$(CONFIG_PPC32)
:=
uImage
zImage
defaultimage-$(CONFIG_PPC32)
:=
zImage
defaultimage-$(CONFIG_PPC_ISERIES)
:=
vmlinux
defaultimage-$(CONFIG_PPC_ISERIES)
:=
vmlinux
defaultimage-$(CONFIG_PPC_PSERIES)
:=
zImage
defaultimage-$(CONFIG_PPC_PSERIES)
:=
zImage
KBUILD_IMAGE
:=
$
(
defaultimage-y
)
KBUILD_IMAGE
:=
$
(
defaultimage-y
)
...
@@ -154,23 +154,13 @@ BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd vmlinux.sm
...
@@ -154,23 +154,13 @@ BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd vmlinux.sm
.PHONY
:
$(BOOT_TARGETS)
.PHONY
:
$(BOOT_TARGETS)
boot
:=
arch
/
$(
OLD
ARCH)
/boot
boot
:=
arch
/
$(ARCH)
/boot
# urk
ifeq
($(CONFIG_PPC64),y)
$(BOOT_TARGETS)
:
vmlinux
$(BOOT_TARGETS)
:
vmlinux
$(Q)$(MAKE)
ARCH
=
ppc64
$(build)
=
$(boot)
$(
patsubst
%,
$(boot)
/%,
$@
)
$(Q)$(MAKE)
ARCH
=
ppc64
$(build)
=
$(boot)
$(
patsubst
%,
$(boot)
/%,
$@
)
else
$(BOOT_TARGETS)
:
vmlinux
$(Q)$(MAKE)
ARCH
=
ppc
$(build)
=
$(boot)
$@
endif
uImage
:
vmlinux
$(Q)$(MAKE)
ARCH
=
$(OLDARCH)
$(build)
=
$(boot)
/images
$(boot)
/images/
$@
define
archhelp
define
archhelp
@echo
'* zImage - Compressed kernel image (arch/$(ARCH)/boot/images/zImage.*)'
@echo
'* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)'
@echo
' uImage - Create a bootable image for U-Boot / PPCBoot'
@echo
' install - Install kernel using'
@echo
' install - Install kernel using'
@echo
' (your) ~/bin/installkernel or'
@echo
' (your) ~/bin/installkernel or'
@echo
' (distribution) /sbin/installkernel or'
@echo
' (distribution) /sbin/installkernel or'
...
@@ -180,7 +170,6 @@ endef
...
@@ -180,7 +170,6 @@ endef
archclean
:
archclean
:
$(Q)$(MAKE)
$(clean)
=
$(boot)
$(Q)$(MAKE)
$(clean)
=
$(boot)
# Temporary hack until we have migrated to asm-powerpc
$(Q)
rm
-rf
arch
/
$(ARCH)
/include
$(Q)
rm
-rf
arch
/
$(ARCH)
/include
archprepare
:
checkbin
archprepare
:
checkbin
...
...
arch/p
pc64
/boot/Makefile
→
arch/p
owerpc
/boot/Makefile
View file @
d58a75ef
...
@@ -22,7 +22,8 @@
...
@@ -22,7 +22,8 @@
HOSTCC
:=
gcc
HOSTCC
:=
gcc
BOOTCFLAGS
:=
$(HOSTCFLAGS)
-fno-builtin
-nostdinc
-isystem
$(
shell
$(CROSS32CC)
-print-file-name
=
include
)
-fPIC
BOOTCFLAGS
:=
$(HOSTCFLAGS)
-fno-builtin
-nostdinc
-isystem
\
$(
shell
$(CROSS32CC)
-print-file-name
=
include
)
-fPIC
BOOTAFLAGS
:=
-D__ASSEMBLY__
$(BOOTCFLAGS)
-traditional
-nostdinc
BOOTAFLAGS
:=
-D__ASSEMBLY__
$(BOOTCFLAGS)
-traditional
-nostdinc
BOOTLFLAGS
:=
-T
$(srctree)
/
$(src)
/zImage.lds
BOOTLFLAGS
:=
-T
$(srctree)
/
$(src)
/zImage.lds
OBJCOPYFLAGS
:=
contents,alloc,load,readonly,data
OBJCOPYFLAGS
:=
contents,alloc,load,readonly,data
...
@@ -98,7 +99,7 @@ quiet_cmd_ramdisk = RAMDISK $@
...
@@ -98,7 +99,7 @@ quiet_cmd_ramdisk = RAMDISK $@
cmd_ramdisk
=
$(obj)
/addRamDisk
$(obj)
/ramdisk.image.gz
$<
$@
cmd_ramdisk
=
$(obj)
/addRamDisk
$(obj)
/ramdisk.image.gz
$<
$@
quiet_cmd_stripvm
=
STRIP
$@
quiet_cmd_stripvm
=
STRIP
$@
cmd_stripvm
=
$(STRIP)
-s
$<
-o
$@
cmd_stripvm
=
$(STRIP)
-s
-R
.comment
$<
-o
$@
vmlinux.strip
:
vmlinux
vmlinux.strip
:
vmlinux
$(
call
if_changed,stripvm
)
$(
call
if_changed,stripvm
)
...
...
arch/p
pc64
/boot/README
→
arch/p
owerpc
/boot/README
View file @
d58a75ef
File moved
arch/p
pc64
/boot/addRamDisk.c
→
arch/p
owerpc
/boot/addRamDisk.c
View file @
d58a75ef
File moved
arch/p
pc64
/boot/addnote.c
→
arch/p
owerpc
/boot/addnote.c
View file @
d58a75ef
File moved
arch/p
pc64
/boot/crt0.S
→
arch/p
owerpc
/boot/crt0.S
View file @
d58a75ef
File moved
arch/p
pc64
/boot/div64.S
→
arch/p
owerpc
/boot/div64.S
View file @
d58a75ef
File moved
arch/p
pc64
/boot/elf.h
→
arch/p
owerpc
/boot/elf.h
View file @
d58a75ef
File moved
arch/p
pc64
/boot/install.sh
→
arch/p
owerpc
/boot/install.sh
View file @
d58a75ef
File moved
arch/p
pc64
/boot/main.c
→
arch/p
owerpc
/boot/main.c
View file @
d58a75ef
...
@@ -42,6 +42,8 @@ static struct addr_range vmlinux;
...
@@ -42,6 +42,8 @@ static struct addr_range vmlinux;
static
struct
addr_range
vmlinuz
;
static
struct
addr_range
vmlinuz
;
static
struct
addr_range
initrd
;
static
struct
addr_range
initrd
;
static
unsigned
long
elfoffset
;
static
char
scratch
[
46912
];
/* scratch space for gunzip, from zlib_inflate_workspacesize() */
static
char
scratch
[
46912
];
/* scratch space for gunzip, from zlib_inflate_workspacesize() */
static
char
elfheader
[
256
];
static
char
elfheader
[
256
];
...
@@ -131,13 +133,70 @@ static unsigned long try_claim(unsigned long size)
...
@@ -131,13 +133,70 @@ static unsigned long try_claim(unsigned long size)
return
addr
;
return
addr
;
}
}
static
int
is_elf64
(
void
*
hdr
)
{
Elf64_Ehdr
*
elf64
=
hdr
;
Elf64_Phdr
*
elf64ph
;
unsigned
int
i
;
if
(
!
(
elf64
->
e_ident
[
EI_MAG0
]
==
ELFMAG0
&&
elf64
->
e_ident
[
EI_MAG1
]
==
ELFMAG1
&&
elf64
->
e_ident
[
EI_MAG2
]
==
ELFMAG2
&&
elf64
->
e_ident
[
EI_MAG3
]
==
ELFMAG3
&&
elf64
->
e_ident
[
EI_CLASS
]
==
ELFCLASS64
&&
elf64
->
e_ident
[
EI_DATA
]
==
ELFDATA2MSB
&&
elf64
->
e_type
==
ET_EXEC
&&
elf64
->
e_machine
==
EM_PPC64
))
return
0
;
elf64ph
=
(
Elf64_Phdr
*
)((
unsigned
long
)
elf64
+
(
unsigned
long
)
elf64
->
e_phoff
);
for
(
i
=
0
;
i
<
(
unsigned
int
)
elf64
->
e_phnum
;
i
++
,
elf64ph
++
)
if
(
elf64ph
->
p_type
==
PT_LOAD
&&
elf64ph
->
p_offset
!=
0
)
break
;
if
(
i
>=
(
unsigned
int
)
elf64
->
e_phnum
)
return
0
;
elfoffset
=
(
unsigned
long
)
elf64ph
->
p_offset
;
vmlinux
.
size
=
(
unsigned
long
)
elf64ph
->
p_filesz
+
elfoffset
;
vmlinux
.
memsize
=
(
unsigned
long
)
elf64ph
->
p_memsz
+
elfoffset
;
return
1
;
}
static
int
is_elf32
(
void
*
hdr
)
{
Elf32_Ehdr
*
elf32
=
hdr
;
Elf32_Phdr
*
elf32ph
;
unsigned
int
i
;
if
(
!
(
elf32
->
e_ident
[
EI_MAG0
]
==
ELFMAG0
&&
elf32
->
e_ident
[
EI_MAG1
]
==
ELFMAG1
&&
elf32
->
e_ident
[
EI_MAG2
]
==
ELFMAG2
&&
elf32
->
e_ident
[
EI_MAG3
]
==
ELFMAG3
&&
elf32
->
e_ident
[
EI_CLASS
]
==
ELFCLASS32
&&
elf32
->
e_ident
[
EI_DATA
]
==
ELFDATA2MSB
&&
elf32
->
e_type
==
ET_EXEC
&&
elf32
->
e_machine
==
EM_PPC
))
return
0
;
elf32
=
(
Elf32_Ehdr
*
)
elfheader
;
elf32ph
=
(
Elf32_Phdr
*
)
((
unsigned
long
)
elf32
+
elf32
->
e_phoff
);
for
(
i
=
0
;
i
<
elf32
->
e_phnum
;
i
++
,
elf32ph
++
)
if
(
elf32ph
->
p_type
==
PT_LOAD
&&
elf32ph
->
p_offset
!=
0
)
break
;
if
(
i
>=
elf32
->
e_phnum
)
return
0
;
elfoffset
=
elf32ph
->
p_offset
;
vmlinux
.
size
=
elf32ph
->
p_filesz
+
elf32ph
->
p_offset
;
vmlinux
.
memsize
=
elf32ph
->
p_memsz
+
elf32ph
->
p_offset
;
return
1
;
}
void
start
(
unsigned
long
a1
,
unsigned
long
a2
,
void
*
promptr
,
void
*
sp
)
void
start
(
unsigned
long
a1
,
unsigned
long
a2
,
void
*
promptr
,
void
*
sp
)
{
{
unsigned
long
i
;
int
len
;
int
len
;
kernel_entry_t
kernel_entry
;
kernel_entry_t
kernel_entry
;
Elf64_Ehdr
*
elf64
;
Elf64_Phdr
*
elf64ph
;
memset
(
__bss_start
,
0
,
_end
-
__bss_start
);
memset
(
__bss_start
,
0
,
_end
-
__bss_start
);
...
@@ -153,6 +212,22 @@ void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
...
@@ -153,6 +212,22 @@ void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
printf
(
"
\n\r
zImage starting: loaded at 0x%p (sp: 0x%p)
\n\r
"
,
_start
,
sp
);
printf
(
"
\n\r
zImage starting: loaded at 0x%p (sp: 0x%p)
\n\r
"
,
_start
,
sp
);
vmlinuz
.
addr
=
(
unsigned
long
)
_vmlinux_start
;
vmlinuz
.
size
=
(
unsigned
long
)(
_vmlinux_end
-
_vmlinux_start
);
/* gunzip the ELF header of the kernel */
if
(
*
(
unsigned
short
*
)
vmlinuz
.
addr
==
0x1f8b
)
{
len
=
vmlinuz
.
size
;
gunzip
(
elfheader
,
sizeof
(
elfheader
),
(
unsigned
char
*
)
vmlinuz
.
addr
,
&
len
);
}
else
memcpy
(
elfheader
,
(
const
void
*
)
vmlinuz
.
addr
,
sizeof
(
elfheader
));
if
(
!
is_elf64
(
elfheader
)
&&
!
is_elf32
(
elfheader
))
{
printf
(
"Error: not a valid PPC32 or PPC64 ELF file!
\n\r
"
);
exit
();
}
/*
/*
* The first available claim_base must be above the end of the
* The first available claim_base must be above the end of the
* the loaded kernel wrapper file (_start to _end includes the
* the loaded kernel wrapper file (_start to _end includes the
...
@@ -172,46 +247,11 @@ void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
...
@@ -172,46 +247,11 @@ void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
claim_base
=
PROG_START
;
claim_base
=
PROG_START
;
#endif
#endif
vmlinuz
.
addr
=
(
unsigned
long
)
_vmlinux_start
;
vmlinuz
.
size
=
(
unsigned
long
)(
_vmlinux_end
-
_vmlinux_start
);
/* gunzip the ELF header of the kernel */
if
(
*
(
unsigned
short
*
)
vmlinuz
.
addr
==
0x1f8b
)
{
len
=
vmlinuz
.
size
;
gunzip
(
elfheader
,
sizeof
(
elfheader
),
(
unsigned
char
*
)
vmlinuz
.
addr
,
&
len
);
}
else
memcpy
(
elfheader
,
(
const
void
*
)
vmlinuz
.
addr
,
sizeof
(
elfheader
));
elf64
=
(
Elf64_Ehdr
*
)
elfheader
;
if
(
elf64
->
e_ident
[
EI_MAG0
]
!=
ELFMAG0
||
elf64
->
e_ident
[
EI_MAG1
]
!=
ELFMAG1
||
elf64
->
e_ident
[
EI_MAG2
]
!=
ELFMAG2
||
elf64
->
e_ident
[
EI_MAG3
]
!=
ELFMAG3
||
elf64
->
e_ident
[
EI_CLASS
]
!=
ELFCLASS64
||
elf64
->
e_ident
[
EI_DATA
]
!=
ELFDATA2MSB
||
elf64
->
e_type
!=
ET_EXEC
||
elf64
->
e_machine
!=
EM_PPC64
)
{
printf
(
"Error: not a valid PPC64 ELF file!
\n\r
"
);
exit
();
}
elf64ph
=
(
Elf64_Phdr
*
)((
unsigned
long
)
elf64
+
(
unsigned
long
)
elf64
->
e_phoff
);
for
(
i
=
0
;
i
<
(
unsigned
int
)
elf64
->
e_phnum
;
i
++
,
elf64ph
++
)
{
if
(
elf64ph
->
p_type
==
PT_LOAD
&&
elf64ph
->
p_offset
!=
0
)
break
;
}
vmlinux
.
size
=
(
unsigned
long
)
elf64ph
->
p_filesz
+
(
unsigned
long
)
elf64ph
->
p_offset
;
/* We need to claim the memsize plus the file offset since gzip
/* We need to claim the memsize plus the file offset since gzip
* will expand the header (file offset), then the kernel, then
* will expand the header (file offset), then the kernel, then
* possible rubbish we don't care about. But the kernel bss must
* possible rubbish we don't care about. But the kernel bss must
* be claimed (it will be zero'd by the kernel itself)
* be claimed (it will be zero'd by the kernel itself)
*/
*/
vmlinux
.
memsize
=
(
unsigned
long
)
elf64ph
->
p_memsz
+
(
unsigned
long
)
elf64ph
->
p_offset
;
printf
(
"Allocating 0x%lx bytes for kernel ...
\n\r
"
,
vmlinux
.
memsize
);
printf
(
"Allocating 0x%lx bytes for kernel ...
\n\r
"
,
vmlinux
.
memsize
);
vmlinux
.
addr
=
try_claim
(
vmlinux
.
memsize
);
vmlinux
.
addr
=
try_claim
(
vmlinux
.
memsize
);
if
(
vmlinux
.
addr
==
0
)
{
if
(
vmlinux
.
addr
==
0
)
{
...
@@ -254,9 +294,9 @@ void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
...
@@ -254,9 +294,9 @@ void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
/* Skip over the ELF header */
/* Skip over the ELF header */
#ifdef DEBUG
#ifdef DEBUG
printf
(
"... skipping 0x%lx bytes of ELF header
\n\r
"
,
printf
(
"... skipping 0x%lx bytes of ELF header
\n\r
"
,
(
unsigned
long
)
elf64ph
->
p_
offset
);
elf
offset
);
#endif
#endif
vmlinux
.
addr
+=
(
unsigned
long
)
elf64ph
->
p_
offset
;
vmlinux
.
addr
+=
elf
offset
;
flush_cache
((
void
*
)
vmlinux
.
addr
,
vmlinux
.
size
);
flush_cache
((
void
*
)
vmlinux
.
addr
,
vmlinux
.
size
);
...
@@ -272,7 +312,7 @@ void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
...
@@ -272,7 +312,7 @@ void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
(
unsigned
long
)
prom
,
NULL
);
(
unsigned
long
)
prom
,
NULL
);
#endif
#endif
kernel_entry
(
a1
,
a2
,
prom
,
NULL
);
kernel_entry
(
a1
,
a2
,
prom
,
NULL
);
printf
(
"Error: Linux kernel returned to zImage bootloader!
\n\r
"
);
printf
(
"Error: Linux kernel returned to zImage bootloader!
\n\r
"
);
...
...
arch/p
pc64
/boot/page.h
→
arch/p
owerpc
/boot/page.h
View file @
d58a75ef
File moved
arch/p
pc64
/boot/ppc_asm.h
→
arch/p
owerpc
/boot/ppc_asm.h
View file @
d58a75ef
File moved
arch/p
pc64
/boot/prom.c
→
arch/p
owerpc
/boot/prom.c
View file @
d58a75ef
File moved
arch/p
pc64
/boot/prom.h
→
arch/p
owerpc
/boot/prom.h
View file @
d58a75ef
File moved
arch/p
pc64
/boot/stdio.h
→
arch/p
owerpc
/boot/stdio.h
View file @
d58a75ef
File moved
arch/p
pc64
/boot/string.S
→
arch/p
owerpc
/boot/string.S
View file @
d58a75ef
File moved
arch/p
pc64
/boot/string.h
→
arch/p
owerpc
/boot/string.h
View file @
d58a75ef
File moved
arch/p
pc64
/boot/zImage.lds
→
arch/p
owerpc
/boot/zImage.lds
View file @
d58a75ef
File moved
arch/powerpc/configs/cell_defconfig
View file @
d58a75ef
#
#
# Automatically generated make config: don't edit
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.1
4-rc4
# Linux kernel version: 2.6.1
5-rc1
# T
hu Oct 20 08:29:1
0 2005
# T
ue Nov 15 14:36:2
0 2005
#
#
CONFIG_PPC64=y
CONFIG_64BIT=y
CONFIG_64BIT=y
CONFIG_PPC_MERGE=y
CONFIG_MMU=y
CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_
GENERIC_ISA_DMA
=y
CONFIG_
PPC
=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_FORCE_MAX_ZONEORDER=13
#
# Processor support
#
# CONFIG_POWER4_ONLY is not set
CONFIG_POWER3=y
CONFIG_POWER4=y
CONFIG_PPC_FPU=y
CONFIG_ALTIVEC=y
CONFIG_PPC_STD_MMU=y
CONFIG_SMP=y
CONFIG_NR_CPUS=4
#
#
# Code maturity level options
# Code maturity level options
...
@@ -66,31 +81,69 @@ CONFIG_OBSOLETE_MODPARM=y
...
@@ -66,31 +81,69 @@ CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_KMOD is not set
# CONFIG_KMOD is not set
CONFIG_STOP_MACHINE=y
CONFIG_STOP_MACHINE=y
CONFIG_SYSVIPC_COMPAT=y
#
# Block layer
#
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
#
# Platform support
# Platform support
#
#
# CONFIG_PPC_ISERIES is not set
CONFIG_PPC_MULTIPLATFORM=y
CONFIG_PPC_MULTIPLATFORM=y
# CONFIG_PPC_ISERIES is not set
# CONFIG_EMBEDDED6xx is not set
# CONFIG_APUS is not set
# CONFIG_PPC_PSERIES is not set
# CONFIG_PPC_PSERIES is not set
CONFIG_PPC_BPA=y
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_MAPLE is not set
# CONFIG_PPC_MAPLE is not set
CONFIG_PPC=y
CONFIG_PPC_CELL=y
CONFIG_PPC64=y
CONFIG_PPC_OF=y
CONFIG_PPC_OF=y
CONFIG_BPA_IIC=y
CONFIG_ALTIVEC=y
CONFIG_KEXEC=y
# CONFIG_U3_DART is not set
# CONFIG_U3_DART is not set
# CONFIG_BOOTX_TEXT is not set
CONFIG_PPC_RTAS=y
# CONFIG_POWER4_ONLY is not set
# CONFIG_RTAS_ERROR_LOGGING is not set
CONFIG_RTAS_PROC=y
CONFIG_RTAS_FLASH=y
CONFIG_MMIO_NVRAM=y
CONFIG_CELL_IIC=y
# CONFIG_PPC_MPC106 is not set
# CONFIG_GENERIC_TBSYNC is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_WANT_EARLY_SERIAL is not set
#
# Kernel options
#
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_BKL=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_FORCE_MAX_ZONEORDER=13
# CONFIG_IOMMU_VMERGE is not set
# CONFIG_IOMMU_VMERGE is not set
CONFIG_SMP=y
CONFIG_KEXEC=y
CONFIG_NR_CPUS=4
CONFIG_IRQ_ALL_CPUS=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
...
@@ -98,30 +151,21 @@ CONFIG_FLATMEM_MANUAL=y
...
@@ -98,30 +151,21 @@ CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_NUMA is not set
CONFIG_SPLIT_PTLOCK_CPUS=4096
# CONFIG_PPC_64K_PAGES is not set
CONFIG_SCHED_SMT=y
CONFIG_SCHED_SMT=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_BKL=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_GENERIC_HARDIRQS=y
CONFIG_PPC_RTAS=y
CONFIG_RTAS_PROC=y
CONFIG_RTAS_FLASH=y
CONFIG_SECCOMP=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_PROC_DEVICETREE=y
CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set
# CONFIG_CMDLINE_BOOL is not set
# CONFIG_PM is not set
CONFIG_SECCOMP=y
CONFIG_ISA_DMA_API=y
CONFIG_ISA_DMA_API=y
#
#
# Bus
O
ptions
# Bus
o
ptions
#
#
CONFIG_GENERIC_ISA_DMA=y
# CONFIG_PPC_I8259 is not set
# CONFIG_PPC_INDIRECT_PCI is not set
CONFIG_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_LEGACY_PROC=y
...
@@ -136,6 +180,7 @@ CONFIG_PCI_LEGACY_PROC=y
...
@@ -136,6 +180,7 @@ CONFIG_PCI_LEGACY_PROC=y
# PCI Hotplug Support
# PCI Hotplug Support
#
#
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_HOTPLUG_PCI is not set
CONFIG_KERNEL_START=0xc000000000000000
#
#
# Networking
# Networking
...
@@ -183,6 +228,10 @@ CONFIG_INET6_TUNNEL=m
...
@@ -183,6 +228,10 @@ CONFIG_INET6_TUNNEL=m
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_TUNNEL=m
CONFIG_NETFILTER=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_DEBUG is not set
#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
# CONFIG_NETFILTER_NETLINK is not set
#
#
...
@@ -284,6 +333,10 @@ CONFIG_IP_NF_ARP_MANGLE=m
...
@@ -284,6 +333,10 @@ CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_NET_DIVERT is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
# CONFIG_NET_SCHED is not set
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_ROUTE=y
...
@@ -345,14 +398,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
...
@@ -345,14 +398,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=131072
CONFIG_BLK_DEV_RAM_SIZE=131072
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_CDROM_PKTCDVD is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_ATA_OVER_ETH is not set
#
#
...
@@ -442,6 +487,7 @@ CONFIG_IDEDMA_AUTO=y
...
@@ -442,6 +487,7 @@ CONFIG_IDEDMA_AUTO=y
#
#
# Macintosh device drivers
# Macintosh device drivers
#
#
# CONFIG_WINDFARM is not set
#
#
# Network device support
# Network device support
...
@@ -495,7 +541,6 @@ CONFIG_SKGE=m
...
@@ -495,7 +541,6 @@ CONFIG_SKGE=m
# CONFIG_SK98LIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
# CONFIG_BNX2 is not set
# CONFIG_SPIDER_NET is not set
# CONFIG_MV643XX_ETH is not set
# CONFIG_MV643XX_ETH is not set
#
#
...
@@ -625,7 +670,7 @@ CONFIG_WATCHDOG=y
...
@@ -625,7 +670,7 @@ CONFIG_WATCHDOG=y
# Watchdog Device Drivers
# Watchdog Device Drivers
#
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_SOFT_WATCHDOG is not set
CONFIG_WATCHDOG_RTAS=y
# CONFIG_WATCHDOG_RTAS is not set
#
#
# PCI-based Watchdog Cards
# PCI-based Watchdog Cards
...
@@ -633,6 +678,8 @@ CONFIG_WATCHDOG_RTAS=y
...
@@ -633,6 +678,8 @@ CONFIG_WATCHDOG_RTAS=y
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set
# CONFIG_WDTPCI is not set
# CONFIG_RTC is not set
# CONFIG_RTC is not set
CONFIG_GEN_RTC=y
# CONFIG_GEN_RTC_X is not set
# CONFIG_DTLK is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_APPLICOM is not set
...
@@ -649,6 +696,7 @@ CONFIG_WATCHDOG_RTAS=y
...
@@ -649,6 +696,7 @@ CONFIG_WATCHDOG_RTAS=y
# TPM devices
# TPM devices
#
#
# CONFIG_TCG_TPM is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
#
#
# I2C support
# I2C support
...
@@ -699,6 +747,7 @@ CONFIG_I2C_ALGOBIT=y
...
@@ -699,6 +747,7 @@ CONFIG_I2C_ALGOBIT=y
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_RTC_X1205_I2C is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_BUS is not set
...
@@ -756,6 +805,10 @@ CONFIG_USB_ARCH_HAS_HCD=y
...
@@ -756,6 +805,10 @@ CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_OHCI=y
# CONFIG_USB is not set
# CONFIG_USB is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
#
# USB Gadget Support
# USB Gadget Support
#
#
...
@@ -943,9 +996,24 @@ CONFIG_NLS_ISO8859_15=m
...
@@ -943,9 +996,24 @@ CONFIG_NLS_ISO8859_15=m
# CONFIG_NLS_UTF8 is not set
# CONFIG_NLS_UTF8 is not set
#
#
# Profiling support
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
#
# Instrumentation Support
#
#
# CONFIG_PROFILING is not set
# CONFIG_PROFILING is not set
# CONFIG_KPROBES is not set
#
#
# Kernel hacking
# Kernel hacking
...
@@ -962,13 +1030,14 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y
...
@@ -962,13 +1030,14 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_DEBUGGER=y
CONFIG_DEBUGGER=y
# CONFIG_XMON is not set
# CONFIG_XMON is not set
# CONFIG_PPCDBG is not set
CONFIG_IRQSTACKS=y
CONFIG_IRQSTACKS=y
# CONFIG_BOOTX_TEXT is not set
#
#
# Security options
# Security options
...
@@ -1008,17 +1077,3 @@ CONFIG_CRYPTO_DEFLATE=m
...
@@ -1008,17 +1077,3 @@ CONFIG_CRYPTO_DEFLATE=m
#
#
# Hardware crypto devices
# Hardware crypto devices
#
#
#
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
arch/powerpc/configs/g5_defconfig
View file @
d58a75ef
#
#
# Automatically generated make config: don't edit
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.1
4
# Linux kernel version: 2.6.1
5-rc1
#
Mon Nov 7 13:37:59
2005
#
Tue Nov 15 14:39:20
2005
#
#
CONFIG_PPC64=y
CONFIG_PPC64=y
CONFIG_64BIT=y
CONFIG_64BIT=y
...
@@ -82,6 +82,23 @@ CONFIG_MODULE_SRCVERSION_ALL=y
...
@@ -82,6 +82,23 @@ CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_STOP_MACHINE=y
#
# Block layer
#
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
#
# Platform support
# Platform support
#
#
...
@@ -137,6 +154,7 @@ CONFIG_IRQ_ALL_CPUS=y
...
@@ -137,6 +154,7 @@ CONFIG_IRQ_ALL_CPUS=y
# CONFIG_NUMA is not set
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
...
@@ -144,7 +162,7 @@ CONFIG_FLATMEM_MANUAL=y
...
@@ -144,7 +162,7 @@ CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_SPLIT_PTLOCK_CPUS=4
096
# CONFIG_PPC_64K_PAGES is not set
# CONFIG_PPC_64K_PAGES is not set
# CONFIG_SCHED_SMT is not set
# CONFIG_SCHED_SMT is not set
CONFIG_PROC_DEVICETREE=y
CONFIG_PROC_DEVICETREE=y
...
@@ -215,6 +233,10 @@ CONFIG_TCP_CONG_BIC=y
...
@@ -215,6 +233,10 @@ CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_DEBUG is not set
#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
# CONFIG_NETFILTER_NETLINK is not set
#
#
...
@@ -382,19 +404,6 @@ CONFIG_BLK_DEV_INITRD=y
...
@@ -382,19 +404,6 @@ CONFIG_BLK_DEV_INITRD=y
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_ATA_OVER_ETH is not set
#
#
...
@@ -656,7 +665,6 @@ CONFIG_SUNGEM=y
...
@@ -656,7 +665,6 @@ CONFIG_SUNGEM=y
# CONFIG_NET_TULIP is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_HP100 is not set
# CONFIG_NET_PCI is not set
# CONFIG_NET_PCI is not set
# CONFIG_FEC_8XX is not set
#
#
# Ethernet (1000 Mbit)
# Ethernet (1000 Mbit)
...
@@ -710,6 +718,7 @@ CONFIG_PPP_ASYNC=m
...
@@ -710,6 +718,7 @@ CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_BSDCOMP=m
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=m
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_NET_FC is not set
...
@@ -804,6 +813,8 @@ CONFIG_LEGACY_PTY_COUNT=256
...
@@ -804,6 +813,8 @@ CONFIG_LEGACY_PTY_COUNT=256
#
#
# CONFIG_WATCHDOG is not set
# CONFIG_WATCHDOG is not set
# CONFIG_RTC is not set
# CONFIG_RTC is not set
CONFIG_GEN_RTC=y
# CONFIG_GEN_RTC_X is not set
# CONFIG_DTLK is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_APPLICOM is not set
...
@@ -917,7 +928,6 @@ CONFIG_FB=y
...
@@ -917,7 +928,6 @@ CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SOFT_CURSOR=y
CONFIG_FB_MACMODES=y
CONFIG_FB_MACMODES=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_TILEBLITTING=y
...
@@ -932,6 +942,7 @@ CONFIG_FB_OF=y
...
@@ -932,6 +942,7 @@ CONFIG_FB_OF=y
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_NVIDIA=y
CONFIG_FB_NVIDIA=y
CONFIG_FB_NVIDIA_I2C=y
CONFIG_FB_NVIDIA_I2C=y
# CONFIG_FB_RIVA is not set
# CONFIG_FB_RIVA is not set
...
@@ -950,7 +961,6 @@ CONFIG_FB_RADEON_I2C=y
...
@@ -950,7 +961,6 @@ CONFIG_FB_RADEON_I2C=y
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_VIRTUAL is not set
#
#
...
@@ -959,6 +969,7 @@ CONFIG_FB_RADEON_I2C=y
...
@@ -959,6 +969,7 @@ CONFIG_FB_RADEON_I2C=y
# CONFIG_VGA_CONSOLE is not set
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_FONT_8x16=y
...
@@ -1474,10 +1485,11 @@ CONFIG_TEXTSEARCH_BM=m
...
@@ -1474,10 +1485,11 @@ CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_TEXTSEARCH_FSM=m
#
#
#
Profiling s
upport
#
Instrumentation S
upport
#
#
CONFIG_PROFILING=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
CONFIG_OPROFILE=y
# CONFIG_KPROBES is not set
#
#
# Kernel hacking
# Kernel hacking
...
@@ -1497,7 +1509,6 @@ CONFIG_DEBUG_FS=y
...
@@ -1497,7 +1509,6 @@ CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUGGER is not set
# CONFIG_DEBUGGER is not set
CONFIG_IRQSTACKS=y
CONFIG_IRQSTACKS=y
...
...
arch/powerpc/configs/iseries_defconfig
View file @
d58a75ef
#
#
# Automatically generated make config: don't edit
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.1
4-rc4
# Linux kernel version: 2.6.1
5-rc1
# T
hu Oct 20 08:30:56
2005
# T
ue Nov 15 14:38:09
2005
#
#
CONFIG_PPC64=y
CONFIG_64BIT=y
CONFIG_64BIT=y
CONFIG_PPC_MERGE=y
CONFIG_MMU=y
CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_
GENERIC_ISA_DMA
=y
CONFIG_
PPC
=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_FORCE_MAX_ZONEORDER=13
#
# Processor support
#
# CONFIG_POWER4_ONLY is not set
CONFIG_POWER3=y
CONFIG_POWER4=y
CONFIG_PPC_FPU=y
# CONFIG_ALTIVEC is not set
CONFIG_PPC_STD_MMU=y
CONFIG_SMP=y
CONFIG_NR_CPUS=32
#
#
# Code maturity level options
# Code maturity level options
...
@@ -68,22 +83,60 @@ CONFIG_MODVERSIONS=y
...
@@ -68,22 +83,60 @@ CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_STOP_MACHINE=y
CONFIG_SYSVIPC_COMPAT=y
#
# Block layer
#
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
#
# Platform support
# Platform support
#
#
CONFIG_PPC_ISERIES=y
# CONFIG_PPC_MULTIPLATFORM is not set
# CONFIG_PPC_MULTIPLATFORM is not set
CONFIG_PPC=y
CONFIG_PPC_ISERIES=y
CONFIG_PPC64=y
# CONFIG_EMBEDDED6xx is not set
# CONFIG_APUS is not set
# CONFIG_PPC_RTAS is not set
# CONFIG_MMIO_NVRAM is not set
CONFIG_IBMVIO=y
CONFIG_IBMVIO=y
# CONFIG_POWER4_ONLY is not set
# CONFIG_PPC_MPC106 is not set
# CONFIG_GENERIC_TBSYNC is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_WANT_EARLY_SERIAL is not set
#
# Kernel options
#
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPT_BKL is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_FORCE_MAX_ZONEORDER=13
CONFIG_IOMMU_VMERGE=y
CONFIG_IOMMU_VMERGE=y
CONFIG_SMP=y
CONFIG_IRQ_ALL_CPUS=y
CONFIG_NR_CPUS=32
CONFIG_LPARCFG=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
...
@@ -91,26 +144,20 @@ CONFIG_FLATMEM_MANUAL=y
...
@@ -91,26 +144,20 @@ CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_NUMA is not set
CONFIG_SPLIT_PTLOCK_CPUS=4096
# CONFIG_PPC_64K_PAGES is not set
# CONFIG_SCHED_SMT is not set
# CONFIG_SCHED_SMT is not set
CONFIG_PREEMPT_NONE=y
CONFIG_PROC_DEVICETREE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PM is not set
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPT_BKL is not set
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_GENERIC_HARDIRQS=y
CONFIG_LPARCFG=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_ISA_DMA_API=y
CONFIG_ISA_DMA_API=y
#
#
# Bus
O
ptions
# Bus
o
ptions
#
#
CONFIG_GENERIC_ISA_DMA=y
# CONFIG_PPC_I8259 is not set
# CONFIG_PPC_INDIRECT_PCI is not set
CONFIG_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_LEGACY_PROC=y
...
@@ -125,6 +172,7 @@ CONFIG_PCI_LEGACY_PROC=y
...
@@ -125,6 +172,7 @@ CONFIG_PCI_LEGACY_PROC=y
# PCI Hotplug Support
# PCI Hotplug Support
#
#
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_HOTPLUG_PCI is not set
CONFIG_KERNEL_START=0xc000000000000000
#
#
# Networking
# Networking
...
@@ -166,6 +214,10 @@ CONFIG_TCP_CONG_BIC=y
...
@@ -166,6 +214,10 @@ CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_DEBUG is not set
#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
# CONFIG_NETFILTER_NETLINK is not set
#
#
...
@@ -265,6 +317,10 @@ CONFIG_LLC=y
...
@@ -265,6 +317,10 @@ CONFIG_LLC=y
# CONFIG_NET_DIVERT is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
# CONFIG_NET_SCHED is not set
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_ROUTE=y
...
@@ -326,14 +382,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
...
@@ -326,14 +382,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_CDROM_PKTCDVD is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_ATA_OVER_ETH is not set
#
#
...
@@ -377,6 +425,7 @@ CONFIG_SCSI_FC_ATTRS=y
...
@@ -377,6 +425,7 @@ CONFIG_SCSI_FC_ATTRS=y
#
#
# SCSI low-level drivers
# SCSI low-level drivers
#
#
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_ACARD is not set
...
@@ -454,6 +503,7 @@ CONFIG_DM_ZERO=m
...
@@ -454,6 +503,7 @@ CONFIG_DM_ZERO=m
#
#
# Macintosh device drivers
# Macintosh device drivers
#
#
# CONFIG_WINDFARM is not set
#
#
# Network device support
# Network device support
...
@@ -561,6 +611,7 @@ CONFIG_PPP_ASYNC=m
...
@@ -561,6 +611,7 @@ CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_BSDCOMP=m
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=m
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_NET_FC is not set
...
@@ -643,6 +694,8 @@ CONFIG_LEGACY_PTY_COUNT=256
...
@@ -643,6 +694,8 @@ CONFIG_LEGACY_PTY_COUNT=256
#
#
# CONFIG_WATCHDOG is not set
# CONFIG_WATCHDOG is not set
# CONFIG_RTC is not set
# CONFIG_RTC is not set
CONFIG_GEN_RTC=y
# CONFIG_GEN_RTC_X is not set
# CONFIG_DTLK is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_APPLICOM is not set
...
@@ -660,6 +713,7 @@ CONFIG_MAX_RAW_DEVS=256
...
@@ -660,6 +713,7 @@ CONFIG_MAX_RAW_DEVS=256
# TPM devices
# TPM devices
#
#
# CONFIG_TCG_TPM is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
#
#
# I2C support
# I2C support
...
@@ -712,6 +766,10 @@ CONFIG_USB_ARCH_HAS_HCD=y
...
@@ -712,6 +766,10 @@ CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_OHCI=y
# CONFIG_USB is not set
# CONFIG_USB is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
#
# USB Gadget Support
# USB Gadget Support
#
#
...
@@ -917,10 +975,25 @@ CONFIG_VIOTAPE=m
...
@@ -917,10 +975,25 @@ CONFIG_VIOTAPE=m
CONFIG_VIOPATH=y
CONFIG_VIOPATH=y
#
#
# Profiling support
# Library routines
#
CONFIG_CRC_CCITT=m
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
#
# Instrumentation Support
#
#
CONFIG_PROFILING=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
CONFIG_OPROFILE=y
# CONFIG_KPROBES is not set
#
#
# Kernel hacking
# Kernel hacking
...
@@ -937,11 +1010,11 @@ CONFIG_DETECT_SOFTLOCKUP=y
...
@@ -937,11 +1010,11 @@ CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_KPROBES is not set
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_STACK_USAGE=y
# CONFIG_DEBUGGER is not set
# CONFIG_DEBUGGER is not set
# CONFIG_PPCDBG is not set
CONFIG_IRQSTACKS=y
CONFIG_IRQSTACKS=y
#
#
...
@@ -982,17 +1055,3 @@ CONFIG_CRYPTO_TEST=m
...
@@ -982,17 +1055,3 @@ CONFIG_CRYPTO_TEST=m
#
#
# Hardware crypto devices
# Hardware crypto devices
#
#
#
# Library routines
#
CONFIG_CRC_CCITT=m
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
arch/powerpc/configs/maple_defconfig
View file @
d58a75ef
#
#
# Automatically generated make config: don't edit
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.1
4-rc4
# Linux kernel version: 2.6.1
5-rc1
# T
hu Oct 20 08:31:24
2005
# T
ue Nov 15 14:38:58
2005
#
#
CONFIG_PPC64=y
CONFIG_64BIT=y
CONFIG_64BIT=y
CONFIG_PPC_MERGE=y
CONFIG_MMU=y
CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_
GENERIC_ISA_DMA
=y
CONFIG_
PPC
=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_FORCE_MAX_ZONEORDER=13
#
# Processor support
#
CONFIG_POWER4_ONLY=y
CONFIG_POWER4=y
CONFIG_PPC_FPU=y
# CONFIG_ALTIVEC is not set
CONFIG_PPC_STD_MMU=y
CONFIG_SMP=y
CONFIG_NR_CPUS=2
#
#
# Code maturity level options
# Code maturity level options
...
@@ -67,32 +81,67 @@ CONFIG_MODVERSIONS=y
...
@@ -67,32 +81,67 @@ CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_STOP_MACHINE=y
CONFIG_SYSVIPC_COMPAT=y
#
# Block layer
#
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
#
# Platform support
# Platform support
#
#
# CONFIG_PPC_ISERIES is not set
CONFIG_PPC_MULTIPLATFORM=y
CONFIG_PPC_MULTIPLATFORM=y
# CONFIG_PPC_ISERIES is not set
# CONFIG_EMBEDDED6xx is not set
# CONFIG_APUS is not set
# CONFIG_PPC_PSERIES is not set
# CONFIG_PPC_PSERIES is not set
# CONFIG_PPC_BPA is not set
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_PMAC is not set
CONFIG_PPC_MAPLE=y
CONFIG_PPC_MAPLE=y
CONFIG_PPC=y
# CONFIG_PPC_CELL is not set
CONFIG_PPC64=y
CONFIG_PPC_OF=y
CONFIG_PPC_OF=y
CONFIG_MPIC=y
# CONFIG_ALTIVEC is not set
CONFIG_KEXEC=y
CONFIG_U3_DART=y
CONFIG_U3_DART=y
CONFIG_MPIC=y
# CONFIG_PPC_RTAS is not set
# CONFIG_MMIO_NVRAM is not set
CONFIG_MPIC_BROKEN_U3=y
CONFIG_MPIC_BROKEN_U3=y
CONFIG_BOOTX_TEXT=y
# CONFIG_PPC_MPC106 is not set
CONFIG_POWER4_ONLY=y
CONFIG_GENERIC_TBSYNC=y
# CONFIG_CPU_FREQ is not set
# CONFIG_WANT_EARLY_SERIAL is not set
#
# Kernel options
#
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPT_BKL is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_FORCE_MAX_ZONEORDER=13
CONFIG_IOMMU_VMERGE=y
CONFIG_IOMMU_VMERGE=y
CONFIG_SMP=y
CONFIG_KEXEC=y
CONFIG_NR_CPUS=2
CONFIG_IRQ_ALL_CPUS=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
...
@@ -100,27 +149,21 @@ CONFIG_FLATMEM_MANUAL=y
...
@@ -100,27 +149,21 @@ CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_NUMA is not set
CONFIG_SPLIT_PTLOCK_CPUS=4096
# CONFIG_PPC_64K_PAGES is not set
# CONFIG_SCHED_SMT is not set
# CONFIG_SCHED_SMT is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPT_BKL is not set
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_GENERIC_HARDIRQS=y
CONFIG_SECCOMP=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_PROC_DEVICETREE=y
CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set
# CONFIG_CMDLINE_BOOL is not set
# CONFIG_PM is not set
CONFIG_SECCOMP=y
CONFIG_ISA_DMA_API=y
CONFIG_ISA_DMA_API=y
#
#
# Bus
O
ptions
# Bus
o
ptions
#
#
CONFIG_GENERIC_ISA_DMA=y
# CONFIG_PPC_I8259 is not set
# CONFIG_PPC_INDIRECT_PCI is not set
CONFIG_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_LEGACY_PROC=y
...
@@ -135,6 +178,7 @@ CONFIG_PCI_LEGACY_PROC=y
...
@@ -135,6 +178,7 @@ CONFIG_PCI_LEGACY_PROC=y
# PCI Hotplug Support
# PCI Hotplug Support
#
#
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_HOTPLUG_PCI is not set
CONFIG_KERNEL_START=0xc000000000000000
#
#
# Networking
# Networking
...
@@ -193,6 +237,10 @@ CONFIG_TCP_CONG_BIC=y
...
@@ -193,6 +237,10 @@ CONFIG_TCP_CONG_BIC=y
# CONFIG_NET_DIVERT is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
# CONFIG_NET_SCHED is not set
# CONFIG_NET_CLS_ROUTE is not set
# CONFIG_NET_CLS_ROUTE is not set
...
@@ -254,14 +302,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
...
@@ -254,14 +302,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_RAM_SIZE=8192
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_CDROM_PKTCDVD is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_ATA_OVER_ETH is not set
#
#
...
@@ -351,6 +391,7 @@ CONFIG_IDEDMA_AUTO=y
...
@@ -351,6 +391,7 @@ CONFIG_IDEDMA_AUTO=y
#
#
# Macintosh device drivers
# Macintosh device drivers
#
#
# CONFIG_WINDFARM is not set
#
#
# Network device support
# Network device support
...
@@ -533,6 +574,8 @@ CONFIG_LEGACY_PTY_COUNT=256
...
@@ -533,6 +574,8 @@ CONFIG_LEGACY_PTY_COUNT=256
#
#
# CONFIG_WATCHDOG is not set
# CONFIG_WATCHDOG is not set
# CONFIG_RTC is not set
# CONFIG_RTC is not set
CONFIG_GEN_RTC=y
# CONFIG_GEN_RTC_X is not set
# CONFIG_DTLK is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_APPLICOM is not set
...
@@ -549,6 +592,7 @@ CONFIG_LEGACY_PTY_COUNT=256
...
@@ -549,6 +592,7 @@ CONFIG_LEGACY_PTY_COUNT=256
# TPM devices
# TPM devices
#
#
# CONFIG_TCG_TPM is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
#
#
# I2C support
# I2C support
...
@@ -599,6 +643,7 @@ CONFIG_I2C_AMD8111=y
...
@@ -599,6 +643,7 @@ CONFIG_I2C_AMD8111=y
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_RTC_X1205_I2C is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_BUS is not set
...
@@ -681,12 +726,15 @@ CONFIG_USB_UHCI_HCD=y
...
@@ -681,12 +726,15 @@ CONFIG_USB_UHCI_HCD=y
#
#
# USB Device Class drivers
# USB Device Class drivers
#
#
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_PRINTER is not set
#
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
# may also be needed; see USB_STORAGE Help for more information
#
#
# CONFIG_USB_STORAGE is not set
# CONFIG_USB_STORAGE is not set
...
@@ -776,6 +824,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
...
@@ -776,6 +824,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_NOKIA_DKU2 is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SAFE is not set
...
@@ -985,9 +1034,19 @@ CONFIG_NLS_DEFAULT="utf-8"
...
@@ -985,9 +1034,19 @@ CONFIG_NLS_DEFAULT="utf-8"
CONFIG_NLS_UTF8=y
CONFIG_NLS_UTF8=y
#
#
# Profiling support
# Library routines
#
CONFIG_CRC_CCITT=y
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
#
# Instrumentation Support
#
#
# CONFIG_PROFILING is not set
# CONFIG_PROFILING is not set
# CONFIG_KPROBES is not set
#
#
# Kernel hacking
# Kernel hacking
...
@@ -1004,14 +1063,15 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y
...
@@ -1004,14 +1063,15 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_KPROBES is not set
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUGGER=y
CONFIG_DEBUGGER=y
CONFIG_XMON=y
CONFIG_XMON=y
CONFIG_XMON_DEFAULT=y
CONFIG_XMON_DEFAULT=y
# CONFIG_PPCDBG is not set
# CONFIG_IRQSTACKS is not set
# CONFIG_IRQSTACKS is not set
CONFIG_BOOTX_TEXT=y
#
#
# Security options
# Security options
...
@@ -1051,12 +1111,3 @@ CONFIG_CRYPTO_DES=y
...
@@ -1051,12 +1111,3 @@ CONFIG_CRYPTO_DES=y
#
#
# Hardware crypto devices
# Hardware crypto devices
#
#
#
# Library routines
#
CONFIG_CRC_CCITT=y
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
arch/powerpc/configs/pseries_defconfig
View file @
d58a75ef
#
#
# Automatically generated make config: don't edit
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.15-rc1
# Linux kernel version: 2.6.15-rc1
#
Mon Nov 14 15:27:00
2005
#
Tue Nov 15 14:36:55
2005
#
#
CONFIG_PPC64=y
CONFIG_PPC64=y
CONFIG_64BIT=y
CONFIG_64BIT=y
...
@@ -144,7 +144,7 @@ CONFIG_FORCE_MAX_ZONEORDER=13
...
@@ -144,7 +144,7 @@ CONFIG_FORCE_MAX_ZONEORDER=13
CONFIG_IOMMU_VMERGE=y
CONFIG_IOMMU_VMERGE=y
CONFIG_HOTPLUG_CPU=y
CONFIG_HOTPLUG_CPU=y
CONFIG_KEXEC=y
CONFIG_KEXEC=y
# CONFIG_IRQ_ALL_CPUS is not set
CONFIG_IRQ_ALL_CPUS=y
CONFIG_PPC_SPLPAR=y
CONFIG_PPC_SPLPAR=y
CONFIG_EEH=y
CONFIG_EEH=y
CONFIG_SCANLOG=m
CONFIG_SCANLOG=m
...
...
arch/powerpc/kernel/pci_64.c
View file @
d58a75ef
...
@@ -30,10 +30,10 @@
...
@@ -30,10 +30,10 @@
#include <asm/byteorder.h>
#include <asm/byteorder.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/machdep.h>
#include <asm/machdep.h>
#include <asm/udbg.h>
#include <asm/ppc-pci.h>
#include <asm/ppc-pci.h>
#ifdef DEBUG
#ifdef DEBUG
#include <asm/udbg.h>
#define DBG(fmt...) udbg_printf(fmt)
#define DBG(fmt...) udbg_printf(fmt)
#else
#else
#define DBG(fmt...)
#define DBG(fmt...)
...
@@ -187,7 +187,7 @@ static DEFINE_SPINLOCK(hose_spinlock);
...
@@ -187,7 +187,7 @@ static DEFINE_SPINLOCK(hose_spinlock);
/*
/*
* pci_controller(phb) initialized common variables.
* pci_controller(phb) initialized common variables.
*/
*/
void
__devinit
pci_setup_pci_controller
(
struct
pci_controller
*
hose
)
static
void
__devinit
pci_setup_pci_controller
(
struct
pci_controller
*
hose
)
{
{
memset
(
hose
,
0
,
sizeof
(
struct
pci_controller
));
memset
(
hose
,
0
,
sizeof
(
struct
pci_controller
));
...
@@ -197,6 +197,65 @@ void __devinit pci_setup_pci_controller(struct pci_controller *hose)
...
@@ -197,6 +197,65 @@ void __devinit pci_setup_pci_controller(struct pci_controller *hose)
spin_unlock
(
&
hose_spinlock
);
spin_unlock
(
&
hose_spinlock
);
}
}
static
void
add_linux_pci_domain
(
struct
device_node
*
dev
,
struct
pci_controller
*
phb
)
{
struct
property
*
of_prop
;
unsigned
int
size
;
of_prop
=
(
struct
property
*
)
get_property
(
dev
,
"linux,pci-domain"
,
&
size
);
if
(
of_prop
!=
NULL
)
return
;
WARN_ON
(
of_prop
&&
size
<
sizeof
(
int
));
if
(
of_prop
&&
size
<
sizeof
(
int
))
of_prop
=
NULL
;
size
=
sizeof
(
struct
property
)
+
sizeof
(
int
);
if
(
of_prop
==
NULL
)
{
if
(
mem_init_done
)
of_prop
=
kmalloc
(
size
,
GFP_KERNEL
);
else
of_prop
=
alloc_bootmem
(
size
);
}
memset
(
of_prop
,
0
,
sizeof
(
struct
property
));
of_prop
->
name
=
"linux,pci-domain"
;
of_prop
->
length
=
sizeof
(
int
);
of_prop
->
value
=
(
unsigned
char
*
)
&
of_prop
[
1
];
*
((
int
*
)
of_prop
->
value
)
=
phb
->
global_number
;
prom_add_property
(
dev
,
of_prop
);
}
struct
pci_controller
*
pcibios_alloc_controller
(
struct
device_node
*
dev
)
{
struct
pci_controller
*
phb
;
if
(
mem_init_done
)
phb
=
kmalloc
(
sizeof
(
struct
pci_controller
),
GFP_KERNEL
);
else
phb
=
alloc_bootmem
(
sizeof
(
struct
pci_controller
));
if
(
phb
==
NULL
)
return
NULL
;
pci_setup_pci_controller
(
phb
);
phb
->
arch_data
=
dev
;
phb
->
is_dynamic
=
mem_init_done
;
if
(
dev
)
add_linux_pci_domain
(
dev
,
phb
);
return
phb
;
}
void
pcibios_free_controller
(
struct
pci_controller
*
phb
)
{
if
(
phb
->
arch_data
)
{
struct
device_node
*
np
=
phb
->
arch_data
;
int
*
domain
=
(
int
*
)
get_property
(
np
,
"linux,pci-domain"
,
NULL
);
if
(
domain
)
*
domain
=
-
1
;
}
if
(
phb
->
is_dynamic
)
kfree
(
phb
);
}
static
void
__init
pcibios_claim_one_bus
(
struct
pci_bus
*
b
)
static
void
__init
pcibios_claim_one_bus
(
struct
pci_bus
*
b
)
{
{
struct
pci_dev
*
dev
;
struct
pci_dev
*
dev
;
...
@@ -907,9 +966,10 @@ void __devinit pci_process_bridge_OF_ranges(struct pci_controller *hose,
...
@@ -907,9 +966,10 @@ void __devinit pci_process_bridge_OF_ranges(struct pci_controller *hose,
* (size depending on dev->n_addr_cells)
* (size depending on dev->n_addr_cells)
* cells 4+5 or 5+6: the size of the range
* cells 4+5 or 5+6: the size of the range
*/
*/
rlen
=
0
;
hose
->
io_base_phys
=
0
;
ranges
=
(
unsigned
int
*
)
get_property
(
dev
,
"ranges"
,
&
rlen
);
ranges
=
(
unsigned
int
*
)
get_property
(
dev
,
"ranges"
,
&
rlen
);
if
(
ranges
==
NULL
)
return
;
hose
->
io_base_phys
=
0
;
while
((
rlen
-=
np
*
sizeof
(
unsigned
int
))
>=
0
)
{
while
((
rlen
-=
np
*
sizeof
(
unsigned
int
))
>=
0
)
{
res
=
NULL
;
res
=
NULL
;
pci_space
=
ranges
[
0
];
pci_space
=
ranges
[
0
];
...
@@ -1107,6 +1167,8 @@ int remap_bus_range(struct pci_bus *bus)
...
@@ -1107,6 +1167,8 @@ int remap_bus_range(struct pci_bus *bus)
if
(
get_bus_io_range
(
bus
,
&
start_phys
,
&
start_virt
,
&
size
))
if
(
get_bus_io_range
(
bus
,
&
start_phys
,
&
start_virt
,
&
size
))
return
1
;
return
1
;
if
(
start_phys
==
0
)
return
1
;
printk
(
"mapping IO %lx -> %lx, size: %lx
\n
"
,
start_phys
,
start_virt
,
size
);
printk
(
"mapping IO %lx -> %lx, size: %lx
\n
"
,
start_phys
,
start_virt
,
size
);
if
(
__ioremap_explicit
(
start_phys
,
start_virt
,
size
,
if
(
__ioremap_explicit
(
start_phys
,
start_virt
,
size
,
_PAGE_NO_CACHE
|
_PAGE_GUARDED
))
_PAGE_NO_CACHE
|
_PAGE_GUARDED
))
...
...
arch/powerpc/kernel/rtas_pci.c
View file @
d58a75ef
...
@@ -304,75 +304,18 @@ static int __devinit setup_phb(struct device_node *dev,
...
@@ -304,75 +304,18 @@ static int __devinit setup_phb(struct device_node *dev,
struct
pci_controller
*
phb
,
struct
pci_controller
*
phb
,
unsigned
int
addr_size_words
)
unsigned
int
addr_size_words
)
{
{
pci_setup_pci_controller
(
phb
);
if
(
is_python
(
dev
))
if
(
is_python
(
dev
))
python_countermeasures
(
dev
,
addr_size_words
);
python_countermeasures
(
dev
,
addr_size_words
);
if
(
phb_set_bus_ranges
(
dev
,
phb
))
if
(
phb_set_bus_ranges
(
dev
,
phb
))
return
1
;
return
1
;
phb
->
arch_data
=
dev
;
phb
->
ops
=
&
rtas_pci_ops
;
phb
->
ops
=
&
rtas_pci_ops
;
phb
->
buid
=
get_phb_buid
(
dev
);
phb
->
buid
=
get_phb_buid
(
dev
);
return
0
;
return
0
;
}
}
static
void
__devinit
add_linux_pci_domain
(
struct
device_node
*
dev
,
struct
pci_controller
*
phb
,
struct
property
*
of_prop
)
{
memset
(
of_prop
,
0
,
sizeof
(
struct
property
));
of_prop
->
name
=
"linux,pci-domain"
;
of_prop
->
length
=
sizeof
(
phb
->
global_number
);
of_prop
->
value
=
(
unsigned
char
*
)
&
of_prop
[
1
];
memcpy
(
of_prop
->
value
,
&
phb
->
global_number
,
sizeof
(
phb
->
global_number
));
prom_add_property
(
dev
,
of_prop
);
}
static
struct
pci_controller
*
__init
alloc_phb
(
struct
device_node
*
dev
,
unsigned
int
addr_size_words
)
{
struct
pci_controller
*
phb
;
struct
property
*
of_prop
;
phb
=
alloc_bootmem
(
sizeof
(
struct
pci_controller
));
if
(
phb
==
NULL
)
return
NULL
;
of_prop
=
alloc_bootmem
(
sizeof
(
struct
property
)
+
sizeof
(
phb
->
global_number
));
if
(
!
of_prop
)
return
NULL
;
if
(
setup_phb
(
dev
,
phb
,
addr_size_words
))
return
NULL
;
add_linux_pci_domain
(
dev
,
phb
,
of_prop
);
return
phb
;
}
static
struct
pci_controller
*
__devinit
alloc_phb_dynamic
(
struct
device_node
*
dev
,
unsigned
int
addr_size_words
)
{
struct
pci_controller
*
phb
;
phb
=
(
struct
pci_controller
*
)
kmalloc
(
sizeof
(
struct
pci_controller
),
GFP_KERNEL
);
if
(
phb
==
NULL
)
return
NULL
;
if
(
setup_phb
(
dev
,
phb
,
addr_size_words
))
return
NULL
;
phb
->
is_dynamic
=
1
;
/* TODO: linux,pci-domain? */
return
phb
;
}
unsigned
long
__init
find_and_init_phbs
(
void
)
unsigned
long
__init
find_and_init_phbs
(
void
)
{
{
struct
device_node
*
node
;
struct
device_node
*
node
;
...
@@ -397,10 +340,10 @@ unsigned long __init find_and_init_phbs(void)
...
@@ -397,10 +340,10 @@ unsigned long __init find_and_init_phbs(void)
if
(
node
->
type
==
NULL
||
strcmp
(
node
->
type
,
"pci"
)
!=
0
)
if
(
node
->
type
==
NULL
||
strcmp
(
node
->
type
,
"pci"
)
!=
0
)
continue
;
continue
;
phb
=
alloc_phb
(
node
,
root_size_cells
);
phb
=
pcibios_alloc_controller
(
node
);
if
(
!
phb
)
if
(
!
phb
)
continue
;
continue
;
setup_phb
(
node
,
phb
,
root_size_cells
);
pci_process_bridge_OF_ranges
(
phb
,
node
,
0
);
pci_process_bridge_OF_ranges
(
phb
,
node
,
0
);
pci_setup_phb_io
(
phb
,
index
==
0
);
pci_setup_phb_io
(
phb
,
index
==
0
);
#ifdef CONFIG_PPC_PSERIES
#ifdef CONFIG_PPC_PSERIES
...
@@ -446,10 +389,10 @@ struct pci_controller * __devinit init_phb_dynamic(struct device_node *dn)
...
@@ -446,10 +389,10 @@ struct pci_controller * __devinit init_phb_dynamic(struct device_node *dn)
root_size_cells
=
prom_n_size_cells
(
root
);
root_size_cells
=
prom_n_size_cells
(
root
);
primary
=
list_empty
(
&
hose_list
);
primary
=
list_empty
(
&
hose_list
);
phb
=
alloc_phb_dynamic
(
dn
,
root_size_cells
);
phb
=
pcibios_alloc_controller
(
dn
);
if
(
!
phb
)
if
(
!
phb
)
return
NULL
;
return
NULL
;
setup_phb
(
dn
,
phb
,
root_size_cells
);
pci_process_bridge_OF_ranges
(
phb
,
dn
,
primary
);
pci_process_bridge_OF_ranges
(
phb
,
dn
,
primary
);
pci_setup_phb_io_dynamic
(
phb
,
primary
);
pci_setup_phb_io_dynamic
(
phb
,
primary
);
...
@@ -505,8 +448,7 @@ int pcibios_remove_root_bus(struct pci_controller *phb)
...
@@ -505,8 +448,7 @@ int pcibios_remove_root_bus(struct pci_controller *phb)
}
}
list_del
(
&
phb
->
list_node
);
list_del
(
&
phb
->
list_node
);
if
(
phb
->
is_dynamic
)
pcibios_free_controller
(
phb
);
kfree
(
phb
);
return
0
;
return
0
;
}
}
...
...
arch/powerpc/kernel/setup-common.c
View file @
d58a75ef
...
@@ -59,6 +59,7 @@
...
@@ -59,6 +59,7 @@
#undef DEBUG
#undef DEBUG
#ifdef DEBUG
#ifdef DEBUG
#include <asm/udbg.h>
#define DBG(fmt...) udbg_printf(fmt)
#define DBG(fmt...) udbg_printf(fmt)
#else
#else
#define DBG(fmt...)
#define DBG(fmt...)
...
...
arch/powerpc/kernel/smp.c
View file @
d58a75ef
...
@@ -49,15 +49,16 @@
...
@@ -49,15 +49,16 @@
#include <asm/paca.h>
#include <asm/paca.h>
#endif
#endif
int
smp_hw_index
[
NR_CPUS
];
struct
thread_info
*
secondary_ti
;
#ifdef DEBUG
#ifdef DEBUG
#include <asm/udbg.h>
#define DBG(fmt...) udbg_printf(fmt)
#define DBG(fmt...) udbg_printf(fmt)
#else
#else
#define DBG(fmt...)
#define DBG(fmt...)
#endif
#endif
int
smp_hw_index
[
NR_CPUS
];
struct
thread_info
*
secondary_ti
;
cpumask_t
cpu_possible_map
=
CPU_MASK_NONE
;
cpumask_t
cpu_possible_map
=
CPU_MASK_NONE
;
cpumask_t
cpu_online_map
=
CPU_MASK_NONE
;
cpumask_t
cpu_online_map
=
CPU_MASK_NONE
;
cpumask_t
cpu_sibling_map
[
NR_CPUS
]
=
{
[
0
...
NR_CPUS
-
1
]
=
CPU_MASK_NONE
};
cpumask_t
cpu_sibling_map
[
NR_CPUS
]
=
{
[
0
...
NR_CPUS
-
1
]
=
CPU_MASK_NONE
};
...
...
arch/powerpc/kernel/vdso32/cacheflush.S
View file @
d58a75ef
...
@@ -35,6 +35,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache)
...
@@ -35,6 +35,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache)
subf
r8
,
r6
,
r4
/*
compute
length
*/
subf
r8
,
r6
,
r4
/*
compute
length
*/
add
r8
,
r8
,
r5
/*
ensure
we
get
enough
*/
add
r8
,
r8
,
r5
/*
ensure
we
get
enough
*/
srwi
.
r8
,
r8
,
7
/*
compute
line
count
*/
srwi
.
r8
,
r8
,
7
/*
compute
line
count
*/
crclr
cr0
*
4
+
so
beqlr
/*
nothing
to
do
?
*/
beqlr
/*
nothing
to
do
?
*/
mtctr
r8
mtctr
r8
mr
r3
,
r6
mr
r3
,
r6
...
@@ -58,6 +59,7 @@ V_FUNCTION_END(__kernel_sync_dicache)
...
@@ -58,6 +59,7 @@ V_FUNCTION_END(__kernel_sync_dicache)
*/
*/
V_FUNCTION_BEGIN
(
__kernel_sync_dicache_p5
)
V_FUNCTION_BEGIN
(
__kernel_sync_dicache_p5
)
.
cfi_startproc
.
cfi_startproc
crclr
cr0
*
4
+
so
sync
sync
isync
isync
li
r3
,
0
li
r3
,
0
...
...
arch/powerpc/kernel/vdso32/datapage.S
View file @
d58a75ef
...
@@ -54,7 +54,6 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map)
...
@@ -54,7 +54,6 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map)
.
cfi_startproc
.
cfi_startproc
mflr
r12
mflr
r12
.
cfi_register
lr
,
r12
.
cfi_register
lr
,
r12
mr
r4
,
r3
mr
r4
,
r3
bl
__get_datapage
@
local
bl
__get_datapage
@
local
mtlr
r12
mtlr
r12
...
@@ -63,6 +62,7 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map)
...
@@ -63,6 +62,7 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map)
beqlr
beqlr
li
r0
,
__NR_syscalls
li
r0
,
__NR_syscalls
stw
r0
,
0
(
r4
)
stw
r0
,
0
(
r4
)
crclr
cr0
*
4
+
so
blr
blr
.
cfi_endproc
.
cfi_endproc
V_FUNCTION_END
(
__kernel_get_syscall_map
)
V_FUNCTION_END
(
__kernel_get_syscall_map
)
...
@@ -80,6 +80,7 @@ V_FUNCTION_BEGIN(__kernel_get_tbfreq)
...
@@ -80,6 +80,7 @@ V_FUNCTION_BEGIN(__kernel_get_tbfreq)
lwz
r4
,(
CFG_TB_TICKS_PER_SEC
+
4
)(
r3
)
lwz
r4
,(
CFG_TB_TICKS_PER_SEC
+
4
)(
r3
)
lwz
r3
,
CFG_TB_TICKS_PER_SEC
(
r3
)
lwz
r3
,
CFG_TB_TICKS_PER_SEC
(
r3
)
mtlr
r12
mtlr
r12
crclr
cr0
*
4
+
so
blr
blr
.
cfi_endproc
.
cfi_endproc
V_FUNCTION_END
(
__kernel_get_tbfreq
)
V_FUNCTION_END
(
__kernel_get_tbfreq
)
arch/powerpc/kernel/vdso32/gettimeofday.S
View file @
d58a75ef
...
@@ -59,6 +59,7 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
...
@@ -59,6 +59,7 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
stw
r5
,
TZONE_TZ_DSTTIME
(
r11
)
stw
r5
,
TZONE_TZ_DSTTIME
(
r11
)
1
:
mtlr
r12
1
:
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
li
r3
,
0
blr
blr
...
@@ -117,6 +118,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
...
@@ -117,6 +118,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
mulli
r5
,
r5
,
1000
mulli
r5
,
r5
,
1000
stw
r5
,
TSPC32_TV_NSEC
(
r11
)
stw
r5
,
TSPC32_TV_NSEC
(
r11
)
mtlr
r12
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
li
r3
,
0
blr
blr
...
@@ -185,6 +187,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
...
@@ -185,6 +187,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
stw
r4
,
TSPC32_TV_NSEC
(
r11
)
stw
r4
,
TSPC32_TV_NSEC
(
r11
)
mtlr
r12
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
li
r3
,
0
blr
blr
...
@@ -219,6 +222,7 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
...
@@ -219,6 +222,7 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
li
r3
,
0
li
r3
,
0
cmpli
cr0
,
r4
,
0
cmpli
cr0
,
r4
,
0
crclr
cr0
*
4
+
so
beqlr
beqlr
lis
r5
,
CLOCK_REALTIME_RES
@
h
lis
r5
,
CLOCK_REALTIME_RES
@
h
ori
r5
,
r5
,
CLOCK_REALTIME_RES
@
l
ori
r5
,
r5
,
CLOCK_REALTIME_RES
@
l
...
...
arch/powerpc/kernel/vdso64/cacheflush.S
View file @
d58a75ef
...
@@ -35,6 +35,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache)
...
@@ -35,6 +35,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache)
subf
r8
,
r6
,
r4
/*
compute
length
*/
subf
r8
,
r6
,
r4
/*
compute
length
*/
add
r8
,
r8
,
r5
/*
ensure
we
get
enough
*/
add
r8
,
r8
,
r5
/*
ensure
we
get
enough
*/
srwi
.
r8
,
r8
,
7
/*
compute
line
count
*/
srwi
.
r8
,
r8
,
7
/*
compute
line
count
*/
crclr
cr0
*
4
+
so
beqlr
/*
nothing
to
do
?
*/
beqlr
/*
nothing
to
do
?
*/
mtctr
r8
mtctr
r8
mr
r3
,
r6
mr
r3
,
r6
...
@@ -58,6 +59,7 @@ V_FUNCTION_END(__kernel_sync_dicache)
...
@@ -58,6 +59,7 @@ V_FUNCTION_END(__kernel_sync_dicache)
*/
*/
V_FUNCTION_BEGIN
(
__kernel_sync_dicache_p5
)
V_FUNCTION_BEGIN
(
__kernel_sync_dicache_p5
)
.
cfi_startproc
.
cfi_startproc
crclr
cr0
*
4
+
so
sync
sync
isync
isync
li
r3
,
0
li
r3
,
0
...
...
arch/powerpc/kernel/vdso64/datapage.S
View file @
d58a75ef
...
@@ -54,12 +54,12 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map)
...
@@ -54,12 +54,12 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map)
.
cfi_startproc
.
cfi_startproc
mflr
r12
mflr
r12
.
cfi_register
lr
,
r12
.
cfi_register
lr
,
r12
mr
r4
,
r3
mr
r4
,
r3
bl
V_LOCAL_FUNC
(
__get_datapage
)
bl
V_LOCAL_FUNC
(
__get_datapage
)
mtlr
r12
mtlr
r12
addi
r3
,
r3
,
CFG_SYSCALL_MAP64
addi
r3
,
r3
,
CFG_SYSCALL_MAP64
cmpli
cr0
,
r4
,
0
cmpli
cr0
,
r4
,
0
crclr
cr0
*
4
+
so
beqlr
beqlr
li
r0
,
__NR_syscalls
li
r0
,
__NR_syscalls
stw
r0
,
0
(
r4
)
stw
r0
,
0
(
r4
)
...
@@ -80,6 +80,7 @@ V_FUNCTION_BEGIN(__kernel_get_tbfreq)
...
@@ -80,6 +80,7 @@ V_FUNCTION_BEGIN(__kernel_get_tbfreq)
bl
V_LOCAL_FUNC
(
__get_datapage
)
bl
V_LOCAL_FUNC
(
__get_datapage
)
ld
r3
,
CFG_TB_TICKS_PER_SEC
(
r3
)
ld
r3
,
CFG_TB_TICKS_PER_SEC
(
r3
)
mtlr
r12
mtlr
r12
crclr
cr0
*
4
+
so
blr
blr
.
cfi_endproc
.
cfi_endproc
V_FUNCTION_END
(
__kernel_get_tbfreq
)
V_FUNCTION_END
(
__kernel_get_tbfreq
)
arch/powerpc/kernel/vdso64/gettimeofday.S
View file @
d58a75ef
...
@@ -52,6 +52,7 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
...
@@ -52,6 +52,7 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
stw
r4
,
TZONE_TZ_MINWEST
(
r10
)
stw
r4
,
TZONE_TZ_MINWEST
(
r10
)
stw
r5
,
TZONE_TZ_DSTTIME
(
r10
)
stw
r5
,
TZONE_TZ_DSTTIME
(
r10
)
1
:
mtlr
r12
1
:
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
/*
always
success
*/
li
r3
,
0
/*
always
success
*/
blr
blr
.
cfi_endproc
.
cfi_endproc
...
@@ -99,6 +100,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
...
@@ -99,6 +100,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
std
r0
,
TSPC64_TV_NSEC
(
r11
)
/*
store
nsec
in
tp
*/
std
r0
,
TSPC64_TV_NSEC
(
r11
)
/*
store
nsec
in
tp
*/
mtlr
r12
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
li
r3
,
0
blr
blr
...
@@ -159,6 +161,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
...
@@ -159,6 +161,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
std
r7
,
TSPC64_TV_NSEC
(
r11
)
std
r7
,
TSPC64_TV_NSEC
(
r11
)
mtlr
r12
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
li
r3
,
0
blr
blr
...
@@ -193,6 +196,7 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
...
@@ -193,6 +196,7 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
li
r3
,
0
li
r3
,
0
cmpli
cr0
,
r4
,
0
cmpli
cr0
,
r4
,
0
crclr
cr0
*
4
+
so
beqlr
beqlr
lis
r5
,
CLOCK_REALTIME_RES
@
h
lis
r5
,
CLOCK_REALTIME_RES
@
h
ori
r5
,
r5
,
CLOCK_REALTIME_RES
@
l
ori
r5
,
r5
,
CLOCK_REALTIME_RES
@
l
...
...
arch/powerpc/mm/lmb.c
View file @
d58a75ef
...
@@ -22,35 +22,38 @@
...
@@ -22,35 +22,38 @@
#include "mmu_decl.h"
/* for __max_low_memory */
#include "mmu_decl.h"
/* for __max_low_memory */
#endif
#endif
struct
lmb
lmb
;
#undef DEBUG
#undef DEBUG
#ifdef DEBUG
#include <asm/udbg.h>
#define DBG(fmt...) udbg_printf(fmt)
#else
#define DBG(fmt...)
#endif
struct
lmb
lmb
;
void
lmb_dump_all
(
void
)
void
lmb_dump_all
(
void
)
{
{
#ifdef DEBUG
#ifdef DEBUG
unsigned
long
i
;
unsigned
long
i
;
udbg_printf
(
"lmb_dump_all:
\n
"
);
DBG
(
"lmb_dump_all:
\n
"
);
udbg_printf
(
" memory.cnt = 0x%lx
\n
"
,
DBG
(
" memory.cnt = 0x%lx
\n
"
,
lmb
.
memory
.
cnt
);
lmb
.
memory
.
cnt
);
DBG
(
" memory.size = 0x%lx
\n
"
,
lmb
.
memory
.
size
);
udbg_printf
(
" memory.size = 0x%lx
\n
"
,
lmb
.
memory
.
size
);
for
(
i
=
0
;
i
<
lmb
.
memory
.
cnt
;
i
++
)
{
for
(
i
=
0
;
i
<
lmb
.
memory
.
cnt
;
i
++
)
{
udbg_printf
(
" memory.region[0x%x].base = 0x%lx
\n
"
,
DBG
(
" memory.region[0x%x].base = 0x%lx
\n
"
,
i
,
lmb
.
memory
.
region
[
i
].
base
);
i
,
lmb
.
memory
.
region
[
i
].
base
);
udbg_printf
(
" .size = 0x%lx
\n
"
,
DBG
(
" .size = 0x%lx
\n
"
,
lmb
.
memory
.
region
[
i
].
size
);
lmb
.
memory
.
region
[
i
].
size
);
}
}
udbg_printf
(
"
\n
reserved.cnt = 0x%lx
\n
"
,
DBG
(
"
\n
reserved.cnt = 0x%lx
\n
"
,
lmb
.
reserved
.
cnt
);
lmb
.
reserved
.
cnt
);
DBG
(
" reserved.size = 0x%lx
\n
"
,
lmb
.
reserved
.
size
);
udbg_printf
(
" reserved.size = 0x%lx
\n
"
,
lmb
.
reserved
.
size
);
for
(
i
=
0
;
i
<
lmb
.
reserved
.
cnt
;
i
++
)
{
for
(
i
=
0
;
i
<
lmb
.
reserved
.
cnt
;
i
++
)
{
udbg_printf
(
" reserved.region[0x%x].base = 0x%lx
\n
"
,
DBG
(
" reserved.region[0x%x].base = 0x%lx
\n
"
,
i
,
lmb
.
reserved
.
region
[
i
].
base
);
i
,
lmb
.
reserved
.
region
[
i
].
base
);
udbg_printf
(
" .size = 0x%lx
\n
"
,
DBG
(
" .size = 0x%lx
\n
"
,
lmb
.
reserved
.
region
[
i
].
size
);
lmb
.
reserved
.
region
[
i
].
size
);
}
}
#endif
/* DEBUG */
#endif
/* DEBUG */
...
...
arch/powerpc/platforms/iseries/pci.c
View file @
d58a75ef
...
@@ -244,10 +244,9 @@ unsigned long __init find_and_init_phbs(void)
...
@@ -244,10 +244,9 @@ unsigned long __init find_and_init_phbs(void)
if
(
ret
==
0
)
{
if
(
ret
==
0
)
{
printk
(
"bus %d appears to exist
\n
"
,
bus
);
printk
(
"bus %d appears to exist
\n
"
,
bus
);
phb
=
(
struct
pci_controller
*
)
kmalloc
(
sizeof
(
struct
pci_controller
),
GFP_KERNE
L
);
phb
=
pcibios_alloc_controller
(
NUL
L
);
if
(
phb
==
NULL
)
if
(
phb
==
NULL
)
return
-
ENOMEM
;
return
-
ENOMEM
;
pci_setup_pci_controller
(
phb
);
phb
->
pci_mem_offset
=
phb
->
local_number
=
bus
;
phb
->
pci_mem_offset
=
phb
->
local_number
=
bus
;
phb
->
first_busno
=
bus
;
phb
->
first_busno
=
bus
;
...
...
arch/powerpc/platforms/maple/pci.c
View file @
d58a75ef
...
@@ -326,26 +326,12 @@ static int __init add_bridge(struct device_node *dev)
...
@@ -326,26 +326,12 @@ static int __init add_bridge(struct device_node *dev)
dev
->
full_name
);
dev
->
full_name
);
}
}
hose
=
alloc_bootmem
(
sizeof
(
struct
pci_controller
)
);
hose
=
pcibios_alloc_controller
(
dev
);
if
(
hose
==
NULL
)
if
(
hose
==
NULL
)
return
-
ENOMEM
;
return
-
ENOMEM
;
pci_setup_pci_controller
(
hose
);
hose
->
arch_data
=
dev
;
hose
->
first_busno
=
bus_range
?
bus_range
[
0
]
:
0
;
hose
->
first_busno
=
bus_range
?
bus_range
[
0
]
:
0
;
hose
->
last_busno
=
bus_range
?
bus_range
[
1
]
:
0xff
;
hose
->
last_busno
=
bus_range
?
bus_range
[
1
]
:
0xff
;
of_prop
=
alloc_bootmem
(
sizeof
(
struct
property
)
+
sizeof
(
hose
->
global_number
));
if
(
of_prop
)
{
memset
(
of_prop
,
0
,
sizeof
(
struct
property
));
of_prop
->
name
=
"linux,pci-domain"
;
of_prop
->
length
=
sizeof
(
hose
->
global_number
);
of_prop
->
value
=
(
unsigned
char
*
)
&
of_prop
[
1
];
memcpy
(
of_prop
->
value
,
&
hose
->
global_number
,
sizeof
(
hose
->
global_number
));
prom_add_property
(
dev
,
of_prop
);
}
disp_name
=
NULL
;
disp_name
=
NULL
;
if
(
device_is_compatible
(
dev
,
"u3-agp"
))
{
if
(
device_is_compatible
(
dev
,
"u3-agp"
))
{
setup_u3_agp
(
hose
);
setup_u3_agp
(
hose
);
...
...
arch/powerpc/platforms/powermac/feature.c
View file @
d58a75ef
...
@@ -2362,6 +2362,14 @@ static struct pmac_mb_def pmac_mb_defs[] = {
...
@@ -2362,6 +2362,14 @@ static struct pmac_mb_def pmac_mb_defs[] = {
PMAC_TYPE_UNKNOWN_INTREPID
,
intrepid_features
,
PMAC_TYPE_UNKNOWN_INTREPID
,
intrepid_features
,
PMAC_MB_MAY_SLEEP
|
PMAC_MB_HAS_FW_POWER
|
PMAC_MB_MOBILE
,
PMAC_MB_MAY_SLEEP
|
PMAC_MB_HAS_FW_POWER
|
PMAC_MB_MOBILE
,
},
},
{
"PowerBook5,8"
,
"PowerBook G4 15
\"
"
,
PMAC_TYPE_UNKNOWN_INTREPID
,
intrepid_features
,
PMAC_MB_MAY_SLEEP
|
PMAC_MB_HAS_FW_POWER
|
PMAC_MB_MOBILE
,
},
{
"PowerBook5,9"
,
"PowerBook G4 17
\"
"
,
PMAC_TYPE_UNKNOWN_INTREPID
,
intrepid_features
,
PMAC_MB_MAY_SLEEP
|
PMAC_MB_HAS_FW_POWER
|
PMAC_MB_MOBILE
,
},
{
"PowerBook6,1"
,
"PowerBook G4 12
\"
"
,
{
"PowerBook6,1"
,
"PowerBook G4 12
\"
"
,
PMAC_TYPE_UNKNOWN_INTREPID
,
intrepid_features
,
PMAC_TYPE_UNKNOWN_INTREPID
,
intrepid_features
,
PMAC_MB_MAY_SLEEP
|
PMAC_MB_HAS_FW_POWER
|
PMAC_MB_MOBILE
,
PMAC_MB_MAY_SLEEP
|
PMAC_MB_HAS_FW_POWER
|
PMAC_MB_MOBILE
,
...
...
arch/powerpc/platforms/powermac/pci.c
View file @
d58a75ef
...
@@ -640,15 +640,16 @@ static void __init setup_u3_ht(struct pci_controller* hose)
...
@@ -640,15 +640,16 @@ static void __init setup_u3_ht(struct pci_controller* hose)
* the reg address cell, we shall fix that by killing struct
* the reg address cell, we shall fix that by killing struct
* reg_property and using some accessor functions instead
* reg_property and using some accessor functions instead
*/
*/
hose
->
cfg_data
=
(
volatile
unsigned
char
*
)
ioremap
(
0xf2000000
,
0x02000000
);
hose
->
cfg_data
=
(
volatile
unsigned
char
*
)
ioremap
(
0xf2000000
,
0x02000000
);
/*
/*
* /ht node doesn't expose a "ranges" property, so we "remove"
regions that
* /ht node doesn't expose a "ranges" property, so we "remove"
*
have been allocated to AGP. So far, this version of the code doesn't assign
*
regions that have been allocated to AGP. So far, this version of
*
any of the 0xfxxxxxxx "fine" memory regions to /ht.
*
the code doesn't assign any of the 0xfxxxxxxx "fine" memory regions
*
We need to fix that sooner or later by either parsing all child "ranges"
*
to /ht. We need to fix that sooner or later by either parsing all
*
properties or figuring out the U3 address space decoding logic and
*
child "ranges" properties or figuring out the U3 address space
* then read its configuration register (if any).
*
decoding logic and
then read its configuration register (if any).
*/
*/
hose
->
io_base_phys
=
0xf4000000
;
hose
->
io_base_phys
=
0xf4000000
;
hose
->
pci_io_size
=
0x00400000
;
hose
->
pci_io_size
=
0x00400000
;
...
@@ -671,10 +672,10 @@ static void __init setup_u3_ht(struct pci_controller* hose)
...
@@ -671,10 +672,10 @@ static void __init setup_u3_ht(struct pci_controller* hose)
return
;
return
;
}
}
/* We "remove" the AGP resources from the resources allocated to HT,
that
/* We "remove" the AGP resources from the resources allocated to HT,
*
is we create "holes". However, that code does assumptions that so far
*
that is we create "holes". However, that code does assumptions
*
happen to be true (cross fingers...), typically that resources in the
*
that so far happen to be true (cross fingers...), typically that
* AGP node are properly ordered
*
resources in the
AGP node are properly ordered
*/
*/
cur
=
0
;
cur
=
0
;
for
(
i
=
0
;
i
<
3
;
i
++
)
{
for
(
i
=
0
;
i
<
3
;
i
++
)
{
...
@@ -684,23 +685,30 @@ static void __init setup_u3_ht(struct pci_controller* hose)
...
@@ -684,23 +685,30 @@ static void __init setup_u3_ht(struct pci_controller* hose)
/* We don't care about "fine" resources */
/* We don't care about "fine" resources */
if
(
res
->
start
>=
0xf0000000
)
if
(
res
->
start
>=
0xf0000000
)
continue
;
continue
;
/* Check if it's just a matter of "shrinking" us in one direction */
/* Check if it's just a matter of "shrinking" us in one
* direction
*/
if
(
hose
->
mem_resources
[
cur
].
start
==
res
->
start
)
{
if
(
hose
->
mem_resources
[
cur
].
start
==
res
->
start
)
{
DBG
(
"U3/HT: shrink start of %d, %08lx -> %08lx
\n
"
,
DBG
(
"U3/HT: shrink start of %d, %08lx -> %08lx
\n
"
,
cur
,
hose
->
mem_resources
[
cur
].
start
,
res
->
end
+
1
);
cur
,
hose
->
mem_resources
[
cur
].
start
,
res
->
end
+
1
);
hose
->
mem_resources
[
cur
].
start
=
res
->
end
+
1
;
hose
->
mem_resources
[
cur
].
start
=
res
->
end
+
1
;
continue
;
continue
;
}
}
if
(
hose
->
mem_resources
[
cur
].
end
==
res
->
end
)
{
if
(
hose
->
mem_resources
[
cur
].
end
==
res
->
end
)
{
DBG
(
"U3/HT: shrink end of %d, %08lx -> %08lx
\n
"
,
DBG
(
"U3/HT: shrink end of %d, %08lx -> %08lx
\n
"
,
cur
,
hose
->
mem_resources
[
cur
].
end
,
res
->
start
-
1
);
cur
,
hose
->
mem_resources
[
cur
].
end
,
res
->
start
-
1
);
hose
->
mem_resources
[
cur
].
end
=
res
->
start
-
1
;
hose
->
mem_resources
[
cur
].
end
=
res
->
start
-
1
;
continue
;
continue
;
}
}
/* No, it's not the case, we need a hole */
/* No, it's not the case, we need a hole */
if
(
cur
==
2
)
{
if
(
cur
==
2
)
{
/* not enough resources for a hole, we drop part of the range */
/* not enough resources for a hole, we drop part
printk
(
KERN_WARNING
"Running out of resources for /ht host !
\n
"
);
* of the range
*/
printk
(
KERN_WARNING
"Running out of resources"
" for /ht host !
\n
"
);
hose
->
mem_resources
[
cur
].
end
=
res
->
start
-
1
;
hose
->
mem_resources
[
cur
].
end
=
res
->
start
-
1
;
continue
;
continue
;
}
}
...
@@ -714,17 +722,6 @@ static void __init setup_u3_ht(struct pci_controller* hose)
...
@@ -714,17 +722,6 @@ static void __init setup_u3_ht(struct pci_controller* hose)
hose
->
mem_resources
[
cur
-
1
].
end
=
res
->
start
-
1
;
hose
->
mem_resources
[
cur
-
1
].
end
=
res
->
start
-
1
;
}
}
}
}
/* XXX this needs to be converged between ppc32 and ppc64... */
static
struct
pci_controller
*
__init
pcibios_alloc_controller
(
void
)
{
struct
pci_controller
*
hose
;
hose
=
alloc_bootmem
(
sizeof
(
struct
pci_controller
));
if
(
hose
)
pci_setup_pci_controller
(
hose
);
return
hose
;
}
#endif
#endif
/*
/*
...
@@ -756,11 +753,16 @@ static int __init add_bridge(struct device_node *dev)
...
@@ -756,11 +753,16 @@ static int __init add_bridge(struct device_node *dev)
#endif
#endif
bus_range
=
(
int
*
)
get_property
(
dev
,
"bus-range"
,
&
len
);
bus_range
=
(
int
*
)
get_property
(
dev
,
"bus-range"
,
&
len
);
if
(
bus_range
==
NULL
||
len
<
2
*
sizeof
(
int
))
{
if
(
bus_range
==
NULL
||
len
<
2
*
sizeof
(
int
))
{
printk
(
KERN_WARNING
"Can't get bus-range for %s, assume
bus 0
\n
"
,
printk
(
KERN_WARNING
"Can't get bus-range for %s, assume
"
dev
->
full_name
);
" bus 0
\n
"
,
dev
->
full_name
);
}
}
/* XXX Different prototypes, to be merged */
#ifdef CONFIG_PPC64
hose
=
pcibios_alloc_controller
(
dev
);
#else
hose
=
pcibios_alloc_controller
();
hose
=
pcibios_alloc_controller
();
#endif
if
(
!
hose
)
if
(
!
hose
)
return
-
ENOMEM
;
return
-
ENOMEM
;
hose
->
arch_data
=
dev
;
hose
->
arch_data
=
dev
;
...
@@ -768,7 +770,7 @@ static int __init add_bridge(struct device_node *dev)
...
@@ -768,7 +770,7 @@ static int __init add_bridge(struct device_node *dev)
hose
->
last_busno
=
bus_range
?
bus_range
[
1
]
:
0xff
;
hose
->
last_busno
=
bus_range
?
bus_range
[
1
]
:
0xff
;
disp_name
=
NULL
;
disp_name
=
NULL
;
#ifdef CONFIG_P
OWER
4
#ifdef CONFIG_P
PC6
4
if
(
device_is_compatible
(
dev
,
"u3-agp"
))
{
if
(
device_is_compatible
(
dev
,
"u3-agp"
))
{
setup_u3_agp
(
hose
);
setup_u3_agp
(
hose
);
disp_name
=
"U3-AGP"
;
disp_name
=
"U3-AGP"
;
...
...
arch/powerpc/platforms/pseries/smp.c
View file @
d58a75ef
...
@@ -51,6 +51,7 @@
...
@@ -51,6 +51,7 @@
#include "plpar_wrappers.h"
#include "plpar_wrappers.h"
#ifdef DEBUG
#ifdef DEBUG
#include <asm/udbg.h>
#define DBG(fmt...) udbg_printf(fmt)
#define DBG(fmt...) udbg_printf(fmt)
#else
#else
#define DBG(fmt...)
#define DBG(fmt...)
...
...
arch/ppc/kernel/setup.c
View file @
d58a75ef
...
@@ -602,7 +602,19 @@ void parse_bootinfo(struct bi_record *rec)
...
@@ -602,7 +602,19 @@ void parse_bootinfo(struct bi_record *rec)
#endif
/* CONFIG_BLK_DEV_INITRD */
#endif
/* CONFIG_BLK_DEV_INITRD */
#ifdef CONFIG_PPC_MULTIPLATFORM
#ifdef CONFIG_PPC_MULTIPLATFORM
case
BI_MACHTYPE
:
case
BI_MACHTYPE
:
_machine
=
data
[
0
];
/* Machine types changed with the merge. Since the
* bootinfo are now deprecated, we can just hard code
* the appropriate conversion here for when we are
* called with yaboot which passes us a machine type
* this way.
*/
switch
(
data
[
0
])
{
case
1
:
_machine
=
_MACH_prep
;
break
;
case
2
:
_machine
=
_MACH_Pmac
;
break
;
case
4
:
_machine
=
_MACH_chrp
;
break
;
default:
_machine
=
data
[
0
];
}
break
;
break
;
#endif
#endif
case
BI_MEMSIZE
:
case
BI_MEMSIZE
:
...
...
arch/ppc/mm/init.c
View file @
d58a75ef
...
@@ -597,21 +597,20 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long address,
...
@@ -597,21 +597,20 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long address,
if
(
pfn_valid
(
pfn
))
{
if
(
pfn_valid
(
pfn
))
{
struct
page
*
page
=
pfn_to_page
(
pfn
);
struct
page
*
page
=
pfn_to_page
(
pfn
);
if
(
!
PageReserved
(
page
)
&&
!
test_bit
(
PG_arch_1
,
&
page
->
flags
))
{
if
(
vma
->
vm_mm
==
current
->
active_mm
)
{
#ifdef CONFIG_8xx
#ifdef CONFIG_8xx
/* On 8xx, cache control instructions (particularly
/* On 8xx, the TLB handlers work in 2 stages:
* "dcbst" from flush_dcache_icache) fault as write
* First, a zeroed entry is loaded by TLBMiss handler,
* operation if there is an unpopulated TLB entry
* which causes the TLBError handler to be triggered.
* for the address in question. To workaround that,
* That means the zeroed TLB has to be invalidated
* we invalidate the TLB here, thus avoiding dcbst
* whenever a page miss occurs.
* misbehaviour.
*/
*/
_tlbie
(
address
);
_tlbie
(
address
);
#endif
#endif
if
(
!
PageReserved
(
page
)
&&
!
test_bit
(
PG_arch_1
,
&
page
->
flags
))
{
if
(
vma
->
vm_mm
==
current
->
active_mm
)
__flush_dcache_icache
((
void
*
)
address
);
__flush_dcache_icache
((
void
*
)
address
);
}
else
else
flush_dcache_icache_page
(
page
);
flush_dcache_icache_page
(
page
);
set_bit
(
PG_arch_1
,
&
page
->
flags
);
set_bit
(
PG_arch_1
,
&
page
->
flags
);
}
}
...
...
arch/ppc/xmon/start.c
View file @
d58a75ef
...
@@ -184,7 +184,9 @@ xmon_map_scc(void)
...
@@ -184,7 +184,9 @@ xmon_map_scc(void)
sccc
=
base
+
(
addr
&
~
PAGE_MASK
);
sccc
=
base
+
(
addr
&
~
PAGE_MASK
);
sccd
=
sccc
+
0x10
;
sccd
=
sccc
+
0x10
;
}
else
{
}
#ifdef CONFIG_PPC_CHRP
else
{
base
=
(
volatile
unsigned
char
*
)
isa_io_base
;
base
=
(
volatile
unsigned
char
*
)
isa_io_base
;
if
(
_machine
==
_MACH_chrp
)
if
(
_machine
==
_MACH_chrp
)
base
=
(
volatile
unsigned
char
*
)
base
=
(
volatile
unsigned
char
*
)
...
@@ -200,6 +202,7 @@ xmon_map_scc(void)
...
@@ -200,6 +202,7 @@ xmon_map_scc(void)
RXRDY
=
1
;
RXRDY
=
1
;
DLAB
=
0x80
;
DLAB
=
0x80
;
}
}
#endif
/* CONFIG_PPC_CHRP */
#elif defined(CONFIG_GEMINI)
#elif defined(CONFIG_GEMINI)
/* should already be mapped by the kernel boot */
/* should already be mapped by the kernel boot */
sccc
=
(
volatile
unsigned
char
*
)
0xffeffb0d
;
sccc
=
(
volatile
unsigned
char
*
)
0xffeffb0d
;
...
...
include/asm-powerpc/ppc-pci.h
View file @
d58a75ef
...
@@ -14,7 +14,6 @@
...
@@ -14,7 +14,6 @@
extern
unsigned
long
isa_io_base
;
extern
unsigned
long
isa_io_base
;
extern
void
pci_setup_pci_controller
(
struct
pci_controller
*
hose
);
extern
void
pci_setup_phb_io
(
struct
pci_controller
*
hose
,
int
primary
);
extern
void
pci_setup_phb_io
(
struct
pci_controller
*
hose
,
int
primary
);
extern
void
pci_setup_phb_io_dynamic
(
struct
pci_controller
*
hose
,
int
primary
);
extern
void
pci_setup_phb_io_dynamic
(
struct
pci_controller
*
hose
,
int
primary
);
...
...
include/asm-powerpc/vdso.h
View file @
d58a75ef
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
#define VDSO32_MBASE VDSO32_LBASE
#define VDSO32_MBASE VDSO32_LBASE
#define VDSO64_MBASE VDSO64_LBASE
#define VDSO64_MBASE VDSO64_LBASE
#define VDSO_VERSION_STRING LINUX_2.6.1
2
#define VDSO_VERSION_STRING LINUX_2.6.1
5
/* Define if 64 bits VDSO has procedure descriptors */
/* Define if 64 bits VDSO has procedure descriptors */
#undef VDS64_HAS_DESCRIPTORS
#undef VDS64_HAS_DESCRIPTORS
...
...
include/asm-ppc/pgalloc.h
View file @
d58a75ef
...
@@ -28,7 +28,7 @@ extern void pgd_free(pgd_t *pgd);
...
@@ -28,7 +28,7 @@ extern void pgd_free(pgd_t *pgd);
#define pmd_populate_kernel(mm, pmd, pte) \
#define pmd_populate_kernel(mm, pmd, pte) \
(pmd_val(*(pmd)) = (unsigned long)pte | _PMD_PRESENT)
(pmd_val(*(pmd)) = (unsigned long)pte | _PMD_PRESENT)
#define pmd_populate(mm, pmd, pte) \
#define pmd_populate(mm, pmd, pte) \
(pmd_val(*(pmd)) = (unsigned long)
page_to_virt
(pte) | _PMD_PRESENT)
(pmd_val(*(pmd)) = (unsigned long)
lowmem_page_address
(pte) | _PMD_PRESENT)
#endif
#endif
extern
pte_t
*
pte_alloc_one_kernel
(
struct
mm_struct
*
mm
,
unsigned
long
addr
);
extern
pte_t
*
pte_alloc_one_kernel
(
struct
mm_struct
*
mm
,
unsigned
long
addr
);
...
...
include/asm-ppc64/pci-bridge.h
View file @
d58a75ef
...
@@ -61,12 +61,14 @@ struct pci_dn {
...
@@ -61,12 +61,14 @@ struct pci_dn {
int
busno
;
/* for pci devices */
int
busno
;
/* for pci devices */
int
bussubno
;
/* for pci devices */
int
bussubno
;
/* for pci devices */
int
devfn
;
/* for pci devices */
int
devfn
;
/* for pci devices */
#ifdef CONFIG_PPC_PSERIES
int
eeh_mode
;
/* See eeh.h for possible EEH_MODEs */
int
eeh_mode
;
/* See eeh.h for possible EEH_MODEs */
int
eeh_config_addr
;
int
eeh_config_addr
;
int
eeh_check_count
;
/* # times driver ignored error */
int
eeh_check_count
;
/* # times driver ignored error */
int
eeh_freeze_count
;
/* # times this device froze up. */
int
eeh_freeze_count
;
/* # times this device froze up. */
int
eeh_is_bridge
;
/* device is pci-to-pci bridge */
int
eeh_is_bridge
;
/* device is pci-to-pci bridge */
#endif
int
pci_ext_config_space
;
/* for pci devices */
int
pci_ext_config_space
;
/* for pci devices */
struct
pci_controller
*
phb
;
/* for pci devices */
struct
pci_controller
*
phb
;
/* for pci devices */
struct
iommu_table
*
iommu_table
;
/* for phb's or bridges */
struct
iommu_table
*
iommu_table
;
/* for phb's or bridges */
...
@@ -74,9 +76,9 @@ struct pci_dn {
...
@@ -74,9 +76,9 @@ struct pci_dn {
struct
device_node
*
node
;
/* back-pointer to the device_node */
struct
device_node
*
node
;
/* back-pointer to the device_node */
#ifdef CONFIG_PPC_ISERIES
#ifdef CONFIG_PPC_ISERIES
struct
list_head
Device_List
;
struct
list_head
Device_List
;
int
Irq
;
/* Assigned IRQ */
int
Irq
;
/* Assigned IRQ */
int
Flags
;
/* Possible flags(disable/bist)*/
int
Flags
;
/* Possible flags(disable/bist)*/
u8
LogicalSlot
;
/* Hv Slot Index for Tces */
u8
LogicalSlot
;
/* Hv Slot Index for Tces */
#endif
#endif
u32
config_space
[
16
];
/* saved PCI config space */
u32
config_space
[
16
];
/* saved PCI config space */
};
};
...
@@ -136,6 +138,10 @@ static inline struct pci_controller *pci_bus_to_host(struct pci_bus *bus)
...
@@ -136,6 +138,10 @@ static inline struct pci_controller *pci_bus_to_host(struct pci_bus *bus)
return
PCI_DN
(
busdn
)
->
phb
;
return
PCI_DN
(
busdn
)
->
phb
;
}
}
extern
struct
pci_controller
*
pcibios_alloc_controller
(
struct
device_node
*
dev
);
extern
void
pcibios_free_controller
(
struct
pci_controller
*
phb
);
/* Return values for ppc_md.pci_probe_mode function */
/* Return values for ppc_md.pci_probe_mode function */
#define PCI_PROBE_NONE -1
/* Don't look at this bus at all */
#define PCI_PROBE_NONE -1
/* Don't look at this bus at all */
#define PCI_PROBE_NORMAL 0
/* Do normal PCI probing */
#define PCI_PROBE_NORMAL 0
/* Do normal PCI probing */
...
...
sound/ppc/tumbler.c
View file @
d58a75ef
...
@@ -1194,8 +1194,14 @@ static void tumbler_resume(pmac_t *chip)
...
@@ -1194,8 +1194,14 @@ static void tumbler_resume(pmac_t *chip)
tumbler_set_master_volume
(
mix
);
tumbler_set_master_volume
(
mix
);
if
(
chip
->
update_automute
)
if
(
chip
->
update_automute
)
chip
->
update_automute
(
chip
,
0
);
chip
->
update_automute
(
chip
,
0
);
if
(
mix
->
headphone_irq
>=
0
)
if
(
mix
->
headphone_irq
>=
0
)
{
unsigned
char
val
;
enable_irq
(
mix
->
headphone_irq
);
enable_irq
(
mix
->
headphone_irq
);
/* activate headphone status interrupts */
val
=
do_gpio_read
(
&
mix
->
hp_detect
);
do_gpio_write
(
&
mix
->
hp_detect
,
val
|
0x80
);
}
if
(
mix
->
lineout_irq
>=
0
)
if
(
mix
->
lineout_irq
>=
0
)
enable_irq
(
mix
->
lineout_irq
);
enable_irq
(
mix
->
lineout_irq
);
}
}
...
...
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