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
Show 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 @@
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
CROSS32_COMPILE
?=
...
...
@@ -37,6 +33,10 @@ endif
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
)
ifeq
($(new_nm),y)
...
...
@@ -139,7 +139,7 @@ drivers-$(CONFIG_CPM2) += arch/ppc/8260_io/
drivers-$(CONFIG_OPROFILE)
+=
arch
/powerpc/oprofile/
defaultimage-$(CONFIG_PPC32)
:=
uImage
zImage
defaultimage-$(CONFIG_PPC32)
:=
zImage
defaultimage-$(CONFIG_PPC_ISERIES)
:=
vmlinux
defaultimage-$(CONFIG_PPC_PSERIES)
:=
zImage
KBUILD_IMAGE
:=
$
(
defaultimage-y
)
...
...
@@ -154,23 +154,13 @@ BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd vmlinux.sm
.PHONY
:
$(BOOT_TARGETS)
boot
:=
arch
/
$(
OLD
ARCH)
/boot
boot
:=
arch
/
$(ARCH)
/boot
# urk
ifeq
($(CONFIG_PPC64),y)
$(BOOT_TARGETS)
:
vmlinux
$(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
@echo
'* zImage - Compressed kernel image (arch/$(ARCH)/boot/images/zImage.*)'
@echo
' uImage - Create a bootable image for U-Boot / PPCBoot'
@echo
'* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)'
@echo
' install - Install kernel using'
@echo
' (your) ~/bin/installkernel or'
@echo
' (distribution) /sbin/installkernel or'
...
...
@@ -180,7 +170,6 @@ endef
archclean
:
$(Q)$(MAKE)
$(clean)
=
$(boot)
# Temporary hack until we have migrated to asm-powerpc
$(Q)
rm
-rf
arch
/
$(ARCH)
/include
archprepare
:
checkbin
...
...
arch/p
pc64
/boot/Makefile
→
arch/p
owerpc
/boot/Makefile
View file @
d58a75ef
...
...
@@ -22,7 +22,8 @@
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
BOOTLFLAGS
:=
-T
$(srctree)
/
$(src)
/zImage.lds
OBJCOPYFLAGS
:=
contents,alloc,load,readonly,data
...
...
@@ -98,7 +99,7 @@ quiet_cmd_ramdisk = RAMDISK $@
cmd_ramdisk
=
$(obj)
/addRamDisk
$(obj)
/ramdisk.image.gz
$<
$@
quiet_cmd_stripvm
=
STRIP
$@
cmd_stripvm
=
$(STRIP)
-s
$<
-o
$@
cmd_stripvm
=
$(STRIP)
-s
-R
.comment
$<
-o
$@
vmlinux.strip
:
vmlinux
$(
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;
static
struct
addr_range
vmlinuz
;
static
struct
addr_range
initrd
;
static
unsigned
long
elfoffset
;
static
char
scratch
[
46912
];
/* scratch space for gunzip, from zlib_inflate_workspacesize() */
static
char
elfheader
[
256
];
...
...
@@ -131,13 +133,70 @@ static unsigned long try_claim(unsigned long size)
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
)
{
unsigned
long
i
;
int
len
;
kernel_entry_t
kernel_entry
;
Elf64_Ehdr
*
elf64
;
Elf64_Phdr
*
elf64ph
;
memset
(
__bss_start
,
0
,
_end
-
__bss_start
);
...
...
@@ -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
);
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 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)
claim_base
=
PROG_START
;
#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
* will expand the header (file offset), then the kernel, then
* possible rubbish we don't care about. But the kernel bss must
* 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
);
vmlinux
.
addr
=
try_claim
(
vmlinux
.
memsize
);
if
(
vmlinux
.
addr
==
0
)
{
...
...
@@ -254,9 +294,9 @@ void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
/* Skip over the ELF header */
#ifdef DEBUG
printf
(
"... skipping 0x%lx bytes of ELF header
\n\r
"
,
(
unsigned
long
)
elf64ph
->
p_
offset
);
elf
offset
);
#endif
vmlinux
.
addr
+=
(
unsigned
long
)
elf64ph
->
p_
offset
;
vmlinux
.
addr
+=
elf
offset
;
flush_cache
((
void
*
)
vmlinux
.
addr
,
vmlinux
.
size
);
...
...
@@ -272,7 +312,7 @@ void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
(
unsigned
long
)
prom
,
NULL
);
#endif
kernel_entry
(
a1
,
a2
,
prom
,
NULL
);
kernel_entry
(
a1
,
a2
,
prom
,
NULL
);
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
# Linux kernel version: 2.6.1
4-rc4
# T
hu Oct 20 08:29:1
0 2005
# Linux kernel version: 2.6.1
5-rc1
# T
ue Nov 15 14:36:2
0 2005
#
CONFIG_PPC64=y
CONFIG_64BIT=y
CONFIG_PPC_MERGE=y
CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_
GENERIC_ISA_DMA
=y
CONFIG_
PPC
=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=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
...
...
@@ -66,31 +81,69 @@ CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_KMOD is not set
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
#
# CONFIG_PPC_ISERIES is not set
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_BPA=y
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_MAPLE is not set
CONFIG_PPC=y
CONFIG_PPC64=y
CONFIG_PPC_CELL=y
CONFIG_PPC_OF=y
CONFIG_BPA_IIC=y
CONFIG_ALTIVEC=y
CONFIG_KEXEC=y
# CONFIG_U3_DART is not set
# CONFIG_BOOTX_TEXT is not set
# CONFIG_POWER4_ONLY is not set
CONFIG_PPC_RTAS=y
# 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_SMP=y
CONFIG_NR_CPUS=4
CONFIG_KEXEC=y
CONFIG_IRQ_ALL_CPUS=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
...
...
@@ -98,30 +151,21 @@ CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# 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_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_CMDLINE_BOOL is not set
# CONFIG_PM is not set
CONFIG_SECCOMP=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_DOMAINS=y
CONFIG_PCI_LEGACY_PROC=y
...
...
@@ -136,6 +180,7 @@ CONFIG_PCI_LEGACY_PROC=y
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
CONFIG_KERNEL_START=0xc000000000000000
#
# Networking
...
...
@@ -183,6 +228,10 @@ CONFIG_INET6_TUNNEL=m
CONFIG_IPV6_TUNNEL=m
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
#
...
...
@@ -284,6 +333,10 @@ CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
CONFIG_NET_CLS_ROUTE=y
...
...
@@ -345,14 +398,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=131072
CONFIG_BLK_DEV_INITRD=y
# 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
#
...
...
@@ -442,6 +487,7 @@ CONFIG_IDEDMA_AUTO=y
#
# Macintosh device drivers
#
# CONFIG_WINDFARM is not set
#
# Network device support
...
...
@@ -495,7 +541,6 @@ CONFIG_SKGE=m
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
# CONFIG_SPIDER_NET is not set
# CONFIG_MV643XX_ETH is not set
#
...
...
@@ -625,7 +670,7 @@ CONFIG_WATCHDOG=y
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
CONFIG_WATCHDOG_RTAS=y
# CONFIG_WATCHDOG_RTAS is not set
#
# PCI-based Watchdog Cards
...
...
@@ -633,6 +678,8 @@ CONFIG_WATCHDOG_RTAS=y
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI 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_R3964 is not set
# CONFIG_APPLICOM is not set
...
...
@@ -649,6 +696,7 @@ CONFIG_WATCHDOG_RTAS=y
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
#
# I2C support
...
...
@@ -699,6 +747,7 @@ CONFIG_I2C_ALGOBIT=y
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 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_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
...
...
@@ -756,6 +805,10 @@ CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
# CONFIG_USB is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
# USB Gadget Support
#
...
...
@@ -943,9 +996,24 @@ CONFIG_NLS_ISO8859_15=m
# 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_KPROBES is not set
#
# Kernel hacking
...
...
@@ -962,13 +1030,14 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_DEBUGGER=y
# CONFIG_XMON is not set
# CONFIG_PPCDBG is not set
CONFIG_IRQSTACKS=y
# CONFIG_BOOTX_TEXT is not set
#
# Security options
...
...
@@ -1008,17 +1077,3 @@ CONFIG_CRYPTO_DEFLATE=m
#
# 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
# Linux kernel version: 2.6.1
4
#
Mon Nov 7 13:37:59
2005
# Linux kernel version: 2.6.1
5-rc1
#
Tue Nov 15 14:39:20
2005
#
CONFIG_PPC64=y
CONFIG_64BIT=y
...
...
@@ -82,6 +82,23 @@ CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=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
#
...
...
@@ -137,6 +154,7 @@ CONFIG_IRQ_ALL_CPUS=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
...
...
@@ -144,7 +162,7 @@ CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# 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_SCHED_SMT is not set
CONFIG_PROC_DEVICETREE=y
...
...
@@ -215,6 +233,10 @@ CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
#
...
...
@@ -382,19 +404,6 @@ CONFIG_BLK_DEV_INITRD=y
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# 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
#
...
...
@@ -656,7 +665,6 @@ CONFIG_SUNGEM=y
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_NET_PCI is not set
# CONFIG_FEC_8XX is not set
#
# Ethernet (1000 Mbit)
...
...
@@ -710,6 +718,7 @@ CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
...
...
@@ -804,6 +813,8 @@ CONFIG_LEGACY_PTY_COUNT=256
#
# CONFIG_WATCHDOG 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_R3964 is not set
# CONFIG_APPLICOM is not set
...
...
@@ -917,7 +928,6 @@ CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SOFT_CURSOR=y
CONFIG_FB_MACMODES=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
...
...
@@ -932,6 +942,7 @@ CONFIG_FB_OF=y
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_NVIDIA=y
CONFIG_FB_NVIDIA_I2C=y
# CONFIG_FB_RIVA is not set
...
...
@@ -950,7 +961,6 @@ CONFIG_FB_RADEON_I2C=y
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
#
...
...
@@ -959,6 +969,7 @@ CONFIG_FB_RADEON_I2C=y
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
...
...
@@ -1474,10 +1485,11 @@ CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
#
#
Profiling s
upport
#
Instrumentation S
upport
#
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
# CONFIG_KPROBES is not set
#
# Kernel hacking
...
...
@@ -1497,7 +1509,6 @@ CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUGGER is not set
CONFIG_IRQSTACKS=y
...
...
arch/powerpc/configs/iseries_defconfig
View file @
d58a75ef
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.1
4-rc4
# T
hu Oct 20 08:30:56
2005
# Linux kernel version: 2.6.1
5-rc1
# T
ue Nov 15 14:38:09
2005
#
CONFIG_PPC64=y
CONFIG_64BIT=y
CONFIG_PPC_MERGE=y
CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_
GENERIC_ISA_DMA
=y
CONFIG_
PPC
=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=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
...
...
@@ -68,22 +83,60 @@ CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=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
#
CONFIG_PPC_ISERIES=y
# CONFIG_PPC_MULTIPLATFORM is not set
CONFIG_PPC=y
CONFIG_PPC64=y
CONFIG_PPC_ISERIES=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_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_SMP=y
CONFIG_NR_CPUS=32
CONFIG_IRQ_ALL_CPUS=y
CONFIG_LPARCFG=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
...
...
@@ -91,26 +144,20 @@ CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# 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_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_LPARCFG=y
CONFIG_PROC_DEVICETREE=y
# CONFIG_PM is not set
CONFIG_SECCOMP=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
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_DOMAINS=y
CONFIG_PCI_LEGACY_PROC=y
...
...
@@ -125,6 +172,7 @@ CONFIG_PCI_LEGACY_PROC=y
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
CONFIG_KERNEL_START=0xc000000000000000
#
# Networking
...
...
@@ -166,6 +214,10 @@ CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
#
...
...
@@ -265,6 +317,10 @@ CONFIG_LLC=y
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
CONFIG_NET_CLS_ROUTE=y
...
...
@@ -326,14 +382,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_BLK_DEV_INITRD=y
# 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
#
...
...
@@ -377,6 +425,7 @@ CONFIG_SCSI_FC_ATTRS=y
#
# SCSI low-level drivers
#
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
...
...
@@ -454,6 +503,7 @@ CONFIG_DM_ZERO=m
#
# Macintosh device drivers
#
# CONFIG_WINDFARM is not set
#
# Network device support
...
...
@@ -561,6 +611,7 @@ CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
...
...
@@ -643,6 +694,8 @@ CONFIG_LEGACY_PTY_COUNT=256
#
# CONFIG_WATCHDOG 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_R3964 is not set
# CONFIG_APPLICOM is not set
...
...
@@ -660,6 +713,7 @@ CONFIG_MAX_RAW_DEVS=256
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
#
# I2C support
...
...
@@ -712,6 +766,10 @@ CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
# CONFIG_USB is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
# USB Gadget Support
#
...
...
@@ -917,10 +975,25 @@ CONFIG_VIOTAPE=m
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_OPROFILE=y
# CONFIG_KPROBES is not set
#
# Kernel hacking
...
...
@@ -937,11 +1010,11 @@ CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_KPROBES is not set
CONFIG_DEBUG_STACK_USAGE=y
# CONFIG_DEBUGGER is not set
# CONFIG_PPCDBG is not set
CONFIG_IRQSTACKS=y
#
...
...
@@ -982,17 +1055,3 @@ CONFIG_CRYPTO_TEST=m
#
# 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
# Linux kernel version: 2.6.1
4-rc4
# T
hu Oct 20 08:31:24
2005
# Linux kernel version: 2.6.1
5-rc1
# T
ue Nov 15 14:38:58
2005
#
CONFIG_PPC64=y
CONFIG_64BIT=y
CONFIG_PPC_MERGE=y
CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_
GENERIC_ISA_DMA
=y
CONFIG_
PPC
=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=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
...
...
@@ -67,32 +81,67 @@ CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=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
#
# CONFIG_PPC_ISERIES is not set
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_BPA is not set
# CONFIG_PPC_PMAC is not set
CONFIG_PPC_MAPLE=y
CONFIG_PPC=y
CONFIG_PPC64=y
# CONFIG_PPC_CELL is not set
CONFIG_PPC_OF=y
CONFIG_MPIC=y
# CONFIG_ALTIVEC is not set
CONFIG_KEXEC=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_BOOTX_TEXT=y
CONFIG_POWER4_ONLY=y
# CONFIG_PPC_MPC106 is not set
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_SMP=y
CONFIG_NR_CPUS=2
CONFIG_KEXEC=y
CONFIG_IRQ_ALL_CPUS=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
...
...
@@ -100,27 +149,21 @@ CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# 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_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_CMDLINE_BOOL is not set
# CONFIG_PM is not set
CONFIG_SECCOMP=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_DOMAINS=y
CONFIG_PCI_LEGACY_PROC=y
...
...
@@ -135,6 +178,7 @@ CONFIG_PCI_LEGACY_PROC=y
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
CONFIG_KERNEL_START=0xc000000000000000
#
# Networking
...
...
@@ -193,6 +237,10 @@ CONFIG_TCP_CONG_BIC=y
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
# CONFIG_NET_CLS_ROUTE is not set
...
...
@@ -254,14 +302,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
# CONFIG_BLK_DEV_INITRD 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
#
...
...
@@ -351,6 +391,7 @@ CONFIG_IDEDMA_AUTO=y
#
# Macintosh device drivers
#
# CONFIG_WINDFARM is not set
#
# Network device support
...
...
@@ -533,6 +574,8 @@ CONFIG_LEGACY_PTY_COUNT=256
#
# CONFIG_WATCHDOG 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_R3964 is not set
# CONFIG_APPLICOM is not set
...
...
@@ -549,6 +592,7 @@ CONFIG_LEGACY_PTY_COUNT=256
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
#
# I2C support
...
...
@@ -599,6 +643,7 @@ CONFIG_I2C_AMD8111=y
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 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_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
...
...
@@ -681,12 +726,15 @@ CONFIG_USB_UHCI_HCD=y
#
# USB Device Class drivers
#
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_ACM 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
...
...
@@ -776,6 +824,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT 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_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
...
...
@@ -985,9 +1034,19 @@ CONFIG_NLS_DEFAULT="utf-8"
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_KPROBES is not set
#
# Kernel hacking
...
...
@@ -1004,14 +1063,15 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_KPROBES is not set
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUGGER=y
CONFIG_XMON=y
CONFIG_XMON_DEFAULT=y
# CONFIG_PPCDBG is not set
# CONFIG_IRQSTACKS is not set
CONFIG_BOOTX_TEXT=y
#
# Security options
...
...
@@ -1051,12 +1111,3 @@ CONFIG_CRYPTO_DES=y
#
# 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
# 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_64BIT=y
...
...
@@ -144,7 +144,7 @@ CONFIG_FORCE_MAX_ZONEORDER=13
CONFIG_IOMMU_VMERGE=y
CONFIG_HOTPLUG_CPU=y
CONFIG_KEXEC=y
# CONFIG_IRQ_ALL_CPUS is not set
CONFIG_IRQ_ALL_CPUS=y
CONFIG_PPC_SPLPAR=y
CONFIG_EEH=y
CONFIG_SCANLOG=m
...
...
arch/powerpc/kernel/pci_64.c
View file @
d58a75ef
...
...
@@ -30,10 +30,10 @@
#include <asm/byteorder.h>
#include <asm/irq.h>
#include <asm/machdep.h>
#include <asm/udbg.h>
#include <asm/ppc-pci.h>
#ifdef DEBUG
#include <asm/udbg.h>
#define DBG(fmt...) udbg_printf(fmt)
#else
#define DBG(fmt...)
...
...
@@ -187,7 +187,7 @@ static DEFINE_SPINLOCK(hose_spinlock);
/*
* 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
));
...
...
@@ -197,6 +197,65 @@ void __devinit pci_setup_pci_controller(struct pci_controller *hose)
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
)
{
struct
pci_dev
*
dev
;
...
...
@@ -907,9 +966,10 @@ void __devinit pci_process_bridge_OF_ranges(struct pci_controller *hose,
* (size depending on dev->n_addr_cells)
* 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
);
if
(
ranges
==
NULL
)
return
;
hose
->
io_base_phys
=
0
;
while
((
rlen
-=
np
*
sizeof
(
unsigned
int
))
>=
0
)
{
res
=
NULL
;
pci_space
=
ranges
[
0
];
...
...
@@ -1107,6 +1167,8 @@ int remap_bus_range(struct pci_bus *bus)
if
(
get_bus_io_range
(
bus
,
&
start_phys
,
&
start_virt
,
&
size
))
return
1
;
if
(
start_phys
==
0
)
return
1
;
printk
(
"mapping IO %lx -> %lx, size: %lx
\n
"
,
start_phys
,
start_virt
,
size
);
if
(
__ioremap_explicit
(
start_phys
,
start_virt
,
size
,
_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,
struct
pci_controller
*
phb
,
unsigned
int
addr_size_words
)
{
pci_setup_pci_controller
(
phb
);
if
(
is_python
(
dev
))
python_countermeasures
(
dev
,
addr_size_words
);
if
(
phb_set_bus_ranges
(
dev
,
phb
))
return
1
;
phb
->
arch_data
=
dev
;
phb
->
ops
=
&
rtas_pci_ops
;
phb
->
buid
=
get_phb_buid
(
dev
);
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
)
{
struct
device_node
*
node
;
...
...
@@ -397,10 +340,10 @@ unsigned long __init find_and_init_phbs(void)
if
(
node
->
type
==
NULL
||
strcmp
(
node
->
type
,
"pci"
)
!=
0
)
continue
;
phb
=
alloc_phb
(
node
,
root_size_cells
);
phb
=
pcibios_alloc_controller
(
node
);
if
(
!
phb
)
continue
;
setup_phb
(
node
,
phb
,
root_size_cells
);
pci_process_bridge_OF_ranges
(
phb
,
node
,
0
);
pci_setup_phb_io
(
phb
,
index
==
0
);
#ifdef CONFIG_PPC_PSERIES
...
...
@@ -446,10 +389,10 @@ struct pci_controller * __devinit init_phb_dynamic(struct device_node *dn)
root_size_cells
=
prom_n_size_cells
(
root
);
primary
=
list_empty
(
&
hose_list
);
phb
=
alloc_phb_dynamic
(
dn
,
root_size_cells
);
phb
=
pcibios_alloc_controller
(
dn
);
if
(
!
phb
)
return
NULL
;
setup_phb
(
dn
,
phb
,
root_size_cells
);
pci_process_bridge_OF_ranges
(
phb
,
dn
,
primary
);
pci_setup_phb_io_dynamic
(
phb
,
primary
);
...
...
@@ -505,8 +448,7 @@ int pcibios_remove_root_bus(struct pci_controller *phb)
}
list_del
(
&
phb
->
list_node
);
if
(
phb
->
is_dynamic
)
kfree
(
phb
);
pcibios_free_controller
(
phb
);
return
0
;
}
...
...
arch/powerpc/kernel/setup-common.c
View file @
d58a75ef
...
...
@@ -59,6 +59,7 @@
#undef DEBUG
#ifdef DEBUG
#include <asm/udbg.h>
#define DBG(fmt...) udbg_printf(fmt)
#else
#define DBG(fmt...)
...
...
arch/powerpc/kernel/smp.c
View file @
d58a75ef
...
...
@@ -49,15 +49,16 @@
#include <asm/paca.h>
#endif
int
smp_hw_index
[
NR_CPUS
];
struct
thread_info
*
secondary_ti
;
#ifdef DEBUG
#include <asm/udbg.h>
#define DBG(fmt...) udbg_printf(fmt)
#else
#define DBG(fmt...)
#endif
int
smp_hw_index
[
NR_CPUS
];
struct
thread_info
*
secondary_ti
;
cpumask_t
cpu_possible_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
};
...
...
arch/powerpc/kernel/vdso32/cacheflush.S
View file @
d58a75ef
...
...
@@ -35,6 +35,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache)
subf
r8
,
r6
,
r4
/*
compute
length
*/
add
r8
,
r8
,
r5
/*
ensure
we
get
enough
*/
srwi
.
r8
,
r8
,
7
/*
compute
line
count
*/
crclr
cr0
*
4
+
so
beqlr
/*
nothing
to
do
?
*/
mtctr
r8
mr
r3
,
r6
...
...
@@ -58,6 +59,7 @@ V_FUNCTION_END(__kernel_sync_dicache)
*/
V_FUNCTION_BEGIN
(
__kernel_sync_dicache_p5
)
.
cfi_startproc
crclr
cr0
*
4
+
so
sync
isync
li
r3
,
0
...
...
arch/powerpc/kernel/vdso32/datapage.S
View file @
d58a75ef
...
...
@@ -54,7 +54,6 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map)
.
cfi_startproc
mflr
r12
.
cfi_register
lr
,
r12
mr
r4
,
r3
bl
__get_datapage
@
local
mtlr
r12
...
...
@@ -63,6 +62,7 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map)
beqlr
li
r0
,
__NR_syscalls
stw
r0
,
0
(
r4
)
crclr
cr0
*
4
+
so
blr
.
cfi_endproc
V_FUNCTION_END
(
__kernel_get_syscall_map
)
...
...
@@ -80,6 +80,7 @@ V_FUNCTION_BEGIN(__kernel_get_tbfreq)
lwz
r4
,(
CFG_TB_TICKS_PER_SEC
+
4
)(
r3
)
lwz
r3
,
CFG_TB_TICKS_PER_SEC
(
r3
)
mtlr
r12
crclr
cr0
*
4
+
so
blr
.
cfi_endproc
V_FUNCTION_END
(
__kernel_get_tbfreq
)
arch/powerpc/kernel/vdso32/gettimeofday.S
View file @
d58a75ef
...
...
@@ -59,6 +59,7 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
stw
r5
,
TZONE_TZ_DSTTIME
(
r11
)
1
:
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
blr
...
...
@@ -117,6 +118,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
mulli
r5
,
r5
,
1000
stw
r5
,
TSPC32_TV_NSEC
(
r11
)
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
blr
...
...
@@ -185,6 +187,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
stw
r4
,
TSPC32_TV_NSEC
(
r11
)
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
blr
...
...
@@ -219,6 +222,7 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
li
r3
,
0
cmpli
cr0
,
r4
,
0
crclr
cr0
*
4
+
so
beqlr
lis
r5
,
CLOCK_REALTIME_RES
@
h
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)
subf
r8
,
r6
,
r4
/*
compute
length
*/
add
r8
,
r8
,
r5
/*
ensure
we
get
enough
*/
srwi
.
r8
,
r8
,
7
/*
compute
line
count
*/
crclr
cr0
*
4
+
so
beqlr
/*
nothing
to
do
?
*/
mtctr
r8
mr
r3
,
r6
...
...
@@ -58,6 +59,7 @@ V_FUNCTION_END(__kernel_sync_dicache)
*/
V_FUNCTION_BEGIN
(
__kernel_sync_dicache_p5
)
.
cfi_startproc
crclr
cr0
*
4
+
so
sync
isync
li
r3
,
0
...
...
arch/powerpc/kernel/vdso64/datapage.S
View file @
d58a75ef
...
...
@@ -54,12 +54,12 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map)
.
cfi_startproc
mflr
r12
.
cfi_register
lr
,
r12
mr
r4
,
r3
bl
V_LOCAL_FUNC
(
__get_datapage
)
mtlr
r12
addi
r3
,
r3
,
CFG_SYSCALL_MAP64
cmpli
cr0
,
r4
,
0
crclr
cr0
*
4
+
so
beqlr
li
r0
,
__NR_syscalls
stw
r0
,
0
(
r4
)
...
...
@@ -80,6 +80,7 @@ V_FUNCTION_BEGIN(__kernel_get_tbfreq)
bl
V_LOCAL_FUNC
(
__get_datapage
)
ld
r3
,
CFG_TB_TICKS_PER_SEC
(
r3
)
mtlr
r12
crclr
cr0
*
4
+
so
blr
.
cfi_endproc
V_FUNCTION_END
(
__kernel_get_tbfreq
)
arch/powerpc/kernel/vdso64/gettimeofday.S
View file @
d58a75ef
...
...
@@ -52,6 +52,7 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
stw
r4
,
TZONE_TZ_MINWEST
(
r10
)
stw
r5
,
TZONE_TZ_DSTTIME
(
r10
)
1
:
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
/*
always
success
*/
blr
.
cfi_endproc
...
...
@@ -99,6 +100,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
std
r0
,
TSPC64_TV_NSEC
(
r11
)
/*
store
nsec
in
tp
*/
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
blr
...
...
@@ -159,6 +161,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
std
r7
,
TSPC64_TV_NSEC
(
r11
)
mtlr
r12
crclr
cr0
*
4
+
so
li
r3
,
0
blr
...
...
@@ -193,6 +196,7 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
li
r3
,
0
cmpli
cr0
,
r4
,
0
crclr
cr0
*
4
+
so
beqlr
lis
r5
,
CLOCK_REALTIME_RES
@
h
ori
r5
,
r5
,
CLOCK_REALTIME_RES
@
l
...
...
arch/powerpc/mm/lmb.c
View file @
d58a75ef
...
...
@@ -22,35 +22,38 @@
#include "mmu_decl.h"
/* for __max_low_memory */
#endif
struct
lmb
lmb
;
#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
)
{
#ifdef DEBUG
unsigned
long
i
;
udbg_printf
(
"lmb_dump_all:
\n
"
);
udbg_printf
(
" memory.cnt = 0x%lx
\n
"
,
lmb
.
memory
.
cnt
);
udbg_printf
(
" memory.size = 0x%lx
\n
"
,
lmb
.
memory
.
size
);
DBG
(
"lmb_dump_all:
\n
"
);
DBG
(
" memory.cnt = 0x%lx
\n
"
,
lmb
.
memory
.
cnt
);
DBG
(
" memory.size = 0x%lx
\n
"
,
lmb
.
memory
.
size
);
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
);
udbg_printf
(
" .size = 0x%lx
\n
"
,
DBG
(
" .size = 0x%lx
\n
"
,
lmb
.
memory
.
region
[
i
].
size
);
}
udbg_printf
(
"
\n
reserved.cnt = 0x%lx
\n
"
,
lmb
.
reserved
.
cnt
);
udbg_printf
(
" reserved.size = 0x%lx
\n
"
,
lmb
.
reserved
.
size
);
DBG
(
"
\n
reserved.cnt = 0x%lx
\n
"
,
lmb
.
reserved
.
cnt
);
DBG
(
" reserved.size = 0x%lx
\n
"
,
lmb
.
reserved
.
size
);
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
);
udbg_printf
(
" .size = 0x%lx
\n
"
,
DBG
(
" .size = 0x%lx
\n
"
,
lmb
.
reserved
.
region
[
i
].
size
);
}
#endif
/* DEBUG */
...
...
arch/powerpc/platforms/iseries/pci.c
View file @
d58a75ef
...
...
@@ -244,10 +244,9 @@ unsigned long __init find_and_init_phbs(void)
if
(
ret
==
0
)
{
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
)
return
-
ENOMEM
;
pci_setup_pci_controller
(
phb
);
phb
->
pci_mem_offset
=
phb
->
local_number
=
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)
dev
->
full_name
);
}
hose
=
alloc_bootmem
(
sizeof
(
struct
pci_controller
)
);
hose
=
pcibios_alloc_controller
(
dev
);
if
(
hose
==
NULL
)
return
-
ENOMEM
;
pci_setup_pci_controller
(
hose
);
hose
->
arch_data
=
dev
;
hose
->
first_busno
=
bus_range
?
bus_range
[
0
]
:
0
;
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
;
if
(
device_is_compatible
(
dev
,
"u3-agp"
))
{
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[] = {
PMAC_TYPE_UNKNOWN_INTREPID
,
intrepid_features
,
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
\"
"
,
PMAC_TYPE_UNKNOWN_INTREPID
,
intrepid_features
,
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)
* the reg address cell, we shall fix that by killing struct
* 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
*
have been allocated to AGP. So far, this version of the code doesn't assign
*
any of the 0xfxxxxxxx "fine" memory regions to /ht.
*
We need to fix that sooner or later by either parsing all child "ranges"
*
properties or figuring out the U3 address space decoding logic and
* then read its configuration register (if any).
* /ht node doesn't expose a "ranges" property, so we "remove"
*
regions that have been allocated to AGP. So far, this version of
*
the code doesn't assign any of the 0xfxxxxxxx "fine" memory regions
*
to /ht. We need to fix that sooner or later by either parsing all
*
child "ranges" properties or figuring out the U3 address space
*
decoding logic and
then read its configuration register (if any).
*/
hose
->
io_base_phys
=
0xf4000000
;
hose
->
pci_io_size
=
0x00400000
;
...
...
@@ -671,10 +672,10 @@ static void __init setup_u3_ht(struct pci_controller* hose)
return
;
}
/* We "remove" the AGP resources from the resources allocated to HT,
that
*
is we create "holes". However, that code does assumptions that so far
*
happen to be true (cross fingers...), typically that resources in the
* AGP node are properly ordered
/* We "remove" the AGP resources from the resources allocated to HT,
*
that is we create "holes". However, that code does assumptions
*
that so far happen to be true (cross fingers...), typically that
*
resources in the
AGP node are properly ordered
*/
cur
=
0
;
for
(
i
=
0
;
i
<
3
;
i
++
)
{
...
...
@@ -684,23 +685,30 @@ static void __init setup_u3_ht(struct pci_controller* hose)
/* We don't care about "fine" resources */
if
(
res
->
start
>=
0xf0000000
)
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
)
{
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
;
continue
;
}
if
(
hose
->
mem_resources
[
cur
].
end
==
res
->
end
)
{
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
;
continue
;
}
/* No, it's not the case, we need a hole */
if
(
cur
==
2
)
{
/* not enough resources for a hole, we drop part of the range */
printk
(
KERN_WARNING
"Running out of resources for /ht host !
\n
"
);
/* not enough resources for a hole, we drop part
* of the range
*/
printk
(
KERN_WARNING
"Running out of resources"
" for /ht host !
\n
"
);
hose
->
mem_resources
[
cur
].
end
=
res
->
start
-
1
;
continue
;
}
...
...
@@ -714,17 +722,6 @@ static void __init setup_u3_ht(struct pci_controller* hose)
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
/*
...
...
@@ -756,11 +753,16 @@ static int __init add_bridge(struct device_node *dev)
#endif
bus_range
=
(
int
*
)
get_property
(
dev
,
"bus-range"
,
&
len
);
if
(
bus_range
==
NULL
||
len
<
2
*
sizeof
(
int
))
{
printk
(
KERN_WARNING
"Can't get bus-range for %s, assume
bus 0
\n
"
,
dev
->
full_name
);
printk
(
KERN_WARNING
"Can't get bus-range for %s, assume
"
" 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
();
#endif
if
(
!
hose
)
return
-
ENOMEM
;
hose
->
arch_data
=
dev
;
...
...
@@ -768,7 +770,7 @@ static int __init add_bridge(struct device_node *dev)
hose
->
last_busno
=
bus_range
?
bus_range
[
1
]
:
0xff
;
disp_name
=
NULL
;
#ifdef CONFIG_P
OWER
4
#ifdef CONFIG_P
PC6
4
if
(
device_is_compatible
(
dev
,
"u3-agp"
))
{
setup_u3_agp
(
hose
);
disp_name
=
"U3-AGP"
;
...
...
arch/powerpc/platforms/pseries/smp.c
View file @
d58a75ef
...
...
@@ -51,6 +51,7 @@
#include "plpar_wrappers.h"
#ifdef DEBUG
#include <asm/udbg.h>
#define DBG(fmt...) udbg_printf(fmt)
#else
#define DBG(fmt...)
...
...
arch/ppc/kernel/setup.c
View file @
d58a75ef
...
...
@@ -602,7 +602,19 @@ void parse_bootinfo(struct bi_record *rec)
#endif
/* CONFIG_BLK_DEV_INITRD */
#ifdef CONFIG_PPC_MULTIPLATFORM
case
BI_MACHTYPE
:
/* 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
;
#endif
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,
if
(
pfn_valid
(
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
/* On 8xx, cache control instructions (particularly
* "dcbst" from flush_dcache_icache) fault as write
* operation if there is an unpopulated TLB entry
* for the address in question. To workaround that,
* we invalidate the TLB here, thus avoiding dcbst
* misbehaviour.
/* On 8xx, the TLB handlers work in 2 stages:
* First, a zeroed entry is loaded by TLBMiss handler,
* which causes the TLBError handler to be triggered.
* That means the zeroed TLB has to be invalidated
* whenever a page miss occurs.
*/
_tlbie
(
address
);
#endif
if
(
!
PageReserved
(
page
)
&&
!
test_bit
(
PG_arch_1
,
&
page
->
flags
))
{
if
(
vma
->
vm_mm
==
current
->
active_mm
)
__flush_dcache_icache
((
void
*
)
address
);
}
else
else
flush_dcache_icache_page
(
page
);
set_bit
(
PG_arch_1
,
&
page
->
flags
);
}
...
...
arch/ppc/xmon/start.c
View file @
d58a75ef
...
...
@@ -184,7 +184,9 @@ xmon_map_scc(void)
sccc
=
base
+
(
addr
&
~
PAGE_MASK
);
sccd
=
sccc
+
0x10
;
}
else
{
}
#ifdef CONFIG_PPC_CHRP
else
{
base
=
(
volatile
unsigned
char
*
)
isa_io_base
;
if
(
_machine
==
_MACH_chrp
)
base
=
(
volatile
unsigned
char
*
)
...
...
@@ -200,6 +202,7 @@ xmon_map_scc(void)
RXRDY
=
1
;
DLAB
=
0x80
;
}
#endif
/* CONFIG_PPC_CHRP */
#elif defined(CONFIG_GEMINI)
/* should already be mapped by the kernel boot */
sccc
=
(
volatile
unsigned
char
*
)
0xffeffb0d
;
...
...
include/asm-powerpc/ppc-pci.h
View file @
d58a75ef
...
...
@@ -14,7 +14,6 @@
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_dynamic
(
struct
pci_controller
*
hose
,
int
primary
);
...
...
include/asm-powerpc/vdso.h
View file @
d58a75ef
...
...
@@ -11,7 +11,7 @@
#define VDSO32_MBASE VDSO32_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 */
#undef VDS64_HAS_DESCRIPTORS
...
...
include/asm-ppc/pgalloc.h
View file @
d58a75ef
...
...
@@ -28,7 +28,7 @@ extern void pgd_free(pgd_t *pgd);
#define pmd_populate_kernel(mm, pmd, pte) \
(pmd_val(*(pmd)) = (unsigned long)pte | _PMD_PRESENT)
#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
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 {
int
busno
;
/* for pci devices */
int
bussubno
;
/* for pci devices */
int
devfn
;
/* for pci devices */
#ifdef CONFIG_PPC_PSERIES
int
eeh_mode
;
/* See eeh.h for possible EEH_MODEs */
int
eeh_config_addr
;
int
eeh_check_count
;
/* # times driver ignored error */
int
eeh_freeze_count
;
/* # times this device froze up. */
int
eeh_is_bridge
;
/* device is pci-to-pci bridge */
#endif
int
pci_ext_config_space
;
/* for pci devices */
struct
pci_controller
*
phb
;
/* for pci devices */
struct
iommu_table
*
iommu_table
;
/* for phb's or bridges */
...
...
@@ -136,6 +138,10 @@ static inline struct pci_controller *pci_bus_to_host(struct pci_bus *bus)
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 */
#define PCI_PROBE_NONE -1
/* Don't look at this bus at all */
#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)
tumbler_set_master_volume
(
mix
);
if
(
chip
->
update_automute
)
chip
->
update_automute
(
chip
,
0
);
if
(
mix
->
headphone_irq
>=
0
)
if
(
mix
->
headphone_irq
>=
0
)
{
unsigned
char
val
;
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
)
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