Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 17877
b: refs/heads/master
c: 99535ac
h: refs/heads/master
i:
  17875: 903eb1a
v: v3
  • Loading branch information
Linus Torvalds committed Jan 12, 2006
1 parent caf54e7 commit 106faba
Show file tree
Hide file tree
Showing 37 changed files with 383 additions and 134 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 61943c5015acae42fe355bf033bbee8d63691fe3
refs/heads/master: 99535ac2d4d95dbcad6b8d8a04ea57a891fb533b
83 changes: 49 additions & 34 deletions trunk/arch/powerpc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,39 @@ config ARCH_MAY_HAVE_PC_FDC
bool
default y

config PPC_OF
def_bool y

config PPC_UDBG_16550
bool
default n

config CRASH_DUMP
bool "kernel crash dumps (EXPERIMENTAL)"
depends on PPC_MULTIPLATFORM
depends on EXPERIMENTAL
help
Build a kernel suitable for use as a kdump capture kernel.
The kernel will be linked at a different address than normal, and
so can only be used for Kdump.

Don't change this unless you know what you are doing.

config GENERIC_TBSYNC
bool
default y if PPC32 && SMP
default n

menu "Processor support"
choice
prompt "Processor Type"
depends on PPC32
default 6xx

config 6xx
config CLASSIC32
bool "6xx/7xx/74xx"
select PPC_FPU
select 6xx
help
There are four families of PowerPC chips supported. The more common
types (601, 603, 604, 740, 750, 7400), the Motorola embedded
Expand All @@ -93,12 +117,20 @@ config 6xx

config PPC_52xx
bool "Freescale 52xx"
select 6xx
select PPC_FPU

config PPC_82xx
bool "Freescale 82xx"
select 6xx
select PPC_FPU

config PPC_83xx
bool "Freescale 83xx"
select 6xx
select FSL_SOC
select 83xx
select PPC_FPU

config 40x
bool "AMCC 40x"
Expand Down Expand Up @@ -134,6 +166,13 @@ config POWER4
depends on PPC64
def_bool y

config 6xx
bool

# this is temp to handle compat with arch=ppc
config 83xx
bool

config PPC_FPU
bool
default y if PPC64
Expand Down Expand Up @@ -166,7 +205,7 @@ config PHYS_64BIT

config ALTIVEC
bool "AltiVec Support"
depends on 6xx || POWER4
depends on CLASSIC32 || POWER4
---help---
This option enables kernel support for the Altivec extensions to the
PowerPC processor. The kernel currently supports saving and restoring
Expand Down Expand Up @@ -239,7 +278,7 @@ endmenu
source "init/Kconfig"

menu "Platform support"
depends on PPC64 || 6xx
depends on PPC64 || CLASSIC32

choice
prompt "Machine type"
Expand Down Expand Up @@ -330,9 +369,6 @@ config PPC_CELL
select MMIO_NVRAM
select PPC_UDBG_16550

config PPC_OF
def_bool y

config XICS
depends on PPC_PSERIES
bool
Expand Down Expand Up @@ -375,26 +411,11 @@ config MPIC_BROKEN_U3
depends on PPC_MAPLE
default y

config PPC_UDBG_16550
bool
default n

config CELL_IIC
depends on PPC_CELL
bool
default y

config CRASH_DUMP
bool "kernel crash dumps (EXPERIMENTAL)"
depends on PPC_MULTIPLATFORM
depends on EXPERIMENTAL
help
Build a kernel suitable for use as a kdump capture kernel.
The kernel will be linked at a different address than normal, and
so can only be used for Kdump.

Don't change this unless you know what you are doing.

config IBMVIO
depends on PPC_PSERIES || PPC_ISERIES
bool
Expand All @@ -410,11 +431,6 @@ config PPC_MPC106
bool
default n

config GENERIC_TBSYNC
bool
default y if PPC32 && SMP
default n

source "drivers/cpufreq/Kconfig"

config CPU_FREQ_PMAC
Expand Down Expand Up @@ -495,6 +511,7 @@ endmenu

source arch/powerpc/platforms/embedded6xx/Kconfig
source arch/powerpc/platforms/4xx/Kconfig
source arch/powerpc/platforms/83xx/Kconfig
source arch/powerpc/platforms/85xx/Kconfig
source arch/powerpc/platforms/8xx/Kconfig
source arch/powerpc/platforms/cell/Kconfig
Expand Down Expand Up @@ -718,7 +735,7 @@ config PPC_I8259
config PPC_INDIRECT_PCI
bool
depends on PCI
default y if 40x || 44x || 85xx || 83xx
default y if 40x || 44x || 85xx
default n

config EISA
Expand All @@ -727,13 +744,16 @@ config EISA
config SBUS
bool

config FSL_SOC
bool

# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
config MCA
bool

config PCI
bool "PCI support" if 40x || CPM2 || 83xx || 85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
default y if !40x && !CPM2 && !8xx && !APUS && !83xx && !85xx
bool "PCI support" if 40x || CPM2 || PPC_83xx || 85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx && !85xx
default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
default PCI_QSPAN if !4xx && !CPM2 && 8xx
help
Expand All @@ -746,11 +766,6 @@ config PCI_DOMAINS
bool
default PCI

config MPC83xx_PCI2
bool " Supprt for 2nd PCI host controller"
depends on PCI && MPC834x
default y if MPC834x_SYS

config PCI_QSPAN
bool "QSpan PCI"
depends on !4xx && !CPM2 && 8xx
Expand Down
42 changes: 42 additions & 0 deletions trunk/arch/powerpc/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -115,4 +115,46 @@ config PPC_OCP
depends on IBM_OCP || XILINX_OCP
default y

choice
prompt "Early debugging (dangerous)"
bool
optional
help
Enable early debugging. Careful, if you enable debugging for the
wrong type of machine your kernel _will not boot_.

config PPC_EARLY_DEBUG_LPAR
bool "LPAR HV Console"
depends on PPC_PSERIES
help
Select this to enable early debugging for a machine with a HVC
console on vterm 0.

config PPC_EARLY_DEBUG_G5
bool "Apple G5"
depends on PPC_PMAC64
help
Select this to enable early debugging for Apple G5 machines.

config PPC_EARLY_DEBUG_RTAS
bool "RTAS Panel"
depends on PPC_RTAS
help
Select this to enable early debugging via the RTAS panel.

config PPC_EARLY_DEBUG_MAPLE
bool "Maple real mode"
depends on PPC_MAPLE
help
Select this to enable early debugging for Maple.

config PPC_EARLY_DEBUG_ISERIES
bool "iSeries HV Console"
depends on PPC_ISERIES
help
Select this to enable early debugging for legacy iSeries. You need
to hit "Ctrl-x Ctrl-x" to see the messages on the console.

endchoice

endmenu
20 changes: 20 additions & 0 deletions trunk/arch/powerpc/boot/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
addnote
infblock.c
infblock.h
infcodes.c
infcodes.h
inffast.c
inffast.h
inflate.c
inftrees.c
inftrees.h
infutil.c
infutil.h
kernel-vmlinux.strip.c
kernel-vmlinux.strip.gz
uImage
zImage
zImage.vmode
zconf.h
zlib.h
zutil.h
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/boot/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -176,4 +176,4 @@ $(obj)/uImage: $(obj)/vmlinux.gz
install: $(CONFIGURE) $(BOOTIMAGE)
sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" "$(BOOTIMAGE)"

clean-files := $(addprefix $(objtree)/, $(obj-boot) vmlinux.strip)
clean-files += $(addprefix $(objtree)/, $(obj-boot) vmlinux.strip)
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/configs/ppc64_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -878,7 +878,7 @@ CONFIG_HVCS=m
#
# CONFIG_WATCHDOG is not set
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
CONFIG_GEN_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/powerpc/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ obj-$(CONFIG_MODULES) += $(module-y)
pci64-$(CONFIG_PPC64) += pci_64.o pci_dn.o pci_iommu.o \
pci_direct_iommu.o iomap.o
obj-$(CONFIG_PCI) += $(pci64-y)
kexec-$(CONFIG_PPC64) := machine_kexec_64.o
kexec-$(CONFIG_PPC64) := machine_kexec_64.o crash.o
kexec-$(CONFIG_PPC32) := machine_kexec_32.o
obj-$(CONFIG_KEXEC) += machine_kexec.o crash.o $(kexec-y)
obj-$(CONFIG_KEXEC) += machine_kexec.o $(kexec-y)

ifeq ($(CONFIG_PPC_ISERIES),y)
$(obj)/head_64.o: $(obj)/lparmap.s
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/kernel/crash.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
#include <linux/kexec.h>
#include <linux/bootmem.h>
#include <linux/crash_dump.h>
#include <linux/irq.h>
#include <linux/delay.h>
#include <linux/elf.h>
#include <linux/elfcore.h>
Expand All @@ -30,6 +29,7 @@
#include <asm/kdump.h>
#include <asm/lmb.h>
#include <asm/firmware.h>
#include <asm/smp.h>

#ifdef DEBUG
#include <asm/udbg.h>
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/powerpc/kernel/crash_dump.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ void __init kdump_setup(void)
DBG(" <- kdump_setup()\n");
}

#ifdef CONFIG_PROC_VMCORE
static int __init parse_elfcorehdr(char *p)
{
if (p)
Expand All @@ -63,6 +64,7 @@ static int __init parse_elfcorehdr(char *p)
return 0;
}
__setup("elfcorehdr=", parse_elfcorehdr);
#endif

static int __init parse_savemaxmem(char *p)
{
Expand Down
6 changes: 0 additions & 6 deletions trunk/arch/powerpc/kernel/machine_kexec.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,6 @@
#include <linux/threads.h>
#include <asm/machdep.h>

/*
* Provide a dummy crash_notes definition until crash dump is implemented.
* This prevents breakage of crash_notes attribute in kernel/ksysfs.c.
*/
note_buf_t crash_notes[NR_CPUS];

void machine_crash_shutdown(struct pt_regs *regs)
{
if (ppc_md.machine_crash_shutdown)
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/powerpc/kernel/pci_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,9 @@ void __devinit pcibios_claim_one_bus(struct pci_bus *b)
list_for_each_entry(child_bus, &b->children, node)
pcibios_claim_one_bus(child_bus);
}
#ifdef CONFIG_HOTPLUG
EXPORT_SYMBOL_GPL(pcibios_claim_one_bus);
#endif

#ifndef CONFIG_PPC_ISERIES
static void __init pcibios_claim_of_setup(void)
Expand Down
12 changes: 9 additions & 3 deletions trunk/arch/powerpc/kernel/rtas.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#include <asm/delay.h>
#include <asm/uaccess.h>
#include <asm/lmb.h>
#include <asm/udbg.h>

struct rtas_t rtas = {
.lock = SPIN_LOCK_UNLOCKED
Expand All @@ -52,7 +53,7 @@ EXPORT_SYMBOL(rtas_flash_term_hook);
* are designed only for very early low-level debugging, which
* is why the token is hard-coded to 10.
*/
void call_rtas_display_status(unsigned char c)
static void call_rtas_display_status(char c)
{
struct rtas_args *args = &rtas.args;
unsigned long s;
Expand All @@ -65,14 +66,14 @@ void call_rtas_display_status(unsigned char c)
args->nargs = 1;
args->nret = 1;
args->rets = (rtas_arg_t *)&(args->args[1]);
args->args[0] = (int)c;
args->args[0] = (unsigned char)c;

enter_rtas(__pa(args));

spin_unlock_irqrestore(&rtas.lock, s);
}

void call_rtas_display_status_delay(unsigned char c)
static void call_rtas_display_status_delay(char c)
{
static int pending_newline = 0; /* did last write end with unprinted newline? */
static int width = 16;
Expand All @@ -96,6 +97,11 @@ void call_rtas_display_status_delay(unsigned char c)
}
}

void __init udbg_init_rtas(void)
{
udbg_putc = call_rtas_display_status_delay;
}

void rtas_progress(char *s, unsigned short hex)
{
struct device_node *root;
Expand Down
Loading

0 comments on commit 106faba

Please sign in to comment.