Commit 64553593 authored by Anton Blanchard's avatar Anton Blanchard

Merge samba.org:/scratch/anton/linux-2.5

into samba.org:/scratch/anton/tmp3
parents afb753ea 6cf73674
VERSION = 2 VERSION = 2
PATCHLEVEL = 6 PATCHLEVEL = 6
SUBLEVEL = 0 SUBLEVEL = 0
EXTRAVERSION = -test3 EXTRAVERSION = -test4
# *DOCUMENTATION* # *DOCUMENTATION*
# To see a list of typical targets execute "make help" # To see a list of typical targets execute "make help"
......
...@@ -50,6 +50,10 @@ ...@@ -50,6 +50,10 @@
#include <asm/cpm_8260.h> #include <asm/cpm_8260.h>
#include <asm/irq.h> #include <asm/irq.h>
#ifdef CONFIG_MAGIC_SYSRQ
#include <linux/sysrq.h>
#endif
#ifdef CONFIG_SERIAL_CONSOLE #ifdef CONFIG_SERIAL_CONSOLE
#include <linux/console.h> #include <linux/console.h>
...@@ -77,6 +81,14 @@ static char *serial_version = "0.02"; ...@@ -77,6 +81,14 @@ static char *serial_version = "0.02";
static struct tty_driver *serial_driver; static struct tty_driver *serial_driver;
static int serial_console_setup(struct console *co, char *options); static int serial_console_setup(struct console *co, char *options);
static void serial_console_write(struct console *c, const char *s,
unsigned count);
static kdev_t serial_console_device(struct console *c);
#if defined(CONFIG_SERIAL_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
static unsigned long break_pressed; /* break, really ... */
#endif
/* /*
* Serial driver configuration section. Here are the various options: * Serial driver configuration section. Here are the various options:
*/ */
...@@ -208,6 +220,15 @@ typedef struct serial_info { ...@@ -208,6 +220,15 @@ typedef struct serial_info {
cbd_t *tx_cur; cbd_t *tx_cur;
} ser_info_t; } ser_info_t;
static struct console sercons = {
.name = "ttyS",
.write = serial_console_write,
.device = serial_console_device,
.setup = serial_console_setup,
.flags = CON_PRINTBUFFER,
.index = CONFIG_SERIAL_CONSOLE_PORT,
};
static void change_speed(ser_info_t *info); static void change_speed(ser_info_t *info);
static void rs_8xx_wait_until_sent(struct tty_struct *tty, int timeout); static void rs_8xx_wait_until_sent(struct tty_struct *tty, int timeout);
...@@ -328,7 +349,7 @@ static _INLINE_ void rs_sched_event(ser_info_t *info, ...@@ -328,7 +349,7 @@ static _INLINE_ void rs_sched_event(ser_info_t *info,
schedule_work(&info->tqueue); schedule_work(&info->tqueue);
} }
static _INLINE_ void receive_chars(ser_info_t *info) static _INLINE_ void receive_chars(ser_info_t *info, struct pt_regs *regs)
{ {
struct tty_struct *tty = info->tty; struct tty_struct *tty = info->tty;
unsigned char ch, *cp; unsigned char ch, *cp;
...@@ -450,6 +471,19 @@ static _INLINE_ void receive_chars(ser_info_t *info) ...@@ -450,6 +471,19 @@ static _INLINE_ void receive_chars(ser_info_t *info)
} }
} }
} }
#if defined(CONFIG_SERIAL_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
if (break_pressed && info->line == sercons.index) {
if (ch != 0 && time_before(jiffies,
break_pressed + HZ*5)) {
handle_sysrq(ch, regs, NULL, NULL);
break_pressed = 0;
goto ignore_char;
} else
break_pressed = 0;
}
#endif
if (tty->flip.count >= TTY_FLIPBUF_SIZE) if (tty->flip.count >= TTY_FLIPBUF_SIZE)
break; break;
...@@ -458,6 +492,10 @@ static _INLINE_ void receive_chars(ser_info_t *info) ...@@ -458,6 +492,10 @@ static _INLINE_ void receive_chars(ser_info_t *info)
tty->flip.count++; tty->flip.count++;
} }
#if defined(CONFIG_SERIAL_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
ignore_char:
#endif
/* This BD is ready to be used again. Clear status. /* This BD is ready to be used again. Clear status.
* Get next BD. * Get next BD.
*/ */
...@@ -475,7 +513,36 @@ static _INLINE_ void receive_chars(ser_info_t *info) ...@@ -475,7 +513,36 @@ static _INLINE_ void receive_chars(ser_info_t *info)
schedule_delayed_work(&tty->flip.work, 1); schedule_delayed_work(&tty->flip.work, 1);
} }
static _INLINE_ void transmit_chars(ser_info_t *info) static _INLINE_ void receive_break(ser_info_t *info, struct pt_regs *regs)
{
struct tty_struct *tty = info->tty;
info->state->icount.brk++;
#if defined(CONFIG_SERIAL_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
if (info->line == sercons.index) {
if (!break_pressed) {
break_pressed = jiffies;
return;
} else
break_pressed = 0;
}
#endif
/* Check to see if there is room in the tty buffer for
* the break. If not, we exit now, losing the break. FIXME
*/
if ((tty->flip.count + 1) >= TTY_FLIPBUF_SIZE)
return;
*(tty->flip.flag_buf_ptr++) = TTY_BREAK;
*(tty->flip.char_buf_ptr++) = 0;
tty->flip.count++;
queue_task(&tty->flip.tqueue, &tq_timer);
}
static _INLINE_ void transmit_chars(ser_info_t *info, struct pt_regs *regs)
{ {
if (info->flags & TX_WAKEUP) { if (info->flags & TX_WAKEUP) {
...@@ -575,19 +642,23 @@ static irqreturn_t rs_8xx_interrupt(int irq, void * dev_id, struct pt_regs * reg ...@@ -575,19 +642,23 @@ static irqreturn_t rs_8xx_interrupt(int irq, void * dev_id, struct pt_regs * reg
if ((idx = info->state->smc_scc_num) < SCC_NUM_BASE) { if ((idx = info->state->smc_scc_num) < SCC_NUM_BASE) {
smcp = &immr->im_smc[idx]; smcp = &immr->im_smc[idx];
events = smcp->smc_smce; events = smcp->smc_smce;
if (events & SMCM_BRKE)
receive_break(info, regs);
if (events & SMCM_RX) if (events & SMCM_RX)
receive_chars(info); receive_chars(info, regs);
if (events & SMCM_TX) if (events & SMCM_TX)
transmit_chars(info); transmit_chars(info, regs);
smcp->smc_smce = events; smcp->smc_smce = events;
} }
else { else {
sccp = &immr->im_scc[idx - SCC_IDX_BASE]; sccp = &immr->im_scc[idx - SCC_IDX_BASE];
events = sccp->scc_scce; events = sccp->scc_scce;
if (events & SMCM_BRKE)
receive_break(info, regs);
if (events & SCCM_RX) if (events & SCCM_RX)
receive_chars(info); receive_chars(info, regs);
if (events & SCCM_TX) if (events & SCCM_TX)
transmit_chars(info); transmit_chars(info, regs);
sccp->scc_scce = events; sccp->scc_scce = events;
} }
...@@ -2207,7 +2278,7 @@ static void my_console_write(int idx, const char *s, ...@@ -2207,7 +2278,7 @@ static void my_console_write(int idx, const char *s,
static void serial_console_write(struct console *c, const char *s, static void serial_console_write(struct console *c, const char *s,
unsigned count) unsigned count)
{ {
#if defined(CONFIG_KGDB) && !defined(CONFIG_USE_SERIAL2_KGDB) #if defined(CONFIG_KGDB_CONSOLE) && !defined(CONFIG_USE_SERIAL2_KGDB)
/* Try to let stub handle output. Returns true if it did. */ /* Try to let stub handle output. Returns true if it did. */
if (kgdb_output_string(s, count)) if (kgdb_output_string(s, count))
return; return;
...@@ -2397,16 +2468,6 @@ static kdev_t serial_console_device(struct console *c) ...@@ -2397,16 +2468,6 @@ static kdev_t serial_console_device(struct console *c)
return serial_driver; return serial_driver;
} }
static struct console sercons = {
.name = "ttyS",
.write = serial_console_write,
.device = serial_console_device,
.setup = serial_console_setup,
.flags = CON_PRINTBUFFER,
.index = CONFIG_SERIAL_CONSOLE_PORT,
};
/* /*
* Register console. * Register console.
*/ */
......
...@@ -1068,7 +1068,7 @@ static int rs_8xx_write(struct tty_struct * tty, int from_user, ...@@ -1068,7 +1068,7 @@ static int rs_8xx_write(struct tty_struct * tty, int from_user,
volatile cbd_t *bdp; volatile cbd_t *bdp;
unsigned char *cp; unsigned char *cp;
#ifdef CONFIG_KGDB #ifdef CONFIG_KGDB_CONSOLE
/* Try to let stub handle output. Returns true if it did. */ /* Try to let stub handle output. Returns true if it did. */
if (kgdb_output_string(buf, count)) if (kgdb_output_string(buf, count))
return ret; return ret;
...@@ -2271,7 +2271,7 @@ static void my_console_write(int idx, const char *s, ...@@ -2271,7 +2271,7 @@ static void my_console_write(int idx, const char *s,
static void serial_console_write(struct console *c, const char *s, static void serial_console_write(struct console *c, const char *s,
unsigned count) unsigned count)
{ {
#ifdef CONFIG_KGDB #ifdef CONFIG_KGDB_CONSOLE
/* Try to let stub handle output. Returns true if it did. */ /* Try to let stub handle output. Returns true if it did. */
if (kgdb_output_string(s, count)) if (kgdb_output_string(s, count))
return; return;
......
...@@ -1426,20 +1426,12 @@ config DEBUG_SPINLOCK_SLEEP ...@@ -1426,20 +1426,12 @@ config DEBUG_SPINLOCK_SLEEP
config KGDB config KGDB
bool "Include kgdb kernel debugger" bool "Include kgdb kernel debugger"
depends on DEBUG_KERNEL depends on DEBUG_KERNEL
select DEBUG_INFO
help help
Include in-kernel hooks for kgdb, the Linux kernel source level Include in-kernel hooks for kgdb, the Linux kernel source level
debugger. See <http://kgdb.sourceforge.net/> for more information. debugger. See <http://kgdb.sourceforge.net/> for more information.
Unless you are intending to debug the kernel, say N here. Unless you are intending to debug the kernel, say N here.
config DEBUG_INFO
bool "Compile the kernel with debug info"
depends on DEBUG_KERNEL
help
If you say Y here the resulting kernel image will include
debugging info resulting in a larger kernel image.
Say Y here only if you plan to use gdb to debug the kernel.
If you don't debug the kernel, you can say N.
choice choice
prompt "Serial Port" prompt "Serial Port"
depends on KGDB depends on KGDB
...@@ -1459,6 +1451,14 @@ config KGDB_TTYS3 ...@@ -1459,6 +1451,14 @@ config KGDB_TTYS3
endchoice endchoice
config KGDB_CONSOLE
bool "Enable serial console thru kgdb port"
depends on KGDB && 8xx || 8260
help
If you enable this, all serial console messages will be sent
over the gdb stub.
If unsure, say N.
config XMON config XMON
bool "Include xmon kernel debugger" bool "Include xmon kernel debugger"
depends on DEBUG_KERNEL depends on DEBUG_KERNEL
...@@ -1474,18 +1474,16 @@ config BDI_SWITCH ...@@ -1474,18 +1474,16 @@ config BDI_SWITCH
Unless you are intending to debug the kernel with one of these Unless you are intending to debug the kernel with one of these
machines, say N here. machines, say N here.
config MORE_COMPILE_OPTIONS config DEBUG_INFO
bool "Add any additional compile options" bool "Compile the kernel with debug info"
depends on DEBUG_KERNEL && (KGDB || XMON || BDI_SWITCH) depends on DEBUG_KERNEL
default y if BDI_SWITCH || XMON
help help
If you want to add additional CFLAGS to the kernel build, such as -g If you say Y here the resulting kernel image will include
for KGDB or the BDI2000, enable this option and then enter what you debugging info resulting in a larger kernel image.
would like to add in the next question. Say Y here only if you plan to use some sort of debugger to
debug the kernel.
config COMPILE_OPTIONS If you don't debug the kernel, you can say N.
string "Additional compile arguments"
depends on MORE_COMPILE_OPTIONS
default "-g -ggdb"
config BOOTX_TEXT config BOOTX_TEXT
bool "Support for early boot text console (BootX or OpenFirmware only)" bool "Support for early boot text console (BootX or OpenFirmware only)"
......
...@@ -22,9 +22,6 @@ CPP = $(CC) -E $(CFLAGS) ...@@ -22,9 +22,6 @@ CPP = $(CC) -E $(CFLAGS)
cflags-$(CONFIG_4xx) += -Wa,-m405 cflags-$(CONFIG_4xx) += -Wa,-m405
cflags-$(CONFIG_PPC64BRIDGE) += -Wa,-mppc64bridge cflags-$(CONFIG_PPC64BRIDGE) += -Wa,-mppc64bridge
# Use sed to remove the quotes.
cflags-$(CONFIG_MORE_COMPILE_OPTIONS) += \
$(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
CFLAGS += $(cflags-y) CFLAGS += $(cflags-y)
......
...@@ -60,7 +60,7 @@ unsigned long serial_init(int chan, void *ignored) ...@@ -60,7 +60,7 @@ unsigned long serial_init(int chan, void *ignored)
else { else {
/* Input clock. */ /* Input clock. */
outb(com_port + (UART_DLL << shift), outb(com_port + (UART_DLL << shift),
(BASE_BAUD / SERIAL_BAUD)); (BASE_BAUD / SERIAL_BAUD) & 0xFF);
outb(com_port + (UART_DLM << shift), outb(com_port + (UART_DLM << shift),
(BASE_BAUD / SERIAL_BAUD) >> 8); (BASE_BAUD / SERIAL_BAUD) >> 8);
/* 8 data, 1 stop, no parity */ /* 8 data, 1 stop, no parity */
......
...@@ -160,9 +160,22 @@ _setup_L3CR: ...@@ -160,9 +160,22 @@ _setup_L3CR:
blr blr
/* udelay (on non-601 processors) needs to know the period of the
* timebase in nanoseconds. This used to be hardcoded to be 60ns
* (period of 66MHz/4). Now a variable is used that is initialized to
* 60 for backward compatibility, but it can be overridden as necessary
* with code something like this:
* extern unsigned long timebase_period_ns;
* timebase_period_ns = 1000000000 / bd->bi_tbfreq;
*/
.data
.globl timebase_period_ns
timebase_period_ns:
.long 60
.text
/* /*
* Delay for a number of microseconds * Delay for a number of microseconds
* -- Use the BUS timer (assumes 66MHz)
*/ */
.globl udelay .globl udelay
udelay: udelay:
...@@ -180,8 +193,13 @@ udelay: ...@@ -180,8 +193,13 @@ udelay:
.udelay_not_601: .udelay_not_601:
mulli r4,r3,1000 /* nanoseconds */ mulli r4,r3,1000 /* nanoseconds */
addi r4,r4,59 /* Change r4 to be the number of ticks using:
li r5,60 * (nanoseconds + (timebase_period_ns - 1 )) / timebase_period_ns
* timebase_period_ns defaults to 60 (16.6MHz) */
lis r5,timebase_period_ns@h
lwz r5,timebase_period_ns@l(r5)
addi r4,r4,r5
addi r4,r4,-1
divw r4,r4,r5 /* BUS ticks */ divw r4,r4,r5 /* BUS ticks */
1: mftbu r5 1: mftbu r5
mftb r6 mftb r6
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
# get_mem_size(), which is memory controller dependent. Add in the correct # get_mem_size(), which is memory controller dependent. Add in the correct
# XXX_memory.o file for this to work, as well as editing the $(MISC) file. # XXX_memory.o file for this to work, as well as editing the $(MISC) file.
boot: zImage
boot := arch/ppc/boot boot := arch/ppc/boot
common := $(boot)/common common := $(boot)/common
...@@ -32,86 +31,90 @@ images := $(boot)/images ...@@ -32,86 +31,90 @@ images := $(boot)/images
# Normally, we use the 'misc.c' file for decompress_kernel and # Normally, we use the 'misc.c' file for decompress_kernel and
# whatnot. Sometimes we need to override this however. # whatnot. Sometimes we need to override this however.
MISC := misc.o misc-y := misc.o
ifeq ($(CONFIG_IBM_OPENBIOS),y)
ZIMAGE := zImage-TREE #
ZIMAGEINITRD := zImage.initrd-TREE # See arch/ppc/kconfig and arch/ppc/platforms/Kconfig
END := treeboot # for definition of what platform each config option refer to.
TFTPIMAGE := /tftpboot/zImage.$(END) #----------------------------------------------------------------------------
MISC := misc-embedded.o zimage-$(CONFIG_IBM_OPENBIOS) := zImage-TREE
endif zimageinitrd-$(CONFIG_IBM_OPENBIOS) := zImage.initrd-TREE
ifeq ($(CONFIG_EMBEDDEDBOOT),y) end-$(CONFIG_IBM_OPENBIOS) := treeboot
TFTPIMAGE := /tftpboot/zImage.embedded tftpimage-$(CONFIG_IBM_OPENBIOS) := /tftpboot/zImage.$(end-y)
MISC := misc-embedded.o misc-$(CONFIG_IBM_OPENBIOS) := misc-embedded.o
endif
ifeq ($(CONFIG_EBONY),y) tftpimage-$(CONFIG_EMBEDDEDBOOT) := /tftpboot/zImage.embedded
ZIMAGE := zImage-TREE misc-$(CONFIG_EMBEDDEDBOOT) := misc-embedded.o
ZIMAGEINITRD := zImage.initrd-TREE
END := ebony zimage-$(CONFIG_EBONY) := zImage-TREE
ENTRYPOINT := 0x01000000 zimageinitrd-$(CONFIG_EBONY) := zImage.initrd-TREE
TFTPIMAGE := /tftpboot/zImage.$(END) extra.o-$(CONFIG_EBONY) := direct.o
endif end-$(CONFIG_EBONY) := ebony
ifeq ($(CONFIG_EV64260),y) entrypoint-$(CONFIG_EBONY) := 0x01000000
EXTRA := misc-ev64260.o tftpimage-$(CONFIG_EBONY) := /tftpboot/zImage.$(end-y)
TFTPIMAGE := /tftpboot/zImage.ev64260
endif extra.o-$(CONFIG_EV64260) := direct.o misc-ev64260.o
ifeq ($(CONFIG_GEMINI),y) tftpimage-$(CONFIG_EV64260) := /tftpboot/zImage.ev64260
ZIMAGE := zImage-STRIPELF
ZIMAGEINITRD := zImage.initrd-STRIPELF zimage-$(CONFIG_GEMINI) := zImage-STRIPELF
END := gemini zimageinitrd-$(CONFIG_GEMINI) := zImage.initrd-STRIPELF
TFTPIMAGE := /tftpboot/zImage.$(END) end-$(CONFIG_GEMINI) := gemini
endif tftpimage-$(CONFIG_GEMINI) := /tftpboot/zImage.$(end-y)
ifeq ($(CONFIG_K2),y)
EXTRA := legacy.o extra.o-$(CONFIG_K2) := legacy.o
TFTPIMAGE := /tftpboot/zImage.k2 tftpimage-$(CONFIG_K2) := /tftpboot/zImage.k2
endif
# kbuild-2.4 'feature', only one of these will ever by 'y' at a time. # kconfig 'feature', only one of these will ever by 'y' at a time.
# The rest will be unset. # The rest will be unset.
ifeq ($(CONFIG_MCPN765)$(CONFIG_MVME5100)$(CONFIG_PRPMC750)$(CONFIG_PRPMC800)$(CONFIG_LOPEC)$(CONFIG_PPLUS),y) multi := $(CONFIG_MCPN765)$(CONFIG_MVME5100)$(CONFIG_PRPMC750) \
ZIMAGE := zImage-PPLUS $(CONFIG_PRPMC800)$(CONFIG_LOPEC)$(CONFIG_PPLUS)
ZIMAGEINITRD := zImage.initrd-PPLUS zimage-$(multi) := zImage-PPLUS
TFTPIMAGE := /tftpboot/zImage.pplus zimageinitrd-$(multi) := zImage.initrd-PPLUS
ZNETBOOT := zImage.pplus tftpimage-$(multi) := /tftpboot/zImage.pplus
ZNETBOOTRD := zImage.initrd.pplus znetboot-$(multi) := zImage.pplus
endif znetbootrd-$(multi) := zImage.initrd.pplus
ifeq ($(CONFIG_PPLUS),y)
EXTRA := legacy.o # Overrides previous assingment
endif extra.o-$(CONFIG_PPLUS) := legacy.o
ifeq ($(CONFIG_PCORE)$(CONFIG_POWERPMC250),y)
ZIMAGE := zImage-STRIPELF zimage-$(CONFIG_PCORE) := zImage-STRIPELF
ZIMAGEINITRD := zImage.initrd-STRIPELF zimageinitrd-$(CONFIG_PCORE) := zImage.initrd-STRIPELF
EXTRA := chrpmap.o extra.o-$(CONFIG_PCORE) := chrpmap.o
END := pcore end-$(CONFIG_PCORE) := pcore
TFTPIMAGE := /tftpboot/zImage.$(END) tftpimage-$(CONFIG_PCORE) := /tftpboot/zImage.$(end-y)
endif
ifeq ($(CONFIG_SANDPOINT),y) zimage-$(CONFIG_POWERPMC250) := zImage-STRIPELF
TFTPIMAGE := /tftpboot/zImage.sandpoint zimageinitrd-$(CONFIG_POWERPMC250) := zImage.initrd-STRIPELF
endif extra.o-$(CONFIG_POWERPMC250) := chrpmap.o
ifeq ($(CONFIG_SPRUCE),y) end-$(CONFIG_POWERPMC250) := pcore
ZIMAGE := zImage-TREE tftpimage-$(CONFIG_POWERPMC250) := /tftpboot/zImage.$(end-y)
ZIMAGEINITRD := zImage.initrd-TREE
END := spruce tftpimage-$(CONFIG_SANDPOINT) := /tftpboot/zImage.sandpoint
ENTRYPOINT := 0x00800000
MISC := misc-spruce.o zimage-$(CONFIG_SPRUCE) := zImage-TREE
TFTPIMAGE := /tftpboot/zImage.$(END) zimageinitrd-$(CONFIG_SPRUCE) := zImage.initrd-TREE
endif end-$(CONFIG_SPRUCE) := spruce
ifeq ($(CONFIG_SMP),y) entrypoint-$(CONFIG_SPRUCE) := 0x00800000
TFTPIMAGE += .smp misc-$(CONFIG_SPRUCE) := misc-spruce.o
endif tftpimage-$(CONFIG_SPRUCE) := /tftpboot/zImage.$(end-y)
ifeq ($(CONFIG_REDWOOD_4),y)
# tftp image is prefixed with .smp if compiled for SMP
tftpimage-$(CONFIG_SMP) += .smp
# This is a treeboot that needs init functions until the # This is a treeboot that needs init functions until the
# boot rom is sorted out (i.e. this is short lived) # boot rom is sorted out (i.e. this is short lived)
EXTRA_AFLAGS := -Wa,-m405 extra-aflags-$(CONFIG_REDWOOD_4) := -Wa,-m405
EXTRA := rw4/rw4_init.o rw4/rw4_init_brd.o extra.o-$(CONFIG_REDWOOD_4) := rw4/rw4_init.o rw4/rw4_init_brd.o
endif EXTRA_AFLAGS := $(extra-aflags-y)
# Linker args. This specifies where the image will be run at. # Linker args. This specifies where the image will be run at.
LD_ARGS = -T $(boot)/ld.script \ LD_ARGS := -T $(boot)/ld.script \
-Ttext $(CONFIG_BOOT_LOAD) -Bstatic -Ttext $(CONFIG_BOOT_LOAD) -Bstatic
OBJCOPY_ARGS := -O elf32-powerpc OBJCOPY_ARGS := -O elf32-powerpc
# head.o and relocate.o must be at the start. # head.o and relocate.o must be at the start.
boot-y := head.o relocate.o $(EXTRA) $(MISC) boot-y := head.o relocate.o $(extra.o-y) $(misc-y)
boot-$(CONFIG_40x) += embed_config.o boot-$(CONFIG_40x) += embed_config.o
boot-$(CONFIG_8xx) += embed_config.o boot-$(CONFIG_8xx) += embed_config.o
boot-$(CONFIG_8260) += embed_config.o boot-$(CONFIG_8260) += embed_config.o
...@@ -160,40 +163,40 @@ $(obj)/zvmlinux.initrd: $(OBJS) $(LIBS) $(boot)/ld.script \ ...@@ -160,40 +163,40 @@ $(obj)/zvmlinux.initrd: $(OBJS) $(LIBS) $(boot)/ld.script \
-R .stabstr -R .sysmap -R .stabstr -R .sysmap
# Sort-of dummy rules, that let us format the image we want. # Sort-of dummy rules, that let us format the image we want.
zImage: $(images)/$(ZIMAGE) $(obj)/zvmlinux zImage: $(images)/$(zimage-y) $(obj)/zvmlinux
cp -f $(obj)/zvmlinux $(images)/zImage.elf cp -f $(obj)/zvmlinux $(images)/zImage.elf
rm -f $(obj)/zvmlinux rm -f $(obj)/zvmlinux
zImage.initrd: $(images)/$(ZIMAGEINITRD) $(obj)/zvmlinux.initrd zImage.initrd: $(images)/$(zimageinitrd-y) $(obj)/zvmlinux.initrd
cp -f $(obj)/zvmlinux.initrd $(images)/zImage.initrd.elf cp -f $(obj)/zvmlinux.initrd $(images)/zImage.initrd.elf
rm -f $(obj)/zvmlinux.initrd rm -f $(obj)/zvmlinux.initrd
znetboot: zImage znetboot: zImage
ifneq ($(ZNETBOOT),) ifneq ($(ZNETBOOT),)
cp $(images)/$(ZNETBOOT) $(TFTPIMAGE) cp $(images)/$(ZNETBOOT) $(tftpimage-y)
else else
cp $(images)/zImage.* $(TFTPIMAGE) cp $(images)/zImage.* $(tftpimage-y)
endif endif
znetboot.initrd: zImage.initrd znetboot.initrd: zImage.initrd
ifneq ($(ZNETBOOTRD),) ifneq ($(znetbootrd-y),)
cp $(images)/$(ZNETBOOTRD) $(TFTPIMAGE) cp $(images)/$(znetbootrd-y) $(tftpimage-y)
else else
cp $(images)/zImage.* $(TFTPIMAGE) cp $(images)/zImage.* $(tftpimage-y)
endif endif
$(images)/zImage-STRIPELF: $(obj)/zvmlinux $(images)/zImage-STRIPELF: $(obj)/zvmlinux
dd if=$(obj)/zvmlinux of=$(images)/zImage.$(END) skip=64 bs=1k dd if=$(obj)/zvmlinux of=$(images)/zImage.$(end-y) skip=64 bs=1k
$(images)/zImage.initrd-STRIPELF: $(obj)/zvmlinux.initrd $(images)/zImage.initrd-STRIPELF: $(obj)/zvmlinux.initrd
dd if=$(obj)/zvmlinux.initrd of=$(images)/zImage.initrd.$(END) \ dd if=$(obj)/zvmlinux.initrd of=$(images)/zImage.initrd.$(end-y) \
skip=64 bs=1k skip=64 bs=1k
$(images)/zImage-TREE: $(obj)/zvmlinux $(MKTREE) $(images)/zImage-TREE: $(obj)/zvmlinux $(MKTREE)
$(MKTREE) $(obj)/zvmlinux $(images)/zImage.$(END) $(ENTRYPOINT) $(MKTREE) $(obj)/zvmlinux $(images)/zImage.$(end-y) $(ENTRYPOINT)
$(images)/zImage.initrd-TREE: $(obj)/zvmlinux.initrd $(MKTREE) $(images)/zImage.initrd-TREE: $(obj)/zvmlinux.initrd $(MKTREE)
$(MKTREE) $(obj)/zvmlinux.initrd $(images)/zImage.initrd.$(END) \ $(MKTREE) $(obj)/zvmlinux.initrd $(images)/zImage.initrd.$(end-y) \
$(ENTRYPOINT) $(ENTRYPOINT)
$(images)/zImage-PPLUS: $(obj)/zvmlinux $(MKPREP) $(MKBUGBOOT) $(images)/zImage-PPLUS: $(obj)/zvmlinux $(MKPREP) $(MKBUGBOOT)
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#ifdef CONFIG_40x #ifdef CONFIG_40x
#include <asm/io.h> #include <asm/io.h>
#endif #endif
extern unsigned long timebase_period_ns;
/* For those boards that don't provide one. /* For those boards that don't provide one.
*/ */
...@@ -768,6 +769,7 @@ embed_config(bd_t **bdp) ...@@ -768,6 +769,7 @@ embed_config(bd_t **bdp)
#if defined(CONFIG_REDWOOD_5) || defined (CONFIG_REDWOOD_6) #if defined(CONFIG_REDWOOD_5) || defined (CONFIG_REDWOOD_6)
bd->bi_tbfreq = 27 * 1000 * 1000; bd->bi_tbfreq = 27 * 1000 * 1000;
#endif #endif
timebase_period_ns = 1000000000 / bd->bi_tbfreq;
} }
#endif /* CONFIG_BEECH */ #endif /* CONFIG_BEECH */
#endif /* CONFIG_IBM_OPENBIOS */ #endif /* CONFIG_IBM_OPENBIOS */
......
...@@ -75,7 +75,7 @@ extern void gunzip(void *, int, unsigned char *, int *); ...@@ -75,7 +75,7 @@ extern void gunzip(void *, int, unsigned char *, int *);
extern void embed_config(bd_t **bp); extern void embed_config(bd_t **bp);
unsigned long unsigned long
decompress_kernel(unsigned long load_addr, int num_words, unsigned long cksum, bd_t *bp) load_kernel(unsigned long load_addr, int num_words, unsigned long cksum, bd_t *bp)
{ {
char *cp, ch; char *cp, ch;
int timer = 0, zimage_size; int timer = 0, zimage_size;
......
...@@ -147,7 +147,7 @@ unsigned long isa_io_base = SPRUCE_ISA_IO_BASE; ...@@ -147,7 +147,7 @@ unsigned long isa_io_base = SPRUCE_ISA_IO_BASE;
#define MEM_B2EA 0x60 #define MEM_B2EA 0x60
unsigned long unsigned long
decompress_kernel(unsigned long load_addr, int num_words, unsigned long cksum) load_kernel(unsigned long load_addr, int num_words, unsigned long cksum)
{ {
int timer = 0; int timer = 0;
char *cp, ch; char *cp, ch;
......
...@@ -252,3 +252,10 @@ decompress_kernel(unsigned long load_addr, int num_words, unsigned long cksum) ...@@ -252,3 +252,10 @@ decompress_kernel(unsigned long load_addr, int num_words, unsigned long cksum)
return (struct bi_record *)rec_loc; return (struct bi_record *)rec_loc;
} }
/* Allow decompress_kernel to be hooked into. This is the default. */
void * __attribute__ ((weak))
load_kernel(unsigned long load_addr, int num_words, unsigned long cksum)
{
return decompress_kernel(load_addr, num_words, cksum);
}
...@@ -183,7 +183,7 @@ start_ldr: ...@@ -183,7 +183,7 @@ start_ldr:
mr r4,r7 /* Program length */ mr r4,r7 /* Program length */
mr r5,r6 /* Checksum */ mr r5,r6 /* Checksum */
mr r6,r11 /* Residual data */ mr r6,r11 /* Residual data */
bl decompress_kernel bl load_kernel
/* /*
* Make sure the kernel knows we don't have things set in * Make sure the kernel knows we don't have things set in
......
...@@ -86,7 +86,7 @@ int main(int argc, char *argv[]) ...@@ -86,7 +86,7 @@ int main(int argc, char *argv[])
} }
cksum = 0; cksum = 0;
cp = (uint *)&bt; cp = (void *)&bt;
for (i=0; i<sizeof(bt)/sizeof(uint); i++) for (i=0; i<sizeof(bt)/sizeof(uint); i++)
cksum += *cp++; cksum += *cp++;
......
...@@ -9,6 +9,7 @@ CONFIG_HAVE_DEC_LOCK=y ...@@ -9,6 +9,7 @@ CONFIG_HAVE_DEC_LOCK=y
# Code maturity level options # Code maturity level options
# #
CONFIG_EXPERIMENTAL=y CONFIG_EXPERIMENTAL=y
# CONFIG_BROKEN is not set
# #
# General setup # General setup
...@@ -18,9 +19,15 @@ CONFIG_SYSVIPC=y ...@@ -18,9 +19,15 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set # CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y CONFIG_FUTEX=y
CONFIG_EPOLL=y CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# #
# Loadable module support # Loadable module support
...@@ -86,8 +93,8 @@ CONFIG_TAU=y ...@@ -86,8 +93,8 @@ CONFIG_TAU=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y CONFIG_PCI_DOMAINS=y
CONFIG_KCORE_ELF=y CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y CONFIG_KERNEL_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m CONFIG_BINFMT_MISC=m
CONFIG_PCI_LEGACY_PROC=y CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y CONFIG_PCI_NAMES=y
...@@ -125,6 +132,11 @@ CONFIG_KERNEL_START=0xc0000000 ...@@ -125,6 +132,11 @@ CONFIG_KERNEL_START=0xc0000000
CONFIG_TASK_SIZE=0x80000000 CONFIG_TASK_SIZE=0x80000000
CONFIG_BOOT_LOAD=0x00800000 CONFIG_BOOT_LOAD=0x00800000
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
# #
# Memory Technology Devices (MTD) # Memory Technology Devices (MTD)
# #
...@@ -144,10 +156,12 @@ CONFIG_BLK_DEV_FD=m ...@@ -144,10 +156,12 @@ CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
CONFIG_LBD=y
# #
# Multi-device support (RAID and LVM) # Multi-device support (RAID and LVM)
...@@ -155,40 +169,38 @@ CONFIG_BLK_DEV_INITRD=y ...@@ -155,40 +169,38 @@ CONFIG_BLK_DEV_INITRD=y
# CONFIG_MD is not set # CONFIG_MD is not set
# #
# ATA/IDE/MFM/RLL support # ATA/ATAPI/MFM/RLL support
# #
CONFIG_IDE=y CONFIG_IDE=y
#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y CONFIG_BLK_DEV_IDE=y
# #
# Please see Documentation/ide.txt for help/info on IDE drives # Please see Documentation/ide.txt for help/info on IDE drives
# #
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set # CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_IDEDISK_STROKE is not set # CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECD=y CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
CONFIG_BLK_DEV_IDEFLOPPY=y CONFIG_BLK_DEV_IDEFLOPPY=y
CONFIG_BLK_DEV_IDESCSI=y CONFIG_BLK_DEV_IDESCSI=y
# CONFIG_IDE_TASK_IOCTL is not set # CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set
# #
# IDE chipset support/bugfixes # IDE chipset support/bugfixes
# #
CONFIG_BLK_DEV_IDEPCI=y CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_IDEPCI_SHARE_IRQ=y CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_SL82C105=y
CONFIG_BLK_DEV_IDEDMA_PCI=y CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDE_TCQ is not set # CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set # CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set # CONFIG_IDEDMA_PCI_WIP is not set
CONFIG_BLK_DEV_ADMA=y CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_BLK_DEV_AEC62XX is not set
...@@ -198,12 +210,12 @@ CONFIG_BLK_DEV_CMD64X=y ...@@ -198,12 +210,12 @@ CONFIG_BLK_DEV_CMD64X=y
# CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set # CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set # CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set # CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set # CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set # CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set # CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set # CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set # CONFIG_BLK_DEV_PDC202XX_OLD is not set
CONFIG_BLK_DEV_PDC202XX_NEW=y CONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_PDC202XX_FORCE is not set # CONFIG_PDC202XX_FORCE is not set
...@@ -212,15 +224,17 @@ CONFIG_BLK_DEV_PDC202XX_NEW=y ...@@ -212,15 +224,17 @@ CONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set # CONFIG_BLK_DEV_VIA82CXXX is not set
CONFIG_BLK_DEV_SL82C105=y
CONFIG_BLK_DEV_IDE_PMAC=y CONFIG_BLK_DEV_IDE_PMAC=y
CONFIG_BLK_DEV_IDEDMA_PMAC=y CONFIG_BLK_DEV_IDEDMA_PMAC=y
CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO=y CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO=y
CONFIG_IDEDMA_AUTO=y CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set # CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_DMA_NONPCI is not set
# CONFIG_BLK_DEV_HD is not set
# #
# SCSI support # SCSI device support
# #
CONFIG_SCSI=y CONFIG_SCSI=y
...@@ -260,8 +274,6 @@ CONFIG_SCSI_AIC7XXX_OLD=m ...@@ -260,8 +274,6 @@ CONFIG_SCSI_AIC7XXX_OLD=m
# CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_DPT_I2O is not set
CONFIG_SCSI_ADVANSYS=m CONFIG_SCSI_ADVANSYS=m
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set # CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set # CONFIG_SCSI_CPQFCTS is not set
...@@ -270,11 +282,8 @@ CONFIG_SCSI_ADVANSYS=m ...@@ -270,11 +282,8 @@ CONFIG_SCSI_ADVANSYS=m
# CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C7xx is not set
CONFIG_SCSI_SYM53C8XX_2=y CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
...@@ -287,7 +296,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 ...@@ -287,7 +296,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_MESH=y CONFIG_SCSI_MESH=y
...@@ -321,8 +329,6 @@ CONFIG_NET=y ...@@ -321,8 +329,6 @@ CONFIG_NET=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set # CONFIG_NETLINK_DEV is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_UNIX=y CONFIG_UNIX=y
# CONFIG_NET_KEY is not set # CONFIG_NET_KEY is not set
CONFIG_INET=y CONFIG_INET=y
...@@ -339,6 +345,16 @@ CONFIG_SYN_COOKIES=y ...@@ -339,6 +345,16 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_ESP is not set # CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set # CONFIG_INET_IPCOMP is not set
#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# #
# IP: Netfilter Configuration # IP: Netfilter Configuration
# #
...@@ -355,6 +371,7 @@ CONFIG_IP_NF_MATCH_PKTTYPE=m ...@@ -355,6 +371,7 @@ CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m CONFIG_IP_NF_MATCH_AH_ESP=m
...@@ -386,8 +403,6 @@ CONFIG_IP_NF_TARGET_TCPMSS=m ...@@ -386,8 +403,6 @@ CONFIG_IP_NF_TARGET_TCPMSS=m
# CONFIG_IP_NF_ARPTABLES is not set # CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_COMPAT_IPCHAINS=m CONFIG_IP_NF_COMPAT_IPCHAINS=m
# CONFIG_IP_NF_COMPAT_IPFWADM is not set # CONFIG_IP_NF_COMPAT_IPFWADM is not set
# CONFIG_IPV6 is not set
# CONFIG_XFRM_USER is not set
# #
# SCTP Configuration (EXPERIMENTAL) # SCTP Configuration (EXPERIMENTAL)
...@@ -397,8 +412,6 @@ CONFIG_IPV6_SCTP__=y ...@@ -397,8 +412,6 @@ CONFIG_IPV6_SCTP__=y
# CONFIG_ATM is not set # CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set # CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set # CONFIG_LLC is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set # CONFIG_X25 is not set
# CONFIG_LAPB is not set # CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set # CONFIG_NET_DIVERT is not set
...@@ -482,6 +495,7 @@ CONFIG_PCNET32=y ...@@ -482,6 +495,7 @@ CONFIG_PCNET32=y
# CONFIG_HAMACHI is not set # CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set # CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set # CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SK98LIN is not set # CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set # CONFIG_TIGON3 is not set
...@@ -553,7 +567,7 @@ CONFIG_NET_WIRELESS=y ...@@ -553,7 +567,7 @@ CONFIG_NET_WIRELESS=y
# Graphics support # Graphics support
# #
CONFIG_FB=y CONFIG_FB=y
CONFIG_FB_CIRRUS=y # CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set # CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set # CONFIG_FB_CYBER2000 is not set
CONFIG_FB_OF=y CONFIG_FB_OF=y
...@@ -605,11 +619,6 @@ CONFIG_LOGO_LINUX_MONO=y ...@@ -605,11 +619,6 @@ CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y CONFIG_LOGO_LINUX_CLUT224=y
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
# #
# Input device support # Input device support
# #
...@@ -636,6 +645,7 @@ CONFIG_SERIO=y ...@@ -636,6 +645,7 @@ CONFIG_SERIO=y
CONFIG_SERIO_I8042=y CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set # CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
# #
# Input Device Drivers # Input Device Drivers
...@@ -703,10 +713,12 @@ CONFIG_I2C_CHARDEV=m ...@@ -703,10 +713,12 @@ CONFIG_I2C_CHARDEV=m
# #
# I2C Hardware Sensors Mainboard support # I2C Hardware Sensors Mainboard support
# #
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI15X3 is not set # CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set # CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set # CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set # CONFIG_I2C_I801 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_SIS96X is not set # CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIAPRO is not set # CONFIG_I2C_VIAPRO is not set
...@@ -718,6 +730,7 @@ CONFIG_I2C_CHARDEV=m ...@@ -718,6 +730,7 @@ CONFIG_I2C_CHARDEV=m
# CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set # CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM85 is not set # CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_VIA686A is not set # CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83781D is not set
# CONFIG_I2C_SENSOR is not set # CONFIG_I2C_SENSOR is not set
...@@ -913,13 +926,70 @@ CONFIG_NLS_ISO8859_1=m ...@@ -913,13 +926,70 @@ CONFIG_NLS_ISO8859_1=m
# Sound # Sound
# #
CONFIG_SOUND=m CONFIG_SOUND=m
CONFIG_DMASOUND_AWACS=m # CONFIG_DMASOUND_AWACS is not set
CONFIG_DMASOUND=m
# #
# Advanced Linux Sound Architecture # Advanced Linux Sound Architecture
# #
# CONFIG_SND is not set CONFIG_SND=m
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# PCI devices
#
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set
#
# ALSA PowerMac devices
#
CONFIG_SND_POWERMAC=m
#
# ALSA USB devices
#
CONFIG_SND_USB_AUDIO=m
# #
# Open Sound System # Open Sound System
...@@ -998,6 +1068,7 @@ CONFIG_USB_SCANNER=m ...@@ -998,6 +1068,7 @@ CONFIG_USB_SCANNER=m
# #
# USB Network adaptors # USB Network adaptors
# #
# CONFIG_USB_AX8817X is not set
# CONFIG_USB_CATC is not set # CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set # CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set # CONFIG_USB_PEGASUS is not set
...@@ -1074,7 +1145,6 @@ CONFIG_ZLIB_DEFLATE=y ...@@ -1074,7 +1145,6 @@ CONFIG_ZLIB_DEFLATE=y
# Kernel hacking # Kernel hacking
# #
# CONFIG_DEBUG_KERNEL is not set # CONFIG_DEBUG_KERNEL is not set
CONFIG_KALLSYMS=y
CONFIG_BOOTX_TEXT=y CONFIG_BOOTX_TEXT=y
# #
......
...@@ -9,6 +9,7 @@ CONFIG_HAVE_DEC_LOCK=y ...@@ -9,6 +9,7 @@ CONFIG_HAVE_DEC_LOCK=y
# Code maturity level options # Code maturity level options
# #
CONFIG_EXPERIMENTAL=y CONFIG_EXPERIMENTAL=y
# CONFIG_BROKEN is not set
# #
# General setup # General setup
...@@ -18,9 +19,15 @@ CONFIG_SYSVIPC=y ...@@ -18,9 +19,15 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set # CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y CONFIG_FUTEX=y
CONFIG_EPOLL=y CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# #
# Loadable module support # Loadable module support
...@@ -83,8 +90,8 @@ CONFIG_HIGHMEM=y ...@@ -83,8 +90,8 @@ CONFIG_HIGHMEM=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y CONFIG_PCI_DOMAINS=y
CONFIG_KCORE_ELF=y CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y CONFIG_KERNEL_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y CONFIG_BINFMT_MISC=y
CONFIG_PCI_LEGACY_PROC=y CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y CONFIG_PCI_NAMES=y
...@@ -115,6 +122,10 @@ CONFIG_KERNEL_START=0xc0000000 ...@@ -115,6 +122,10 @@ CONFIG_KERNEL_START=0xc0000000
CONFIG_TASK_SIZE=0x80000000 CONFIG_TASK_SIZE=0x80000000
CONFIG_BOOT_LOAD=0x00800000 CONFIG_BOOT_LOAD=0x00800000
#
# Generic Driver Options
#
# #
# Memory Technology Devices (MTD) # Memory Technology Devices (MTD)
# #
...@@ -134,10 +145,12 @@ CONFIG_BLK_DEV_FD=y ...@@ -134,10 +145,12 @@ CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
CONFIG_LBD=y
# #
# Multi-device support (RAID and LVM) # Multi-device support (RAID and LVM)
...@@ -145,12 +158,12 @@ CONFIG_BLK_DEV_INITRD=y ...@@ -145,12 +158,12 @@ CONFIG_BLK_DEV_INITRD=y
# CONFIG_MD is not set # CONFIG_MD is not set
# #
# ATA/IDE/MFM/RLL support # ATA/ATAPI/MFM/RLL support
# #
# CONFIG_IDE is not set # CONFIG_IDE is not set
# #
# SCSI support # SCSI device support
# #
CONFIG_SCSI=y CONFIG_SCSI=y
...@@ -183,8 +196,6 @@ CONFIG_SCSI_CONSTANTS=y ...@@ -183,8 +196,6 @@ CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set # CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set # CONFIG_SCSI_CPQFCTS is not set
...@@ -193,11 +204,8 @@ CONFIG_SCSI_CONSTANTS=y ...@@ -193,11 +204,8 @@ CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C7xx is not set
CONFIG_SCSI_SYM53C8XX_2=y CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
...@@ -210,7 +218,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 ...@@ -210,7 +218,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_MESH is not set # CONFIG_SCSI_MESH is not set
...@@ -242,8 +249,6 @@ CONFIG_NET=y ...@@ -242,8 +249,6 @@ CONFIG_NET=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set # CONFIG_NETLINK_DEV is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_UNIX=y CONFIG_UNIX=y
# CONFIG_NET_KEY is not set # CONFIG_NET_KEY is not set
CONFIG_INET=y CONFIG_INET=y
...@@ -260,6 +265,16 @@ CONFIG_SYN_COOKIES=y ...@@ -260,6 +265,16 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_ESP is not set # CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set # CONFIG_INET_IPCOMP is not set
#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# #
# IP: Netfilter Configuration # IP: Netfilter Configuration
# #
...@@ -276,6 +291,7 @@ CONFIG_IP_NF_MATCH_MAC=m ...@@ -276,6 +291,7 @@ CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_MARK=m CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m CONFIG_IP_NF_MATCH_AH_ESP=m
...@@ -306,10 +322,9 @@ CONFIG_IP_NF_TARGET_ULOG=m ...@@ -306,10 +322,9 @@ CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_IP_NF_COMPAT_IPCHAINS=m CONFIG_IP_NF_COMPAT_IPCHAINS=m
# CONFIG_IP_NF_COMPAT_IPFWADM is not set # CONFIG_IP_NF_COMPAT_IPFWADM is not set
# CONFIG_IPV6 is not set
# CONFIG_XFRM_USER is not set
# #
# SCTP Configuration (EXPERIMENTAL) # SCTP Configuration (EXPERIMENTAL)
...@@ -319,8 +334,6 @@ CONFIG_IPV6_SCTP__=y ...@@ -319,8 +334,6 @@ CONFIG_IPV6_SCTP__=y
# CONFIG_ATM is not set # CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set # CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set # CONFIG_LLC is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set # CONFIG_X25 is not set
# CONFIG_LAPB is not set # CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set # CONFIG_NET_DIVERT is not set
...@@ -396,6 +409,7 @@ CONFIG_PCNET32=y ...@@ -396,6 +409,7 @@ CONFIG_PCNET32=y
# CONFIG_HAMACHI is not set # CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set # CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set # CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SK98LIN is not set # CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set # CONFIG_TIGON3 is not set
...@@ -494,11 +508,6 @@ CONFIG_LOGO_LINUX_MONO=y ...@@ -494,11 +508,6 @@ CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y CONFIG_LOGO_LINUX_CLUT224=y
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
# #
# Input device support # Input device support
# #
...@@ -525,6 +534,7 @@ CONFIG_SERIO=y ...@@ -525,6 +534,7 @@ CONFIG_SERIO=y
CONFIG_SERIO_I8042=y CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
# #
# Input Device Drivers # Input Device Drivers
...@@ -791,7 +801,6 @@ CONFIG_NLS_ISO8859_1=m ...@@ -791,7 +801,6 @@ CONFIG_NLS_ISO8859_1=m
# Kernel hacking # Kernel hacking
# #
# CONFIG_DEBUG_KERNEL is not set # CONFIG_DEBUG_KERNEL is not set
CONFIG_KALLSYMS=y
# CONFIG_BOOTX_TEXT is not set # CONFIG_BOOTX_TEXT is not set
# #
......
...@@ -19,6 +19,7 @@ CONFIG_SYSVIPC=y ...@@ -19,6 +19,7 @@ CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
# CONFIG_EMBEDDED is not set # CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y CONFIG_FUTEX=y
CONFIG_EPOLL=y CONFIG_EPOLL=y
...@@ -74,8 +75,8 @@ CONFIG_HIGHMEM=y ...@@ -74,8 +75,8 @@ CONFIG_HIGHMEM=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y CONFIG_PCI_DOMAINS=y
CONFIG_KCORE_ELF=y CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y CONFIG_KERNEL_ELF=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set # CONFIG_BINFMT_MISC is not set
# CONFIG_PCI_LEGACY_PROC is not set # CONFIG_PCI_LEGACY_PROC is not set
# CONFIG_PCI_NAMES is not set # CONFIG_PCI_NAMES is not set
...@@ -103,6 +104,11 @@ CONFIG_KERNEL_START=0xc0000000 ...@@ -103,6 +104,11 @@ CONFIG_KERNEL_START=0xc0000000
CONFIG_TASK_SIZE=0x80000000 CONFIG_TASK_SIZE=0x80000000
CONFIG_BOOT_LOAD=0x00800000 CONFIG_BOOT_LOAD=0x00800000
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
# #
# Memory Technology Devices (MTD) # Memory Technology Devices (MTD)
# #
...@@ -122,10 +128,12 @@ CONFIG_BOOT_LOAD=0x00800000 ...@@ -122,10 +128,12 @@ CONFIG_BOOT_LOAD=0x00800000
# CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
# CONFIG_LBD is not set
# #
# Multi-device support (RAID and LVM) # Multi-device support (RAID and LVM)
...@@ -133,12 +141,12 @@ CONFIG_BLK_DEV_INITRD=y ...@@ -133,12 +141,12 @@ CONFIG_BLK_DEV_INITRD=y
# CONFIG_MD is not set # CONFIG_MD is not set
# #
# ATA/IDE/MFM/RLL support # ATA/ATAPI/MFM/RLL support
# #
# CONFIG_IDE is not set # CONFIG_IDE is not set
# #
# SCSI support # SCSI device support
# #
# CONFIG_SCSI is not set # CONFIG_SCSI is not set
...@@ -319,11 +327,6 @@ CONFIG_NET_PCI=y ...@@ -319,11 +327,6 @@ CONFIG_NET_PCI=y
# #
# CONFIG_FB is not set # CONFIG_FB is not set
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
# #
# Input device support # Input device support
# #
...@@ -526,7 +529,6 @@ CONFIG_MSDOS_PARTITION=y ...@@ -526,7 +529,6 @@ CONFIG_MSDOS_PARTITION=y
# Kernel hacking # Kernel hacking
# #
# CONFIG_DEBUG_KERNEL is not set # CONFIG_DEBUG_KERNEL is not set
# CONFIG_KALLSYMS is not set
# CONFIG_SERIAL_TEXT_DEBUG is not set # CONFIG_SERIAL_TEXT_DEBUG is not set
# #
......
...@@ -9,6 +9,7 @@ CONFIG_HAVE_DEC_LOCK=y ...@@ -9,6 +9,7 @@ CONFIG_HAVE_DEC_LOCK=y
# Code maturity level options # Code maturity level options
# #
CONFIG_EXPERIMENTAL=y CONFIG_EXPERIMENTAL=y
# CONFIG_BROKEN is not set
# #
# General setup # General setup
...@@ -18,9 +19,15 @@ CONFIG_SYSVIPC=y ...@@ -18,9 +19,15 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set # CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y CONFIG_FUTEX=y
CONFIG_EPOLL=y CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# #
# Loadable module support # Loadable module support
...@@ -79,6 +86,7 @@ CONFIG_TAU=y ...@@ -79,6 +86,7 @@ CONFIG_TAU=y
# CONFIG_TAU_INT is not set # CONFIG_TAU_INT is not set
# CONFIG_TAU_AVERAGE is not set # CONFIG_TAU_AVERAGE is not set
CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_PROC_INTF=y CONFIG_CPU_FREQ_PROC_INTF=y
CONFIG_CPU_FREQ_24_API=y CONFIG_CPU_FREQ_24_API=y
CONFIG_CPU_FREQ_PMAC=y CONFIG_CPU_FREQ_PMAC=y
...@@ -90,8 +98,8 @@ CONFIG_CPU_FREQ_PMAC=y ...@@ -90,8 +98,8 @@ CONFIG_CPU_FREQ_PMAC=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y CONFIG_PCI_DOMAINS=y
CONFIG_KCORE_ELF=y CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y CONFIG_KERNEL_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m CONFIG_BINFMT_MISC=m
CONFIG_PCI_LEGACY_PROC=y CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y CONFIG_PCI_NAMES=y
...@@ -101,9 +109,9 @@ CONFIG_HOTPLUG=y ...@@ -101,9 +109,9 @@ CONFIG_HOTPLUG=y
# PCMCIA/CardBus support # PCMCIA/CardBus support
# #
CONFIG_PCMCIA=m CONFIG_PCMCIA=m
CONFIG_YENTA=m
CONFIG_CARDBUS=y CONFIG_CARDBUS=y
CONFIG_I82092=m CONFIG_I82092=m
CONFIG_I82365=m
CONFIG_TCIC=m CONFIG_TCIC=m
# #
...@@ -130,6 +138,11 @@ CONFIG_TASK_SIZE_BOOL=y ...@@ -130,6 +138,11 @@ CONFIG_TASK_SIZE_BOOL=y
CONFIG_TASK_SIZE=0xc0000000 CONFIG_TASK_SIZE=0xc0000000
CONFIG_BOOT_LOAD=0x00800000 CONFIG_BOOT_LOAD=0x00800000
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
# #
# Memory Technology Devices (MTD) # Memory Technology Devices (MTD)
# #
...@@ -149,10 +162,12 @@ CONFIG_BLK_DEV_FD=m ...@@ -149,10 +162,12 @@ CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
CONFIG_LBD=y
# #
# Multi-device support (RAID and LVM) # Multi-device support (RAID and LVM)
...@@ -160,41 +175,39 @@ CONFIG_BLK_DEV_INITRD=y ...@@ -160,41 +175,39 @@ CONFIG_BLK_DEV_INITRD=y
# CONFIG_MD is not set # CONFIG_MD is not set
# #
# ATA/IDE/MFM/RLL support # ATA/ATAPI/MFM/RLL support
# #
CONFIG_IDE=y CONFIG_IDE=y
#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y CONFIG_BLK_DEV_IDE=y
# #
# Please see Documentation/ide.txt for help/info on IDE drives # Please see Documentation/ide.txt for help/info on IDE drives
# #
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set # CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_IDEDISK_STROKE is not set # CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECS=m CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_IDECD=y CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
CONFIG_BLK_DEV_IDEFLOPPY=y CONFIG_BLK_DEV_IDEFLOPPY=y
CONFIG_BLK_DEV_IDESCSI=y CONFIG_BLK_DEV_IDESCSI=y
# CONFIG_IDE_TASK_IOCTL is not set # CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set
# #
# IDE chipset support/bugfixes # IDE chipset support/bugfixes
# #
CONFIG_BLK_DEV_IDEPCI=y CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_IDEPCI_SHARE_IRQ=y CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_SL82C105=y
CONFIG_BLK_DEV_IDEDMA_PCI=y CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDE_TCQ is not set # CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set # CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set # CONFIG_IDEDMA_PCI_WIP is not set
CONFIG_BLK_DEV_ADMA=y CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_BLK_DEV_AEC62XX is not set
...@@ -204,12 +217,12 @@ CONFIG_BLK_DEV_CMD64X=y ...@@ -204,12 +217,12 @@ CONFIG_BLK_DEV_CMD64X=y
# CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set # CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set # CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set # CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set # CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set # CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set # CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set # CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set # CONFIG_BLK_DEV_PDC202XX_OLD is not set
CONFIG_BLK_DEV_PDC202XX_NEW=y CONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_PDC202XX_FORCE is not set # CONFIG_PDC202XX_FORCE is not set
...@@ -218,15 +231,17 @@ CONFIG_BLK_DEV_PDC202XX_NEW=y ...@@ -218,15 +231,17 @@ CONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set # CONFIG_BLK_DEV_VIA82CXXX is not set
CONFIG_BLK_DEV_SL82C105=y
CONFIG_BLK_DEV_IDE_PMAC=y CONFIG_BLK_DEV_IDE_PMAC=y
CONFIG_BLK_DEV_IDEDMA_PMAC=y CONFIG_BLK_DEV_IDEDMA_PMAC=y
CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO=y CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO=y
CONFIG_IDEDMA_AUTO=y CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set # CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_DMA_NONPCI is not set
# CONFIG_BLK_DEV_HD is not set
# #
# SCSI support # SCSI device support
# #
CONFIG_SCSI=y CONFIG_SCSI=y
...@@ -266,8 +281,6 @@ CONFIG_SCSI_AIC7XXX_OLD=m ...@@ -266,8 +281,6 @@ CONFIG_SCSI_AIC7XXX_OLD=m
# CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_DPT_I2O is not set
CONFIG_SCSI_ADVANSYS=m CONFIG_SCSI_ADVANSYS=m
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set # CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set # CONFIG_SCSI_CPQFCTS is not set
...@@ -276,11 +289,8 @@ CONFIG_SCSI_ADVANSYS=m ...@@ -276,11 +289,8 @@ CONFIG_SCSI_ADVANSYS=m
# CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C7xx is not set
CONFIG_SCSI_SYM53C8XX_2=y CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
...@@ -293,7 +303,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 ...@@ -293,7 +303,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_MESH=y CONFIG_SCSI_MESH=y
...@@ -361,8 +370,6 @@ CONFIG_NET=y ...@@ -361,8 +370,6 @@ CONFIG_NET=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set # CONFIG_NETLINK_DEV is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_UNIX=y CONFIG_UNIX=y
# CONFIG_NET_KEY is not set # CONFIG_NET_KEY is not set
CONFIG_INET=y CONFIG_INET=y
...@@ -379,6 +386,16 @@ CONFIG_SYN_COOKIES=y ...@@ -379,6 +386,16 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_ESP is not set # CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set # CONFIG_INET_IPCOMP is not set
#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# #
# IP: Netfilter Configuration # IP: Netfilter Configuration
# #
...@@ -395,6 +412,7 @@ CONFIG_IP_NF_MATCH_PKTTYPE=m ...@@ -395,6 +412,7 @@ CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m CONFIG_IP_NF_MATCH_AH_ESP=m
...@@ -425,10 +443,9 @@ CONFIG_IP_NF_TARGET_ULOG=m ...@@ -425,10 +443,9 @@ CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_IP_NF_COMPAT_IPCHAINS=m CONFIG_IP_NF_COMPAT_IPCHAINS=m
# CONFIG_IP_NF_COMPAT_IPFWADM is not set # CONFIG_IP_NF_COMPAT_IPFWADM is not set
# CONFIG_IPV6 is not set
# CONFIG_XFRM_USER is not set
# #
# SCTP Configuration (EXPERIMENTAL) # SCTP Configuration (EXPERIMENTAL)
...@@ -438,8 +455,6 @@ CONFIG_IPV6_SCTP__=y ...@@ -438,8 +455,6 @@ CONFIG_IPV6_SCTP__=y
# CONFIG_ATM is not set # CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set # CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set # CONFIG_LLC is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set # CONFIG_X25 is not set
# CONFIG_LAPB is not set # CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set # CONFIG_NET_DIVERT is not set
...@@ -516,6 +531,7 @@ CONFIG_PCNET32=y ...@@ -516,6 +531,7 @@ CONFIG_PCNET32=y
# CONFIG_HAMACHI is not set # CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set # CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set # CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SK98LIN is not set # CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set # CONFIG_TIGON3 is not set
...@@ -568,6 +584,7 @@ CONFIG_APPLE_AIRPORT=m ...@@ -568,6 +584,7 @@ CONFIG_APPLE_AIRPORT=m
CONFIG_PCMCIA_HERMES=m CONFIG_PCMCIA_HERMES=m
# CONFIG_AIRO_CS is not set # CONFIG_AIRO_CS is not set
# CONFIG_PCMCIA_ATMEL is not set # CONFIG_PCMCIA_ATMEL is not set
# CONFIG_PCMCIA_WL3501 is not set
CONFIG_NET_WIRELESS=y CONFIG_NET_WIRELESS=y
# #
...@@ -637,25 +654,18 @@ CONFIG_IRTTY_SIR=m ...@@ -637,25 +654,18 @@ CONFIG_IRTTY_SIR=m
# #
# Old SIR device drivers # Old SIR device drivers
# #
# CONFIG_IRTTY_OLD is not set
# CONFIG_IRPORT_SIR is not set # CONFIG_IRPORT_SIR is not set
# #
# Old Serial dongle support # Old Serial dongle support
# #
# CONFIG_DONGLE_OLD is not set
# #
# FIR device drivers # FIR device drivers
# #
# CONFIG_USB_IRDA is not set # CONFIG_USB_IRDA is not set
# CONFIG_NSC_FIR is not set
# CONFIG_WINBOND_FIR is not set
# CONFIG_TOSHIBA_OLD is not set # CONFIG_TOSHIBA_OLD is not set
# CONFIG_TOSHIBA_FIR is not set # CONFIG_TOSHIBA_FIR is not set
# CONFIG_SMC_IRCC_OLD is not set
# CONFIG_SMC_IRCC_FIR is not set
# CONFIG_ALI_FIR is not set
# CONFIG_VLSI_FIR is not set # CONFIG_VLSI_FIR is not set
# #
...@@ -720,11 +730,6 @@ CONFIG_LOGO_LINUX_MONO=y ...@@ -720,11 +730,6 @@ CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y CONFIG_LOGO_LINUX_CLUT224=y
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
# #
# Input device support # Input device support
# #
...@@ -766,7 +771,7 @@ CONFIG_ADB_PMU=y ...@@ -766,7 +771,7 @@ CONFIG_ADB_PMU=y
CONFIG_PMAC_PBOOK=y CONFIG_PMAC_PBOOK=y
CONFIG_PMAC_APM_EMU=y CONFIG_PMAC_APM_EMU=y
CONFIG_PMAC_BACKLIGHT=y CONFIG_PMAC_BACKLIGHT=y
CONFIG_MAC_FLOPPY=y # CONFIG_MAC_FLOPPY is not set
CONFIG_MAC_SERIAL=y CONFIG_MAC_SERIAL=y
CONFIG_ADB=y CONFIG_ADB=y
CONFIG_ADB_MACIO=y CONFIG_ADB_MACIO=y
...@@ -808,10 +813,12 @@ CONFIG_I2C_CHARDEV=m ...@@ -808,10 +813,12 @@ CONFIG_I2C_CHARDEV=m
# #
# I2C Hardware Sensors Mainboard support # I2C Hardware Sensors Mainboard support
# #
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI15X3 is not set # CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set # CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set # CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set # CONFIG_I2C_I801 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_SIS96X is not set # CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIAPRO is not set # CONFIG_I2C_VIAPRO is not set
...@@ -823,6 +830,7 @@ CONFIG_I2C_CHARDEV=m ...@@ -823,6 +830,7 @@ CONFIG_I2C_CHARDEV=m
# CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set # CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM85 is not set # CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_VIA686A is not set # CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83781D is not set
# CONFIG_I2C_SENSOR is not set # CONFIG_I2C_SENSOR is not set
...@@ -1028,8 +1036,7 @@ CONFIG_NLS_ISO8859_1=m ...@@ -1028,8 +1036,7 @@ CONFIG_NLS_ISO8859_1=m
# Sound # Sound
# #
CONFIG_SOUND=m CONFIG_SOUND=m
CONFIG_DMASOUND_AWACS=m # CONFIG_DMASOUND_AWACS is not set
CONFIG_DMASOUND=m
# #
# Advanced Linux Sound Architecture # Advanced Linux Sound Architecture
...@@ -1168,6 +1175,7 @@ CONFIG_USB_SCANNER=m ...@@ -1168,6 +1175,7 @@ CONFIG_USB_SCANNER=m
# #
# USB Network adaptors # USB Network adaptors
# #
# CONFIG_USB_AX8817X is not set
# CONFIG_USB_CATC is not set # CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set # CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set # CONFIG_USB_PEGASUS is not set
...@@ -1231,7 +1239,6 @@ CONFIG_ZLIB_DEFLATE=y ...@@ -1231,7 +1239,6 @@ CONFIG_ZLIB_DEFLATE=y
# Kernel hacking # Kernel hacking
# #
# CONFIG_DEBUG_KERNEL is not set # CONFIG_DEBUG_KERNEL is not set
CONFIG_KALLSYMS=y
CONFIG_BOOTX_TEXT=y CONFIG_BOOTX_TEXT=y
# #
......
...@@ -9,6 +9,7 @@ CONFIG_HAVE_DEC_LOCK=y ...@@ -9,6 +9,7 @@ CONFIG_HAVE_DEC_LOCK=y
# Code maturity level options # Code maturity level options
# #
CONFIG_EXPERIMENTAL=y CONFIG_EXPERIMENTAL=y
# CONFIG_BROKEN is not set
# #
# General setup # General setup
...@@ -18,9 +19,15 @@ CONFIG_SYSVIPC=y ...@@ -18,9 +19,15 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=15 CONFIG_LOG_BUF_SHIFT=15
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set # CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y CONFIG_FUTEX=y
CONFIG_EPOLL=y CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# #
# Loadable module support # Loadable module support
...@@ -82,8 +89,8 @@ CONFIG_HIGHMEM=y ...@@ -82,8 +89,8 @@ CONFIG_HIGHMEM=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y CONFIG_PCI_DOMAINS=y
CONFIG_KCORE_ELF=y CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y CONFIG_KERNEL_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y CONFIG_BINFMT_MISC=y
CONFIG_PCI_LEGACY_PROC=y CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y CONFIG_PCI_NAMES=y
...@@ -120,6 +127,10 @@ CONFIG_TASK_SIZE_BOOL=y ...@@ -120,6 +127,10 @@ CONFIG_TASK_SIZE_BOOL=y
CONFIG_TASK_SIZE=0xc0000000 CONFIG_TASK_SIZE=0xc0000000
CONFIG_BOOT_LOAD=0x00800000 CONFIG_BOOT_LOAD=0x00800000
#
# Generic Driver Options
#
# #
# Memory Technology Devices (MTD) # Memory Technology Devices (MTD)
# #
...@@ -140,10 +151,12 @@ CONFIG_BLK_DEV_FD=y ...@@ -140,10 +151,12 @@ CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
CONFIG_LBD=y
# #
# Multi-device support (RAID and LVM) # Multi-device support (RAID and LVM)
...@@ -156,14 +169,15 @@ CONFIG_MD_RAID1=y ...@@ -156,14 +169,15 @@ CONFIG_MD_RAID1=y
CONFIG_MD_RAID5=y CONFIG_MD_RAID5=y
# CONFIG_MD_MULTIPATH is not set # CONFIG_MD_MULTIPATH is not set
CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DM=y
CONFIG_DM_IOCTL_V4=y
# #
# ATA/IDE/MFM/RLL support # ATA/ATAPI/MFM/RLL support
# #
# CONFIG_IDE is not set # CONFIG_IDE is not set
# #
# SCSI support # SCSI device support
# #
CONFIG_SCSI=y CONFIG_SCSI=y
...@@ -196,8 +210,6 @@ CONFIG_SCSI_LOGGING=y ...@@ -196,8 +210,6 @@ CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set # CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set # CONFIG_SCSI_CPQFCTS is not set
...@@ -206,13 +218,10 @@ CONFIG_SCSI_LOGGING=y ...@@ -206,13 +218,10 @@ CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set # CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set # CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_NCR53C7xx is not set
CONFIG_SCSI_SYM53C8XX_2=y CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
...@@ -225,7 +234,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 ...@@ -225,7 +234,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_MESH is not set # CONFIG_SCSI_MESH is not set
...@@ -257,7 +265,6 @@ CONFIG_NET=y ...@@ -257,7 +265,6 @@ CONFIG_NET=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set # CONFIG_NETLINK_DEV is not set
# CONFIG_NETFILTER is not set
CONFIG_UNIX=y CONFIG_UNIX=y
# CONFIG_NET_KEY is not set # CONFIG_NET_KEY is not set
CONFIG_INET=y CONFIG_INET=y
...@@ -274,7 +281,9 @@ CONFIG_SYN_COOKIES=y ...@@ -274,7 +281,9 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_ESP is not set # CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set # CONFIG_INET_IPCOMP is not set
# CONFIG_IPV6 is not set # CONFIG_IPV6 is not set
# CONFIG_XFRM_USER is not set # CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_NETFILTER is not set
# #
# SCTP Configuration (EXPERIMENTAL) # SCTP Configuration (EXPERIMENTAL)
...@@ -284,8 +293,6 @@ CONFIG_IPV6_SCTP__=y ...@@ -284,8 +293,6 @@ CONFIG_IPV6_SCTP__=y
# CONFIG_ATM is not set # CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set # CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set # CONFIG_LLC is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set # CONFIG_X25 is not set
# CONFIG_LAPB is not set # CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set # CONFIG_NET_DIVERT is not set
...@@ -362,6 +369,7 @@ CONFIG_E1000=y ...@@ -362,6 +369,7 @@ CONFIG_E1000=y
# CONFIG_HAMACHI is not set # CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set # CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set # CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SK98LIN is not set # CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set # CONFIG_TIGON3 is not set
...@@ -463,11 +471,6 @@ CONFIG_LOGO_LINUX_MONO=y ...@@ -463,11 +471,6 @@ CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y CONFIG_LOGO_LINUX_CLUT224=y
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
# #
# Input device support # Input device support
# #
...@@ -495,6 +498,7 @@ CONFIG_SERIO_I8042=y ...@@ -495,6 +498,7 @@ CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
# #
# Input Device Drivers # Input Device Drivers
...@@ -554,9 +558,8 @@ CONFIG_PRINTER=m ...@@ -554,9 +558,8 @@ CONFIG_PRINTER=m
# #
CONFIG_I2C=y CONFIG_I2C=y
CONFIG_I2C_ALGOBIT=y CONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_PHILIPSPAR is not set # CONFIG_I2C_PHILIPSPAR is not set
# CONFIG_I2C_ELV is not set
# CONFIG_I2C_VELLEMAN is not set
# CONFIG_SCx200_ACB is not set # CONFIG_SCx200_ACB is not set
CONFIG_I2C_ALGOPCF=y CONFIG_I2C_ALGOPCF=y
# CONFIG_I2C_ELEKTOR is not set # CONFIG_I2C_ELEKTOR is not set
...@@ -566,10 +569,12 @@ CONFIG_I2C_CHARDEV=y ...@@ -566,10 +569,12 @@ CONFIG_I2C_CHARDEV=y
# #
# I2C Hardware Sensors Mainboard support # I2C Hardware Sensors Mainboard support
# #
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI15X3 is not set # CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set # CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set # CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set # CONFIG_I2C_I801 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_SIS96X is not set # CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIAPRO is not set # CONFIG_I2C_VIAPRO is not set
...@@ -581,6 +586,7 @@ CONFIG_I2C_CHARDEV=y ...@@ -581,6 +586,7 @@ CONFIG_I2C_CHARDEV=y
# CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set # CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM85 is not set # CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_VIA686A is not set # CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83781D is not set
# CONFIG_I2C_SENSOR is not set # CONFIG_I2C_SENSOR is not set
...@@ -843,7 +849,6 @@ CONFIG_SND_CS4281=m ...@@ -843,7 +849,6 @@ CONFIG_SND_CS4281=m
# Kernel hacking # Kernel hacking
# #
# CONFIG_DEBUG_KERNEL is not set # CONFIG_DEBUG_KERNEL is not set
CONFIG_KALLSYMS=y
CONFIG_BOOTX_TEXT=y CONFIG_BOOTX_TEXT=y
# #
......
...@@ -9,6 +9,7 @@ CONFIG_HAVE_DEC_LOCK=y ...@@ -9,6 +9,7 @@ CONFIG_HAVE_DEC_LOCK=y
# Code maturity level options # Code maturity level options
# #
CONFIG_EXPERIMENTAL=y CONFIG_EXPERIMENTAL=y
# CONFIG_BROKEN is not set
# #
# General setup # General setup
...@@ -18,9 +19,15 @@ CONFIG_SYSVIPC=y ...@@ -18,9 +19,15 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set # CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y CONFIG_FUTEX=y
CONFIG_EPOLL=y CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# #
# Loadable module support # Loadable module support
...@@ -78,6 +85,7 @@ CONFIG_TAU=y ...@@ -78,6 +85,7 @@ CONFIG_TAU=y
# CONFIG_TAU_INT is not set # CONFIG_TAU_INT is not set
# CONFIG_TAU_AVERAGE is not set # CONFIG_TAU_AVERAGE is not set
CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_PROC_INTF=y CONFIG_CPU_FREQ_PROC_INTF=y
CONFIG_CPU_FREQ_24_API=y CONFIG_CPU_FREQ_24_API=y
CONFIG_CPU_FREQ_PMAC=y CONFIG_CPU_FREQ_PMAC=y
...@@ -89,8 +97,8 @@ CONFIG_CPU_FREQ_PMAC=y ...@@ -89,8 +97,8 @@ CONFIG_CPU_FREQ_PMAC=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y CONFIG_PCI_DOMAINS=y
CONFIG_KCORE_ELF=y CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y CONFIG_KERNEL_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m CONFIG_BINFMT_MISC=m
CONFIG_PCI_LEGACY_PROC=y CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y CONFIG_PCI_NAMES=y
...@@ -127,6 +135,11 @@ CONFIG_KERNEL_START=0xc0000000 ...@@ -127,6 +135,11 @@ CONFIG_KERNEL_START=0xc0000000
CONFIG_TASK_SIZE=0x80000000 CONFIG_TASK_SIZE=0x80000000
CONFIG_BOOT_LOAD=0x00800000 CONFIG_BOOT_LOAD=0x00800000
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
# #
# Memory Technology Devices (MTD) # Memory Technology Devices (MTD)
# #
...@@ -146,10 +159,12 @@ CONFIG_BLK_DEV_FD=m ...@@ -146,10 +159,12 @@ CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
CONFIG_LBD=y
# #
# Multi-device support (RAID and LVM) # Multi-device support (RAID and LVM)
...@@ -157,40 +172,38 @@ CONFIG_BLK_DEV_INITRD=y ...@@ -157,40 +172,38 @@ CONFIG_BLK_DEV_INITRD=y
# CONFIG_MD is not set # CONFIG_MD is not set
# #
# ATA/IDE/MFM/RLL support # ATA/ATAPI/MFM/RLL support
# #
CONFIG_IDE=y CONFIG_IDE=y
#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y CONFIG_BLK_DEV_IDE=y
# #
# Please see Documentation/ide.txt for help/info on IDE drives # Please see Documentation/ide.txt for help/info on IDE drives
# #
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set # CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_IDEDISK_STROKE is not set # CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECD=y CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
CONFIG_BLK_DEV_IDEFLOPPY=y CONFIG_BLK_DEV_IDEFLOPPY=y
CONFIG_BLK_DEV_IDESCSI=y CONFIG_BLK_DEV_IDESCSI=y
# CONFIG_IDE_TASK_IOCTL is not set # CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set
# #
# IDE chipset support/bugfixes # IDE chipset support/bugfixes
# #
CONFIG_BLK_DEV_IDEPCI=y CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_IDEPCI_SHARE_IRQ=y CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_SL82C105=y
CONFIG_BLK_DEV_IDEDMA_PCI=y CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDE_TCQ is not set # CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set # CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set # CONFIG_IDEDMA_PCI_WIP is not set
CONFIG_BLK_DEV_ADMA=y CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_BLK_DEV_AEC62XX is not set
...@@ -200,12 +213,12 @@ CONFIG_BLK_DEV_CMD64X=y ...@@ -200,12 +213,12 @@ CONFIG_BLK_DEV_CMD64X=y
# CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set # CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set # CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set # CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set # CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set # CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set # CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set # CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set # CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set # CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set # CONFIG_BLK_DEV_SVWKS is not set
...@@ -213,15 +226,17 @@ CONFIG_BLK_DEV_CMD64X=y ...@@ -213,15 +226,17 @@ CONFIG_BLK_DEV_CMD64X=y
# CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set # CONFIG_BLK_DEV_VIA82CXXX is not set
CONFIG_BLK_DEV_SL82C105=y
CONFIG_BLK_DEV_IDE_PMAC=y CONFIG_BLK_DEV_IDE_PMAC=y
CONFIG_BLK_DEV_IDEDMA_PMAC=y CONFIG_BLK_DEV_IDEDMA_PMAC=y
CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO=y CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO=y
CONFIG_IDEDMA_AUTO=y CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set # CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_DMA_NONPCI is not set
# CONFIG_BLK_DEV_HD is not set
# #
# SCSI support # SCSI device support
# #
CONFIG_SCSI=y CONFIG_SCSI=y
...@@ -261,8 +276,6 @@ CONFIG_SCSI_AIC7XXX_OLD=m ...@@ -261,8 +276,6 @@ CONFIG_SCSI_AIC7XXX_OLD=m
# CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_DPT_I2O is not set
CONFIG_SCSI_ADVANSYS=m CONFIG_SCSI_ADVANSYS=m
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set # CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set # CONFIG_SCSI_CPQFCTS is not set
...@@ -271,11 +284,8 @@ CONFIG_SCSI_ADVANSYS=m ...@@ -271,11 +284,8 @@ CONFIG_SCSI_ADVANSYS=m
# CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C7xx is not set
CONFIG_SCSI_SYM53C8XX_2=y CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
...@@ -288,7 +298,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 ...@@ -288,7 +298,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_MESH=y CONFIG_SCSI_MESH=y
...@@ -322,8 +331,6 @@ CONFIG_NET=y ...@@ -322,8 +331,6 @@ CONFIG_NET=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set # CONFIG_NETLINK_DEV is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_UNIX=y CONFIG_UNIX=y
# CONFIG_NET_KEY is not set # CONFIG_NET_KEY is not set
CONFIG_INET=y CONFIG_INET=y
...@@ -340,6 +347,16 @@ CONFIG_SYN_COOKIES=y ...@@ -340,6 +347,16 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_ESP is not set # CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set # CONFIG_INET_IPCOMP is not set
#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# #
# IP: Netfilter Configuration # IP: Netfilter Configuration
# #
...@@ -356,6 +373,7 @@ CONFIG_IP_NF_MATCH_PKTTYPE=m ...@@ -356,6 +373,7 @@ CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m CONFIG_IP_NF_MATCH_AH_ESP=m
...@@ -386,10 +404,9 @@ CONFIG_IP_NF_NAT_AMANDA=m ...@@ -386,10 +404,9 @@ CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_TARGET_TCPMSS=m CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_IP_NF_COMPAT_IPCHAINS=m CONFIG_IP_NF_COMPAT_IPCHAINS=m
# CONFIG_IP_NF_COMPAT_IPFWADM is not set # CONFIG_IP_NF_COMPAT_IPFWADM is not set
# CONFIG_IPV6 is not set
# CONFIG_XFRM_USER is not set
# #
# SCTP Configuration (EXPERIMENTAL) # SCTP Configuration (EXPERIMENTAL)
...@@ -399,8 +416,6 @@ CONFIG_IPV6_SCTP__=y ...@@ -399,8 +416,6 @@ CONFIG_IPV6_SCTP__=y
# CONFIG_ATM is not set # CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set # CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set # CONFIG_LLC is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set # CONFIG_X25 is not set
# CONFIG_LAPB is not set # CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set # CONFIG_NET_DIVERT is not set
...@@ -477,6 +492,7 @@ CONFIG_PCNET32=y ...@@ -477,6 +492,7 @@ CONFIG_PCNET32=y
# CONFIG_HAMACHI is not set # CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set # CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set # CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SK98LIN is not set # CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set # CONFIG_TIGON3 is not set
...@@ -548,7 +564,7 @@ CONFIG_NET_WIRELESS=y ...@@ -548,7 +564,7 @@ CONFIG_NET_WIRELESS=y
# Graphics support # Graphics support
# #
CONFIG_FB=y CONFIG_FB=y
CONFIG_FB_CIRRUS=y # CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set # CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set # CONFIG_FB_CYBER2000 is not set
CONFIG_FB_OF=y CONFIG_FB_OF=y
...@@ -601,11 +617,6 @@ CONFIG_LOGO_LINUX_MONO=y ...@@ -601,11 +617,6 @@ CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y CONFIG_LOGO_LINUX_CLUT224=y
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
# #
# Input device support # Input device support
# #
...@@ -632,6 +643,7 @@ CONFIG_SERIO=y ...@@ -632,6 +643,7 @@ CONFIG_SERIO=y
CONFIG_SERIO_I8042=y CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
# #
# Input Device Drivers # Input Device Drivers
...@@ -698,10 +710,12 @@ CONFIG_I2C_CHARDEV=m ...@@ -698,10 +710,12 @@ CONFIG_I2C_CHARDEV=m
# #
# I2C Hardware Sensors Mainboard support # I2C Hardware Sensors Mainboard support
# #
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI15X3 is not set # CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set # CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set # CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set # CONFIG_I2C_I801 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_SIS96X is not set # CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIAPRO is not set # CONFIG_I2C_VIAPRO is not set
...@@ -713,6 +727,7 @@ CONFIG_I2C_CHARDEV=m ...@@ -713,6 +727,7 @@ CONFIG_I2C_CHARDEV=m
# CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set # CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM85 is not set # CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_VIA686A is not set # CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83781D is not set
# CONFIG_I2C_SENSOR is not set # CONFIG_I2C_SENSOR is not set
...@@ -1047,6 +1062,7 @@ CONFIG_USB_SCANNER=m ...@@ -1047,6 +1062,7 @@ CONFIG_USB_SCANNER=m
# #
# USB Network adaptors # USB Network adaptors
# #
# CONFIG_USB_AX8817X is not set
# CONFIG_USB_CATC is not set # CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set # CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set # CONFIG_USB_PEGASUS is not set
...@@ -1123,7 +1139,6 @@ CONFIG_ZLIB_DEFLATE=y ...@@ -1123,7 +1139,6 @@ CONFIG_ZLIB_DEFLATE=y
# Kernel hacking # Kernel hacking
# #
# CONFIG_DEBUG_KERNEL is not set # CONFIG_DEBUG_KERNEL is not set
CONFIG_KALLSYMS=y
CONFIG_BOOTX_TEXT=y CONFIG_BOOTX_TEXT=y
# #
......
...@@ -1380,3 +1380,4 @@ _GLOBAL(sys_call_table) ...@@ -1380,3 +1380,4 @@ _GLOBAL(sys_call_table)
.long sys_utimes .long sys_utimes
.long sys_statfs64 .long sys_statfs64
.long sys_fstatfs64 .long sys_fstatfs64
.long ppc_fadvise64_64
...@@ -106,6 +106,7 @@ ...@@ -106,6 +106,7 @@
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/smp_lock.h> #include <linux/smp_lock.h>
#include <asm/cacheflush.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/signal.h> #include <asm/signal.h>
#include <asm/kgdb.h> #include <asm/kgdb.h>
...@@ -186,7 +187,7 @@ hex(unsigned char ch) ...@@ -186,7 +187,7 @@ hex(unsigned char ch)
* return 0. * return 0.
*/ */
static unsigned char * static unsigned char *
mem2hex(char *mem, char *buf, int count) mem2hex(const char *mem, char *buf, int count)
{ {
unsigned char ch; unsigned char ch;
unsigned short tmp_s; unsigned short tmp_s;
...@@ -828,11 +829,11 @@ breakpoint(void) ...@@ -828,11 +829,11 @@ breakpoint(void)
return; return;
} }
asm(" .globl breakinst asm(" .globl breakinst \n\
breakinst: .long 0x7d821008 breakinst: .long 0x7d821008");
");
} }
#ifdef CONFIG_KGDB_CONSOLE
/* Output string in GDB O-packet format if GDB has connected. If nothing /* Output string in GDB O-packet format if GDB has connected. If nothing
output, returns 0 (caller must then handle output). */ output, returns 0 (caller must then handle output). */
int int
...@@ -852,3 +853,4 @@ kgdb_output_string (const char* s, unsigned int count) ...@@ -852,3 +853,4 @@ kgdb_output_string (const char* s, unsigned int count)
return 1; return 1;
} }
#endif
...@@ -200,6 +200,7 @@ EXPORT_SYMBOL(flush_dcache_range); ...@@ -200,6 +200,7 @@ EXPORT_SYMBOL(flush_dcache_range);
EXPORT_SYMBOL(flush_icache_user_range); EXPORT_SYMBOL(flush_icache_user_range);
EXPORT_SYMBOL(flush_dcache_page); EXPORT_SYMBOL(flush_dcache_page);
EXPORT_SYMBOL(flush_tlb_kernel_range); EXPORT_SYMBOL(flush_tlb_kernel_range);
EXPORT_SYMBOL(flush_tlb_page);
#ifdef CONFIG_ALTIVEC #ifdef CONFIG_ALTIVEC
EXPORT_SYMBOL(last_task_used_altivec); EXPORT_SYMBOL(last_task_used_altivec);
EXPORT_SYMBOL(giveup_altivec); EXPORT_SYMBOL(giveup_altivec);
......
...@@ -47,8 +47,8 @@ atomic_t ipi_sent; ...@@ -47,8 +47,8 @@ atomic_t ipi_sent;
DEFINE_PER_CPU(unsigned int, prof_multiplier); DEFINE_PER_CPU(unsigned int, prof_multiplier);
DEFINE_PER_CPU(unsigned int, prof_counter); DEFINE_PER_CPU(unsigned int, prof_counter);
unsigned long cache_decay_ticks = HZ/100; unsigned long cache_decay_ticks = HZ/100;
unsigned long cpu_online_map = cpumask_of_cpu(0); cpumask_t cpu_online_map;
unsigned long cpu_possible_map = 1UL; cpumask_t cpu_possible_map;
int smp_hw_index[NR_CPUS]; int smp_hw_index[NR_CPUS];
struct thread_info *secondary_ti; struct thread_info *secondary_ti;
...@@ -336,7 +336,7 @@ static void __devinit smp_store_cpu_info(int id) ...@@ -336,7 +336,7 @@ static void __devinit smp_store_cpu_info(int id)
void __init smp_prepare_cpus(unsigned int max_cpus) void __init smp_prepare_cpus(unsigned int max_cpus)
{ {
int num_cpus; int num_cpus, i;
/* Fixup boot cpu */ /* Fixup boot cpu */
smp_store_cpu_info(smp_processor_id()); smp_store_cpu_info(smp_processor_id());
...@@ -350,7 +350,8 @@ void __init smp_prepare_cpus(unsigned int max_cpus) ...@@ -350,7 +350,8 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
/* Probe platform for CPUs: always linear. */ /* Probe platform for CPUs: always linear. */
num_cpus = smp_ops->probe(); num_cpus = smp_ops->probe();
cpu_possible_map = (1 << num_cpus)-1; for (i = 0; i < num_cpus; ++i)
cpu_set(i, cpu_possible_map);
/* Backup CPU 0 state */ /* Backup CPU 0 state */
__save_cpu_setup(); __save_cpu_setup();
......
...@@ -262,4 +262,14 @@ int sys_olduname(struct oldold_utsname __user * name) ...@@ -262,4 +262,14 @@ int sys_olduname(struct oldold_utsname __user * name)
return error; return error;
} }
/*
* We put the arguments in a different order so we only use 6
* registers for arguments, rather than 7 as sys_fadvise64_64 needs
* (because `offset' goes in r5/r6).
*/
long ppc_fadvise64_64(int fd, int advice, loff_t offset, loff_t len)
{
return sys_fadvise64_64(fd, offset, len, advice);
}
cond_syscall(sys_pciconfig_iobase); cond_syscall(sys_pciconfig_iobase);
...@@ -30,7 +30,8 @@ ...@@ -30,7 +30,8 @@
#endif #endif
/* Rate for the 1.8432 Mhz clock for the onboard serial chip */ /* Rate for the 1.8432 Mhz clock for the onboard serial chip */
#define BASE_BAUD ( 1843200 / 16 ) #define BASE_BAUD ( 1843200 / 16 )
#define UART_CLK 1843200
#ifdef CONFIG_SERIAL_DETECT_IRQ #ifdef CONFIG_SERIAL_DETECT_IRQ
#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF|ASYNC_SKIP_TEST|ASYNC_AUTO_IRQ) #define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF|ASYNC_SKIP_TEST|ASYNC_AUTO_IRQ)
......
...@@ -31,6 +31,9 @@ ...@@ -31,6 +31,9 @@
#include <linux/ide.h> #include <linux/ide.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/root_dev.h> #include <linux/root_dev.h>
#include <linux/serial.h>
#include <linux/tty.h> /* for linux/serial_core.h */
#include <linux/serial_core.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
...@@ -49,36 +52,94 @@ ...@@ -49,36 +52,94 @@
#include <asm/pplus.h> #include <asm/pplus.h>
#include "mcpn765.h" #include "mcpn765.h"
#include "mcpn765_serial.h"
static u_char mcpn765_openpic_initsenses[] __initdata = { static u_char mcpn765_openpic_initsenses[] __initdata = {
0, /* 16: i8259 cascade (active high) */ (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE),/* 16: i8259 cascade */
1, /* 17: COM1,2,3,4 */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 17: COM1,2,3,4 */
1, /* 18: Enet 1 (front panel) */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 18: Enet 1 (front) */
1, /* 19: HAWK WDT XXXX */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 19: HAWK WDT XXXX */
1, /* 20: 21554 PCI-PCI bridge */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 20: 21554 bridge */
1, /* 21: cPCI INTA# */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 21: cPCI INTA# */
1, /* 22: cPCI INTB# */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 22: cPCI INTB# */
1, /* 23: cPCI INTC# */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 23: cPCI INTC# */
1, /* 24: cPCI INTD# */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 24: cPCI INTD# */
1, /* 25: PMC1 INTA#, PMC2 INTB# */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 25: PMC1 INTA#,PMC2 INTB#*/
1, /* 26: PMC1 INTB#, PMC2 INTC# */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 26: PMC1 INTB#,PMC2 INTC#*/
1, /* 27: PMC1 INTC#, PMC2 INTD# */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 27: PMC1 INTC#,PMC2 INTD#*/
1, /* 28: PMC1 INTD#, PMC2 INTA# */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 28: PMC1 INTD#,PMC2 INTA#*/
1, /* 29: Enet 2 (connected to J3) */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 29: Enet 2 (J3) */
1, /* 30: Abort Switch */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 30: Abort Switch */
1, /* 31: RTC Alarm */ (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),/* 31: RTC Alarm */
}; };
extern u_int openpic_irq(void); extern u_int openpic_irq(void);
extern char cmd_line[]; extern char cmd_line[];
extern void gen550_progress(char *, unsigned short);
extern void gen550_init(int, struct uart_port *);
int use_of_interrupt_tree = 0; int use_of_interrupt_tree = 0;
static void mcpn765_halt(void); static void mcpn765_halt(void);
TODC_ALLOC(); TODC_ALLOC();
#if defined(CONFIG_SERIAL_8250) && \
(defined(CONFIG_KGDB) || defined(CONFIG_SERIAL_TEXT_DEBUG))
static void __init
mcpn765_early_serial_map(void)
{
struct uart_port serial_req;
/* Setup serial port access */
memset(&serial_req, 0, sizeof(serial_req));
serial_req.uartclk = UART_CLK;
serial_req.irq = 17;
serial_req.flags = STD_COM_FLAGS;
serial_req.iotype = SERIAL_IO_MEM;
serial_req.membase = (u_char *)MCPN765_SERIAL_1;
serial_req.regshift = 4;
gen550_init(0, &serial_req);
if (early_serial_setup(&serial_req) != 0)
printk(KERN_ERR "Early serial init of port 0 failed\n");
/* Assume early_serial_setup() doesn't modify serial_req */
serial_req.line = 1;
serial_req.irq = 17;
serial_req.membase = (u_char *)MCPN765_SERIAL_2;
gen550_init(1, &serial_req);
if (early_serial_setup(&serial_req) != 0)
printk(KERN_ERR "Early serial init of port 1 failed\n");
/* Assume early_serial_setup() doesn't modify serial_req */
serial_req.line = 2;
serial_req.irq = 17;
serial_req.membase = (u_char *)MCPN765_SERIAL_3;
gen550_init(2, &serial_req);
if (early_serial_setup(&serial_req) != 0)
printk(KERN_ERR "Early serial init of port 2 failed\n");
/* Assume early_serial_setup() doesn't modify serial_req */
serial_req.line = 3;
serial_req.irq = 17;
serial_req.membase = (u_char *)MCPN765_SERIAL_4;
gen550_init(3, &serial_req);
if (early_serial_setup(&serial_req) != 0)
printk(KERN_ERR "Early serial init of port 3 failed\n");
}
#endif
static void __init static void __init
mcpn765_setup_arch(void) mcpn765_setup_arch(void)
{ {
...@@ -187,12 +248,12 @@ mcpn765_init_IRQ(void) ...@@ -187,12 +248,12 @@ mcpn765_init_IRQ(void)
if ( ppc_md.progress ) if ( ppc_md.progress )
ppc_md.progress("init_irq: enter", 0); ppc_md.progress("init_irq: enter", 0);
openpic_init(1, NUM_8259_INTERRUPTS, NULL, -1); openpic_init(NUM_8259_INTERRUPTS);
for(i=0; i < NUM_8259_INTERRUPTS; i++) for(i=0; i < NUM_8259_INTERRUPTS; i++)
irq_desc[i].handler = &i8259_pic; irq_desc[i].handler = &i8259_pic;
i8259_init(NULL); i8259_init(0);
if ( ppc_md.progress ) if ( ppc_md.progress )
ppc_md.progress("init_irq: exit", 0); ppc_md.progress("init_irq: exit", 0);
...@@ -361,65 +422,15 @@ mcpn765_ide_init_hwif_ports(hw_regs_t *hw, unsigned long data_port, ...@@ -361,65 +422,15 @@ mcpn765_ide_init_hwif_ports(hw_regs_t *hw, unsigned long data_port,
static __inline__ void static __inline__ void
mcpn765_set_bat(void) mcpn765_set_bat(void)
{ {
unsigned long bat3u, bat3l; mb();
static int mapping_set = 0; mtspr(DBAT1U, 0xfe8000fe);
mtspr(DBAT1L, 0xfe80002a);
if (!mapping_set) { mb();
__asm__ __volatile__(
" lis %0,0xf000\n \
ori %1,%0,0x002a\n \
ori %0,%0,0x1ffe\n \
mtspr 0x21e,%0\n \
mtspr 0x21f,%1\n \
isync\n \
sync "
: "=r" (bat3u), "=r" (bat3l));
mapping_set = 1;
}
return;
} }
#ifdef CONFIG_SERIAL_TEXT_DEBUG
#include <linux/serialP.h>
#include <linux/serial_reg.h>
#include <asm/serial.h>
static struct serial_state rs_table[RS_TABLE_SIZE] = {
SERIAL_PORT_DFNS /* Defined in <asm/serial.h> */
};
static void
mcpn765_progress(char *s, unsigned short hex)
{
volatile char c;
volatile unsigned long com_port;
u16 shift;
com_port = rs_table[0].port;
shift = rs_table[0].iomem_reg_shift;
while ((c = *s++) != 0) {
while ((*((volatile unsigned char *)com_port +
(UART_LSR << shift)) & UART_LSR_THRE) == 0)
;
*(volatile unsigned char *)com_port = c;
if (c == '\n') {
while ((*((volatile unsigned char *)com_port +
(UART_LSR << shift)) & UART_LSR_THRE) == 0)
;
*(volatile unsigned char *)com_port = '\r';
}
}
}
#endif /* CONFIG_SERIAL_TEXT_DEBUG */
void __init void __init
platform_init(unsigned long r3, unsigned long r4, unsigned long r5, platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
unsigned long r6, unsigned long r7) unsigned long r6, unsigned long r7)
{ {
parse_bootinfo(find_bootinfo()); parse_bootinfo(find_bootinfo());
...@@ -458,11 +469,13 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5, ...@@ -458,11 +469,13 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
ppc_md.heartbeat_reset = 0; ppc_md.heartbeat_reset = 0;
ppc_md.heartbeat_count = 0; ppc_md.heartbeat_count = 0;
#ifdef CONFIG_SERIAL_TEXT_DEBUG #if defined(CONFIG_SERIAL_8250) && \
ppc_md.progress = mcpn765_progress; (defined(CONFIG_KGDB) || defined(CONFIG_SERIAL_TEXT_DEBUG))
#else /* !CONFIG_SERIAL_TEXT_DEBUG */ mcpn765_early_serial_map();
ppc_md.progress = NULL; #ifdef CONFIG_SERIAL_TEXT_DEBUG
#endif /* CONFIG_SERIAL_TEXT_DEBUG */ ppc_md.progress = gen550_progress;
#endif
#endif
#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
ppc_ide_md.default_irq = mcpn765_ide_default_irq; ppc_ide_md.default_irq = mcpn765_ide_default_irq;
......
...@@ -356,6 +356,21 @@ sandpoint_setup_arch(void) ...@@ -356,6 +356,21 @@ sandpoint_setup_arch(void)
SANDPOINT_87308_CFG_OUTB(0x30, 0x01); \ SANDPOINT_87308_CFG_OUTB(0x30, 0x01); \
} }
/*
* Fix IDE interrupts.
*/
static int __init
sandpoint_fix_winbond_83553(void)
{
/* Make all 8259 interrupt level sensitive */
outb(0xf8, 0x4d0);
outb(0xde, 0x4d1);
return 0;
}
arch_initcall(sandpoint_fix_winbond_83553);
/* /*
* Initialize the ISA devices on the Nat'l PC87308VUL SuperIO chip. * Initialize the ISA devices on the Nat'l PC87308VUL SuperIO chip.
*/ */
...@@ -391,21 +406,6 @@ sandpoint_setup_natl_87308(void) ...@@ -391,21 +406,6 @@ sandpoint_setup_natl_87308(void)
arch_initcall(sandpoint_setup_natl_87308); arch_initcall(sandpoint_setup_natl_87308);
/*
* Fix IDE interrupts.
*/
static int __init
sandpoint_fix_winbond_83553(void)
{
/* Make all 8259 interrupt level sensitive */
outb(0xf8, 0x4d0);
outb(0xde, 0x4d1);
return 0;
}
arch_initcall(sandpoint_fix_winbond_83553);
static int __init static int __init
sandpoint_request_io(void) sandpoint_request_io(void)
{ {
......
...@@ -61,9 +61,9 @@ ...@@ -61,9 +61,9 @@
#define UART_CLK 1843200 #define UART_CLK 1843200
#ifdef CONFIG_SERIAL_DETECT_IRQ #ifdef CONFIG_SERIAL_DETECT_IRQ
#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF|ASYNC_SKIP_TEST|ASYNC_AUTO_IRQ) #define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF|ASYNC_AUTO_IRQ)
#else #else
#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF|ASYNC_SKIP_TEST) #define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF)
#endif #endif
#define STD_SERIAL_PORT_DFNS \ #define STD_SERIAL_PORT_DFNS \
......
...@@ -794,16 +794,16 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret) ...@@ -794,16 +794,16 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret)
request or data protect error.*/ request or data protect error.*/
ide_dump_status (drive, "command error", stat); ide_dump_status (drive, "command error", stat);
do_end_request = 1; do_end_request = 1;
} else if ((err & ~ABRT_ERR) != 0) {
/* Go to the default handler
for other errors. */
DRIVER(drive)->error(drive, "cdrom_decode_status",stat);
return 1;
} else if (sense_key == MEDIUM_ERROR) { } else if (sense_key == MEDIUM_ERROR) {
/* No point in re-trying a zillion times on a bad /* No point in re-trying a zillion times on a bad
* sector... If we got here the error is not correctable */ * sector... If we got here the error is not correctable */
ide_dump_status (drive, "media error (bad sector)", stat); ide_dump_status (drive, "media error (bad sector)", stat);
do_end_request = 1; do_end_request = 1;
} else if ((err & ~ABRT_ERR) != 0) {
/* Go to the default handler
for other errors. */
DRIVER(drive)->error(drive, "cdrom_decode_status",stat);
return 1;
} else if ((++rq->errors > ERROR_MAX)) { } else if ((++rq->errors > ERROR_MAX)) {
/* We've racked up too many retries. Abort. */ /* We've racked up too many retries. Abort. */
do_end_request = 1; do_end_request = 1;
......
...@@ -280,7 +280,7 @@ static struct input_device_id *input_match_device(struct input_device_id *id, st ...@@ -280,7 +280,7 @@ static struct input_device_id *input_match_device(struct input_device_id *id, st
if (id->id.product != dev->id.product) if (id->id.product != dev->id.product)
continue; continue;
if (id->flags & INPUT_DEVICE_ID_MATCH_BUS) if (id->flags & INPUT_DEVICE_ID_MATCH_VERSION)
if (id->id.version != dev->id.version) if (id->id.version != dev->id.version)
continue; continue;
......
...@@ -6,7 +6,8 @@ comment "SCSI support is needed for USB Storage" ...@@ -6,7 +6,8 @@ comment "SCSI support is needed for USB Storage"
config USB_STORAGE config USB_STORAGE
tristate "USB Mass Storage support" tristate "USB Mass Storage support"
depends on USB && SCSI depends on USB
select SCSI
---help--- ---help---
Say Y here if you want to connect USB mass storage devices to your Say Y here if you want to connect USB mass storage devices to your
computer's USB port. This is the driver you need for USB floppy drives, computer's USB port. This is the driver you need for USB floppy drives,
......
...@@ -557,7 +557,7 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd) ...@@ -557,7 +557,7 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd)
/* Force a full look up iff the parent directory has changed */ /* Force a full look up iff the parent directory has changed */
if (nfs_check_verifier(dir, dentry)) { if (nfs_check_verifier(dir, dentry)) {
if (nfs_lookup_verify_inode(inode, isopen)) if (nfs_lookup_verify_inode(inode, isopen))
goto out_bad; goto out_zap_parent;
goto out_valid; goto out_valid;
} }
...@@ -566,7 +566,7 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd) ...@@ -566,7 +566,7 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd)
if (memcmp(NFS_FH(inode), &fhandle, sizeof(struct nfs_fh))!= 0) if (memcmp(NFS_FH(inode), &fhandle, sizeof(struct nfs_fh))!= 0)
goto out_bad; goto out_bad;
if (nfs_lookup_verify_inode(inode, isopen)) if (nfs_lookup_verify_inode(inode, isopen))
goto out_bad; goto out_zap_parent;
goto out_valid_renew; goto out_valid_renew;
} }
...@@ -587,6 +587,8 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd) ...@@ -587,6 +587,8 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd)
unlock_kernel(); unlock_kernel();
dput(parent); dput(parent);
return 1; return 1;
out_zap_parent:
nfs_zap_caches(dir);
out_bad: out_bad:
NFS_CACHEINV(dir); NFS_CACHEINV(dir);
if (inode && S_ISDIR(inode->i_mode)) { if (inode && S_ISDIR(inode->i_mode)) {
...@@ -670,36 +672,29 @@ static struct dentry *nfs_lookup(struct inode *dir, struct dentry * dentry, stru ...@@ -670,36 +672,29 @@ static struct dentry *nfs_lookup(struct inode *dir, struct dentry * dentry, stru
error = -ENOMEM; error = -ENOMEM;
dentry->d_op = &nfs_dentry_operations; dentry->d_op = &nfs_dentry_operations;
lock_kernel();
/* If we're doing an exclusive create, optimize away the lookup */ /* If we're doing an exclusive create, optimize away the lookup */
if (nfs_is_exclusive_create(dir, nd)) if (nfs_is_exclusive_create(dir, nd))
return NULL; goto no_entry;
lock_kernel();
error = nfs_cached_lookup(dir, dentry, &fhandle, &fattr); error = nfs_cached_lookup(dir, dentry, &fhandle, &fattr);
if (!error) { if (error != 0) {
error = -EACCES; error = NFS_PROTO(dir)->lookup(dir, &dentry->d_name,
inode = nfs_fhget(dentry, &fhandle, &fattr); &fhandle, &fattr);
if (inode) { if (error == -ENOENT)
d_add(dentry, inode); goto no_entry;
nfs_renew_times(dentry); if (error != 0)
error = 0; goto out_unlock;
}
goto out_unlock;
}
error = NFS_PROTO(dir)->lookup(dir, &dentry->d_name, &fhandle, &fattr);
if (error == -ENOENT)
goto no_entry;
if (!error) {
error = -EACCES;
inode = nfs_fhget(dentry, &fhandle, &fattr);
if (inode) {
no_entry:
d_add(dentry, inode);
error = 0;
}
nfs_renew_times(dentry);
} }
error = -EACCES;
inode = nfs_fhget(dentry, &fhandle, &fattr);
if (!inode)
goto out_unlock;
no_entry:
error = 0;
d_add(dentry, inode);
nfs_renew_times(dentry);
out_unlock: out_unlock:
unlock_kernel(); unlock_kernel();
out: out:
......
...@@ -437,6 +437,7 @@ static int __init root_nfs_ports(void) ...@@ -437,6 +437,7 @@ static int __init root_nfs_ports(void)
*/ */
static int __init root_nfs_get_handle(void) static int __init root_nfs_get_handle(void)
{ {
struct nfs_fh fh;
struct sockaddr_in sin; struct sockaddr_in sin;
int status; int status;
int protocol = (nfs_data.flags & NFS_MOUNT_TCP) ? int protocol = (nfs_data.flags & NFS_MOUNT_TCP) ?
...@@ -445,11 +446,14 @@ static int __init root_nfs_get_handle(void) ...@@ -445,11 +446,14 @@ static int __init root_nfs_get_handle(void)
NFS_MNT3_VERSION : NFS_MNT_VERSION; NFS_MNT3_VERSION : NFS_MNT_VERSION;
set_sockaddr(&sin, servaddr, mount_port); set_sockaddr(&sin, servaddr, mount_port);
status = nfsroot_mount(&sin, nfs_path, &nfs_data.root, status = nfsroot_mount(&sin, nfs_path, &fh, version, protocol);
version, protocol);
if (status < 0) if (status < 0)
printk(KERN_ERR "Root-NFS: Server returned error %d " printk(KERN_ERR "Root-NFS: Server returned error %d "
"while mounting %s\n", status, nfs_path); "while mounting %s\n", status, nfs_path);
else {
nfs_data.root.size = fh.size;
memcpy(nfs_data.root.data, fh.data, fh.size);
}
return status; return status;
} }
......
...@@ -195,7 +195,7 @@ typedef struct smc_uart { ...@@ -195,7 +195,7 @@ typedef struct smc_uart {
/* SMC uart mode register (Internal memory map). /* SMC uart mode register (Internal memory map).
*/ */
#define SMCMR_REN ((ushort)0x0001) #define SMCMR_REN ((ushort)0x0001)
#define SMCMR_TEN ((ushort)0x0002) #define SMCMR_TEN ((ushort)0x0002)
#define SMCMR_DM ((ushort)0x000c) #define SMCMR_DM ((ushort)0x000c)
#define SMCMR_SM_GCI ((ushort)0x0000) #define SMCMR_SM_GCI ((ushort)0x0000)
...@@ -212,10 +212,12 @@ typedef struct smc_uart { ...@@ -212,10 +212,12 @@ typedef struct smc_uart {
/* SMC Event and Mask register. /* SMC Event and Mask register.
*/ */
#define SMCM_TXE ((unsigned char)0x10) #define SMCM_BRKE ((unsigned char)0x40) /* When in UART Mode */
#define SMCM_BSY ((unsigned char)0x04) #define SMCM_BRK ((unsigned char)0x10) /* When in UART Mode */
#define SMCM_TX ((unsigned char)0x02) #define SMCM_TXE ((unsigned char)0x10)
#define SMCM_RX ((unsigned char)0x01) #define SMCM_BSY ((unsigned char)0x04)
#define SMCM_TX ((unsigned char)0x02)
#define SMCM_RX ((unsigned char)0x01)
/* Baud rate generators. /* Baud rate generators.
*/ */
...@@ -314,10 +316,10 @@ typedef struct smc_uart { ...@@ -314,10 +316,10 @@ typedef struct smc_uart {
/* SCC Event and Mask register. /* SCC Event and Mask register.
*/ */
#define SCCM_TXE ((unsigned char)0x10) #define SCCM_TXE ((unsigned char)0x10)
#define SCCM_BSY ((unsigned char)0x04) #define SCCM_BSY ((unsigned char)0x04)
#define SCCM_TX ((unsigned char)0x02) #define SCCM_TX ((unsigned char)0x02)
#define SCCM_RX ((unsigned char)0x01) #define SCCM_RX ((unsigned char)0x01)
typedef struct scc_param { typedef struct scc_param {
ushort scc_rbase; /* Rx Buffer descriptor base address */ ushort scc_rbase; /* Rx Buffer descriptor base address */
......
...@@ -654,6 +654,7 @@ extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); ...@@ -654,6 +654,7 @@ extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
*/ */
#define EISA_bus 0 #define EISA_bus 0
#define MCA_bus 0 #define MCA_bus 0
#define MCA_bus__is_a_macro
/* Lazy FPU handling on uni-processor */ /* Lazy FPU handling on uni-processor */
extern struct task_struct *last_task_used_math; extern struct task_struct *last_task_used_math;
......
...@@ -258,8 +258,9 @@ ...@@ -258,8 +258,9 @@
#define __NR_utimes 251 #define __NR_utimes 251
#define __NR_statfs64 252 #define __NR_statfs64 252
#define __NR_fstatfs64 253 #define __NR_fstatfs64 253
#define __NR_fadvise64_64 254
#define __NR_syscalls 254 #define __NR_syscalls 255
#define __NR(n) #n #define __NR(n) #n
......
...@@ -15,7 +15,6 @@ struct rpc_rtt { ...@@ -15,7 +15,6 @@ struct rpc_rtt {
unsigned long timeo; /* default timeout value */ unsigned long timeo; /* default timeout value */
unsigned long srtt[5]; /* smoothed round trip time << 3 */ unsigned long srtt[5]; /* smoothed round trip time << 3 */
unsigned long sdrtt[5]; /* smoothed medium deviation of RTT */ unsigned long sdrtt[5]; /* smoothed medium deviation of RTT */
atomic_t ntimeouts; /* Global count of the number of timeouts */
}; };
...@@ -23,19 +22,4 @@ extern void rpc_init_rtt(struct rpc_rtt *rt, unsigned long timeo); ...@@ -23,19 +22,4 @@ extern void rpc_init_rtt(struct rpc_rtt *rt, unsigned long timeo);
extern void rpc_update_rtt(struct rpc_rtt *rt, unsigned timer, long m); extern void rpc_update_rtt(struct rpc_rtt *rt, unsigned timer, long m);
extern unsigned long rpc_calc_rto(struct rpc_rtt *rt, unsigned timer); extern unsigned long rpc_calc_rto(struct rpc_rtt *rt, unsigned timer);
static inline void rpc_inc_timeo(struct rpc_rtt *rt)
{
atomic_inc(&rt->ntimeouts);
}
static inline void rpc_clear_timeo(struct rpc_rtt *rt)
{
atomic_set(&rt->ntimeouts, 0);
}
static inline int rpc_ntimeo(struct rpc_rtt *rt)
{
return atomic_read(&rt->ntimeouts);
}
#endif /* _LINUX_SUNRPC_TIMER_H */ #endif /* _LINUX_SUNRPC_TIMER_H */
...@@ -98,6 +98,10 @@ struct rpc_rqst { ...@@ -98,6 +98,10 @@ struct rpc_rqst {
struct list_head rq_list; struct list_head rq_list;
struct xdr_buf rq_private_buf; /* The receive buffer
* used in the softirq.
*/
/* /*
* For authentication (e.g. auth_des) * For authentication (e.g. auth_des)
*/ */
...@@ -111,7 +115,7 @@ struct rpc_rqst { ...@@ -111,7 +115,7 @@ struct rpc_rqst {
unsigned long rq_xtime; /* when transmitted */ unsigned long rq_xtime; /* when transmitted */
int rq_ntimeo; int rq_ntimeo;
int rq_nresend; int rq_ntrans;
}; };
#define rq_svec rq_snd_buf.head #define rq_svec rq_snd_buf.head
#define rq_slen rq_snd_buf.len #define rq_slen rq_snd_buf.len
......
...@@ -659,7 +659,7 @@ call_transmit(struct rpc_task *task) ...@@ -659,7 +659,7 @@ call_transmit(struct rpc_task *task)
if (task->tk_status < 0) if (task->tk_status < 0)
return; return;
task->tk_status = xprt_prepare_transmit(task); task->tk_status = xprt_prepare_transmit(task);
if (task->tk_status < 0) if (task->tk_status != 0)
return; return;
/* Encode here so that rpcsec_gss can use correct sequence number. */ /* Encode here so that rpcsec_gss can use correct sequence number. */
if (!task->tk_rqstp->rq_bytes_sent) if (!task->tk_rqstp->rq_bytes_sent)
...@@ -685,7 +685,7 @@ call_status(struct rpc_task *task) ...@@ -685,7 +685,7 @@ call_status(struct rpc_task *task)
struct rpc_rqst *req = task->tk_rqstp; struct rpc_rqst *req = task->tk_rqstp;
int status; int status;
if (req->rq_received != 0) if (req->rq_received > 0 && !req->rq_bytes_sent)
task->tk_status = req->rq_received; task->tk_status = req->rq_received;
dprintk("RPC: %4d call_status (status %d)\n", dprintk("RPC: %4d call_status (status %d)\n",
...@@ -744,14 +744,14 @@ call_timeout(struct rpc_task *task) ...@@ -744,14 +744,14 @@ call_timeout(struct rpc_task *task)
dprintk("RPC: %4d call_timeout (major)\n", task->tk_pid); dprintk("RPC: %4d call_timeout (major)\n", task->tk_pid);
if (clnt->cl_softrtry) { if (clnt->cl_softrtry) {
if (clnt->cl_chatty && !task->tk_exit) if (clnt->cl_chatty)
printk(KERN_NOTICE "%s: server %s not responding, timed out\n", printk(KERN_NOTICE "%s: server %s not responding, timed out\n",
clnt->cl_protname, clnt->cl_server); clnt->cl_protname, clnt->cl_server);
rpc_exit(task, -EIO); rpc_exit(task, -EIO);
return; return;
} }
if (clnt->cl_chatty && !(task->tk_flags & RPC_CALL_MAJORSEEN) && rpc_ntimeo(&clnt->cl_rtt) > 7) { if (clnt->cl_chatty && !(task->tk_flags & RPC_CALL_MAJORSEEN)) {
task->tk_flags |= RPC_CALL_MAJORSEEN; task->tk_flags |= RPC_CALL_MAJORSEEN;
printk(KERN_NOTICE "%s: server %s not responding, still trying\n", printk(KERN_NOTICE "%s: server %s not responding, still trying\n",
clnt->cl_protname, clnt->cl_server); clnt->cl_protname, clnt->cl_server);
...@@ -787,19 +787,26 @@ call_decode(struct rpc_task *task) ...@@ -787,19 +787,26 @@ call_decode(struct rpc_task *task)
if (task->tk_status < 12) { if (task->tk_status < 12) {
if (!clnt->cl_softrtry) { if (!clnt->cl_softrtry) {
task->tk_action = call_transmit; task->tk_action = call_bind;
clnt->cl_stats->rpcretrans++; clnt->cl_stats->rpcretrans++;
} else { goto out_retry;
printk(KERN_WARNING "%s: too small RPC reply size (%d bytes)\n",
clnt->cl_protname, task->tk_status);
rpc_exit(task, -EIO);
} }
printk(KERN_WARNING "%s: too small RPC reply size (%d bytes)\n",
clnt->cl_protname, task->tk_status);
rpc_exit(task, -EIO);
return; return;
} }
/* Check that the softirq receive buffer is valid */
WARN_ON(memcmp(&req->rq_rcv_buf, &req->rq_private_buf,
sizeof(req->rq_rcv_buf)) != 0);
/* Verify the RPC header */ /* Verify the RPC header */
if (!(p = call_verify(task))) if (!(p = call_verify(task))) {
return; if (task->tk_action == NULL)
return;
goto out_retry;
}
/* /*
* The following is an NFS-specific hack to cater for setuid * The following is an NFS-specific hack to cater for setuid
...@@ -812,7 +819,7 @@ call_decode(struct rpc_task *task) ...@@ -812,7 +819,7 @@ call_decode(struct rpc_task *task)
task->tk_flags ^= RPC_CALL_REALUID; task->tk_flags ^= RPC_CALL_REALUID;
task->tk_action = call_bind; task->tk_action = call_bind;
task->tk_suid_retry--; task->tk_suid_retry--;
return; goto out_retry;
} }
} }
...@@ -822,6 +829,10 @@ call_decode(struct rpc_task *task) ...@@ -822,6 +829,10 @@ call_decode(struct rpc_task *task)
task->tk_status = decode(req, p, task->tk_msg.rpc_resp); task->tk_status = decode(req, p, task->tk_msg.rpc_resp);
dprintk("RPC: %4d call_decode result %d\n", task->tk_pid, dprintk("RPC: %4d call_decode result %d\n", task->tk_pid,
task->tk_status); task->tk_status);
return;
out_retry:
req->rq_received = 0;
task->tk_status = 0;
} }
/* /*
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#define RPC_RTO_MAX (60*HZ) #define RPC_RTO_MAX (60*HZ)
#define RPC_RTO_INIT (HZ/5) #define RPC_RTO_INIT (HZ/5)
#define RPC_RTO_MIN (2) #define RPC_RTO_MIN (HZ/10)
void void
rpc_init_rtt(struct rpc_rtt *rt, unsigned long timeo) rpc_init_rtt(struct rpc_rtt *rt, unsigned long timeo)
...@@ -41,8 +41,6 @@ rpc_init_rtt(struct rpc_rtt *rt, unsigned long timeo) ...@@ -41,8 +41,6 @@ rpc_init_rtt(struct rpc_rtt *rt, unsigned long timeo)
rt->srtt[i] = init; rt->srtt[i] = init;
rt->sdrtt[i] = RPC_RTO_INIT; rt->sdrtt[i] = RPC_RTO_INIT;
} }
atomic_set(&rt->ntimeouts, 0);
} }
/* /*
...@@ -52,7 +50,7 @@ rpc_init_rtt(struct rpc_rtt *rt, unsigned long timeo) ...@@ -52,7 +50,7 @@ rpc_init_rtt(struct rpc_rtt *rt, unsigned long timeo)
void void
rpc_update_rtt(struct rpc_rtt *rt, unsigned timer, long m) rpc_update_rtt(struct rpc_rtt *rt, unsigned timer, long m)
{ {
unsigned long *srtt, *sdrtt; long *srtt, *sdrtt;
if (timer-- == 0) if (timer-- == 0)
return; return;
...@@ -64,14 +62,14 @@ rpc_update_rtt(struct rpc_rtt *rt, unsigned timer, long m) ...@@ -64,14 +62,14 @@ rpc_update_rtt(struct rpc_rtt *rt, unsigned timer, long m)
if (m == 0) if (m == 0)
m = 1L; m = 1L;
srtt = &rt->srtt[timer]; srtt = (long *)&rt->srtt[timer];
m -= *srtt >> 3; m -= *srtt >> 3;
*srtt += m; *srtt += m;
if (m < 0) if (m < 0)
m = -m; m = -m;
sdrtt = &rt->sdrtt[timer]; sdrtt = (long *)&rt->sdrtt[timer];
m -= *sdrtt >> 2; m -= *sdrtt >> 2;
*sdrtt += m; *sdrtt += m;
...@@ -101,7 +99,7 @@ rpc_calc_rto(struct rpc_rtt *rt, unsigned timer) ...@@ -101,7 +99,7 @@ rpc_calc_rto(struct rpc_rtt *rt, unsigned timer)
if (timer-- == 0) if (timer-- == 0)
return rt->timeo; return rt->timeo;
res = (rt->srtt[timer] >> 3) + rt->sdrtt[timer]; res = ((rt->srtt[timer] + 7) >> 3) + rt->sdrtt[timer];
if (res > RPC_RTO_MAX) if (res > RPC_RTO_MAX)
res = RPC_RTO_MAX; res = RPC_RTO_MAX;
......
...@@ -138,15 +138,22 @@ xprt_from_sock(struct sock *sk) ...@@ -138,15 +138,22 @@ xprt_from_sock(struct sock *sk)
static int static int
__xprt_lock_write(struct rpc_xprt *xprt, struct rpc_task *task) __xprt_lock_write(struct rpc_xprt *xprt, struct rpc_task *task)
{ {
struct rpc_rqst *req = task->tk_rqstp;
if (!xprt->snd_task) { if (!xprt->snd_task) {
if (xprt->nocong || __xprt_get_cong(xprt, task)) if (xprt->nocong || __xprt_get_cong(xprt, task)) {
xprt->snd_task = task; xprt->snd_task = task;
if (req) {
req->rq_bytes_sent = 0;
req->rq_ntrans++;
}
}
} }
if (xprt->snd_task != task) { if (xprt->snd_task != task) {
dprintk("RPC: %4d TCP write queue full\n", task->tk_pid); dprintk("RPC: %4d TCP write queue full\n", task->tk_pid);
task->tk_timeout = 0; task->tk_timeout = 0;
task->tk_status = -EAGAIN; task->tk_status = -EAGAIN;
if (task->tk_rqstp && task->tk_rqstp->rq_nresend) if (req && req->rq_ntrans)
rpc_sleep_on(&xprt->resend, task, NULL, NULL); rpc_sleep_on(&xprt->resend, task, NULL, NULL);
else else
rpc_sleep_on(&xprt->sending, task, NULL, NULL); rpc_sleep_on(&xprt->sending, task, NULL, NULL);
...@@ -181,8 +188,14 @@ __xprt_lock_write_next(struct rpc_xprt *xprt) ...@@ -181,8 +188,14 @@ __xprt_lock_write_next(struct rpc_xprt *xprt)
if (!task) if (!task)
return; return;
} }
if (xprt->nocong || __xprt_get_cong(xprt, task)) if (xprt->nocong || __xprt_get_cong(xprt, task)) {
struct rpc_rqst *req = task->tk_rqstp;
xprt->snd_task = task; xprt->snd_task = task;
if (req) {
req->rq_bytes_sent = 0;
req->rq_ntrans++;
}
}
} }
/* /*
...@@ -422,6 +435,9 @@ xprt_connect(struct rpc_task *task) ...@@ -422,6 +435,9 @@ xprt_connect(struct rpc_task *task)
if (xprt_connected(xprt)) if (xprt_connected(xprt))
goto out_write; goto out_write;
if (task->tk_rqstp)
task->tk_rqstp->rq_bytes_sent = 0;
/* /*
* We're here because the xprt was marked disconnected. * We're here because the xprt was marked disconnected.
* Start by resetting any existing state. * Start by resetting any existing state.
...@@ -566,14 +582,13 @@ xprt_complete_rqst(struct rpc_xprt *xprt, struct rpc_rqst *req, int copied) ...@@ -566,14 +582,13 @@ xprt_complete_rqst(struct rpc_xprt *xprt, struct rpc_rqst *req, int copied)
if (!xprt->nocong) { if (!xprt->nocong) {
xprt_adjust_cwnd(xprt, copied); xprt_adjust_cwnd(xprt, copied);
__xprt_put_cong(xprt, req); __xprt_put_cong(xprt, req);
if (!req->rq_nresend) { if (req->rq_ntrans == 1) {
unsigned timer = unsigned timer =
task->tk_msg.rpc_proc->p_timer; task->tk_msg.rpc_proc->p_timer;
if (timer) if (timer)
rpc_update_rtt(&clnt->cl_rtt, timer, rpc_update_rtt(&clnt->cl_rtt, timer,
(long)jiffies - req->rq_xtime); (long)jiffies - req->rq_xtime);
} }
rpc_clear_timeo(&clnt->cl_rtt);
} }
#ifdef RPC_PROFILE #ifdef RPC_PROFILE
...@@ -714,11 +729,11 @@ udp_data_ready(struct sock *sk, int len) ...@@ -714,11 +729,11 @@ udp_data_ready(struct sock *sk, int len)
dprintk("RPC: %4d received reply\n", task->tk_pid); dprintk("RPC: %4d received reply\n", task->tk_pid);
if ((copied = rovr->rq_rlen) > repsize) if ((copied = rovr->rq_private_buf.len) > repsize)
copied = repsize; copied = repsize;
/* Suck it into the iovec, verify checksum if not done by hw. */ /* Suck it into the iovec, verify checksum if not done by hw. */
if (csum_partial_copy_to_xdr(&rovr->rq_rcv_buf, skb)) if (csum_partial_copy_to_xdr(&rovr->rq_private_buf, skb))
goto out_unlock; goto out_unlock;
/* Something worked... */ /* Something worked... */
...@@ -841,7 +856,7 @@ tcp_read_request(struct rpc_xprt *xprt, skb_reader_t *desc) ...@@ -841,7 +856,7 @@ tcp_read_request(struct rpc_xprt *xprt, skb_reader_t *desc)
return; return;
} }
rcvbuf = &req->rq_rcv_buf; rcvbuf = &req->rq_private_buf;
len = desc->count; len = desc->count;
if (len > xprt->tcp_reclen - xprt->tcp_offset) { if (len > xprt->tcp_reclen - xprt->tcp_offset) {
skb_reader_t my_desc; skb_reader_t my_desc;
...@@ -859,7 +874,7 @@ tcp_read_request(struct rpc_xprt *xprt, skb_reader_t *desc) ...@@ -859,7 +874,7 @@ tcp_read_request(struct rpc_xprt *xprt, skb_reader_t *desc)
xprt->tcp_copied += len; xprt->tcp_copied += len;
xprt->tcp_offset += len; xprt->tcp_offset += len;
if (xprt->tcp_copied == req->rq_rlen) if (xprt->tcp_copied == req->rq_private_buf.len)
xprt->tcp_flags &= ~XPRT_COPY_DATA; xprt->tcp_flags &= ~XPRT_COPY_DATA;
else if (xprt->tcp_offset == xprt->tcp_reclen) { else if (xprt->tcp_offset == xprt->tcp_reclen) {
if (xprt->tcp_flags & XPRT_LAST_FRAG) if (xprt->tcp_flags & XPRT_LAST_FRAG)
...@@ -1039,21 +1054,6 @@ xprt_write_space(struct sock *sk) ...@@ -1039,21 +1054,6 @@ xprt_write_space(struct sock *sk)
read_unlock(&sk->sk_callback_lock); read_unlock(&sk->sk_callback_lock);
} }
/*
* Exponential backoff for UDP retries
*/
static inline int
xprt_expbackoff(struct rpc_task *task, struct rpc_rqst *req)
{
int backoff;
req->rq_ntimeo++;
backoff = min(rpc_ntimeo(&task->tk_client->cl_rtt), XPRT_MAX_BACKOFF);
if (req->rq_ntimeo < (1 << backoff))
return 1;
return 0;
}
/* /*
* RPC receive timeout handler. * RPC receive timeout handler.
*/ */
...@@ -1067,15 +1067,8 @@ xprt_timer(struct rpc_task *task) ...@@ -1067,15 +1067,8 @@ xprt_timer(struct rpc_task *task)
if (req->rq_received) if (req->rq_received)
goto out; goto out;
if (!xprt->nocong) { xprt_adjust_cwnd(req->rq_xprt, -ETIMEDOUT);
if (xprt_expbackoff(task, req)) { __xprt_put_cong(xprt, req);
rpc_add_timer(task, xprt_timer);
goto out_unlock;
}
rpc_inc_timeo(&task->tk_client->cl_rtt);
xprt_adjust_cwnd(req->rq_xprt, -ETIMEDOUT);
}
req->rq_nresend++;
dprintk("RPC: %4d xprt_timer (%s request)\n", dprintk("RPC: %4d xprt_timer (%s request)\n",
task->tk_pid, req ? "pending" : "backlogged"); task->tk_pid, req ? "pending" : "backlogged");
...@@ -1084,7 +1077,6 @@ xprt_timer(struct rpc_task *task) ...@@ -1084,7 +1077,6 @@ xprt_timer(struct rpc_task *task)
out: out:
task->tk_timeout = 0; task->tk_timeout = 0;
rpc_wake_up_task(task); rpc_wake_up_task(task);
out_unlock:
spin_unlock(&xprt->sock_lock); spin_unlock(&xprt->sock_lock);
} }
...@@ -1104,10 +1096,11 @@ xprt_prepare_transmit(struct rpc_task *task) ...@@ -1104,10 +1096,11 @@ xprt_prepare_transmit(struct rpc_task *task)
if (xprt->shutdown) if (xprt->shutdown)
return -EIO; return -EIO;
if (task->tk_rpcwait)
rpc_remove_wait_queue(task);
spin_lock_bh(&xprt->sock_lock); spin_lock_bh(&xprt->sock_lock);
if (req->rq_received && !req->rq_bytes_sent) {
err = req->rq_received;
goto out_unlock;
}
if (!__xprt_lock_write(xprt, task)) { if (!__xprt_lock_write(xprt, task)) {
err = -EAGAIN; err = -EAGAIN;
goto out_unlock; goto out_unlock;
...@@ -1117,11 +1110,6 @@ xprt_prepare_transmit(struct rpc_task *task) ...@@ -1117,11 +1110,6 @@ xprt_prepare_transmit(struct rpc_task *task)
err = -ENOTCONN; err = -ENOTCONN;
goto out_unlock; goto out_unlock;
} }
if (list_empty(&req->rq_list)) {
list_add_tail(&req->rq_list, &xprt->recv);
req->rq_received = 0;
}
out_unlock: out_unlock:
spin_unlock_bh(&xprt->sock_lock); spin_unlock_bh(&xprt->sock_lock);
return err; return err;
...@@ -1146,6 +1134,20 @@ xprt_transmit(struct rpc_task *task) ...@@ -1146,6 +1134,20 @@ xprt_transmit(struct rpc_task *task)
*marker = htonl(0x80000000|(req->rq_slen-sizeof(*marker))); *marker = htonl(0x80000000|(req->rq_slen-sizeof(*marker)));
} }
smp_rmb();
if (!req->rq_received) {
if (list_empty(&req->rq_list)) {
spin_lock_bh(&xprt->sock_lock);
/* Update the softirq receive buffer */
memcpy(&req->rq_private_buf, &req->rq_rcv_buf,
sizeof(req->rq_private_buf));
/* Add request to the receive list */
list_add_tail(&req->rq_list, &xprt->recv);
spin_unlock_bh(&xprt->sock_lock);
}
} else if (!req->rq_bytes_sent)
return;
/* Continue transmitting the packet/record. We must be careful /* Continue transmitting the packet/record. We must be careful
* to cope with writespace callbacks arriving _after_ we have * to cope with writespace callbacks arriving _after_ we have
* called xprt_sendmsg(). * called xprt_sendmsg().
...@@ -1160,8 +1162,12 @@ xprt_transmit(struct rpc_task *task) ...@@ -1160,8 +1162,12 @@ xprt_transmit(struct rpc_task *task)
if (xprt->stream) { if (xprt->stream) {
req->rq_bytes_sent += status; req->rq_bytes_sent += status;
if (req->rq_bytes_sent >= req->rq_slen) /* If we've sent the entire packet, immediately
* reset the count of bytes sent. */
if (req->rq_bytes_sent >= req->rq_slen) {
req->rq_bytes_sent = 0;
goto out_receive; goto out_receive;
}
} else { } else {
if (status >= req->rq_slen) if (status >= req->rq_slen)
goto out_receive; goto out_receive;
...@@ -1182,9 +1188,6 @@ xprt_transmit(struct rpc_task *task) ...@@ -1182,9 +1188,6 @@ xprt_transmit(struct rpc_task *task)
* hence there is no danger of the waking up task being put on * hence there is no danger of the waking up task being put on
* schedq, and being picked up by a parallel run of rpciod(). * schedq, and being picked up by a parallel run of rpciod().
*/ */
if (req->rq_received)
goto out_release;
task->tk_status = status; task->tk_status = status;
switch (status) { switch (status) {
...@@ -1214,22 +1217,21 @@ xprt_transmit(struct rpc_task *task) ...@@ -1214,22 +1217,21 @@ xprt_transmit(struct rpc_task *task)
if (xprt->stream) if (xprt->stream)
xprt_disconnect(xprt); xprt_disconnect(xprt);
} }
out_release:
xprt_release_write(xprt, task); xprt_release_write(xprt, task);
req->rq_bytes_sent = 0;
return; return;
out_receive: out_receive:
dprintk("RPC: %4d xmit complete\n", task->tk_pid); dprintk("RPC: %4d xmit complete\n", task->tk_pid);
/* Set the task's receive timeout value */ /* Set the task's receive timeout value */
spin_lock_bh(&xprt->sock_lock);
if (!xprt->nocong) { if (!xprt->nocong) {
task->tk_timeout = rpc_calc_rto(&clnt->cl_rtt, task->tk_timeout = rpc_calc_rto(&clnt->cl_rtt,
task->tk_msg.rpc_proc->p_timer); task->tk_msg.rpc_proc->p_timer);
req->rq_ntimeo = 0; task->tk_timeout <<= clnt->cl_timeout.to_retries
- req->rq_timeout.to_retries;
if (task->tk_timeout > req->rq_timeout.to_maxval) if (task->tk_timeout > req->rq_timeout.to_maxval)
task->tk_timeout = req->rq_timeout.to_maxval; task->tk_timeout = req->rq_timeout.to_maxval;
} else } else
task->tk_timeout = req->rq_timeout.to_current; task->tk_timeout = req->rq_timeout.to_current;
spin_lock_bh(&xprt->sock_lock);
/* Don't race with disconnect */ /* Don't race with disconnect */
if (!xprt_connected(xprt)) if (!xprt_connected(xprt))
task->tk_status = -ENOTCONN; task->tk_status = -ENOTCONN;
...@@ -1237,7 +1239,6 @@ xprt_transmit(struct rpc_task *task) ...@@ -1237,7 +1239,6 @@ xprt_transmit(struct rpc_task *task)
rpc_sleep_on(&xprt->pending, task, NULL, xprt_timer); rpc_sleep_on(&xprt->pending, task, NULL, xprt_timer);
__xprt_release_write(xprt, task); __xprt_release_write(xprt, task);
spin_unlock_bh(&xprt->sock_lock); spin_unlock_bh(&xprt->sock_lock);
req->rq_bytes_sent = 0;
} }
/* /*
......
...@@ -34,10 +34,8 @@ static void vxpocket_config(dev_link_t *link); ...@@ -34,10 +34,8 @@ static void vxpocket_config(dev_link_t *link);
static int vxpocket_event(event_t event, int priority, event_callback_args_t *args); static int vxpocket_event(event_t event, int priority, event_callback_args_t *args);
static void vxpocket_release(u_long arg) static void vxpocket_release(dev_link_t* link)
{ {
dev_link_t *link = (dev_link_t *)arg;
if (link->state & DEV_CONFIG) { if (link->state & DEV_CONFIG) {
/* release cs resources */ /* release cs resources */
CardServices(ReleaseConfiguration, link->handle); CardServices(ReleaseConfiguration, link->handle);
...@@ -56,7 +54,7 @@ static int snd_vxpocket_free(vx_core_t *chip) ...@@ -56,7 +54,7 @@ static int snd_vxpocket_free(vx_core_t *chip)
struct snd_vxp_entry *hw; struct snd_vxp_entry *hw;
dev_link_t *link = &vxp->link; dev_link_t *link = &vxp->link;
vxpocket_release((u_long)link); vxpocket_release(link);
/* Break the link with Card Services */ /* Break the link with Card Services */
if (link->handle) if (link->handle)
...@@ -148,9 +146,6 @@ dev_link_t *snd_vxpocket_attach(struct snd_vxp_entry *hw) ...@@ -148,9 +146,6 @@ dev_link_t *snd_vxpocket_attach(struct snd_vxp_entry *hw)
link->irq.Handler = &snd_vx_irq_handler; link->irq.Handler = &snd_vx_irq_handler;
link->irq.Instance = chip; link->irq.Instance = chip;
link->release.function = &vxpocket_release;
link->release.data = (u_long)link;
link->conf.Attributes = CONF_ENABLE_IRQ; link->conf.Attributes = CONF_ENABLE_IRQ;
link->conf.Vcc = 50; link->conf.Vcc = 50;
link->conf.IntType = INT_MEMORY_AND_IO; link->conf.IntType = INT_MEMORY_AND_IO;
...@@ -229,8 +224,6 @@ void snd_vxpocket_detach(struct snd_vxp_entry *hw, dev_link_t *link) ...@@ -229,8 +224,6 @@ void snd_vxpocket_detach(struct snd_vxp_entry *hw, dev_link_t *link)
{ {
vx_core_t *chip = snd_magic_cast(vx_core_t, link->priv, return); vx_core_t *chip = snd_magic_cast(vx_core_t, link->priv, return);
del_timer(&link->release);
snd_printdd(KERN_DEBUG "vxpocket_detach called\n"); snd_printdd(KERN_DEBUG "vxpocket_detach called\n");
/* Remove the interface data from the linked list */ /* Remove the interface data from the linked list */
if (hw) { if (hw) {
...@@ -326,7 +319,6 @@ static int vxpocket_event(event_t event, int priority, event_callback_args_t *ar ...@@ -326,7 +319,6 @@ static int vxpocket_event(event_t event, int priority, event_callback_args_t *ar
snd_printdd(KERN_DEBUG "CARD_REMOVAL..\n"); snd_printdd(KERN_DEBUG "CARD_REMOVAL..\n");
link->state &= ~DEV_PRESENT; link->state &= ~DEV_PRESENT;
if (link->state & DEV_CONFIG) { if (link->state & DEV_CONFIG) {
mod_timer(&link->release, jiffies + HZ/20);
chip->chip_status |= VX_STAT_IS_STALE; chip->chip_status |= VX_STAT_IS_STALE;
} }
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment