Merge branch 'master' into gfs2
This commit is contained in:
commit
91fa479641
|
@ -12,6 +12,9 @@
|
|||
*.ko
|
||||
*.so
|
||||
*.mod.c
|
||||
*.i
|
||||
*.lst
|
||||
*.symtypes
|
||||
|
||||
#
|
||||
# Top-level generic files
|
||||
|
|
|
@ -308,6 +308,8 @@ then you just add a line saying
|
|||
|
||||
Signed-off-by: Random J Developer <random@developer.example.org>
|
||||
|
||||
using your real name (sorry, no pseudonyms or anonymous contributions.)
|
||||
|
||||
Some people also put extra tags at the end. They'll just be ignored for
|
||||
now, but you can do this to mark internal company procedures or just
|
||||
point out some special detail about the sign-off.
|
||||
|
|
|
@ -20,6 +20,7 @@ This driver is known to work with the following cards:
|
|||
* SA P400i
|
||||
* SA E200
|
||||
* SA E200i
|
||||
* SA E500
|
||||
|
||||
If nodes are not already created in the /dev/cciss directory, run as root:
|
||||
|
||||
|
|
|
@ -281,3 +281,16 @@ Why: The deferred output hooks are a layering violation causing unusual
|
|||
Who: Patrick McHardy <kaber@trash.net>
|
||||
|
||||
---------------------------
|
||||
|
||||
What: frame diverter
|
||||
When: November 2006
|
||||
Why: The frame diverter is included in most distribution kernels, but is
|
||||
broken. It does not correctly handle many things:
|
||||
- IPV6
|
||||
- non-linear skb's
|
||||
- network device RCU on removal
|
||||
- input frames not correctly checked for protocol errors
|
||||
It also adds allocation overhead even if not enabled.
|
||||
It is not clear if anyone is still using it.
|
||||
Who: Stephen Hemminger <shemminger@osdl.org>
|
||||
|
||||
|
|
|
@ -181,6 +181,7 @@ filled out, however:
|
|||
5 ELILO
|
||||
7 GRuB
|
||||
8 U-BOOT
|
||||
9 Xen
|
||||
|
||||
Please contact <hpa@zytor.com> if you need a bootloader ID
|
||||
value assigned.
|
||||
|
|
|
@ -63,6 +63,10 @@ Offset Type Description
|
|||
2 for bootsect-loader
|
||||
3 for SYSLINUX
|
||||
4 for ETHERBOOT
|
||||
5 for ELILO
|
||||
7 for GRuB
|
||||
8 for U-BOOT
|
||||
9 for Xen
|
||||
V = version
|
||||
0x211 char loadflags:
|
||||
bit0 = 1: kernel is loaded high (bzImage)
|
||||
|
|
|
@ -697,6 +697,12 @@ running once the system is up.
|
|||
ips= [HW,SCSI] Adaptec / IBM ServeRAID controller
|
||||
See header of drivers/scsi/ips.c.
|
||||
|
||||
ports= [IP_VS_FTP] IPVS ftp helper module
|
||||
Default is 21.
|
||||
Up to 8 (IP_VS_APP_MAX_PORTS) ports
|
||||
may be specified.
|
||||
Format: <port>,<port>....
|
||||
|
||||
irqfixup [HW]
|
||||
When an interrupt is not handled search all handlers
|
||||
for it. Intended to get systems with badly broken
|
||||
|
@ -1183,8 +1189,6 @@ running once the system is up.
|
|||
Mechanism 2.
|
||||
nommconf [IA-32,X86_64] Disable use of MMCONFIG for PCI
|
||||
Configuration
|
||||
mmconf [IA-32,X86_64] Force MMCONFIG. This is useful
|
||||
to override the builtin blacklist.
|
||||
nomsi [MSI] If the PCI_MSI kernel config parameter is
|
||||
enabled, this kernel boot option can be used to
|
||||
disable the use of MSI interrupts system-wide.
|
||||
|
|
|
@ -102,9 +102,15 @@ inet_peer_gc_maxtime - INTEGER
|
|||
TCP variables:
|
||||
|
||||
tcp_abc - INTEGER
|
||||
Controls Appropriate Byte Count defined in RFC3465. If set to
|
||||
0 then does congestion avoid once per ack. 1 is conservative
|
||||
value, and 2 is more agressive.
|
||||
Controls Appropriate Byte Count (ABC) defined in RFC3465.
|
||||
ABC is a way of increasing congestion window (cwnd) more slowly
|
||||
in response to partial acknowledgments.
|
||||
Possible values are:
|
||||
0 increase cwnd once per acknowledgment (no ABC)
|
||||
1 increase cwnd once per acknowledgment of full sized segment
|
||||
2 allow increase cwnd by two if acknowledgment is
|
||||
of two segments to compensate for delayed acknowledgments.
|
||||
Default: 0 (off)
|
||||
|
||||
tcp_syn_retries - INTEGER
|
||||
Number of times initial SYNs for an active TCP connection attempt
|
||||
|
|
10
MAINTAINERS
10
MAINTAINERS
|
@ -416,7 +416,7 @@ S: Supported
|
|||
ATM
|
||||
P: Chas Williams
|
||||
M: chas@cmf.nrl.navy.mil
|
||||
L: linux-atm-general@lists.sourceforge.net
|
||||
L: linux-atm-general@lists.sourceforge.net (subscribers-only)
|
||||
W: http://linux-atm.sourceforge.net
|
||||
S: Maintained
|
||||
|
||||
|
@ -2828,6 +2828,14 @@ M: hadi@cyberus.ca
|
|||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
TCP LOW PRIORITY MODULE
|
||||
P: Wong Hoi Sing, Edison
|
||||
M: hswong3i@gmail.com
|
||||
P: Hung Hing Lun, Mike
|
||||
M: hlhung3i@gmail.com
|
||||
W: http://tcp-lp-mod.sourceforge.net/
|
||||
S: Maintained
|
||||
|
||||
TI OMAP RANDOM NUMBER GENERATOR SUPPORT
|
||||
P: Deepak Saxena
|
||||
M: dsaxena@plexity.net
|
||||
|
|
11
Makefile
11
Makefile
|
@ -1,8 +1,8 @@
|
|||
VERSION = 2
|
||||
PATCHLEVEL = 6
|
||||
SUBLEVEL = 18
|
||||
EXTRAVERSION = -rc7
|
||||
NAME=Crazed Snow-Weasel
|
||||
EXTRAVERSION =
|
||||
NAME=Avast! A bilge rat!
|
||||
|
||||
# *DOCUMENTATION*
|
||||
# To see a list of typical targets execute "make help"
|
||||
|
@ -889,7 +889,7 @@ depend dep:
|
|||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Kernel headers
|
||||
INSTALL_HDR_PATH=$(MODLIB)/abi
|
||||
INSTALL_HDR_PATH=$(objtree)/usr
|
||||
export INSTALL_HDR_PATH
|
||||
|
||||
PHONY += headers_install
|
||||
|
@ -986,7 +986,7 @@ CLEAN_FILES += vmlinux System.map \
|
|||
.tmp_kallsyms* .tmp_version .tmp_vmlinux* .tmp_System.map
|
||||
|
||||
# Directories & files removed with 'make mrproper'
|
||||
MRPROPER_DIRS += include/config include2
|
||||
MRPROPER_DIRS += include/config include2 usr/include
|
||||
MRPROPER_FILES += .config .config.old include/asm .version .old_version \
|
||||
include/linux/autoconf.h include/linux/version.h \
|
||||
include/linux/utsrelease.h \
|
||||
|
@ -1077,11 +1077,12 @@ help:
|
|||
@echo ' kernelrelease - Output the release version string'
|
||||
@echo ' kernelversion - Output the version stored in Makefile'
|
||||
@echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'
|
||||
@echo ' (default: /lib/modules/$$VERSION/abi)'
|
||||
@echo ' (default: $(INSTALL_HDR_PATH))'
|
||||
@echo ''
|
||||
@echo 'Static analysers'
|
||||
@echo ' checkstack - Generate a list of stack hogs'
|
||||
@echo ' namespacecheck - Name space analysis on compiled kernel'
|
||||
@echo ' headers_check - Sanity check on exported headers'
|
||||
@echo ''
|
||||
@echo 'Kernel packaging:'
|
||||
@$(MAKE) $(build)=$(package-dir) help
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -81,9 +81,17 @@ config SMDK2440_CPU2442
|
|||
depends on ARCH_S3C2440
|
||||
select CPU_S3C2442
|
||||
|
||||
config MACH_S3C2413
|
||||
bool
|
||||
help
|
||||
Internal node for S3C2413 verison of SMDK2413, so that
|
||||
machine_is_s3c2413() will work when MACH_SMDK2413 is
|
||||
selected
|
||||
|
||||
config MACH_SMDK2413
|
||||
bool "SMDK2413"
|
||||
select CPU_S3C2412
|
||||
select MACH_S3C2413
|
||||
select MACH_SMDK
|
||||
help
|
||||
Say Y here if you are using an SMDK2413
|
||||
|
|
|
@ -100,5 +100,10 @@ s3c_irqsub_ack(unsigned int irqno, unsigned int parentmask, unsigned int group)
|
|||
|
||||
/* exported for use in arch/arm/mach-s3c2410 */
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
extern int s3c_irq_wake(unsigned int irqno, unsigned int state);
|
||||
#else
|
||||
#define s3c_irq_wake NULL
|
||||
#endif
|
||||
|
||||
extern int s3c_irqext_type(unsigned int irq, unsigned int type);
|
||||
|
|
|
@ -35,11 +35,15 @@
|
|||
#include <asm/mach/irq.h>
|
||||
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/proc-fns.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
|
||||
#include <asm/arch/idle.h>
|
||||
|
||||
#include <asm/arch/regs-clock.h>
|
||||
#include <asm/arch/regs-serial.h>
|
||||
#include <asm/arch/regs-power.h>
|
||||
#include <asm/arch/regs-gpio.h>
|
||||
#include <asm/arch/regs-gpioj.h>
|
||||
#include <asm/arch/regs-dsc.h>
|
||||
|
@ -75,6 +79,27 @@ void __init s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no)
|
|||
s3c_device_nand.name = "s3c2412-nand";
|
||||
}
|
||||
|
||||
/* s3c2412_idle
|
||||
*
|
||||
* use the standard idle call by ensuring the idle mode
|
||||
* in power config, then issuing the idle co-processor
|
||||
* instruction
|
||||
*/
|
||||
|
||||
static void s3c2412_idle(void)
|
||||
{
|
||||
unsigned long tmp;
|
||||
|
||||
/* ensure our idle mode is to go to idle */
|
||||
|
||||
tmp = __raw_readl(S3C2412_PWRCFG);
|
||||
tmp &= ~S3C2412_PWRCFG_STANDBYWFI_MASK;
|
||||
tmp |= S3C2412_PWRCFG_STANDBYWFI_IDLE;
|
||||
__raw_writel(tmp, S3C2412_PWRCFG);
|
||||
|
||||
cpu_do_idle();
|
||||
}
|
||||
|
||||
/* s3c2412_map_io
|
||||
*
|
||||
* register the standard cpu IO areas, and any passed in from the
|
||||
|
@ -87,6 +112,10 @@ void __init s3c2412_map_io(struct map_desc *mach_desc, int mach_size)
|
|||
|
||||
s3c24xx_va_gpio2 = S3C24XX_VA_GPIO + 0x10;
|
||||
|
||||
/* set our idle function */
|
||||
|
||||
s3c24xx_idle = s3c2412_idle;
|
||||
|
||||
/* register our io-tables */
|
||||
|
||||
iotable_init(s3c2412_iodesc, ARRAY_SIZE(s3c2412_iodesc));
|
||||
|
|
|
@ -644,7 +644,7 @@ __80219_proc_info:
|
|||
.type __8032x_proc_info,#object
|
||||
__8032x_proc_info:
|
||||
.long 0x69052420
|
||||
.long 0xffffffe0
|
||||
.long 0xfffff7e0
|
||||
.long PMD_TYPE_SECT | \
|
||||
PMD_SECT_BUFFERABLE | \
|
||||
PMD_SECT_CACHEABLE | \
|
||||
|
|
|
@ -209,6 +209,10 @@ ENTRY(ret_from_fork)
|
|||
GET_THREAD_INFO(%ebp)
|
||||
popl %eax
|
||||
CFI_ADJUST_CFA_OFFSET -4
|
||||
pushl $0x0202 # Reset kernel eflags
|
||||
CFI_ADJUST_CFA_OFFSET 4
|
||||
popfl
|
||||
CFI_ADJUST_CFA_OFFSET -4
|
||||
jmp syscall_exit
|
||||
CFI_ENDPROC
|
||||
|
||||
|
|
|
@ -956,6 +956,38 @@ efi_memory_present_wrapper(unsigned long start, unsigned long end, void *arg)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* This function checks if the entire range <start,end> is mapped with type.
|
||||
*
|
||||
* Note: this function only works correct if the e820 table is sorted and
|
||||
* not-overlapping, which is the case
|
||||
*/
|
||||
int __init
|
||||
e820_all_mapped(unsigned long s, unsigned long e, unsigned type)
|
||||
{
|
||||
u64 start = s;
|
||||
u64 end = e;
|
||||
int i;
|
||||
for (i = 0; i < e820.nr_map; i++) {
|
||||
struct e820entry *ei = &e820.map[i];
|
||||
if (type && ei->type != type)
|
||||
continue;
|
||||
/* is the region (part) in overlap with the current region ?*/
|
||||
if (ei->addr >= end || ei->addr + ei->size <= start)
|
||||
continue;
|
||||
/* if the region is at the beginning of <start,end> we move
|
||||
* start to the end of the region since it's ok until there
|
||||
*/
|
||||
if (ei->addr <= start)
|
||||
start = ei->addr + ei->size;
|
||||
/* if start is now at or beyond end, we're done, full
|
||||
* coverage */
|
||||
if (start >= end)
|
||||
return 1; /* we're done */
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Find the highest page frame number we have available
|
||||
*/
|
||||
|
|
|
@ -337,6 +337,8 @@ static int __init ppro_init(char ** cpu_type)
|
|||
|
||||
if (cpu_model == 14)
|
||||
*cpu_type = "i386/core";
|
||||
else if (cpu_model == 15)
|
||||
*cpu_type = "i386/core_2";
|
||||
else if (cpu_model > 0xd)
|
||||
return 0;
|
||||
else if (cpu_model == 9) {
|
||||
|
|
|
@ -237,11 +237,6 @@ char * __devinit pcibios_setup(char *str)
|
|||
pci_probe &= ~PCI_PROBE_MMCONF;
|
||||
return NULL;
|
||||
}
|
||||
/* override DMI blacklist */
|
||||
else if (!strcmp(str, "mmconf")) {
|
||||
pci_probe |= PCI_PROBE_MMCONF_FORCE;
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
else if (!strcmp(str, "noacpi")) {
|
||||
acpi_noirq_set();
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#include <linux/pci.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/dmi.h>
|
||||
#include <asm/e820.h>
|
||||
#include "pci.h"
|
||||
|
||||
|
@ -188,31 +187,9 @@ static __init void unreachable_devices(void)
|
|||
}
|
||||
}
|
||||
|
||||
static int disable_mcfg(struct dmi_system_id *d)
|
||||
{
|
||||
printk("PCI: %s detected. Disabling MCFG.\n", d->ident);
|
||||
pci_probe &= ~PCI_PROBE_MMCONF;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct dmi_system_id __initdata dmi_bad_mcfg[] = {
|
||||
/* Has broken MCFG table that makes the system hang when used */
|
||||
{
|
||||
.callback = disable_mcfg,
|
||||
.ident = "Intel D3C5105 SDV",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_BIOS_VENDOR, "Intel"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "D26928"),
|
||||
},
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
void __init pci_mmcfg_init(void)
|
||||
{
|
||||
dmi_check_system(dmi_bad_mcfg);
|
||||
|
||||
if ((pci_probe & (PCI_PROBE_MMCONF_FORCE|PCI_PROBE_MMCONF)) == 0)
|
||||
if ((pci_probe & PCI_PROBE_MMCONF) == 0)
|
||||
return;
|
||||
|
||||
acpi_table_parse(ACPI_MCFG, acpi_parse_mcfg);
|
||||
|
@ -221,6 +198,15 @@ void __init pci_mmcfg_init(void)
|
|||
(pci_mmcfg_config[0].base_address == 0))
|
||||
return;
|
||||
|
||||
if (!e820_all_mapped(pci_mmcfg_config[0].base_address,
|
||||
pci_mmcfg_config[0].base_address + MMCONFIG_APER_MIN,
|
||||
E820_RESERVED)) {
|
||||
printk(KERN_ERR "PCI: BIOS Bug: MCFG area at %x is not E820-reserved\n",
|
||||
pci_mmcfg_config[0].base_address);
|
||||
printk(KERN_ERR "PCI: Not using MMCONFIG.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
printk(KERN_INFO "PCI: Using MMCONFIG\n");
|
||||
raw_pci_ops = &pci_mmcfg;
|
||||
pci_probe = (pci_probe & ~PCI_PROBE_MASK) | PCI_PROBE_MMCONF;
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
#define PCI_PROBE_CONF1 0x0002
|
||||
#define PCI_PROBE_CONF2 0x0004
|
||||
#define PCI_PROBE_MMCONF 0x0008
|
||||
#define PCI_PROBE_MMCONF_FORCE 0x0010
|
||||
#define PCI_PROBE_MASK 0x00ff
|
||||
#define PCI_PROBE_MASK 0x000f
|
||||
|
||||
#define PCI_NO_SORT 0x0100
|
||||
#define PCI_BIOS_SORT 0x0200
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.17-rc6
|
||||
# Thu Jun 22 15:28:36 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:20:32 2006
|
||||
#
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_PPC_MERGE=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
|
@ -35,6 +36,7 @@ CONFIG_PPC_STD_MMU=y
|
|||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=4
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
|
@ -52,6 +54,7 @@ CONFIG_SWAP=y
|
|||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
|
@ -69,10 +72,12 @@ CONFIG_PRINTK=y
|
|||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
@ -119,7 +124,7 @@ CONFIG_PPC_MULTIPLATFORM=y
|
|||
CONFIG_PPC_CELL=y
|
||||
CONFIG_PPC_CELL_NATIVE=y
|
||||
CONFIG_PPC_IBM_CELL_BLADE=y
|
||||
CONFIG_PPC_SYSTEMSIM=y
|
||||
CONFIG_UDBG_RTAS_CONSOLE=y
|
||||
# CONFIG_U3_DART is not set
|
||||
CONFIG_PPC_RTAS=y
|
||||
# CONFIG_RTAS_ERROR_LOGGING is not set
|
||||
|
@ -130,6 +135,7 @@ CONFIG_MMIO_NVRAM=y
|
|||
# CONFIG_PPC_970_NAP is not set
|
||||
# CONFIG_CPU_FREQ is not set
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
# CONFIG_MPIC is not set
|
||||
|
||||
#
|
||||
# Cell Broadband Engine options
|
||||
|
@ -154,6 +160,7 @@ CONFIG_BINFMT_ELF=y
|
|||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_FORCE_MAX_ZONEORDER=13
|
||||
# CONFIG_IOMMU_VMERGE is not set
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_KEXEC=y
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
|
@ -173,6 +180,7 @@ CONFIG_SPARSEMEM_EXTREME=y
|
|||
CONFIG_MEMORY_HOTPLUG=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_RESOURCES_64BIT=y
|
||||
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
|
||||
CONFIG_ARCH_MEMORY_PROBE=y
|
||||
# CONFIG_PPC_64K_PAGES is not set
|
||||
|
@ -187,6 +195,7 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
# CONFIG_PPC_INDIRECT_PCI is not set
|
||||
CONFIG_PCI=y
|
||||
|
@ -235,6 +244,8 @@ CONFIG_SYN_COOKIES=y
|
|||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
CONFIG_INET_TUNNEL=y
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
|
@ -252,7 +263,10 @@ CONFIG_INET6_ESP=m
|
|||
CONFIG_INET6_IPCOMP=m
|
||||
CONFIG_INET6_XFRM_TUNNEL=m
|
||||
CONFIG_INET6_TUNNEL=m
|
||||
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET6_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_IPV6_TUNNEL=m
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
CONFIG_NETFILTER=y
|
||||
# CONFIG_NETFILTER_DEBUG is not set
|
||||
|
||||
|
@ -277,6 +291,7 @@ CONFIG_IP_NF_TFTP=m
|
|||
CONFIG_IP_NF_AMANDA=m
|
||||
# CONFIG_IP_NF_PPTP is not set
|
||||
# CONFIG_IP_NF_H323 is not set
|
||||
# CONFIG_IP_NF_SIP is not set
|
||||
CONFIG_IP_NF_QUEUE=m
|
||||
|
||||
#
|
||||
|
@ -336,6 +351,7 @@ CONFIG_STANDALONE=y
|
|||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
CONFIG_FW_LOADER=y
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
|
@ -372,6 +388,7 @@ CONFIG_BLK_DEV_LOOP=y
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=131072
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -449,8 +466,7 @@ CONFIG_MD_LINEAR=m
|
|||
CONFIG_MD_RAID0=m
|
||||
CONFIG_MD_RAID1=m
|
||||
# CONFIG_MD_RAID10 is not set
|
||||
# CONFIG_MD_RAID5 is not set
|
||||
# CONFIG_MD_RAID6 is not set
|
||||
# CONFIG_MD_RAID456 is not set
|
||||
# CONFIG_MD_MULTIPATH is not set
|
||||
# CONFIG_MD_FAULTY is not set
|
||||
CONFIG_BLK_DEV_DM=m
|
||||
|
@ -544,6 +560,7 @@ CONFIG_SPIDER_NET=m
|
|||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
|
@ -620,6 +637,7 @@ CONFIG_SERIO_SERPORT=y
|
|||
CONFIG_VT=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
# CONFIG_VT_HW_CONSOLE_BINDING is not set
|
||||
CONFIG_SERIAL_NONSTANDARD=y
|
||||
# CONFIG_COMPUTONE is not set
|
||||
# CONFIG_ROCKETPORT is not set
|
||||
|
@ -680,6 +698,7 @@ CONFIG_WATCHDOG_RTAS=y
|
|||
#
|
||||
# CONFIG_PCIPCWATCHDOG is not set
|
||||
# CONFIG_WDTPCI is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_GEN_RTC=y
|
||||
# CONFIG_GEN_RTC_X is not set
|
||||
# CONFIG_DTLK is not set
|
||||
|
@ -725,6 +744,7 @@ CONFIG_I2C_ALGOBIT=y
|
|||
# CONFIG_I2C_I810 is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_OCORES is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
# CONFIG_I2C_SAVAGE4 is not set
|
||||
|
@ -761,7 +781,6 @@ CONFIG_I2C_ALGOBIT=y
|
|||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
|
@ -787,6 +806,7 @@ CONFIG_VIDEO_V4L2=y
|
|||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
|
@ -794,6 +814,7 @@ CONFIG_VIDEO_V4L2=y
|
|||
#
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
|
@ -841,6 +862,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
CONFIG_INFINIBAND=y
|
||||
CONFIG_INFINIBAND_USER_MAD=m
|
||||
CONFIG_INFINIBAND_USER_ACCESS=m
|
||||
CONFIG_INFINIBAND_ADDR_TRANS=y
|
||||
CONFIG_INFINIBAND_MTHCA=m
|
||||
CONFIG_INFINIBAND_MTHCA_DEBUG=y
|
||||
CONFIG_INFINIBAND_IPOIB=m
|
||||
|
@ -856,6 +878,19 @@ CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
|
|||
#
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -877,6 +912,7 @@ CONFIG_FS_POSIX_ACL=y
|
|||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
|
@ -1034,6 +1070,9 @@ CONFIG_CRC32=y
|
|||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_ZLIB_INFLATE=m
|
||||
CONFIG_ZLIB_DEFLATE=m
|
||||
CONFIG_TEXTSEARCH=y
|
||||
CONFIG_TEXTSEARCH_KMP=m
|
||||
CONFIG_PLIST=y
|
||||
|
||||
#
|
||||
# Instrumentation Support
|
||||
|
@ -1046,14 +1085,19 @@ CONFIG_ZLIB_DEFLATE=m
|
|||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=15
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
CONFIG_DEBUG_SPINLOCK_SLEEP=y
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.17
|
||||
# Mon Jul 3 12:08:41 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:22:54 2006
|
||||
#
|
||||
# CONFIG_PPC64 is not set
|
||||
CONFIG_PPC32=y
|
||||
CONFIG_PPC_MERGE=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
|
@ -42,6 +43,7 @@ CONFIG_PPC_STD_MMU=y
|
|||
CONFIG_PPC_STD_MMU_32=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=4
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
|
@ -59,6 +61,7 @@ CONFIG_SWAP=y
|
|||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
|
@ -76,10 +79,12 @@ CONFIG_PRINTK=y
|
|||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
@ -126,7 +131,7 @@ CONFIG_PPC_CHRP=y
|
|||
# CONFIG_PPC_PMAC is not set
|
||||
# CONFIG_PPC_CELL is not set
|
||||
# CONFIG_PPC_CELL_NATIVE is not set
|
||||
CONFIG_MPIC=y
|
||||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
CONFIG_PPC_RTAS=y
|
||||
# CONFIG_RTAS_ERROR_LOGGING is not set
|
||||
CONFIG_RTAS_PROC=y
|
||||
|
@ -136,6 +141,7 @@ CONFIG_PPC_MPC106=y
|
|||
# CONFIG_CPU_FREQ is not set
|
||||
# CONFIG_TAU is not set
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
CONFIG_MPIC=y
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -151,6 +157,7 @@ CONFIG_PREEMPT_NONE=y
|
|||
CONFIG_PREEMPT_BKL=y
|
||||
CONFIG_BINFMT_ELF=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
# CONFIG_KEXEC is not set
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
|
@ -162,6 +169,7 @@ CONFIG_FLATMEM=y
|
|||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
# CONFIG_PM is not set
|
||||
|
@ -173,6 +181,7 @@ CONFIG_ISA_DMA_API=y
|
|||
#
|
||||
CONFIG_ISA=y
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
CONFIG_PPC_I8259=y
|
||||
CONFIG_PPC_INDIRECT_PCI=y
|
||||
CONFIG_PCI=y
|
||||
|
@ -366,6 +375,7 @@ CONFIG_BLK_DEV_LOOP=y
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -622,6 +632,7 @@ CONFIG_8139TOO=y
|
|||
# CONFIG_TLAN is not set
|
||||
CONFIG_VIA_RHINE=y
|
||||
# CONFIG_VIA_RHINE_MMIO is not set
|
||||
# CONFIG_VIA_RHINE_NAPI is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
|
@ -751,6 +762,7 @@ CONFIG_SERIO_LIBPS2=y
|
|||
CONFIG_VT=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
# CONFIG_VT_HW_CONSOLE_BINDING is not set
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
||||
#
|
||||
|
@ -783,6 +795,7 @@ CONFIG_LEGACY_PTY_COUNT=256
|
|||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_GEN_RTC=y
|
||||
# CONFIG_GEN_RTC_X is not set
|
||||
|
@ -894,12 +907,12 @@ CONFIG_VIDEO_V4L2=y
|
|||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
CONFIG_FB_MACMODES=y
|
||||
CONFIG_FB_FIRMWARE_EDID=y
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
CONFIG_FB_TILEBLITTING=y
|
||||
|
@ -1079,7 +1092,7 @@ CONFIG_USB_MON=y
|
|||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_LED is not set
|
||||
# CONFIG_USB_CY7C63 is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
# CONFIG_USB_CYTHERM is not set
|
||||
# CONFIG_USB_PHIDGETKIT is not set
|
||||
# CONFIG_USB_PHIDGETSERVO is not set
|
||||
|
@ -1305,6 +1318,7 @@ CONFIG_ZLIB_INFLATE=m
|
|||
CONFIG_ZLIB_DEFLATE=m
|
||||
CONFIG_TEXTSEARCH=y
|
||||
CONFIG_TEXTSEARCH_KMP=m
|
||||
CONFIG_PLIST=y
|
||||
|
||||
#
|
||||
# Instrumentation Support
|
||||
|
@ -1316,14 +1330,19 @@ CONFIG_TEXTSEARCH_KMP=m
|
|||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=15
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
CONFIG_DEBUG_SPINLOCK_SLEEP=y
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
# CONFIG_DEBUG_HIGHMEM is not set
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.18-rc3
|
||||
# Tue Aug 8 09:12:29 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:22:55 2006
|
||||
#
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_64BIT=y
|
||||
|
@ -126,7 +126,6 @@ CONFIG_PPC_PMAC64=y
|
|||
# CONFIG_PPC_IBM_CELL_BLADE is not set
|
||||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
CONFIG_U3_DART=y
|
||||
CONFIG_MPIC=y
|
||||
# CONFIG_PPC_RTAS is not set
|
||||
# CONFIG_MMIO_NVRAM is not set
|
||||
CONFIG_MPIC_BROKEN_U3=y
|
||||
|
@ -146,6 +145,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
|||
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
|
||||
CONFIG_CPU_FREQ_PMAC64=y
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
CONFIG_MPIC=y
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -192,6 +192,7 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
# CONFIG_PPC_INDIRECT_PCI is not set
|
||||
CONFIG_PCI=y
|
||||
|
@ -772,7 +773,6 @@ CONFIG_HW_CONSOLE=y
|
|||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
# CONFIG_BRIQ_PANEL is not set
|
||||
|
||||
#
|
||||
# IPMI
|
||||
|
@ -1195,7 +1195,6 @@ CONFIG_USB_MON=y
|
|||
CONFIG_USB_SERIAL=m
|
||||
CONFIG_USB_SERIAL_GENERIC=y
|
||||
# CONFIG_USB_SERIAL_AIRPRIME is not set
|
||||
# CONFIG_USB_SERIAL_ANYDATA is not set
|
||||
# CONFIG_USB_SERIAL_ARK3116 is not set
|
||||
CONFIG_USB_SERIAL_BELKIN=m
|
||||
# CONFIG_USB_SERIAL_WHITEHEAT is not set
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.18-rc3
|
||||
# Tue Aug 8 09:15:46 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:22:57 2006
|
||||
#
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_64BIT=y
|
||||
|
@ -129,6 +129,7 @@ CONFIG_IBMVIO=y
|
|||
# CONFIG_PPC_970_NAP is not set
|
||||
# CONFIG_CPU_FREQ is not set
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
# CONFIG_MPIC is not set
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -172,6 +173,7 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
# CONFIG_PPC_INDIRECT_PCI is not set
|
||||
CONFIG_PCI=y
|
||||
|
@ -716,7 +718,6 @@ CONFIG_SERIAL_ICOM=m
|
|||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
# CONFIG_BRIQ_PANEL is not set
|
||||
|
||||
#
|
||||
# IPMI
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.16-rc6
|
||||
# Wed Mar 15 16:19:54 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:24:55 2006
|
||||
#
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_PPC_MERGE=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_PPC=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_COMPAT=y
|
||||
|
@ -29,8 +32,10 @@ CONFIG_POWER4=y
|
|||
CONFIG_PPC_FPU=y
|
||||
# CONFIG_ALTIVEC is not set
|
||||
CONFIG_PPC_STD_MMU=y
|
||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
|
@ -48,11 +53,13 @@ CONFIG_SWAP=y
|
|||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
# CONFIG_CPUSETS is not set
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
# CONFIG_EMBEDDED is not set
|
||||
|
@ -64,14 +71,12 @@ CONFIG_PRINTK=y
|
|||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_CC_ALIGN_FUNCTIONS=0
|
||||
CONFIG_CC_ALIGN_LABELS=0
|
||||
CONFIG_CC_ALIGN_LOOPS=0
|
||||
CONFIG_CC_ALIGN_JUMPS=0
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
@ -82,7 +87,6 @@ CONFIG_BASE_SMALL=0
|
|||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
CONFIG_OBSOLETE_MODPARM=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
CONFIG_KMOD=y
|
||||
|
@ -91,6 +95,7 @@ CONFIG_STOP_MACHINE=y
|
|||
#
|
||||
# Block layer
|
||||
#
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
|
@ -116,14 +121,18 @@ CONFIG_PPC_MULTIPLATFORM=y
|
|||
# CONFIG_PPC_PMAC is not set
|
||||
CONFIG_PPC_MAPLE=y
|
||||
# CONFIG_PPC_CELL is not set
|
||||
# CONFIG_PPC_CELL_NATIVE is not set
|
||||
# CONFIG_PPC_IBM_CELL_BLADE is not set
|
||||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
CONFIG_U3_DART=y
|
||||
CONFIG_MPIC=y
|
||||
# CONFIG_PPC_RTAS is not set
|
||||
# CONFIG_MMIO_NVRAM is not set
|
||||
CONFIG_MPIC_BROKEN_U3=y
|
||||
# CONFIG_PPC_MPC106 is not set
|
||||
CONFIG_PPC_970_NAP=y
|
||||
# CONFIG_CPU_FREQ is not set
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
CONFIG_MPIC=y
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -140,6 +149,7 @@ CONFIG_BINFMT_ELF=y
|
|||
# CONFIG_BINFMT_MISC is not set
|
||||
CONFIG_FORCE_MAX_ZONEORDER=13
|
||||
CONFIG_IOMMU_VMERGE=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_KEXEC=y
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
|
@ -155,6 +165,7 @@ CONFIG_FLATMEM=y
|
|||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_RESOURCES_64BIT=y
|
||||
# CONFIG_PPC_64K_PAGES is not set
|
||||
# CONFIG_SCHED_SMT is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
|
@ -167,11 +178,12 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
# CONFIG_PPC_INDIRECT_PCI is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
CONFIG_PCI_LEGACY_PROC=y
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
|
||||
#
|
||||
|
@ -197,6 +209,8 @@ CONFIG_NET=y
|
|||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
CONFIG_XFRM_USER=m
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
|
@ -214,12 +228,18 @@ CONFIG_IP_PNP_DHCP=y
|
|||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
|
@ -274,6 +294,7 @@ CONFIG_STANDALONE=y
|
|||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
|
@ -310,6 +331,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -484,6 +506,7 @@ CONFIG_E1000=y
|
|||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
|
@ -556,6 +579,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200
|
|||
CONFIG_VT=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
# CONFIG_VT_HW_CONSOLE_BINDING is not set
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
||||
#
|
||||
|
@ -563,6 +587,7 @@ CONFIG_HW_CONSOLE=y
|
|||
#
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_PCI=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=4
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
# CONFIG_SERIAL_8250_EXTENDED is not set
|
||||
|
@ -586,7 +611,7 @@ CONFIG_LEGACY_PTY_COUNT=256
|
|||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_RTC is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_GEN_RTC=y
|
||||
# CONFIG_GEN_RTC_X is not set
|
||||
# CONFIG_DTLK is not set
|
||||
|
@ -632,10 +657,10 @@ CONFIG_I2C_AMD8111=y
|
|||
# CONFIG_I2C_I810 is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_OCORES is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
# CONFIG_I2C_SAVAGE4 is not set
|
||||
# CONFIG_SCx200_ACB is not set
|
||||
# CONFIG_I2C_SIS5595 is not set
|
||||
# CONFIG_I2C_SIS630 is not set
|
||||
# CONFIG_I2C_SIS96X is not set
|
||||
|
@ -654,9 +679,7 @@ CONFIG_I2C_AMD8111=y
|
|||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_RTC_X1205_I2C is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
|
@ -671,7 +694,6 @@ CONFIG_I2C_AMD8111=y
|
|||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
|
@ -683,23 +705,22 @@ CONFIG_I2C_AMD8111=y
|
|||
# Misc devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia Capabilities Port drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
CONFIG_VIDEO_V4L2=y
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_USB_DABUSB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
|
@ -707,6 +728,7 @@ CONFIG_I2C_AMD8111=y
|
|||
#
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
|
@ -718,6 +740,7 @@ CONFIG_DUMMY_CONSOLE=y
|
|||
#
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
CONFIG_USB_ARCH_HAS_EHCI=y
|
||||
CONFIG_USB=y
|
||||
# CONFIG_USB_DEBUG is not set
|
||||
|
||||
|
@ -735,6 +758,7 @@ CONFIG_USB_DEVICEFS=y
|
|||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_SPLIT_ISO=y
|
||||
CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
|
||||
# CONFIG_USB_ISP116X_HCD is not set
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
|
||||
|
@ -771,9 +795,7 @@ CONFIG_USB_HIDINPUT=y
|
|||
# CONFIG_USB_ACECAD is not set
|
||||
# CONFIG_USB_KBTAB is not set
|
||||
# CONFIG_USB_POWERMATE is not set
|
||||
# CONFIG_USB_MTOUCH is not set
|
||||
# CONFIG_USB_ITMTOUCH is not set
|
||||
# CONFIG_USB_EGALAX is not set
|
||||
# CONFIG_USB_TOUCHSCREEN is not set
|
||||
# CONFIG_USB_YEALINK is not set
|
||||
# CONFIG_USB_XPAD is not set
|
||||
# CONFIG_USB_ATI_REMOTE is not set
|
||||
|
@ -786,15 +808,6 @@ CONFIG_USB_HIDINPUT=y
|
|||
#
|
||||
# CONFIG_USB_MDC800 is not set
|
||||
|
||||
#
|
||||
# USB Multimedia devices
|
||||
#
|
||||
# CONFIG_USB_DABUSB is not set
|
||||
|
||||
#
|
||||
# Video4Linux support is needed for USB Multimedia device support
|
||||
#
|
||||
|
||||
#
|
||||
# USB Network Adapters
|
||||
#
|
||||
|
@ -816,7 +829,7 @@ CONFIG_USB_SERIAL=y
|
|||
# CONFIG_USB_SERIAL_CONSOLE is not set
|
||||
CONFIG_USB_SERIAL_GENERIC=y
|
||||
# CONFIG_USB_SERIAL_AIRPRIME is not set
|
||||
# CONFIG_USB_SERIAL_ANYDATA is not set
|
||||
# CONFIG_USB_SERIAL_ARK3116 is not set
|
||||
# CONFIG_USB_SERIAL_BELKIN is not set
|
||||
# CONFIG_USB_SERIAL_WHITEHEAT is not set
|
||||
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
|
||||
|
@ -824,6 +837,7 @@ CONFIG_USB_SERIAL_GENERIC=y
|
|||
CONFIG_USB_SERIAL_CYPRESS_M8=m
|
||||
# CONFIG_USB_SERIAL_EMPEG is not set
|
||||
# CONFIG_USB_SERIAL_FTDI_SIO is not set
|
||||
# CONFIG_USB_SERIAL_FUNSOFT is not set
|
||||
# CONFIG_USB_SERIAL_VISOR is not set
|
||||
# CONFIG_USB_SERIAL_IPAQ is not set
|
||||
# CONFIG_USB_SERIAL_IR is not set
|
||||
|
@ -848,12 +862,15 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
|
|||
# CONFIG_USB_SERIAL_KLSI is not set
|
||||
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
|
||||
# CONFIG_USB_SERIAL_MCT_U232 is not set
|
||||
# CONFIG_USB_SERIAL_NAVMAN is not set
|
||||
# CONFIG_USB_SERIAL_PL2303 is not set
|
||||
# CONFIG_USB_SERIAL_HP4X is not set
|
||||
# CONFIG_USB_SERIAL_SAFE is not set
|
||||
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
|
||||
CONFIG_USB_SERIAL_TI=m
|
||||
# CONFIG_USB_SERIAL_CYBERJACK is not set
|
||||
# CONFIG_USB_SERIAL_XIRCOM is not set
|
||||
# CONFIG_USB_SERIAL_OPTION is not set
|
||||
# CONFIG_USB_SERIAL_OMNINET is not set
|
||||
CONFIG_USB_EZUSB=y
|
||||
|
||||
|
@ -867,10 +884,12 @@ CONFIG_USB_EZUSB=y
|
|||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_LED is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
# CONFIG_USB_CYTHERM is not set
|
||||
# CONFIG_USB_PHIDGETKIT is not set
|
||||
# CONFIG_USB_PHIDGETSERVO is not set
|
||||
# CONFIG_USB_IDMOUSE is not set
|
||||
# CONFIG_USB_APPLEDISPLAY is not set
|
||||
# CONFIG_USB_SISUSBVGA is not set
|
||||
# CONFIG_USB_LD is not set
|
||||
# CONFIG_USB_TEST is not set
|
||||
|
@ -889,6 +908,19 @@ CONFIG_USB_EZUSB=y
|
|||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
# LED devices
|
||||
#
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
|
||||
#
|
||||
# LED drivers
|
||||
#
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
|
||||
#
|
||||
# InfiniBand support
|
||||
#
|
||||
|
@ -898,6 +930,24 @@ CONFIG_USB_EZUSB=y
|
|||
# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
|
||||
#
|
||||
|
||||
#
|
||||
# Real Time Clock
|
||||
#
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -917,6 +967,7 @@ CONFIG_FS_POSIX_ACL=y
|
|||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
|
@ -949,7 +1000,6 @@ CONFIG_TMPFS=y
|
|||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_HUGETLB_PAGE=y
|
||||
CONFIG_RAMFS=y
|
||||
# CONFIG_RELAYFS_FS is not set
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
|
||||
#
|
||||
|
@ -1067,6 +1117,7 @@ CONFIG_CRC_CCITT=y
|
|||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_PLIST=y
|
||||
|
||||
#
|
||||
# Instrumentation Support
|
||||
|
@ -1079,14 +1130,20 @@ CONFIG_ZLIB_INFLATE=y
|
|||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=17
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
CONFIG_DEBUG_SLAB=y
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_SLAB_LEAK is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
CONFIG_DEBUG_SPINLOCK_SLEEP=y
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
|
@ -1100,11 +1157,7 @@ CONFIG_XMON=y
|
|||
CONFIG_XMON_DEFAULT=y
|
||||
# CONFIG_IRQSTACKS is not set
|
||||
CONFIG_BOOTX_TEXT=y
|
||||
# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_G5 is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_RTAS is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.17-rc4
|
||||
# Sat May 27 18:45:55 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:26:55 2006
|
||||
#
|
||||
# CONFIG_PPC64 is not set
|
||||
CONFIG_PPC32=y
|
||||
CONFIG_PPC_MERGE=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_PPC=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_GENERIC_NVRAM=y
|
||||
|
@ -29,6 +31,7 @@ CONFIG_CLASSIC32=y
|
|||
# CONFIG_PPC_82xx is not set
|
||||
# CONFIG_PPC_83xx is not set
|
||||
# CONFIG_PPC_85xx is not set
|
||||
# CONFIG_PPC_86xx is not set
|
||||
# CONFIG_40x is not set
|
||||
# CONFIG_44x is not set
|
||||
# CONFIG_8xx is not set
|
||||
|
@ -39,6 +42,7 @@ CONFIG_PPC_FPU=y
|
|||
CONFIG_PPC_STD_MMU=y
|
||||
CONFIG_PPC_STD_MMU_32=y
|
||||
# CONFIG_SMP is not set
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
|
@ -56,6 +60,7 @@ CONFIG_SWAP=y
|
|||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
|
@ -70,10 +75,12 @@ CONFIG_PRINTK=y
|
|||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
@ -110,13 +117,16 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
|
|||
# CONFIG_PPC_ISERIES is not set
|
||||
CONFIG_EMBEDDED6xx=y
|
||||
# CONFIG_APUS is not set
|
||||
CONFIG_MPIC=y
|
||||
# CONFIG_PPC_CELL is not set
|
||||
# CONFIG_PPC_CELL_NATIVE is not set
|
||||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
# CONFIG_PPC_RTAS is not set
|
||||
# CONFIG_MMIO_NVRAM is not set
|
||||
# CONFIG_PPC_MPC106 is not set
|
||||
# CONFIG_PPC_970_NAP is not set
|
||||
# CONFIG_CPU_FREQ is not set
|
||||
# CONFIG_TAU is not set
|
||||
# CONFIG_PPC_TODC is not set
|
||||
# CONFIG_KATANA is not set
|
||||
# CONFIG_WILLOW is not set
|
||||
# CONFIG_CPCI690 is not set
|
||||
|
@ -146,6 +156,7 @@ CONFIG_MPC7448HPC2=y
|
|||
# CONFIG_EV64360 is not set
|
||||
CONFIG_TSI108_BRIDGE=y
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
CONFIG_MPIC=y
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -160,6 +171,7 @@ CONFIG_PREEMPT_NONE=y
|
|||
# CONFIG_PREEMPT is not set
|
||||
CONFIG_BINFMT_ELF=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
|
@ -169,10 +181,10 @@ CONFIG_FLATMEM=y
|
|||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
||||
# CONFIG_SECCOMP is not set
|
||||
CONFIG_ISA_DMA_API=y
|
||||
|
||||
|
@ -180,10 +192,12 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
CONFIG_MPIC_WEIRD=y
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
# CONFIG_PPC_INDIRECT_PCI is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
|
@ -221,6 +235,8 @@ CONFIG_NET=y
|
|||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
CONFIG_XFRM_USER=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
|
@ -240,6 +256,8 @@ CONFIG_SYN_COOKIES=y
|
|||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
|
@ -247,6 +265,7 @@ CONFIG_TCP_CONG_BIC=y
|
|||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
|
@ -300,6 +319,7 @@ CONFIG_TCP_CONG_BIC=y
|
|||
CONFIG_STANDALONE=y
|
||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
|
@ -336,6 +356,7 @@ CONFIG_BLK_DEV_LOOP=y
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=131072
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -399,6 +420,7 @@ CONFIG_SCSI_SATA=y
|
|||
CONFIG_SCSI_SATA_MV=y
|
||||
# CONFIG_SCSI_SATA_NV is not set
|
||||
# CONFIG_SCSI_PDC_ADMA is not set
|
||||
# CONFIG_SCSI_HPTIOP is not set
|
||||
# CONFIG_SCSI_SATA_QSTOR is not set
|
||||
# CONFIG_SCSI_SATA_PROMISE is not set
|
||||
# CONFIG_SCSI_SATA_SX4 is not set
|
||||
|
@ -481,6 +503,9 @@ CONFIG_PHYLIB=y
|
|||
# CONFIG_QSEMI_PHY is not set
|
||||
# CONFIG_LXT_PHY is not set
|
||||
# CONFIG_CICADA_PHY is not set
|
||||
# CONFIG_VITESSE_PHY is not set
|
||||
# CONFIG_SMSC_PHY is not set
|
||||
# CONFIG_FIXED_PHY is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
|
@ -538,7 +563,6 @@ CONFIG_8139TOO=y
|
|||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
CONFIG_TSI108_ETH=y
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
|
@ -546,6 +570,7 @@ CONFIG_TSI108_ETH=y
|
|||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
|
@ -645,6 +670,7 @@ CONFIG_LEGACY_PTY_COUNT=256
|
|||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_NVRAM is not set
|
||||
CONFIG_GEN_RTC=y
|
||||
# CONFIG_GEN_RTC_X is not set
|
||||
|
@ -679,13 +705,13 @@ CONFIG_GEN_RTC=y
|
|||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_F71805F is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
|
@ -697,6 +723,7 @@ CONFIG_HWMON=y
|
|||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
CONFIG_VIDEO_V4L2=y
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
|
@ -706,7 +733,9 @@ CONFIG_HWMON=y
|
|||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_FB is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
|
@ -762,6 +791,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
#
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -783,6 +825,7 @@ CONFIG_FS_MBCACHE=y
|
|||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
|
@ -884,6 +927,7 @@ CONFIG_MSDOS_PARTITION=y
|
|||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
|
||||
#
|
||||
# Instrumentation Support
|
||||
|
@ -895,17 +939,13 @@ CONFIG_CRC32=y
|
|||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_UNWIND_INFO is not set
|
||||
# CONFIG_BOOTX_TEXT is not set
|
||||
# CONFIG_SERIAL_TEXT_DEBUG is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_G5 is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_RTAS is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.17
|
||||
# Fri Jun 30 17:53:25 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:28:05 2006
|
||||
#
|
||||
# CONFIG_PPC64 is not set
|
||||
CONFIG_PPC32=y
|
||||
|
@ -60,6 +60,7 @@ CONFIG_SWAP=y
|
|||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
|
@ -78,6 +79,7 @@ CONFIG_FUTEX=y
|
|||
# CONFIG_EPOLL is not set
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
@ -120,6 +122,7 @@ CONFIG_PPC_GEN550=y
|
|||
# CONFIG_MPC834x_SYS is not set
|
||||
CONFIG_MPC834x_ITX=y
|
||||
CONFIG_MPC834x=y
|
||||
# CONFIG_MPIC is not set
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -148,7 +151,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
|
|||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_ISA_DMA_API=y
|
||||
|
||||
|
@ -156,6 +158,7 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
CONFIG_PPC_INDIRECT_PCI=y
|
||||
CONFIG_FSL_SOC=y
|
||||
|
@ -401,6 +404,7 @@ CONFIG_BLK_DEV_LOOP=y
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=32768
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -561,6 +565,7 @@ CONFIG_PHYLIB=y
|
|||
CONFIG_CICADA_PHY=y
|
||||
# CONFIG_VITESSE_PHY is not set
|
||||
# CONFIG_SMSC_PHY is not set
|
||||
# CONFIG_FIXED_PHY is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
|
@ -905,6 +910,7 @@ CONFIG_VIDEO_V4L2=y
|
|||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_FB is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
|
@ -1025,7 +1031,7 @@ CONFIG_USB_MON=y
|
|||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_LED is not set
|
||||
# CONFIG_USB_CY7C63 is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
# CONFIG_USB_CYTHERM is not set
|
||||
# CONFIG_USB_PHIDGETKIT is not set
|
||||
# CONFIG_USB_PHIDGETSERVO is not set
|
||||
|
@ -1110,6 +1116,7 @@ CONFIG_RTC_INTF_DEV_UIE_EMUL=y
|
|||
# CONFIG_RTC_DRV_X1205 is not set
|
||||
CONFIG_RTC_DRV_DS1307=y
|
||||
# CONFIG_RTC_DRV_DS1553 is not set
|
||||
# CONFIG_RTC_DRV_ISL1208 is not set
|
||||
# CONFIG_RTC_DRV_DS1672 is not set
|
||||
# CONFIG_RTC_DRV_DS1742 is not set
|
||||
# CONFIG_RTC_DRV_PCF8563 is not set
|
||||
|
@ -1226,7 +1233,6 @@ CONFIG_RPCSEC_GSS_KRB5=y
|
|||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
# CONFIG_CIFS is not set
|
||||
# CONFIG_CIFS_DEBUG2 is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
# CONFIG_AFS_FS is not set
|
||||
|
@ -1279,11 +1285,13 @@ CONFIG_LOG_BUF_SHIFT=17
|
|||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
CONFIG_DEBUG_INFO=y
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.16-rc6
|
||||
# Wed Mar 15 16:19:56 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:28:54 2006
|
||||
#
|
||||
# CONFIG_PPC64 is not set
|
||||
CONFIG_PPC32=y
|
||||
CONFIG_PPC_MERGE=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_PPC=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_GENERIC_NVRAM=y
|
||||
|
@ -27,17 +30,19 @@ CONFIG_DEFAULT_UIMAGE=y
|
|||
# CONFIG_PPC_52xx is not set
|
||||
# CONFIG_PPC_82xx is not set
|
||||
CONFIG_PPC_83xx=y
|
||||
# CONFIG_PPC_85xx is not set
|
||||
# CONFIG_PPC_86xx is not set
|
||||
# CONFIG_40x is not set
|
||||
# CONFIG_44x is not set
|
||||
# CONFIG_8xx is not set
|
||||
# CONFIG_E200 is not set
|
||||
# CONFIG_E500 is not set
|
||||
CONFIG_6xx=y
|
||||
CONFIG_83xx=y
|
||||
CONFIG_PPC_FPU=y
|
||||
CONFIG_PPC_STD_MMU=y
|
||||
CONFIG_PPC_STD_MMU_32=y
|
||||
# CONFIG_SMP is not set
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
|
@ -55,9 +60,11 @@ CONFIG_SWAP=y
|
|||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_EMBEDDED=y
|
||||
|
@ -67,14 +74,12 @@ CONFIG_PRINTK=y
|
|||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_FUTEX=y
|
||||
# CONFIG_EPOLL is not set
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_CC_ALIGN_FUNCTIONS=0
|
||||
CONFIG_CC_ALIGN_LABELS=0
|
||||
CONFIG_CC_ALIGN_LOOPS=0
|
||||
CONFIG_CC_ALIGN_JUMPS=0
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
@ -85,7 +90,6 @@ CONFIG_BASE_SMALL=0
|
|||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
CONFIG_OBSOLETE_MODPARM=y
|
||||
# CONFIG_MODVERSIONS is not set
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
# CONFIG_KMOD is not set
|
||||
|
@ -94,6 +98,8 @@ CONFIG_OBSOLETE_MODPARM=y
|
|||
# Block layer
|
||||
#
|
||||
# CONFIG_LBD is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_LSF is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
|
@ -114,7 +120,9 @@ CONFIG_PPC_GEN550=y
|
|||
# Platform support
|
||||
#
|
||||
CONFIG_MPC834x_SYS=y
|
||||
# CONFIG_MPC834x_ITX is not set
|
||||
CONFIG_MPC834x=y
|
||||
# CONFIG_MPIC is not set
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -129,6 +137,7 @@ CONFIG_PREEMPT_NONE=y
|
|||
# CONFIG_PREEMPT is not set
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
|
@ -138,10 +147,10 @@ CONFIG_FLATMEM=y
|
|||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_ISA_DMA_API=y
|
||||
|
||||
|
@ -149,12 +158,13 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
CONFIG_PPC_INDIRECT_PCI=y
|
||||
CONFIG_FSL_SOC=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
# CONFIG_PCI_LEGACY_PROC is not set
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
|
@ -192,6 +202,8 @@ CONFIG_NET=y
|
|||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
CONFIG_XFRM_USER=m
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
|
@ -209,12 +221,18 @@ CONFIG_SYN_COOKIES=y
|
|||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
|
@ -268,6 +286,7 @@ CONFIG_TCP_CONG_BIC=y
|
|||
CONFIG_STANDALONE=y
|
||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
|
@ -304,6 +323,7 @@ CONFIG_BLK_DEV_LOOP=y
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=32768
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -371,6 +391,9 @@ CONFIG_MARVELL_PHY=y
|
|||
# CONFIG_QSEMI_PHY is not set
|
||||
# CONFIG_LXT_PHY is not set
|
||||
# CONFIG_CICADA_PHY is not set
|
||||
# CONFIG_VITESSE_PHY is not set
|
||||
# CONFIG_SMSC_PHY is not set
|
||||
# CONFIG_FIXED_PHY is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
|
@ -433,6 +456,7 @@ CONFIG_GIANFAR=y
|
|||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
|
@ -507,6 +531,7 @@ CONFIG_INPUT=y
|
|||
#
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_PCI=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=4
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
# CONFIG_SERIAL_8250_EXTENDED is not set
|
||||
|
@ -543,6 +568,7 @@ CONFIG_83xx_WDT=y
|
|||
#
|
||||
# CONFIG_PCIPCWATCHDOG is not set
|
||||
# CONFIG_WDTPCI is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_NVRAM is not set
|
||||
CONFIG_GEN_RTC=y
|
||||
# CONFIG_GEN_RTC_X is not set
|
||||
|
@ -589,10 +615,10 @@ CONFIG_I2C_CHARDEV=y
|
|||
# CONFIG_I2C_PIIX4 is not set
|
||||
CONFIG_I2C_MPC=y
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_OCORES is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
# CONFIG_I2C_SAVAGE4 is not set
|
||||
# CONFIG_SCx200_ACB is not set
|
||||
# CONFIG_I2C_SIS5595 is not set
|
||||
# CONFIG_I2C_SIS630 is not set
|
||||
# CONFIG_I2C_SIS96X is not set
|
||||
|
@ -611,10 +637,8 @@ CONFIG_I2C_MPC=y
|
|||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_M41T00 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_RTC_X1205_I2C is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
|
@ -629,13 +653,13 @@ CONFIG_I2C_MPC=y
|
|||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
|
@ -664,10 +688,12 @@ CONFIG_HWMON=y
|
|||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47M192 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VIA686A is not set
|
||||
# CONFIG_SENSORS_VT8231 is not set
|
||||
# CONFIG_SENSORS_W83781D is not set
|
||||
# CONFIG_SENSORS_W83791D is not set
|
||||
# CONFIG_SENSORS_W83792D is not set
|
||||
# CONFIG_SENSORS_W83L785TS is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
|
@ -678,14 +704,11 @@ CONFIG_HWMON=y
|
|||
# Misc devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia Capabilities Port drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
CONFIG_VIDEO_V4L2=y
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
|
@ -695,7 +718,9 @@ CONFIG_HWMON=y
|
|||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_FB is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
|
@ -707,6 +732,7 @@ CONFIG_HWMON=y
|
|||
#
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
CONFIG_USB_ARCH_HAS_EHCI=y
|
||||
# CONFIG_USB is not set
|
||||
|
||||
#
|
||||
|
@ -723,6 +749,19 @@ CONFIG_USB_ARCH_HAS_OHCI=y
|
|||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
# LED devices
|
||||
#
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
|
||||
#
|
||||
# LED drivers
|
||||
#
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
|
||||
#
|
||||
# InfiniBand support
|
||||
#
|
||||
|
@ -732,6 +771,24 @@ CONFIG_USB_ARCH_HAS_OHCI=y
|
|||
# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
|
||||
#
|
||||
|
||||
#
|
||||
# Real Time Clock
|
||||
#
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -753,6 +810,7 @@ CONFIG_FS_MBCACHE=y
|
|||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
|
@ -781,7 +839,6 @@ CONFIG_SYSFS=y
|
|||
CONFIG_TMPFS=y
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_RAMFS=y
|
||||
# CONFIG_RELAYFS_FS is not set
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
|
||||
#
|
||||
|
@ -854,6 +911,7 @@ CONFIG_PARTITION_ADVANCED=y
|
|||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
|
||||
#
|
||||
# Instrumentation Support
|
||||
|
@ -865,15 +923,13 @@ CONFIG_CRC32=y
|
|||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_BOOTX_TEXT is not set
|
||||
# CONFIG_SERIAL_TEXT_DEBUG is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_G5 is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_RTAS is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.16
|
||||
# Mon Mar 27 23:37:36 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:29:23 2006
|
||||
#
|
||||
# CONFIG_PPC64 is not set
|
||||
CONFIG_PPC32=y
|
||||
CONFIG_PPC_MERGE=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_PPC=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_GENERIC_NVRAM=y
|
||||
|
@ -29,6 +31,7 @@ CONFIG_DEFAULT_UIMAGE=y
|
|||
# CONFIG_PPC_82xx is not set
|
||||
# CONFIG_PPC_83xx is not set
|
||||
CONFIG_PPC_85xx=y
|
||||
# CONFIG_PPC_86xx is not set
|
||||
# CONFIG_40x is not set
|
||||
# CONFIG_44x is not set
|
||||
# CONFIG_8xx is not set
|
||||
|
@ -39,6 +42,7 @@ CONFIG_BOOKE=y
|
|||
CONFIG_FSL_BOOKE=y
|
||||
# CONFIG_PHYS_64BIT is not set
|
||||
CONFIG_SPE=y
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
|
@ -56,6 +60,7 @@ CONFIG_SWAP=y
|
|||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
|
@ -71,10 +76,12 @@ CONFIG_PRINTK=y
|
|||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
@ -103,15 +110,16 @@ CONFIG_DEFAULT_AS=y
|
|||
# CONFIG_DEFAULT_CFQ is not set
|
||||
# CONFIG_DEFAULT_NOOP is not set
|
||||
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
||||
CONFIG_MPIC=y
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
|
||||
#
|
||||
# Platform support
|
||||
#
|
||||
CONFIG_MPC8540_ADS=y
|
||||
# CONFIG_MPC85xx_CDS is not set
|
||||
CONFIG_MPC8540=y
|
||||
CONFIG_PPC_INDIRECT_PCI_BE=y
|
||||
CONFIG_MPIC=y
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -127,6 +135,7 @@ CONFIG_PREEMPT_NONE=y
|
|||
CONFIG_BINFMT_ELF=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
|
@ -136,16 +145,17 @@ CONFIG_FLATMEM=y
|
|||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
||||
# CONFIG_SECCOMP is not set
|
||||
CONFIG_ISA_DMA_API=y
|
||||
|
||||
#
|
||||
# Bus options
|
||||
#
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
CONFIG_PPC_INDIRECT_PCI=y
|
||||
CONFIG_FSL_SOC=y
|
||||
|
@ -187,6 +197,8 @@ CONFIG_NET=y
|
|||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
CONFIG_XFRM_USER=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
|
@ -204,12 +216,18 @@ CONFIG_SYN_COOKIES=y
|
|||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
|
@ -264,6 +282,7 @@ CONFIG_STANDALONE=y
|
|||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
|
@ -295,6 +314,7 @@ CONFIG_BLK_DEV_LOOP=y
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=32768
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -355,6 +375,9 @@ CONFIG_PHYLIB=y
|
|||
# CONFIG_QSEMI_PHY is not set
|
||||
# CONFIG_LXT_PHY is not set
|
||||
# CONFIG_CICADA_PHY is not set
|
||||
# CONFIG_VITESSE_PHY is not set
|
||||
# CONFIG_SMSC_PHY is not set
|
||||
# CONFIG_FIXED_PHY is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
|
@ -464,6 +487,7 @@ CONFIG_LEGACY_PTY_COUNT=256
|
|||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_NVRAM is not set
|
||||
CONFIG_GEN_RTC=y
|
||||
# CONFIG_GEN_RTC_X is not set
|
||||
|
@ -473,7 +497,6 @@ CONFIG_GEN_RTC=y
|
|||
#
|
||||
# Ftape, the floppy tape device driver
|
||||
#
|
||||
# CONFIG_AGP is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
#
|
||||
|
@ -496,13 +519,13 @@ CONFIG_GEN_RTC=y
|
|||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_F71805F is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
|
@ -514,6 +537,7 @@ CONFIG_HWMON=y
|
|||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
CONFIG_VIDEO_V4L2=y
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
|
@ -523,7 +547,9 @@ CONFIG_HWMON=y
|
|||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_FB is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
|
@ -551,6 +577,19 @@ CONFIG_HWMON=y
|
|||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
# LED devices
|
||||
#
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
|
||||
#
|
||||
# LED drivers
|
||||
#
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
|
||||
#
|
||||
# InfiniBand support
|
||||
#
|
||||
|
@ -559,6 +598,24 @@ CONFIG_HWMON=y
|
|||
# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
|
||||
#
|
||||
|
||||
#
|
||||
# Real Time Clock
|
||||
#
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -580,6 +637,7 @@ CONFIG_FS_MBCACHE=y
|
|||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
|
@ -677,6 +735,7 @@ CONFIG_PARTITION_ADVANCED=y
|
|||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
|
||||
#
|
||||
# Instrumentation Support
|
||||
|
@ -688,14 +747,19 @@ CONFIG_CRC32=y
|
|||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
|
@ -706,11 +770,7 @@ CONFIG_FORCED_INLINING=y
|
|||
# CONFIG_DEBUGGER is not set
|
||||
# CONFIG_BDI_SWITCH is not set
|
||||
# CONFIG_BOOTX_TEXT is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_G5 is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_RTAS is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.16
|
||||
# Sun Apr 2 11:23:42 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:29:49 2006
|
||||
#
|
||||
# CONFIG_PPC64 is not set
|
||||
CONFIG_PPC32=y
|
||||
CONFIG_PPC_MERGE=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_PPC=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_GENERIC_NVRAM=y
|
||||
|
@ -19,7 +21,7 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y
|
|||
CONFIG_PPC_OF=y
|
||||
CONFIG_PPC_UDBG_16550=y
|
||||
# CONFIG_GENERIC_TBSYNC is not set
|
||||
# CONFIG_DEFAULT_UIMAGE is not set
|
||||
CONFIG_DEFAULT_UIMAGE=y
|
||||
|
||||
#
|
||||
# Processor support
|
||||
|
@ -29,6 +31,7 @@ CONFIG_PPC_UDBG_16550=y
|
|||
# CONFIG_PPC_82xx is not set
|
||||
# CONFIG_PPC_83xx is not set
|
||||
CONFIG_PPC_85xx=y
|
||||
# CONFIG_PPC_86xx is not set
|
||||
# CONFIG_40x is not set
|
||||
# CONFIG_44x is not set
|
||||
# CONFIG_8xx is not set
|
||||
|
@ -39,6 +42,7 @@ CONFIG_BOOKE=y
|
|||
CONFIG_FSL_BOOKE=y
|
||||
# CONFIG_PHYS_64BIT is not set
|
||||
CONFIG_SPE=y
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
|
@ -56,6 +60,7 @@ CONFIG_SWAP=y
|
|||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
|
@ -71,10 +76,12 @@ CONFIG_PRINTK=y
|
|||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
@ -103,7 +110,6 @@ CONFIG_DEFAULT_AS=y
|
|||
# CONFIG_DEFAULT_CFQ is not set
|
||||
# CONFIG_DEFAULT_NOOP is not set
|
||||
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
||||
CONFIG_MPIC=y
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
|
||||
#
|
||||
|
@ -113,6 +119,7 @@ CONFIG_MPIC=y
|
|||
CONFIG_MPC85xx_CDS=y
|
||||
CONFIG_MPC8540=y
|
||||
CONFIG_PPC_INDIRECT_PCI_BE=y
|
||||
CONFIG_MPIC=y
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -128,6 +135,7 @@ CONFIG_PREEMPT_NONE=y
|
|||
CONFIG_BINFMT_ELF=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
|
@ -137,21 +145,23 @@ CONFIG_FLATMEM=y
|
|||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
||||
# CONFIG_SECCOMP is not set
|
||||
CONFIG_ISA_DMA_API=y
|
||||
|
||||
#
|
||||
# Bus options
|
||||
#
|
||||
CONFIG_PPC_I8259=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
CONFIG_PPC_INDIRECT_PCI=y
|
||||
CONFIG_FSL_SOC=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
|
||||
#
|
||||
|
@ -190,6 +200,8 @@ CONFIG_NET=y
|
|||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
CONFIG_XFRM_USER=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
|
@ -209,6 +221,8 @@ CONFIG_SYN_COOKIES=y
|
|||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
|
@ -216,6 +230,7 @@ CONFIG_TCP_CONG_BIC=y
|
|||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
|
@ -270,6 +285,7 @@ CONFIG_STANDALONE=y
|
|||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
|
@ -306,6 +322,7 @@ CONFIG_BLK_DEV_LOOP=y
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=32768
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -425,6 +442,9 @@ CONFIG_PHYLIB=y
|
|||
# CONFIG_QSEMI_PHY is not set
|
||||
# CONFIG_LXT_PHY is not set
|
||||
# CONFIG_CICADA_PHY is not set
|
||||
# CONFIG_VITESSE_PHY is not set
|
||||
# CONFIG_SMSC_PHY is not set
|
||||
# CONFIG_FIXED_PHY is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
|
@ -470,6 +490,7 @@ CONFIG_GFAR_NAPI=y
|
|||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
|
@ -568,6 +589,7 @@ CONFIG_LEGACY_PTY_COUNT=256
|
|||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_NVRAM is not set
|
||||
CONFIG_GEN_RTC=y
|
||||
# CONFIG_GEN_RTC_X is not set
|
||||
|
@ -602,13 +624,13 @@ CONFIG_GEN_RTC=y
|
|||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_F71805F is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
|
@ -620,6 +642,7 @@ CONFIG_HWMON=y
|
|||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
CONFIG_VIDEO_V4L2=y
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
|
@ -629,7 +652,9 @@ CONFIG_HWMON=y
|
|||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_FB is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
|
@ -663,6 +688,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
#
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
|
||||
#
|
||||
# LED drivers
|
||||
#
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
|
||||
#
|
||||
# InfiniBand support
|
||||
#
|
||||
|
@ -677,6 +710,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
#
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -698,6 +744,7 @@ CONFIG_FS_MBCACHE=y
|
|||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
|
@ -795,6 +842,7 @@ CONFIG_PARTITION_ADVANCED=y
|
|||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
|
||||
#
|
||||
# Instrumentation Support
|
||||
|
@ -806,14 +854,19 @@ CONFIG_CRC32=y
|
|||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
|
@ -824,11 +877,7 @@ CONFIG_FORCED_INLINING=y
|
|||
# CONFIG_DEBUGGER is not set
|
||||
# CONFIG_BDI_SWITCH is not set
|
||||
# CONFIG_BOOTX_TEXT is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_G5 is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_RTAS is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.17-rc3
|
||||
# Fri Jun 16 10:47:09 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:30:15 2006
|
||||
#
|
||||
# CONFIG_PPC64 is not set
|
||||
CONFIG_PPC32=y
|
||||
CONFIG_PPC_MERGE=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_PPC=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_GENERIC_NVRAM=y
|
||||
|
@ -41,6 +43,7 @@ CONFIG_PPC_STD_MMU=y
|
|||
CONFIG_PPC_STD_MMU_32=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
|
@ -58,6 +61,7 @@ CONFIG_LOCALVERSION=""
|
|||
# CONFIG_SYSVIPC is not set
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
|
@ -75,10 +79,12 @@ CONFIG_PRINTK=y
|
|||
CONFIG_BUG=y
|
||||
# CONFIG_ELF_CORE is not set
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
# CONFIG_SLAB is not set
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
CONFIG_SLOB=y
|
||||
|
@ -107,9 +113,9 @@ CONFIG_DEFAULT_DEADLINE=y
|
|||
# CONFIG_DEFAULT_CFQ is not set
|
||||
# CONFIG_DEFAULT_NOOP is not set
|
||||
CONFIG_DEFAULT_IOSCHED="deadline"
|
||||
CONFIG_MPIC=y
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
CONFIG_PPC_INDIRECT_PCI_BE=y
|
||||
CONFIG_MPIC=y
|
||||
|
||||
#
|
||||
# Platform Support
|
||||
|
@ -131,6 +137,7 @@ CONFIG_PREEMPT_NONE=y
|
|||
CONFIG_PREEMPT_BKL=y
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
# CONFIG_IRQ_ALL_CPUS is not set
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
|
@ -141,6 +148,7 @@ CONFIG_FLATMEM=y
|
|||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
# CONFIG_PM is not set
|
||||
|
@ -151,11 +159,13 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
CONFIG_PPC_I8259=y
|
||||
CONFIG_PPC_INDIRECT_PCI=y
|
||||
CONFIG_FSL_SOC=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
|
||||
#
|
||||
|
@ -194,6 +204,8 @@ CONFIG_NET=y
|
|||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
CONFIG_XFRM_USER=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
|
@ -212,6 +224,8 @@ CONFIG_IP_PNP_RARP=y
|
|||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
|
@ -224,7 +238,10 @@ CONFIG_IPV6=y
|
|||
# CONFIG_INET6_IPCOMP is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET6_XFRM_MODE_TUNNEL=y
|
||||
# CONFIG_IPV6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
|
@ -279,6 +296,7 @@ CONFIG_STANDALONE=y
|
|||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
CONFIG_FW_LOADER=y
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
|
@ -315,6 +333,7 @@ CONFIG_BLK_DEV_LOOP=y
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=131072
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -383,6 +402,8 @@ CONFIG_PHYLIB=y
|
|||
# CONFIG_LXT_PHY is not set
|
||||
# CONFIG_CICADA_PHY is not set
|
||||
CONFIG_VITESSE_PHY=y
|
||||
# CONFIG_SMSC_PHY is not set
|
||||
# CONFIG_FIXED_PHY is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
|
@ -426,6 +447,7 @@ CONFIG_GIANFAR=y
|
|||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
|
@ -500,6 +522,7 @@ CONFIG_SERIO_LIBPS2=y
|
|||
CONFIG_VT=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
# CONFIG_VT_HW_CONSOLE_BINDING is not set
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
||||
#
|
||||
|
@ -534,6 +557,7 @@ CONFIG_UNIX98_PTYS=y
|
|||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_NVRAM is not set
|
||||
# CONFIG_GEN_RTC is not set
|
||||
# CONFIG_DTLK is not set
|
||||
|
@ -579,6 +603,7 @@ CONFIG_I2C=y
|
|||
# CONFIG_I2C_PIIX4 is not set
|
||||
CONFIG_I2C_MPC=y
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_OCORES is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
# CONFIG_I2C_SAVAGE4 is not set
|
||||
|
@ -615,7 +640,6 @@ CONFIG_SENSORS_EEPROM=y
|
|||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
|
@ -631,6 +655,7 @@ CONFIG_SENSORS_EEPROM=y
|
|||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
CONFIG_VIDEO_V4L2=y
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
|
@ -640,6 +665,7 @@ CONFIG_SENSORS_EEPROM=y
|
|||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
|
@ -648,6 +674,7 @@ CONFIG_SENSORS_EEPROM=y
|
|||
CONFIG_VGA_CONSOLE=y
|
||||
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
|
@ -703,6 +730,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
#
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -870,6 +910,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
|
|||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
|
||||
#
|
||||
# Instrumentation Support
|
||||
|
@ -881,13 +922,18 @@ CONFIG_CRC32=y
|
|||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
# CONFIG_DEBUG_HIGHMEM is not set
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
|
@ -899,11 +945,7 @@ CONFIG_FORCED_INLINING=y
|
|||
# CONFIG_DEBUGGER is not set
|
||||
# CONFIG_BDI_SWITCH is not set
|
||||
# CONFIG_BOOTX_TEXT is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_G5 is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_RTAS is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.17
|
||||
# Mon Jul 3 14:20:49 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:30:23 2006
|
||||
#
|
||||
# CONFIG_PPC64 is not set
|
||||
CONFIG_PPC32=y
|
||||
|
@ -60,6 +60,7 @@ CONFIG_SWAP=y
|
|||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
|
@ -128,7 +129,6 @@ CONFIG_PPC_PMAC=y
|
|||
# CONFIG_PPC_CELL is not set
|
||||
# CONFIG_PPC_CELL_NATIVE is not set
|
||||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
CONFIG_MPIC=y
|
||||
# CONFIG_PPC_RTAS is not set
|
||||
# CONFIG_MMIO_NVRAM is not set
|
||||
CONFIG_PPC_MPC106=y
|
||||
|
@ -149,6 +149,7 @@ CONFIG_CPU_FREQ_PMAC=y
|
|||
CONFIG_PPC601_SYNC_FIX=y
|
||||
# CONFIG_TAU is not set
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
CONFIG_MPIC=y
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -189,6 +190,7 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
CONFIG_PPC_INDIRECT_PCI=y
|
||||
CONFIG_PCI=y
|
||||
|
@ -559,6 +561,7 @@ CONFIG_BLK_DEV_UB=m
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -1502,7 +1505,6 @@ CONFIG_USB_MON=y
|
|||
CONFIG_USB_SERIAL=m
|
||||
# CONFIG_USB_SERIAL_GENERIC is not set
|
||||
# CONFIG_USB_SERIAL_AIRPRIME is not set
|
||||
# CONFIG_USB_SERIAL_ANYDATA is not set
|
||||
# CONFIG_USB_SERIAL_ARK3116 is not set
|
||||
# CONFIG_USB_SERIAL_BELKIN is not set
|
||||
# CONFIG_USB_SERIAL_WHITEHEAT is not set
|
||||
|
@ -1540,6 +1542,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
|
|||
# CONFIG_USB_SERIAL_PL2303 is not set
|
||||
# CONFIG_USB_SERIAL_HP4X is not set
|
||||
# CONFIG_USB_SERIAL_SAFE is not set
|
||||
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
|
||||
# CONFIG_USB_SERIAL_TI is not set
|
||||
# CONFIG_USB_SERIAL_CYBERJACK is not set
|
||||
# CONFIG_USB_SERIAL_XIRCOM is not set
|
||||
|
@ -1557,7 +1560,7 @@ CONFIG_USB_EZUSB=y
|
|||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_LED is not set
|
||||
# CONFIG_USB_CY7C63 is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
# CONFIG_USB_CYTHERM is not set
|
||||
# CONFIG_USB_PHIDGETKIT is not set
|
||||
# CONFIG_USB_PHIDGETSERVO is not set
|
||||
|
@ -1728,7 +1731,6 @@ CONFIG_RPCSEC_GSS_KRB5=y
|
|||
CONFIG_SMB_FS=m
|
||||
# CONFIG_SMB_NLS_DEFAULT is not set
|
||||
# CONFIG_CIFS is not set
|
||||
# CONFIG_CIFS_DEBUG2 is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
# CONFIG_AFS_FS is not set
|
||||
|
@ -1831,11 +1833,13 @@ CONFIG_LOG_BUF_SHIFT=14
|
|||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.16-rc2
|
||||
# Fri Feb 10 17:32:14 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:45:11 2006
|
||||
#
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_PPC_MERGE=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_PPC=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_COMPAT=y
|
||||
|
@ -30,8 +33,10 @@ CONFIG_POWER4=y
|
|||
CONFIG_PPC_FPU=y
|
||||
CONFIG_ALTIVEC=y
|
||||
CONFIG_PPC_STD_MMU=y
|
||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=32
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
|
@ -49,11 +54,14 @@ CONFIG_SWAP=y
|
|||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
CONFIG_TASKSTATS=y
|
||||
CONFIG_TASK_DELAY_ACCT=y
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_RELAY=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
# CONFIG_EMBEDDED is not set
|
||||
|
@ -65,14 +73,12 @@ CONFIG_PRINTK=y
|
|||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_CC_ALIGN_FUNCTIONS=0
|
||||
CONFIG_CC_ALIGN_LABELS=0
|
||||
CONFIG_CC_ALIGN_LOOPS=0
|
||||
CONFIG_CC_ALIGN_JUMPS=0
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
@ -83,7 +89,6 @@ CONFIG_BASE_SMALL=0
|
|||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
CONFIG_OBSOLETE_MODPARM=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
CONFIG_KMOD=y
|
||||
|
@ -92,6 +97,7 @@ CONFIG_STOP_MACHINE=y
|
|||
#
|
||||
# Block layer
|
||||
#
|
||||
CONFIG_BLK_DEV_IO_TRACE=y
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
|
@ -117,19 +123,22 @@ CONFIG_PPC_PSERIES=y
|
|||
CONFIG_PPC_PMAC=y
|
||||
CONFIG_PPC_PMAC64=y
|
||||
CONFIG_PPC_MAPLE=y
|
||||
# CONFIG_PPC_CELL is not set
|
||||
CONFIG_PPC_CELL=y
|
||||
CONFIG_PPC_CELL_NATIVE=y
|
||||
CONFIG_PPC_IBM_CELL_BLADE=y
|
||||
CONFIG_UDBG_RTAS_CONSOLE=y
|
||||
CONFIG_XICS=y
|
||||
CONFIG_U3_DART=y
|
||||
CONFIG_MPIC=y
|
||||
CONFIG_PPC_RTAS=y
|
||||
CONFIG_RTAS_ERROR_LOGGING=y
|
||||
CONFIG_RTAS_PROC=y
|
||||
CONFIG_RTAS_FLASH=m
|
||||
# CONFIG_MMIO_NVRAM is not set
|
||||
CONFIG_MMIO_NVRAM=y
|
||||
CONFIG_MPIC_BROKEN_U3=y
|
||||
CONFIG_IBMVIO=y
|
||||
# CONFIG_IBMEBUS is not set
|
||||
# CONFIG_PPC_MPC106 is not set
|
||||
CONFIG_PPC_970_NAP=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_TABLE=y
|
||||
# CONFIG_CPU_FREQ_DEBUG is not set
|
||||
|
@ -144,6 +153,15 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
|||
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
|
||||
CONFIG_CPU_FREQ_PMAC64=y
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
CONFIG_MPIC=y
|
||||
|
||||
#
|
||||
# Cell Broadband Engine options
|
||||
#
|
||||
CONFIG_SPU_FS=m
|
||||
CONFIG_SPU_BASE=y
|
||||
CONFIG_SPUFS_MMAP=y
|
||||
CONFIG_CBE_RAS=y
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -161,6 +179,7 @@ CONFIG_BINFMT_MISC=m
|
|||
CONFIG_FORCE_MAX_ZONEORDER=13
|
||||
CONFIG_IOMMU_VMERGE=y
|
||||
CONFIG_HOTPLUG_CPU=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_KEXEC=y
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
|
@ -181,9 +200,10 @@ CONFIG_SPARSEMEM=y
|
|||
CONFIG_HAVE_MEMORY_PRESENT=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPARSEMEM_EXTREME=y
|
||||
# CONFIG_MEMORY_HOTPLUG is not set
|
||||
CONFIG_MEMORY_HOTPLUG=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_RESOURCES_64BIT=y
|
||||
CONFIG_ARCH_MEMORY_PROBE=y
|
||||
# CONFIG_PPC_64K_PAGES is not set
|
||||
# CONFIG_SCHED_SMT is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
|
@ -196,11 +216,12 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
CONFIG_PPC_I8259=y
|
||||
# CONFIG_PPC_INDIRECT_PCI is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
# CONFIG_PCI_LEGACY_PROC is not set
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
|
||||
#
|
||||
|
@ -247,7 +268,10 @@ CONFIG_SYN_COOKIES=y
|
|||
CONFIG_INET_AH=m
|
||||
CONFIG_INET_ESP=m
|
||||
CONFIG_INET_IPCOMP=m
|
||||
CONFIG_INET_XFRM_TUNNEL=m
|
||||
CONFIG_INET_TUNNEL=y
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
|
@ -258,6 +282,9 @@ CONFIG_TCP_CONG_BIC=y
|
|||
#
|
||||
# CONFIG_IP_VS is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
CONFIG_NETFILTER=y
|
||||
# CONFIG_NETFILTER_DEBUG is not set
|
||||
|
||||
|
@ -284,6 +311,8 @@ CONFIG_IP_NF_IRC=m
|
|||
CONFIG_IP_NF_TFTP=m
|
||||
CONFIG_IP_NF_AMANDA=m
|
||||
# CONFIG_IP_NF_PPTP is not set
|
||||
# CONFIG_IP_NF_H323 is not set
|
||||
CONFIG_IP_NF_SIP=m
|
||||
CONFIG_IP_NF_QUEUE=m
|
||||
|
||||
#
|
||||
|
@ -339,6 +368,7 @@ CONFIG_STANDALONE=y
|
|||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
CONFIG_FW_LOADER=y
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
|
@ -376,6 +406,7 @@ CONFIG_BLK_DEV_NBD=m
|
|||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=65536
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
@ -436,7 +467,6 @@ CONFIG_BLK_DEV_AMD74XX=y
|
|||
CONFIG_BLK_DEV_IDE_PMAC=y
|
||||
CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
|
||||
CONFIG_BLK_DEV_IDEDMA_PMAC=y
|
||||
# CONFIG_BLK_DEV_IDE_PMAC_BLINK is not set
|
||||
# CONFIG_IDE_ARM is not set
|
||||
CONFIG_BLK_DEV_IDEDMA=y
|
||||
# CONFIG_IDEDMA_IVB is not set
|
||||
|
@ -497,6 +527,7 @@ CONFIG_SCSI_SATA_SVW=y
|
|||
# CONFIG_SCSI_SATA_MV is not set
|
||||
# CONFIG_SCSI_SATA_NV is not set
|
||||
# CONFIG_SCSI_PDC_ADMA is not set
|
||||
# CONFIG_SCSI_HPTIOP is not set
|
||||
# CONFIG_SCSI_SATA_QSTOR is not set
|
||||
# CONFIG_SCSI_SATA_PROMISE is not set
|
||||
# CONFIG_SCSI_SATA_SX4 is not set
|
||||
|
@ -519,11 +550,10 @@ CONFIG_SCSI_SYM53C8XX_2=y
|
|||
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
|
||||
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
|
||||
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
|
||||
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
|
||||
CONFIG_SCSI_SYM53C8XX_MMIO=y
|
||||
CONFIG_SCSI_IPR=y
|
||||
CONFIG_SCSI_IPR_TRACE=y
|
||||
CONFIG_SCSI_IPR_DUMP=y
|
||||
# CONFIG_SCSI_QLOGIC_FC is not set
|
||||
# CONFIG_SCSI_QLOGIC_1280 is not set
|
||||
# CONFIG_SCSI_QLA_FC is not set
|
||||
CONFIG_SCSI_LPFC=m
|
||||
|
@ -540,8 +570,8 @@ CONFIG_MD_LINEAR=y
|
|||
CONFIG_MD_RAID0=y
|
||||
CONFIG_MD_RAID1=y
|
||||
CONFIG_MD_RAID10=y
|
||||
CONFIG_MD_RAID5=y
|
||||
CONFIG_MD_RAID6=m
|
||||
CONFIG_MD_RAID456=y
|
||||
CONFIG_MD_RAID5_RESHAPE=y
|
||||
CONFIG_MD_MULTIPATH=m
|
||||
CONFIG_MD_FAULTY=m
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
|
@ -585,7 +615,6 @@ CONFIG_IEEE1394_OHCI1394=y
|
|||
#
|
||||
CONFIG_IEEE1394_VIDEO1394=m
|
||||
CONFIG_IEEE1394_SBP2=m
|
||||
# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
|
||||
CONFIG_IEEE1394_ETH1394=m
|
||||
CONFIG_IEEE1394_DV1394=m
|
||||
CONFIG_IEEE1394_RAWIO=y
|
||||
|
@ -599,6 +628,7 @@ CONFIG_IEEE1394_RAWIO=y
|
|||
# Macintosh device drivers
|
||||
#
|
||||
CONFIG_ADB_PMU=y
|
||||
# CONFIG_ADB_PMU_LED is not set
|
||||
CONFIG_PMAC_SMU=y
|
||||
CONFIG_THERM_PM72=y
|
||||
CONFIG_WINDFARM=y
|
||||
|
@ -682,6 +712,7 @@ CONFIG_E1000=y
|
|||
# CONFIG_VIA_VELOCITY is not set
|
||||
CONFIG_TIGON3=y
|
||||
# CONFIG_BNX2 is not set
|
||||
CONFIG_SPIDER_NET=m
|
||||
# CONFIG_MV643XX_ETH is not set
|
||||
|
||||
#
|
||||
|
@ -691,6 +722,7 @@ CONFIG_TIGON3=y
|
|||
CONFIG_IXGB=m
|
||||
# CONFIG_IXGB_NAPI is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
|
@ -792,6 +824,7 @@ CONFIG_SERIO_LIBPS2=y
|
|||
CONFIG_VT=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
# CONFIG_VT_HW_CONSOLE_BINDING is not set
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
||||
#
|
||||
|
@ -799,6 +832,7 @@ CONFIG_HW_CONSOLE=y
|
|||
#
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_PCI=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=4
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
# CONFIG_SERIAL_8250_EXTENDED is not set
|
||||
|
@ -814,7 +848,9 @@ CONFIG_SERIAL_ICOM=m
|
|||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
CONFIG_HVC_DRIVER=y
|
||||
CONFIG_HVC_CONSOLE=y
|
||||
CONFIG_HVC_RTAS=y
|
||||
CONFIG_HVCS=m
|
||||
|
||||
#
|
||||
|
@ -826,7 +862,7 @@ CONFIG_HVCS=m
|
|||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_RTC is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_GEN_RTC=y
|
||||
# CONFIG_GEN_RTC_X is not set
|
||||
# CONFIG_DTLK is not set
|
||||
|
@ -874,10 +910,10 @@ CONFIG_I2C_AMD8111=y
|
|||
# CONFIG_I2C_PIIX4 is not set
|
||||
CONFIG_I2C_POWERMAC=y
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_OCORES is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
# CONFIG_I2C_SAVAGE4 is not set
|
||||
# CONFIG_SCx200_ACB is not set
|
||||
# CONFIG_I2C_SIS5595 is not set
|
||||
# CONFIG_I2C_SIS630 is not set
|
||||
# CONFIG_I2C_SIS96X is not set
|
||||
|
@ -896,9 +932,7 @@ CONFIG_I2C_POWERMAC=y
|
|||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_RTC_X1205_I2C is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
|
@ -913,7 +947,6 @@ CONFIG_I2C_POWERMAC=y
|
|||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
|
@ -925,38 +958,34 @@ CONFIG_I2C_POWERMAC=y
|
|||
# Misc devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia Capabilities Port drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
CONFIG_VIDEO_V4L2=y
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_USB_DABUSB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
CONFIG_FB_MACMODES=y
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
CONFIG_FB_TILEBLITTING=y
|
||||
# CONFIG_FB_CIRRUS is not set
|
||||
# CONFIG_FB_PM2 is not set
|
||||
# CONFIG_FB_CYBER2000 is not set
|
||||
CONFIG_FB_OF=y
|
||||
# CONFIG_FB_CONTROL is not set
|
||||
# CONFIG_FB_PLATINUM is not set
|
||||
# CONFIG_FB_VALKYRIE is not set
|
||||
# CONFIG_FB_CT65550 is not set
|
||||
# CONFIG_FB_ASILIANT is not set
|
||||
# CONFIG_FB_IMSTT is not set
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
|
@ -970,7 +999,6 @@ CONFIG_FB_MATROX_G=y
|
|||
CONFIG_FB_MATROX_I2C=m
|
||||
CONFIG_FB_MATROX_MAVEN=m
|
||||
CONFIG_FB_MATROX_MULTIHEAD=y
|
||||
# CONFIG_FB_RADEON_OLD is not set
|
||||
CONFIG_FB_RADEON=y
|
||||
CONFIG_FB_RADEON_I2C=y
|
||||
# CONFIG_FB_RADEON_DEBUG is not set
|
||||
|
@ -1025,9 +1053,11 @@ CONFIG_SND_SEQ_DUMMY=m
|
|||
CONFIG_SND_OSSEMUL=y
|
||||
CONFIG_SND_MIXER_OSS=m
|
||||
CONFIG_SND_PCM_OSS=m
|
||||
CONFIG_SND_PCM_OSS_PLUGINS=y
|
||||
CONFIG_SND_SEQUENCER_OSS=y
|
||||
# CONFIG_SND_DYNAMIC_MINORS is not set
|
||||
CONFIG_SND_SUPPORT_OLD_API=y
|
||||
CONFIG_SND_VERBOSE_PROCFS=y
|
||||
# CONFIG_SND_VERBOSE_PRINTK is not set
|
||||
# CONFIG_SND_DEBUG is not set
|
||||
|
||||
|
@ -1044,6 +1074,7 @@ CONFIG_SND_SUPPORT_OLD_API=y
|
|||
# PCI devices
|
||||
#
|
||||
# CONFIG_SND_AD1889 is not set
|
||||
# CONFIG_SND_ALS300 is not set
|
||||
# CONFIG_SND_ALS4000 is not set
|
||||
# CONFIG_SND_ALI5451 is not set
|
||||
# CONFIG_SND_ATIIXP is not set
|
||||
|
@ -1057,6 +1088,18 @@ CONFIG_SND_SUPPORT_OLD_API=y
|
|||
# CONFIG_SND_CMIPCI is not set
|
||||
# CONFIG_SND_CS4281 is not set
|
||||
# CONFIG_SND_CS46XX is not set
|
||||
# CONFIG_SND_DARLA20 is not set
|
||||
# CONFIG_SND_GINA20 is not set
|
||||
# CONFIG_SND_LAYLA20 is not set
|
||||
# CONFIG_SND_DARLA24 is not set
|
||||
# CONFIG_SND_GINA24 is not set
|
||||
# CONFIG_SND_LAYLA24 is not set
|
||||
# CONFIG_SND_MONA is not set
|
||||
# CONFIG_SND_MIA is not set
|
||||
# CONFIG_SND_ECHO3G is not set
|
||||
# CONFIG_SND_INDIGO is not set
|
||||
# CONFIG_SND_INDIGOIO is not set
|
||||
# CONFIG_SND_INDIGODJ is not set
|
||||
# CONFIG_SND_EMU10K1 is not set
|
||||
# CONFIG_SND_EMU10K1X is not set
|
||||
# CONFIG_SND_ENS1370 is not set
|
||||
|
@ -1076,6 +1119,7 @@ CONFIG_SND_SUPPORT_OLD_API=y
|
|||
# CONFIG_SND_MIXART is not set
|
||||
# CONFIG_SND_NM256 is not set
|
||||
# CONFIG_SND_PCXHR is not set
|
||||
# CONFIG_SND_RIPTIDE is not set
|
||||
# CONFIG_SND_RME32 is not set
|
||||
# CONFIG_SND_RME96 is not set
|
||||
# CONFIG_SND_RME9652 is not set
|
||||
|
@ -1092,6 +1136,17 @@ CONFIG_SND_SUPPORT_OLD_API=y
|
|||
CONFIG_SND_POWERMAC=m
|
||||
CONFIG_SND_POWERMAC_AUTO_DRC=y
|
||||
|
||||
#
|
||||
# Apple Onboard Audio driver
|
||||
#
|
||||
CONFIG_SND_AOA=m
|
||||
CONFIG_SND_AOA_FABRIC_LAYOUT=m
|
||||
CONFIG_SND_AOA_ONYX=m
|
||||
CONFIG_SND_AOA_TAS=m
|
||||
CONFIG_SND_AOA_TOONIE=m
|
||||
CONFIG_SND_AOA_SOUNDBUS=m
|
||||
CONFIG_SND_AOA_SOUNDBUS_I2S=m
|
||||
|
||||
#
|
||||
# USB devices
|
||||
#
|
||||
|
@ -1108,6 +1163,7 @@ CONFIG_SND_POWERMAC_AUTO_DRC=y
|
|||
#
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
CONFIG_USB_ARCH_HAS_EHCI=y
|
||||
CONFIG_USB=y
|
||||
# CONFIG_USB_DEBUG is not set
|
||||
|
||||
|
@ -1125,6 +1181,7 @@ CONFIG_USB_DEVICEFS=y
|
|||
CONFIG_USB_EHCI_HCD=y
|
||||
# CONFIG_USB_EHCI_SPLIT_ISO is not set
|
||||
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
|
||||
CONFIG_USB_EHCI_TT_NEWSCHED=y
|
||||
# CONFIG_USB_ISP116X_HCD is not set
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
|
||||
|
@ -1135,7 +1192,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
|||
#
|
||||
# USB Device Class drivers
|
||||
#
|
||||
# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
|
||||
# CONFIG_USB_ACM is not set
|
||||
# CONFIG_USB_PRINTER is not set
|
||||
|
||||
|
@ -1173,9 +1229,7 @@ CONFIG_USB_HIDDEV=y
|
|||
# CONFIG_USB_ACECAD is not set
|
||||
# CONFIG_USB_KBTAB is not set
|
||||
# CONFIG_USB_POWERMATE is not set
|
||||
# CONFIG_USB_MTOUCH is not set
|
||||
# CONFIG_USB_ITMTOUCH is not set
|
||||
# CONFIG_USB_EGALAX is not set
|
||||
# CONFIG_USB_TOUCHSCREEN is not set
|
||||
# CONFIG_USB_YEALINK is not set
|
||||
# CONFIG_USB_XPAD is not set
|
||||
# CONFIG_USB_ATI_REMOTE is not set
|
||||
|
@ -1189,15 +1243,6 @@ CONFIG_USB_HIDDEV=y
|
|||
# CONFIG_USB_MDC800 is not set
|
||||
# CONFIG_USB_MICROTEK is not set
|
||||
|
||||
#
|
||||
# USB Multimedia devices
|
||||
#
|
||||
# CONFIG_USB_DABUSB is not set
|
||||
|
||||
#
|
||||
# Video4Linux support is needed for USB Multimedia device support
|
||||
#
|
||||
|
||||
#
|
||||
# USB Network Adapters
|
||||
#
|
||||
|
@ -1227,10 +1272,12 @@ CONFIG_USB_HIDDEV=y
|
|||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_LED is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
# CONFIG_USB_CYTHERM is not set
|
||||
# CONFIG_USB_PHIDGETKIT is not set
|
||||
# CONFIG_USB_PHIDGETSERVO is not set
|
||||
# CONFIG_USB_IDMOUSE is not set
|
||||
CONFIG_USB_APPLEDISPLAY=m
|
||||
# CONFIG_USB_SISUSBVGA is not set
|
||||
# CONFIG_USB_LD is not set
|
||||
# CONFIG_USB_TEST is not set
|
||||
|
@ -1249,24 +1296,54 @@ CONFIG_USB_HIDDEV=y
|
|||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
# LED devices
|
||||
#
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
|
||||
#
|
||||
# LED drivers
|
||||
#
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
|
||||
#
|
||||
# InfiniBand support
|
||||
#
|
||||
CONFIG_INFINIBAND=m
|
||||
# CONFIG_INFINIBAND_USER_MAD is not set
|
||||
# CONFIG_INFINIBAND_USER_ACCESS is not set
|
||||
CONFIG_INFINIBAND_ADDR_TRANS=y
|
||||
CONFIG_INFINIBAND_MTHCA=m
|
||||
# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
|
||||
CONFIG_INFINIBAND_MTHCA_DEBUG=y
|
||||
CONFIG_INFINIBAND_IPOIB=m
|
||||
# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
|
||||
CONFIG_INFINIBAND_IPOIB_DEBUG=y
|
||||
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
|
||||
# CONFIG_INFINIBAND_SRP is not set
|
||||
CONFIG_INFINIBAND_ISER=m
|
||||
|
||||
#
|
||||
# SN Devices
|
||||
# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
|
||||
#
|
||||
|
||||
#
|
||||
# EDAC - error detection and reporting (RAS)
|
||||
# Real Time Clock
|
||||
#
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
|
@ -1298,7 +1375,6 @@ CONFIG_JFS_SECURITY=y
|
|||
# CONFIG_JFS_STATISTICS is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
CONFIG_XFS_FS=m
|
||||
CONFIG_XFS_EXPORT=y
|
||||
# CONFIG_XFS_QUOTA is not set
|
||||
CONFIG_XFS_SECURITY=y
|
||||
CONFIG_XFS_POSIX_ACL=y
|
||||
|
@ -1307,6 +1383,7 @@ CONFIG_XFS_POSIX_ACL=y
|
|||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_AUTOFS_FS=y
|
||||
|
@ -1342,7 +1419,6 @@ CONFIG_TMPFS=y
|
|||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_HUGETLB_PAGE=y
|
||||
CONFIG_RAMFS=y
|
||||
# CONFIG_RELAYFS_FS is not set
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
|
||||
#
|
||||
|
@ -1388,8 +1464,10 @@ CONFIG_RPCSEC_GSS_SPKM3=m
|
|||
# CONFIG_SMB_FS is not set
|
||||
CONFIG_CIFS=m
|
||||
# CONFIG_CIFS_STATS is not set
|
||||
# CONFIG_CIFS_WEAK_PW_HASH is not set
|
||||
CONFIG_CIFS_XATTR=y
|
||||
CONFIG_CIFS_POSIX=y
|
||||
# CONFIG_CIFS_DEBUG2 is not set
|
||||
# CONFIG_CIFS_EXPERIMENTAL is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
|
@ -1470,6 +1548,9 @@ CONFIG_CRC32=y
|
|||
CONFIG_LIBCRC32C=m
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_ZLIB_DEFLATE=m
|
||||
CONFIG_TEXTSEARCH=y
|
||||
CONFIG_TEXTSEARCH_KMP=m
|
||||
CONFIG_PLIST=y
|
||||
|
||||
#
|
||||
# Instrumentation Support
|
||||
|
@ -1483,14 +1564,19 @@ CONFIG_OPROFILE=y
|
|||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=17
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
|
@ -1504,11 +1590,7 @@ CONFIG_XMON=y
|
|||
# CONFIG_XMON_DEFAULT is not set
|
||||
CONFIG_IRQSTACKS=y
|
||||
CONFIG_BOOTX_TEXT=y
|
||||
# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_G5 is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_RTAS is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.18-rc3
|
||||
# Tue Aug 8 09:14:48 2006
|
||||
# Linux kernel version: 2.6.18-rc6
|
||||
# Sun Sep 10 10:45:12 2006
|
||||
#
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_64BIT=y
|
||||
|
@ -128,7 +128,6 @@ CONFIG_PPC_PSERIES=y
|
|||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
CONFIG_XICS=y
|
||||
# CONFIG_U3_DART is not set
|
||||
CONFIG_MPIC=y
|
||||
CONFIG_PPC_RTAS=y
|
||||
CONFIG_RTAS_ERROR_LOGGING=y
|
||||
CONFIG_RTAS_PROC=y
|
||||
|
@ -140,6 +139,7 @@ CONFIG_IBMEBUS=y
|
|||
# CONFIG_PPC_970_NAP is not set
|
||||
# CONFIG_CPU_FREQ is not set
|
||||
# CONFIG_WANT_EARLY_SERIAL is not set
|
||||
CONFIG_MPIC=y
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
|
@ -196,6 +196,7 @@ CONFIG_ISA_DMA_API=y
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
CONFIG_PPC_I8259=y
|
||||
# CONFIG_PPC_INDIRECT_PCI is not set
|
||||
CONFIG_PCI=y
|
||||
|
@ -790,7 +791,6 @@ CONFIG_SERIAL_JSM=m
|
|||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
# CONFIG_BRIQ_PANEL is not set
|
||||
# CONFIG_PRINTER is not set
|
||||
# CONFIG_PPDEV is not set
|
||||
# CONFIG_TIPAR is not set
|
||||
|
|
|
@ -295,7 +295,7 @@ void default_machine_crash_shutdown(struct pt_regs *regs)
|
|||
struct irq_desc *desc = irq_desc + irq;
|
||||
|
||||
if (desc->status & IRQ_INPROGRESS)
|
||||
desc->chip->end(irq);
|
||||
desc->chip->eoi(irq);
|
||||
|
||||
if (!(desc->status & IRQ_DISABLED))
|
||||
desc->chip->disable(irq);
|
||||
|
|
|
@ -17,15 +17,6 @@
|
|||
|
||||
.text
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
#define IN_SYNC twi 0,r5,0; isync
|
||||
#define EIEIO_32
|
||||
#define SYNC_64 sync
|
||||
#else /* CONFIG_PPC32 */
|
||||
#define IN_SYNC
|
||||
#define EIEIO_32 eieio
|
||||
#define SYNC_64
|
||||
#endif
|
||||
/*
|
||||
* Returns (address we are running at) - (address we were linked at)
|
||||
* for use before the text and data are mapped to KERNELBASE.
|
||||
|
@ -70,6 +61,7 @@ _GLOBAL(add_reloc_offset)
|
|||
* The *_ns versions don't do byte-swapping.
|
||||
*/
|
||||
_GLOBAL(_insb)
|
||||
sync
|
||||
cmpwi 0,r5,0
|
||||
mtctr r5
|
||||
subi r4,r4,1
|
||||
|
@ -78,7 +70,8 @@ _GLOBAL(_insb)
|
|||
eieio
|
||||
stbu r5,1(r4)
|
||||
bdnz 00b
|
||||
IN_SYNC
|
||||
twi 0,r5,0
|
||||
isync
|
||||
blr
|
||||
|
||||
_GLOBAL(_outsb)
|
||||
|
@ -86,14 +79,15 @@ _GLOBAL(_outsb)
|
|||
mtctr r5
|
||||
subi r4,r4,1
|
||||
blelr-
|
||||
sync
|
||||
00: lbzu r5,1(r4)
|
||||
stb r5,0(r3)
|
||||
EIEIO_32
|
||||
bdnz 00b
|
||||
SYNC_64
|
||||
sync
|
||||
blr
|
||||
|
||||
_GLOBAL(_insw)
|
||||
sync
|
||||
cmpwi 0,r5,0
|
||||
mtctr r5
|
||||
subi r4,r4,2
|
||||
|
@ -102,7 +96,8 @@ _GLOBAL(_insw)
|
|||
eieio
|
||||
sthu r5,2(r4)
|
||||
bdnz 00b
|
||||
IN_SYNC
|
||||
twi 0,r5,0
|
||||
isync
|
||||
blr
|
||||
|
||||
_GLOBAL(_outsw)
|
||||
|
@ -110,14 +105,15 @@ _GLOBAL(_outsw)
|
|||
mtctr r5
|
||||
subi r4,r4,2
|
||||
blelr-
|
||||
sync
|
||||
00: lhzu r5,2(r4)
|
||||
EIEIO_32
|
||||
sthbrx r5,0,r3
|
||||
bdnz 00b
|
||||
SYNC_64
|
||||
sync
|
||||
blr
|
||||
|
||||
_GLOBAL(_insl)
|
||||
sync
|
||||
cmpwi 0,r5,0
|
||||
mtctr r5
|
||||
subi r4,r4,4
|
||||
|
@ -126,7 +122,8 @@ _GLOBAL(_insl)
|
|||
eieio
|
||||
stwu r5,4(r4)
|
||||
bdnz 00b
|
||||
IN_SYNC
|
||||
twi 0,r5,0
|
||||
isync
|
||||
blr
|
||||
|
||||
_GLOBAL(_outsl)
|
||||
|
@ -134,17 +131,18 @@ _GLOBAL(_outsl)
|
|||
mtctr r5
|
||||
subi r4,r4,4
|
||||
blelr-
|
||||
sync
|
||||
00: lwzu r5,4(r4)
|
||||
stwbrx r5,0,r3
|
||||
EIEIO_32
|
||||
bdnz 00b
|
||||
SYNC_64
|
||||
sync
|
||||
blr
|
||||
|
||||
#ifdef CONFIG_PPC32
|
||||
_GLOBAL(__ide_mm_insw)
|
||||
#endif
|
||||
_GLOBAL(_insw_ns)
|
||||
sync
|
||||
cmpwi 0,r5,0
|
||||
mtctr r5
|
||||
subi r4,r4,2
|
||||
|
@ -153,7 +151,8 @@ _GLOBAL(_insw_ns)
|
|||
eieio
|
||||
sthu r5,2(r4)
|
||||
bdnz 00b
|
||||
IN_SYNC
|
||||
twi 0,r5,0
|
||||
isync
|
||||
blr
|
||||
|
||||
#ifdef CONFIG_PPC32
|
||||
|
@ -164,17 +163,18 @@ _GLOBAL(_outsw_ns)
|
|||
mtctr r5
|
||||
subi r4,r4,2
|
||||
blelr-
|
||||
sync
|
||||
00: lhzu r5,2(r4)
|
||||
sth r5,0(r3)
|
||||
EIEIO_32
|
||||
bdnz 00b
|
||||
SYNC_64
|
||||
sync
|
||||
blr
|
||||
|
||||
#ifdef CONFIG_PPC32
|
||||
_GLOBAL(__ide_mm_insl)
|
||||
#endif
|
||||
_GLOBAL(_insl_ns)
|
||||
sync
|
||||
cmpwi 0,r5,0
|
||||
mtctr r5
|
||||
subi r4,r4,4
|
||||
|
@ -183,7 +183,8 @@ _GLOBAL(_insl_ns)
|
|||
eieio
|
||||
stwu r5,4(r4)
|
||||
bdnz 00b
|
||||
IN_SYNC
|
||||
twi 0,r5,0
|
||||
isync
|
||||
blr
|
||||
|
||||
#ifdef CONFIG_PPC32
|
||||
|
@ -194,10 +195,10 @@ _GLOBAL(_outsl_ns)
|
|||
mtctr r5
|
||||
subi r4,r4,4
|
||||
blelr-
|
||||
sync
|
||||
00: lwzu r5,4(r4)
|
||||
stw r5,0(r3)
|
||||
EIEIO_32
|
||||
bdnz 00b
|
||||
SYNC_64
|
||||
sync
|
||||
blr
|
||||
|
||||
|
|
|
@ -158,7 +158,7 @@ get_pci_irq_from_of(struct pci_controller *hose, int slot, int pin)
|
|||
|
||||
laddr[0] = (hose->first_busno << 16) | (PCI_DEVFN(slot, 0) << 8);
|
||||
laddr[1] = laddr[2] = 0;
|
||||
of_irq_map_raw(hosenode, &pin, laddr, &oirq);
|
||||
of_irq_map_raw(hosenode, &pin, 1, laddr, &oirq);
|
||||
DBG("mpc86xx_hpcn: pci irq addr %x, slot %d, pin %d, irq %d\n",
|
||||
laddr[0], slot, pin, oirq.specifier[0]);
|
||||
return oirq.specifier[0];
|
||||
|
|
|
@ -139,6 +139,7 @@ wait_more:
|
|||
|
||||
static void dart_flush(struct iommu_table *tbl)
|
||||
{
|
||||
mb();
|
||||
if (dart_dirty) {
|
||||
dart_tlb_invalidate_all();
|
||||
dart_dirty = 0;
|
||||
|
@ -172,9 +173,13 @@ static void dart_build(struct iommu_table *tbl, long index,
|
|||
uaddr += DART_PAGE_SIZE;
|
||||
}
|
||||
|
||||
/* make sure all updates have reached memory */
|
||||
mb();
|
||||
in_be32((unsigned __iomem *)dp);
|
||||
mb();
|
||||
|
||||
if (dart_is_u4) {
|
||||
rpn = index;
|
||||
mb(); /* make sure all updates have reached memory */
|
||||
while (npages--)
|
||||
dart_tlb_invalidate_one(rpn++);
|
||||
} else {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -470,19 +470,21 @@ asmlinkage int sys_getdomainname(char __user *name, int len)
|
|||
{
|
||||
int nlen, err;
|
||||
|
||||
if (len < 0 || len > __NEW_UTS_LEN)
|
||||
if (len < 0)
|
||||
return -EINVAL;
|
||||
|
||||
down_read(&uts_sem);
|
||||
|
||||
nlen = strlen(system_utsname.domainname) + 1;
|
||||
if (nlen < len)
|
||||
len = nlen;
|
||||
err = -EINVAL;
|
||||
if (nlen > len)
|
||||
goto out;
|
||||
|
||||
err = -EFAULT;
|
||||
if (!copy_to_user(name, system_utsname.domainname, len))
|
||||
if (!copy_to_user(name, system_utsname.domainname, nlen))
|
||||
err = 0;
|
||||
|
||||
out:
|
||||
up_read(&uts_sem);
|
||||
return err;
|
||||
}
|
||||
|
|
|
@ -707,19 +707,21 @@ asmlinkage long sys_getdomainname(char __user *name, int len)
|
|||
{
|
||||
int nlen, err;
|
||||
|
||||
if (len < 0 || len > __NEW_UTS_LEN)
|
||||
if (len < 0)
|
||||
return -EINVAL;
|
||||
|
||||
down_read(&uts_sem);
|
||||
|
||||
nlen = strlen(system_utsname.domainname) + 1;
|
||||
if (nlen < len)
|
||||
len = nlen;
|
||||
err = -EINVAL;
|
||||
if (nlen > len)
|
||||
goto out;
|
||||
|
||||
err = -EFAULT;
|
||||
if (!copy_to_user(name, system_utsname.domainname, len))
|
||||
if (!copy_to_user(name, system_utsname.domainname, nlen))
|
||||
err = 0;
|
||||
|
||||
out:
|
||||
up_read(&uts_sem);
|
||||
return err;
|
||||
}
|
||||
|
|
|
@ -108,6 +108,35 @@ e820_any_mapped(unsigned long start, unsigned long end, unsigned type)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* This function checks if the entire range <start,end> is mapped with type.
|
||||
*
|
||||
* Note: this function only works correct if the e820 table is sorted and
|
||||
* not-overlapping, which is the case
|
||||
*/
|
||||
int __init e820_all_mapped(unsigned long start, unsigned long end, unsigned type)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < e820.nr_map; i++) {
|
||||
struct e820entry *ei = &e820.map[i];
|
||||
if (type && ei->type != type)
|
||||
continue;
|
||||
/* is the region (part) in overlap with the current region ?*/
|
||||
if (ei->addr >= end || ei->addr + ei->size <= start)
|
||||
continue;
|
||||
|
||||
/* if the region is at the beginning of <start,end> we move
|
||||
* start to the end of the region since it's ok until there
|
||||
*/
|
||||
if (ei->addr <= start)
|
||||
start = ei->addr + ei->size;
|
||||
/* if start is now at or beyond end, we're done, full coverage */
|
||||
if (start >= end)
|
||||
return 1; /* we're done */
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Find a free area in a specific range.
|
||||
*/
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/bitmap.h>
|
||||
#include <linux/dmi.h>
|
||||
#include <asm/e820.h>
|
||||
|
||||
#include "pci.h"
|
||||
|
@ -165,33 +164,11 @@ static __init void unreachable_devices(void)
|
|||
}
|
||||
}
|
||||
|
||||
static int disable_mcfg(struct dmi_system_id *d)
|
||||
{
|
||||
printk("PCI: %s detected. Disabling MCFG.\n", d->ident);
|
||||
pci_probe &= ~PCI_PROBE_MMCONF;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct dmi_system_id __initdata dmi_bad_mcfg[] = {
|
||||
/* Has broken MCFG table that makes the system hang when used */
|
||||
{
|
||||
.callback = disable_mcfg,
|
||||
.ident = "Intel D3C5105 SDV",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_BIOS_VENDOR, "Intel"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "D26928"),
|
||||
},
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
void __init pci_mmcfg_init(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
dmi_check_system(dmi_bad_mcfg);
|
||||
|
||||
if ((pci_probe & (PCI_PROBE_MMCONF|PCI_PROBE_MMCONF_FORCE)) == 0)
|
||||
if ((pci_probe & PCI_PROBE_MMCONF) == 0)
|
||||
return;
|
||||
|
||||
acpi_table_parse(ACPI_MCFG, acpi_parse_mcfg);
|
||||
|
@ -200,6 +177,15 @@ void __init pci_mmcfg_init(void)
|
|||
(pci_mmcfg_config[0].base_address == 0))
|
||||
return;
|
||||
|
||||
if (!e820_all_mapped(pci_mmcfg_config[0].base_address,
|
||||
pci_mmcfg_config[0].base_address + MMCONFIG_APER_MIN,
|
||||
E820_RESERVED)) {
|
||||
printk(KERN_ERR "PCI: BIOS Bug: MCFG area at %x is not E820-reserved\n",
|
||||
pci_mmcfg_config[0].base_address);
|
||||
printk(KERN_ERR "PCI: Not using MMCONFIG.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* RED-PEN i386 doesn't do _nocache right now */
|
||||
pci_mmcfg_virt = kmalloc(sizeof(*pci_mmcfg_virt) * pci_mmcfg_config_num, GFP_KERNEL);
|
||||
if (pci_mmcfg_virt == NULL) {
|
||||
|
|
|
@ -1928,7 +1928,9 @@ he_service_rbrq(struct he_dev *he_dev, int group)
|
|||
#ifdef notdef
|
||||
ATM_SKB(skb)->vcc = vcc;
|
||||
#endif
|
||||
spin_unlock(&he_dev->global_lock);
|
||||
vcc->push(vcc, skb);
|
||||
spin_lock(&he_dev->global_lock);
|
||||
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
|
||||
|
@ -2282,6 +2284,8 @@ __enqueue_tpd(struct he_dev *he_dev, struct he_tpd *tpd, unsigned cid)
|
|||
TPDRQ_MASK(he_readl(he_dev, TPDRQ_B_H)));
|
||||
|
||||
if (new_tail == he_dev->tpdrq_head) {
|
||||
int slot;
|
||||
|
||||
hprintk("tpdrq full (cid 0x%x)\n", cid);
|
||||
/*
|
||||
* FIXME
|
||||
|
@ -2289,6 +2293,13 @@ __enqueue_tpd(struct he_dev *he_dev, struct he_tpd *tpd, unsigned cid)
|
|||
* after service_tbrq, service the backlog
|
||||
* for now, we just drop the pdu
|
||||
*/
|
||||
for (slot = 0; slot < TPD_MAXIOV; ++slot) {
|
||||
if (tpd->iovec[slot].addr)
|
||||
pci_unmap_single(he_dev->pci_dev,
|
||||
tpd->iovec[slot].addr,
|
||||
tpd->iovec[slot].len & TPD_LEN_MASK,
|
||||
PCI_DMA_TODEVICE);
|
||||
}
|
||||
if (tpd->skb) {
|
||||
if (tpd->vcc->pop)
|
||||
tpd->vcc->pop(tpd->vcc, tpd->skb);
|
||||
|
|
|
@ -48,14 +48,14 @@
|
|||
#include <linux/completion.h>
|
||||
|
||||
#define CCISS_DRIVER_VERSION(maj,min,submin) ((maj<<16)|(min<<8)|(submin))
|
||||
#define DRIVER_NAME "HP CISS Driver (v 2.6.10)"
|
||||
#define DRIVER_VERSION CCISS_DRIVER_VERSION(2,6,10)
|
||||
#define DRIVER_NAME "HP CISS Driver (v 3.6.10)"
|
||||
#define DRIVER_VERSION CCISS_DRIVER_VERSION(3,6,10)
|
||||
|
||||
/* Embedded module documentation macros - see modules.h */
|
||||
MODULE_AUTHOR("Hewlett-Packard Company");
|
||||
MODULE_DESCRIPTION("Driver for HP Controller SA5xxx SA6xxx version 2.6.10");
|
||||
MODULE_DESCRIPTION("Driver for HP Controller SA5xxx SA6xxx version 3.6.10");
|
||||
MODULE_SUPPORTED_DEVICE("HP SA5i SA5i+ SA532 SA5300 SA5312 SA641 SA642 SA6400"
|
||||
" SA6i P600 P800 P400 P400i E200 E200i");
|
||||
" SA6i P600 P800 P400 P400i E200 E200i E500");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
#include "cciss_cmd.h"
|
||||
|
@ -82,6 +82,7 @@ static const struct pci_device_id cciss_pci_device_id[] = {
|
|||
{PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSD, 0x103C, 0x3213},
|
||||
{PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSD, 0x103C, 0x3214},
|
||||
{PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSD, 0x103C, 0x3215},
|
||||
{PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3233},
|
||||
{0,}
|
||||
};
|
||||
|
||||
|
@ -110,6 +111,7 @@ static struct board_type products[] = {
|
|||
{0x3213103C, "Smart Array E200i", &SA5_access},
|
||||
{0x3214103C, "Smart Array E200i", &SA5_access},
|
||||
{0x3215103C, "Smart Array E200i", &SA5_access},
|
||||
{0x3233103C, "Smart Array E500", &SA5_access},
|
||||
};
|
||||
|
||||
/* How long to wait (in milliseconds) for board to go into simple mode */
|
||||
|
|
|
@ -668,6 +668,7 @@ int khvcd(void *unused)
|
|||
do {
|
||||
poll_mask = 0;
|
||||
hvc_kicked = 0;
|
||||
try_to_freeze();
|
||||
wmb();
|
||||
if (cpus_empty(cpus_in_xmon)) {
|
||||
spin_lock(&hvc_structs_lock);
|
||||
|
|
|
@ -402,10 +402,10 @@ static void handle_flags(struct smi_info *smi_info)
|
|||
smi_info->curr_msg->data,
|
||||
smi_info->curr_msg->data_size);
|
||||
smi_info->si_state = SI_GETTING_EVENTS;
|
||||
} else if (smi_info->msg_flags & OEM_DATA_AVAIL) {
|
||||
if (smi_info->oem_data_avail_handler)
|
||||
if (smi_info->oem_data_avail_handler(smi_info))
|
||||
goto retry;
|
||||
} else if (smi_info->msg_flags & OEM_DATA_AVAIL &&
|
||||
smi_info->oem_data_avail_handler) {
|
||||
if (smi_info->oem_data_avail_handler(smi_info))
|
||||
goto retry;
|
||||
} else {
|
||||
smi_info->si_state = SI_NORMAL;
|
||||
}
|
||||
|
@ -2481,6 +2481,7 @@ static __devinit int init_ipmi_si(void)
|
|||
#ifdef CONFIG_PCI
|
||||
pci_unregister_driver(&ipmi_pci_driver);
|
||||
#endif
|
||||
driver_unregister(&ipmi_driver);
|
||||
printk("ipmi_si: Unable to find any System Interface(s)\n");
|
||||
return -ENODEV;
|
||||
} else {
|
||||
|
|
|
@ -730,7 +730,7 @@ static unsigned int __devinit ata66_ali15x3 (ide_hwif_t *hwif)
|
|||
|
||||
if(m5229_revision <= 0x20)
|
||||
tmpbyte = (tmpbyte & (~0x02)) | 0x01;
|
||||
else if (m5229_revision == 0xc7)
|
||||
else if (m5229_revision == 0xc7 || m5229_revision == 0xc8)
|
||||
tmpbyte |= 0x03;
|
||||
else
|
||||
tmpbyte |= 0x01;
|
||||
|
|
|
@ -49,7 +49,7 @@ MODULE_DESCRIPTION("Generic RDMA CM Agent");
|
|||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
|
||||
#define CMA_CM_RESPONSE_TIMEOUT 20
|
||||
#define CMA_MAX_CM_RETRIES 3
|
||||
#define CMA_MAX_CM_RETRIES 15
|
||||
|
||||
static void cma_add_one(struct ib_device *device);
|
||||
static void cma_remove_one(struct ib_device *device);
|
||||
|
|
|
@ -326,6 +326,7 @@ ipoib_mcast_sendonly_join_complete(int status,
|
|||
|
||||
/* Clear the busy flag so we try again */
|
||||
clear_bit(IPOIB_MCAST_FLAG_BUSY, &mcast->flags);
|
||||
mcast->query = NULL;
|
||||
}
|
||||
|
||||
complete(&mcast->done);
|
||||
|
|
|
@ -799,13 +799,6 @@ static void srp_process_rsp(struct srp_target_port *target, struct srp_rsp *rsp)
|
|||
spin_unlock_irqrestore(target->scsi_host->host_lock, flags);
|
||||
}
|
||||
|
||||
static void srp_reconnect_work(void *target_ptr)
|
||||
{
|
||||
struct srp_target_port *target = target_ptr;
|
||||
|
||||
srp_reconnect_target(target);
|
||||
}
|
||||
|
||||
static void srp_handle_recv(struct srp_target_port *target, struct ib_wc *wc)
|
||||
{
|
||||
struct srp_iu *iu;
|
||||
|
@ -858,7 +851,6 @@ static void srp_completion(struct ib_cq *cq, void *target_ptr)
|
|||
{
|
||||
struct srp_target_port *target = target_ptr;
|
||||
struct ib_wc wc;
|
||||
unsigned long flags;
|
||||
|
||||
ib_req_notify_cq(cq, IB_CQ_NEXT_COMP);
|
||||
while (ib_poll_cq(cq, 1, &wc) > 0) {
|
||||
|
@ -866,10 +858,6 @@ static void srp_completion(struct ib_cq *cq, void *target_ptr)
|
|||
printk(KERN_ERR PFX "failed %s status %d\n",
|
||||
wc.wr_id & SRP_OP_RECV ? "receive" : "send",
|
||||
wc.status);
|
||||
spin_lock_irqsave(target->scsi_host->host_lock, flags);
|
||||
if (target->state == SRP_TARGET_LIVE)
|
||||
schedule_work(&target->work);
|
||||
spin_unlock_irqrestore(target->scsi_host->host_lock, flags);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1705,8 +1693,6 @@ static ssize_t srp_create_target(struct class_device *class_dev,
|
|||
target->scsi_host = target_host;
|
||||
target->srp_host = host;
|
||||
|
||||
INIT_WORK(&target->work, srp_reconnect_work, target);
|
||||
|
||||
INIT_LIST_HEAD(&target->free_reqs);
|
||||
INIT_LIST_HEAD(&target->req_queue);
|
||||
for (i = 0; i < SRP_SQ_SIZE; ++i) {
|
||||
|
|
|
@ -908,7 +908,7 @@ static void __xipram xip_enable(struct map_info *map, struct flchip *chip,
|
|||
|
||||
static int __xipram xip_wait_for_operation(
|
||||
struct map_info *map, struct flchip *chip,
|
||||
unsigned long adr, int *chip_op_time )
|
||||
unsigned long adr, unsigned int chip_op_time )
|
||||
{
|
||||
struct cfi_private *cfi = map->fldrv_priv;
|
||||
struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
|
||||
|
@ -917,7 +917,7 @@ static int __xipram xip_wait_for_operation(
|
|||
flstate_t oldstate, newstate;
|
||||
|
||||
start = xip_currtime();
|
||||
usec = *chip_op_time * 8;
|
||||
usec = chip_op_time * 8;
|
||||
if (usec == 0)
|
||||
usec = 500000;
|
||||
done = 0;
|
||||
|
@ -1027,8 +1027,8 @@ static int __xipram xip_wait_for_operation(
|
|||
#define XIP_INVAL_CACHED_RANGE(map, from, size) \
|
||||
INVALIDATE_CACHED_RANGE(map, from, size)
|
||||
|
||||
#define INVAL_CACHE_AND_WAIT(map, chip, cmd_adr, inval_adr, inval_len, p_usec) \
|
||||
xip_wait_for_operation(map, chip, cmd_adr, p_usec)
|
||||
#define INVAL_CACHE_AND_WAIT(map, chip, cmd_adr, inval_adr, inval_len, usec) \
|
||||
xip_wait_for_operation(map, chip, cmd_adr, usec)
|
||||
|
||||
#else
|
||||
|
||||
|
@ -1040,64 +1040,64 @@ static int __xipram xip_wait_for_operation(
|
|||
static int inval_cache_and_wait_for_operation(
|
||||
struct map_info *map, struct flchip *chip,
|
||||
unsigned long cmd_adr, unsigned long inval_adr, int inval_len,
|
||||
int *chip_op_time )
|
||||
unsigned int chip_op_time)
|
||||
{
|
||||
struct cfi_private *cfi = map->fldrv_priv;
|
||||
map_word status, status_OK = CMD(0x80);
|
||||
int z, chip_state = chip->state;
|
||||
unsigned long timeo;
|
||||
int chip_state = chip->state;
|
||||
unsigned int timeo, sleep_time;
|
||||
|
||||
spin_unlock(chip->mutex);
|
||||
if (inval_len)
|
||||
INVALIDATE_CACHED_RANGE(map, inval_adr, inval_len);
|
||||
if (*chip_op_time)
|
||||
cfi_udelay(*chip_op_time);
|
||||
spin_lock(chip->mutex);
|
||||
|
||||
timeo = *chip_op_time * 8 * HZ / 1000000;
|
||||
if (timeo < HZ/2)
|
||||
timeo = HZ/2;
|
||||
timeo += jiffies;
|
||||
/* set our timeout to 8 times the expected delay */
|
||||
timeo = chip_op_time * 8;
|
||||
if (!timeo)
|
||||
timeo = 500000;
|
||||
sleep_time = chip_op_time / 2;
|
||||
|
||||
z = 0;
|
||||
for (;;) {
|
||||
if (chip->state != chip_state) {
|
||||
/* Someone's suspended the operation: sleep */
|
||||
DECLARE_WAITQUEUE(wait, current);
|
||||
|
||||
set_current_state(TASK_UNINTERRUPTIBLE);
|
||||
add_wait_queue(&chip->wq, &wait);
|
||||
spin_unlock(chip->mutex);
|
||||
schedule();
|
||||
remove_wait_queue(&chip->wq, &wait);
|
||||
timeo = jiffies + (HZ / 2); /* FIXME */
|
||||
spin_lock(chip->mutex);
|
||||
continue;
|
||||
}
|
||||
|
||||
status = map_read(map, cmd_adr);
|
||||
if (map_word_andequal(map, status, status_OK, status_OK))
|
||||
break;
|
||||
|
||||
/* OK Still waiting */
|
||||
if (time_after(jiffies, timeo)) {
|
||||
if (!timeo) {
|
||||
map_write(map, CMD(0x70), cmd_adr);
|
||||
chip->state = FL_STATUS;
|
||||
return -ETIME;
|
||||
}
|
||||
|
||||
/* Latency issues. Drop the lock, wait a while and retry */
|
||||
z++;
|
||||
/* OK Still waiting. Drop the lock, wait a while and retry. */
|
||||
spin_unlock(chip->mutex);
|
||||
cfi_udelay(1);
|
||||
if (sleep_time >= 1000000/HZ) {
|
||||
/*
|
||||
* Half of the normal delay still remaining
|
||||
* can be performed with a sleeping delay instead
|
||||
* of busy waiting.
|
||||
*/
|
||||
msleep(sleep_time/1000);
|
||||
timeo -= sleep_time;
|
||||
sleep_time = 1000000/HZ;
|
||||
} else {
|
||||
udelay(1);
|
||||
cond_resched();
|
||||
timeo--;
|
||||
}
|
||||
spin_lock(chip->mutex);
|
||||
}
|
||||
|
||||
if (!z) {
|
||||
if (!--(*chip_op_time))
|
||||
*chip_op_time = 1;
|
||||
} else if (z > 1)
|
||||
++(*chip_op_time);
|
||||
if (chip->state != chip_state) {
|
||||
/* Someone's suspended the operation: sleep */
|
||||
DECLARE_WAITQUEUE(wait, current);
|
||||
set_current_state(TASK_UNINTERRUPTIBLE);
|
||||
add_wait_queue(&chip->wq, &wait);
|
||||
spin_unlock(chip->mutex);
|
||||
schedule();
|
||||
remove_wait_queue(&chip->wq, &wait);
|
||||
spin_lock(chip->mutex);
|
||||
}
|
||||
}
|
||||
|
||||
/* Done and happy. */
|
||||
chip->state = FL_STATUS;
|
||||
|
@ -1107,8 +1107,7 @@ static int inval_cache_and_wait_for_operation(
|
|||
#endif
|
||||
|
||||
#define WAIT_TIMEOUT(map, chip, adr, udelay) \
|
||||
({ int __udelay = (udelay); \
|
||||
INVAL_CACHE_AND_WAIT(map, chip, adr, 0, 0, &__udelay); })
|
||||
INVAL_CACHE_AND_WAIT(map, chip, adr, 0, 0, udelay);
|
||||
|
||||
|
||||
static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len)
|
||||
|
@ -1332,7 +1331,7 @@ static int __xipram do_write_oneword(struct map_info *map, struct flchip *chip,
|
|||
|
||||
ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
|
||||
adr, map_bankwidth(map),
|
||||
&chip->word_write_time);
|
||||
chip->word_write_time);
|
||||
if (ret) {
|
||||
xip_enable(map, chip, adr);
|
||||
printk(KERN_ERR "%s: word write error (status timeout)\n", map->name);
|
||||
|
@ -1569,7 +1568,7 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
|
|||
|
||||
ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr,
|
||||
adr, len,
|
||||
&chip->buffer_write_time);
|
||||
chip->buffer_write_time);
|
||||
if (ret) {
|
||||
map_write(map, CMD(0x70), cmd_adr);
|
||||
chip->state = FL_STATUS;
|
||||
|
@ -1704,7 +1703,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
|
|||
|
||||
ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
|
||||
adr, len,
|
||||
&chip->erase_time);
|
||||
chip->erase_time);
|
||||
if (ret) {
|
||||
map_write(map, CMD(0x70), adr);
|
||||
chip->state = FL_STATUS;
|
||||
|
|
|
@ -45,9 +45,11 @@
|
|||
#define MAX_WORD_RETRIES 3
|
||||
|
||||
#define MANUFACTURER_AMD 0x0001
|
||||
#define MANUFACTURER_ATMEL 0x001F
|
||||
#define MANUFACTURER_SST 0x00BF
|
||||
#define SST49LF004B 0x0060
|
||||
#define SST49LF008A 0x005a
|
||||
#define AT49BV6416 0x00d6
|
||||
|
||||
static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
|
||||
static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
|
||||
|
@ -68,6 +70,9 @@ static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr
|
|||
static void put_chip(struct map_info *map, struct flchip *chip, unsigned long adr);
|
||||
#include "fwh_lock.h"
|
||||
|
||||
static int cfi_atmel_lock(struct mtd_info *mtd, loff_t ofs, size_t len);
|
||||
static int cfi_atmel_unlock(struct mtd_info *mtd, loff_t ofs, size_t len);
|
||||
|
||||
static struct mtd_chip_driver cfi_amdstd_chipdrv = {
|
||||
.probe = NULL, /* Not usable directly */
|
||||
.destroy = cfi_amdstd_destroy,
|
||||
|
@ -161,6 +166,26 @@ static void fixup_use_write_buffers(struct mtd_info *mtd, void *param)
|
|||
}
|
||||
}
|
||||
|
||||
/* Atmel chips don't use the same PRI format as AMD chips */
|
||||
static void fixup_convert_atmel_pri(struct mtd_info *mtd, void *param)
|
||||
{
|
||||
struct map_info *map = mtd->priv;
|
||||
struct cfi_private *cfi = map->fldrv_priv;
|
||||
struct cfi_pri_amdstd *extp = cfi->cmdset_priv;
|
||||
struct cfi_pri_atmel atmel_pri;
|
||||
|
||||
memcpy(&atmel_pri, extp, sizeof(atmel_pri));
|
||||
memset((char *)extp + 5, 0, sizeof(*extp) - 5);
|
||||
|
||||
if (atmel_pri.Features & 0x02)
|
||||
extp->EraseSuspend = 2;
|
||||
|
||||
if (atmel_pri.BottomBoot)
|
||||
extp->TopBottom = 2;
|
||||
else
|
||||
extp->TopBottom = 3;
|
||||
}
|
||||
|
||||
static void fixup_use_secsi(struct mtd_info *mtd, void *param)
|
||||
{
|
||||
/* Setup for chips with a secsi area */
|
||||
|
@ -179,6 +204,16 @@ static void fixup_use_erase_chip(struct mtd_info *mtd, void *param)
|
|||
|
||||
}
|
||||
|
||||
/*
|
||||
* Some Atmel chips (e.g. the AT49BV6416) power-up with all sectors
|
||||
* locked by default.
|
||||
*/
|
||||
static void fixup_use_atmel_lock(struct mtd_info *mtd, void *param)
|
||||
{
|
||||
mtd->lock = cfi_atmel_lock;
|
||||
mtd->unlock = cfi_atmel_unlock;
|
||||
}
|
||||
|
||||
static struct cfi_fixup cfi_fixup_table[] = {
|
||||
#ifdef AMD_BOOTLOC_BUG
|
||||
{ CFI_MFR_AMD, CFI_ID_ANY, fixup_amd_bootblock, NULL },
|
||||
|
@ -192,6 +227,7 @@ static struct cfi_fixup cfi_fixup_table[] = {
|
|||
#if !FORCE_WORD_WRITE
|
||||
{ CFI_MFR_ANY, CFI_ID_ANY, fixup_use_write_buffers, NULL, },
|
||||
#endif
|
||||
{ CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL },
|
||||
{ 0, 0, NULL, NULL }
|
||||
};
|
||||
static struct cfi_fixup jedec_fixup_table[] = {
|
||||
|
@ -207,6 +243,7 @@ static struct cfi_fixup fixup_table[] = {
|
|||
* we know that is the case.
|
||||
*/
|
||||
{ CFI_MFR_ANY, CFI_ID_ANY, fixup_use_erase_chip, NULL },
|
||||
{ CFI_MFR_ATMEL, AT49BV6416, fixup_use_atmel_lock, NULL },
|
||||
{ 0, 0, NULL, NULL }
|
||||
};
|
||||
|
||||
|
@ -1607,6 +1644,80 @@ static int cfi_amdstd_erase_chip(struct mtd_info *mtd, struct erase_info *instr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int do_atmel_lock(struct map_info *map, struct flchip *chip,
|
||||
unsigned long adr, int len, void *thunk)
|
||||
{
|
||||
struct cfi_private *cfi = map->fldrv_priv;
|
||||
int ret;
|
||||
|
||||
spin_lock(chip->mutex);
|
||||
ret = get_chip(map, chip, adr + chip->start, FL_LOCKING);
|
||||
if (ret)
|
||||
goto out_unlock;
|
||||
chip->state = FL_LOCKING;
|
||||
|
||||
DEBUG(MTD_DEBUG_LEVEL3, "MTD %s(): LOCK 0x%08lx len %d\n",
|
||||
__func__, adr, len);
|
||||
|
||||
cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
|
||||
cfi->device_type, NULL);
|
||||
cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
|
||||
cfi->device_type, NULL);
|
||||
cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi,
|
||||
cfi->device_type, NULL);
|
||||
cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
|
||||
cfi->device_type, NULL);
|
||||
cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi,
|
||||
cfi->device_type, NULL);
|
||||
map_write(map, CMD(0x40), chip->start + adr);
|
||||
|
||||
chip->state = FL_READY;
|
||||
put_chip(map, chip, adr + chip->start);
|
||||
ret = 0;
|
||||
|
||||
out_unlock:
|
||||
spin_unlock(chip->mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int do_atmel_unlock(struct map_info *map, struct flchip *chip,
|
||||
unsigned long adr, int len, void *thunk)
|
||||
{
|
||||
struct cfi_private *cfi = map->fldrv_priv;
|
||||
int ret;
|
||||
|
||||
spin_lock(chip->mutex);
|
||||
ret = get_chip(map, chip, adr + chip->start, FL_UNLOCKING);
|
||||
if (ret)
|
||||
goto out_unlock;
|
||||
chip->state = FL_UNLOCKING;
|
||||
|
||||
DEBUG(MTD_DEBUG_LEVEL3, "MTD %s(): LOCK 0x%08lx len %d\n",
|
||||
__func__, adr, len);
|
||||
|
||||
cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi,
|
||||
cfi->device_type, NULL);
|
||||
map_write(map, CMD(0x70), adr);
|
||||
|
||||
chip->state = FL_READY;
|
||||
put_chip(map, chip, adr + chip->start);
|
||||
ret = 0;
|
||||
|
||||
out_unlock:
|
||||
spin_unlock(chip->mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int cfi_atmel_lock(struct mtd_info *mtd, loff_t ofs, size_t len)
|
||||
{
|
||||
return cfi_varsize_frob(mtd, do_atmel_lock, ofs, len, NULL);
|
||||
}
|
||||
|
||||
static int cfi_atmel_unlock(struct mtd_info *mtd, loff_t ofs, size_t len)
|
||||
{
|
||||
return cfi_varsize_frob(mtd, do_atmel_unlock, ofs, len, NULL);
|
||||
}
|
||||
|
||||
|
||||
static void cfi_amdstd_sync (struct mtd_info *mtd)
|
||||
{
|
||||
|
|
|
@ -111,6 +111,7 @@
|
|||
#define MX29LV040C 0x004F
|
||||
#define MX29LV160T 0x22C4
|
||||
#define MX29LV160B 0x2249
|
||||
#define MX29F040 0x00A4
|
||||
#define MX29F016 0x00AD
|
||||
#define MX29F002T 0x00B0
|
||||
#define MX29F004T 0x0045
|
||||
|
@ -1171,6 +1172,19 @@ static const struct amd_flash_info jedec_table[] = {
|
|||
ERASEINFO(0x10000,31)
|
||||
}
|
||||
}, {
|
||||
.mfr_id = MANUFACTURER_MACRONIX,
|
||||
.dev_id = MX29F040,
|
||||
.name = "Macronix MX29F040",
|
||||
.uaddr = {
|
||||
[0] = MTD_UADDR_0x0555_0x02AA /* x8 */
|
||||
},
|
||||
.DevSize = SIZE_512KiB,
|
||||
.CmdSet = P_ID_AMD_STD,
|
||||
.NumEraseRegions= 1,
|
||||
.regions = {
|
||||
ERASEINFO(0x10000,8),
|
||||
}
|
||||
}, {
|
||||
.mfr_id = MANUFACTURER_MACRONIX,
|
||||
.dev_id = MX29F016,
|
||||
.name = "Macronix MX29F016",
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/buffer_head.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/mount.h>
|
||||
|
||||
#define VERSION "$Revision: 1.30 $"
|
||||
|
||||
|
@ -236,6 +237,8 @@ static int _block2mtd_write(struct block2mtd_dev *dev, const u_char *buf,
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int block2mtd_write(struct mtd_info *mtd, loff_t to, size_t len,
|
||||
size_t *retlen, const u_char *buf)
|
||||
{
|
||||
|
@ -299,6 +302,19 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size)
|
|||
|
||||
/* Get a handle on the device */
|
||||
bdev = open_bdev_excl(devname, O_RDWR, NULL);
|
||||
#ifndef MODULE
|
||||
if (IS_ERR(bdev)) {
|
||||
|
||||
/* We might not have rootfs mounted at this point. Try
|
||||
to resolve the device name by other means. */
|
||||
|
||||
dev_t dev = name_to_dev_t(devname);
|
||||
if (dev != 0) {
|
||||
bdev = open_by_devnum(dev, FMODE_WRITE | FMODE_READ);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (IS_ERR(bdev)) {
|
||||
ERROR("error: cannot open device %s", devname);
|
||||
goto devinit_err;
|
||||
|
@ -393,26 +409,6 @@ static int parse_num(size_t *num, const char *token)
|
|||
}
|
||||
|
||||
|
||||
static int parse_name(char **pname, const char *token, size_t limit)
|
||||
{
|
||||
size_t len;
|
||||
char *name;
|
||||
|
||||
len = strlen(token) + 1;
|
||||
if (len > limit)
|
||||
return -ENOSPC;
|
||||
|
||||
name = kmalloc(len, GFP_KERNEL);
|
||||
if (!name)
|
||||
return -ENOMEM;
|
||||
|
||||
strcpy(name, token);
|
||||
|
||||
*pname = name;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static inline void kill_final_newline(char *str)
|
||||
{
|
||||
char *newline = strrchr(str, '\n');
|
||||
|
@ -426,9 +422,15 @@ static inline void kill_final_newline(char *str)
|
|||
return 0; \
|
||||
} while (0)
|
||||
|
||||
static int block2mtd_setup(const char *val, struct kernel_param *kp)
|
||||
#ifndef MODULE
|
||||
static int block2mtd_init_called = 0;
|
||||
static __initdata char block2mtd_paramline[80 + 12]; /* 80 for device, 12 for erase size */
|
||||
#endif
|
||||
|
||||
|
||||
static int block2mtd_setup2(const char *val)
|
||||
{
|
||||
char buf[80+12]; /* 80 for device, 12 for erase size */
|
||||
char buf[80 + 12]; /* 80 for device, 12 for erase size */
|
||||
char *str = buf;
|
||||
char *token[2];
|
||||
char *name;
|
||||
|
@ -450,13 +452,9 @@ static int block2mtd_setup(const char *val, struct kernel_param *kp)
|
|||
if (!token[0])
|
||||
parse_err("no argument");
|
||||
|
||||
ret = parse_name(&name, token[0], 80);
|
||||
if (ret == -ENOMEM)
|
||||
parse_err("out of memory");
|
||||
if (ret == -ENOSPC)
|
||||
parse_err("name too long");
|
||||
if (ret)
|
||||
return 0;
|
||||
name = token[0];
|
||||
if (strlen(name) + 1 > 80)
|
||||
parse_err("device name too long");
|
||||
|
||||
if (token[1]) {
|
||||
ret = parse_num(&erase_size, token[1]);
|
||||
|
@ -472,13 +470,48 @@ static int block2mtd_setup(const char *val, struct kernel_param *kp)
|
|||
}
|
||||
|
||||
|
||||
static int block2mtd_setup(const char *val, struct kernel_param *kp)
|
||||
{
|
||||
#ifdef MODULE
|
||||
return block2mtd_setup2(val);
|
||||
#else
|
||||
/* If more parameters are later passed in via
|
||||
/sys/module/block2mtd/parameters/block2mtd
|
||||
and block2mtd_init() has already been called,
|
||||
we can parse the argument now. */
|
||||
|
||||
if (block2mtd_init_called)
|
||||
return block2mtd_setup2(val);
|
||||
|
||||
/* During early boot stage, we only save the parameters
|
||||
here. We must parse them later: if the param passed
|
||||
from kernel boot command line, block2mtd_setup() is
|
||||
called so early that it is not possible to resolve
|
||||
the device (even kmalloc() fails). Deter that work to
|
||||
block2mtd_setup2(). */
|
||||
|
||||
strlcpy(block2mtd_paramline, val, sizeof(block2mtd_paramline));
|
||||
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);
|
||||
MODULE_PARM_DESC(block2mtd, "Device to use. \"block2mtd=<dev>[,<erasesize>]\"");
|
||||
|
||||
static int __init block2mtd_init(void)
|
||||
{
|
||||
int ret = 0;
|
||||
INFO("version " VERSION);
|
||||
return 0;
|
||||
|
||||
#ifndef MODULE
|
||||
if (strlen(block2mtd_paramline))
|
||||
ret = block2mtd_setup2(block2mtd_paramline);
|
||||
block2mtd_init_called = 1;
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -406,13 +406,13 @@ struct flash_info {
|
|||
|
||||
static struct flash_info __devinitdata m25p_data [] = {
|
||||
/* REVISIT: fill in JEDEC ids, for parts that have them */
|
||||
{ "m25p05", 0x05, 0x0000, 32 * 1024, 2 },
|
||||
{ "m25p10", 0x10, 0x0000, 32 * 1024, 4 },
|
||||
{ "m25p20", 0x11, 0x0000, 64 * 1024, 4 },
|
||||
{ "m25p40", 0x12, 0x0000, 64 * 1024, 8 },
|
||||
{ "m25p05", 0x05, 0x2010, 32 * 1024, 2 },
|
||||
{ "m25p10", 0x10, 0x2011, 32 * 1024, 4 },
|
||||
{ "m25p20", 0x11, 0x2012, 64 * 1024, 4 },
|
||||
{ "m25p40", 0x12, 0x2013, 64 * 1024, 8 },
|
||||
{ "m25p80", 0x13, 0x0000, 64 * 1024, 16 },
|
||||
{ "m25p16", 0x14, 0x0000, 64 * 1024, 32 },
|
||||
{ "m25p32", 0x15, 0x0000, 64 * 1024, 64 },
|
||||
{ "m25p16", 0x14, 0x2015, 64 * 1024, 32 },
|
||||
{ "m25p32", 0x15, 0x2016, 64 * 1024, 64 },
|
||||
{ "m25p64", 0x16, 0x2017, 64 * 1024, 128 },
|
||||
};
|
||||
|
||||
|
|
|
@ -99,10 +99,6 @@
|
|||
#include <asm/system.h>
|
||||
#include <linux/pci.h>
|
||||
|
||||
#ifndef CONFIG_PCI
|
||||
#error Enable PCI in your kernel config
|
||||
#endif
|
||||
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/pmc551.h>
|
||||
#include <linux/mtd/compatmac.h>
|
||||
|
|
|
@ -13,13 +13,13 @@ config MTD_COMPLEX_MAPPINGS
|
|||
|
||||
config MTD_PHYSMAP
|
||||
tristate "CFI Flash device in physical memory map"
|
||||
depends on MTD_CFI
|
||||
depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM
|
||||
help
|
||||
This provides a 'mapping' driver which allows the CFI probe and
|
||||
command set driver code to communicate with flash chips which
|
||||
are mapped physically into the CPU's memory. You will need to
|
||||
configure the physical address and size of the flash chips on
|
||||
your particular board as well as the bus width, either statically
|
||||
This provides a 'mapping' driver which allows the NOR Flash and
|
||||
ROM driver code to communicate with chips which are mapped
|
||||
physically into the CPU's memory. You will need to configure
|
||||
the physical address and size of the flash chips on your
|
||||
particular board as well as the bus width, either statically
|
||||
with config options or at run-time.
|
||||
|
||||
config MTD_PHYSMAP_START
|
||||
|
|
|
@ -62,15 +62,12 @@ static loff_t mtd_lseek (struct file *file, loff_t offset, int orig)
|
|||
struct mtd_info *mtd = mfi->mtd;
|
||||
|
||||
switch (orig) {
|
||||
case 0:
|
||||
/* SEEK_SET */
|
||||
case SEEK_SET:
|
||||
break;
|
||||
case 1:
|
||||
/* SEEK_CUR */
|
||||
case SEEK_CUR:
|
||||
offset += file->f_pos;
|
||||
break;
|
||||
case 2:
|
||||
/* SEEK_END */
|
||||
case SEEK_END:
|
||||
offset += mtd->size;
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -11,7 +11,7 @@ config MTD_NAND
|
|||
help
|
||||
This enables support for accessing all type of NAND flash
|
||||
devices. For further information see
|
||||
<http://www.linux-mtd.infradead.org/tech/nand.html>.
|
||||
<http://www.linux-mtd.infradead.org/doc/nand.html>.
|
||||
|
||||
config MTD_NAND_VERIFY_WRITE
|
||||
bool "Verify NAND page writes"
|
||||
|
|
|
@ -1204,7 +1204,7 @@ static int nand_write_oob_syndrome(struct mtd_info *mtd,
|
|||
pos = steps * (eccsize + chunk);
|
||||
steps = 0;
|
||||
} else
|
||||
pos = eccsize + chunk;
|
||||
pos = eccsize;
|
||||
|
||||
chip->cmdfunc(mtd, NAND_CMD_SEQIN, pos, page);
|
||||
for (i = 0; i < steps; i++) {
|
||||
|
@ -1567,7 +1567,7 @@ static uint8_t *nand_fill_oob(struct nand_chip *chip, uint8_t *oob,
|
|||
bytes = min_t(size_t, len, free->length);
|
||||
boffs = free->offset;
|
||||
}
|
||||
memcpy(chip->oob_poi + woffs, oob, bytes);
|
||||
memcpy(chip->oob_poi + boffs, oob, bytes);
|
||||
oob += bytes;
|
||||
}
|
||||
return oob;
|
||||
|
@ -2224,7 +2224,7 @@ static struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd,
|
|||
}
|
||||
|
||||
/* Try to identify manufacturer */
|
||||
for (maf_idx = 0; nand_manuf_ids[maf_idx].id != 0x0; maf_id++) {
|
||||
for (maf_idx = 0; nand_manuf_ids[maf_idx].id != 0x0; maf_idx++) {
|
||||
if (nand_manuf_ids[maf_idx].id == *maf_id)
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -78,7 +78,7 @@ static struct mtd_partition sharpsl_nand_default_partition_info[] = {
|
|||
/*
|
||||
* hardware specific access to control-lines
|
||||
* ctrl:
|
||||
* NAND_CNE: bit 0 -> bit 0 & 4
|
||||
* NAND_CNE: bit 0 -> ! bit 0 & 4
|
||||
* NAND_CLE: bit 1 -> bit 1
|
||||
* NAND_ALE: bit 2 -> bit 2
|
||||
*
|
||||
|
@ -92,7 +92,10 @@ static void sharpsl_nand_hwcontrol(struct mtd_info *mtd, int cmd,
|
|||
unsigned char bits = ctrl & 0x07;
|
||||
|
||||
bits |= (ctrl & 0x01) << 4;
|
||||
writeb((readb(FLASHCTL) & 0x17) | bits, FLASHCTL);
|
||||
|
||||
bits ^= 0x11;
|
||||
|
||||
writeb((readb(FLASHCTL) & ~0x17) | bits, FLASHCTL);
|
||||
}
|
||||
|
||||
if (cmd != NAND_CMD_NONE)
|
||||
|
|
|
@ -1433,8 +1433,8 @@ e1000_configure_tx(struct e1000_adapter *adapter)
|
|||
E1000_WRITE_REG(hw, TDBAL, (tdba & 0x00000000ffffffffULL));
|
||||
E1000_WRITE_REG(hw, TDT, 0);
|
||||
E1000_WRITE_REG(hw, TDH, 0);
|
||||
adapter->tx_ring[0].tdh = E1000_TDH;
|
||||
adapter->tx_ring[0].tdt = E1000_TDT;
|
||||
adapter->tx_ring[0].tdh = ((hw->mac_type >= e1000_82543) ? E1000_TDH : E1000_82542_TDH);
|
||||
adapter->tx_ring[0].tdt = ((hw->mac_type >= e1000_82543) ? E1000_TDT : E1000_82542_TDT);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1840,8 +1840,8 @@ e1000_configure_rx(struct e1000_adapter *adapter)
|
|||
E1000_WRITE_REG(hw, RDBAL, (rdba & 0x00000000ffffffffULL));
|
||||
E1000_WRITE_REG(hw, RDT, 0);
|
||||
E1000_WRITE_REG(hw, RDH, 0);
|
||||
adapter->rx_ring[0].rdh = E1000_RDH;
|
||||
adapter->rx_ring[0].rdt = E1000_RDT;
|
||||
adapter->rx_ring[0].rdh = ((hw->mac_type >= e1000_82543) ? E1000_RDH : E1000_82542_RDH);
|
||||
adapter->rx_ring[0].rdt = ((hw->mac_type >= e1000_82543) ? E1000_RDT : E1000_82542_RDT);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -385,6 +385,8 @@ static int mv643xx_eth_receive_queue(struct net_device *dev, int budget)
|
|||
struct pkt_info pkt_info;
|
||||
|
||||
while (budget-- > 0 && eth_port_receive(mp, &pkt_info) == ETH_OK) {
|
||||
dma_unmap_single(NULL, pkt_info.buf_ptr, RX_SKB_SIZE,
|
||||
DMA_FROM_DEVICE);
|
||||
mp->rx_desc_count--;
|
||||
received_packets++;
|
||||
|
||||
|
|
|
@ -1430,9 +1430,43 @@ static int ofdm_qual_db(u8 status_quality, u8 rate, unsigned int size)
|
|||
break;
|
||||
}
|
||||
|
||||
switch (rate) {
|
||||
case ZD_OFDM_RATE_6M:
|
||||
case ZD_OFDM_RATE_9M:
|
||||
i += 3;
|
||||
break;
|
||||
case ZD_OFDM_RATE_12M:
|
||||
case ZD_OFDM_RATE_18M:
|
||||
i += 5;
|
||||
break;
|
||||
case ZD_OFDM_RATE_24M:
|
||||
case ZD_OFDM_RATE_36M:
|
||||
i += 9;
|
||||
break;
|
||||
case ZD_OFDM_RATE_48M:
|
||||
case ZD_OFDM_RATE_54M:
|
||||
i += 15;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
static int ofdm_qual_percent(u8 status_quality, u8 rate, unsigned int size)
|
||||
{
|
||||
int r;
|
||||
|
||||
r = ofdm_qual_db(status_quality, rate, size);
|
||||
ZD_ASSERT(r >= 0);
|
||||
if (r < 0)
|
||||
r = 0;
|
||||
|
||||
r = (r * 100)/29;
|
||||
return r <= 100 ? r : 100;
|
||||
}
|
||||
|
||||
static unsigned int log10times100(unsigned int x)
|
||||
{
|
||||
static const u8 log10[] = {
|
||||
|
@ -1476,31 +1510,28 @@ static int cck_snr_db(u8 status_quality)
|
|||
return r;
|
||||
}
|
||||
|
||||
static int rx_qual_db(const void *rx_frame, unsigned int size,
|
||||
const struct rx_status *status)
|
||||
static int cck_qual_percent(u8 status_quality)
|
||||
{
|
||||
return (status->frame_status&ZD_RX_OFDM) ?
|
||||
ofdm_qual_db(status->signal_quality_ofdm,
|
||||
zd_ofdm_plcp_header_rate(rx_frame),
|
||||
size) :
|
||||
cck_snr_db(status->signal_quality_cck);
|
||||
int r;
|
||||
|
||||
r = cck_snr_db(status_quality);
|
||||
r = (100*r)/17;
|
||||
return r <= 100 ? r : 100;
|
||||
}
|
||||
|
||||
u8 zd_rx_qual_percent(const void *rx_frame, unsigned int size,
|
||||
const struct rx_status *status)
|
||||
{
|
||||
int r = rx_qual_db(rx_frame, size, status);
|
||||
if (r < 0)
|
||||
r = 0;
|
||||
r = (r * 100) / 14;
|
||||
if (r > 100)
|
||||
r = 100;
|
||||
return r;
|
||||
return (status->frame_status&ZD_RX_OFDM) ?
|
||||
ofdm_qual_percent(status->signal_quality_ofdm,
|
||||
zd_ofdm_plcp_header_rate(rx_frame),
|
||||
size) :
|
||||
cck_qual_percent(status->signal_quality_cck);
|
||||
}
|
||||
|
||||
u8 zd_rx_strength_percent(u8 rssi)
|
||||
{
|
||||
int r = (rssi*100) / 30;
|
||||
int r = (rssi*100) / 41;
|
||||
if (r > 100)
|
||||
r = 100;
|
||||
return (u8) r;
|
||||
|
|
|
@ -816,13 +816,25 @@ static int filter_rx(struct ieee80211_device *ieee,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
static void update_qual_rssi(struct zd_mac *mac, u8 qual_percent, u8 rssi)
|
||||
static void update_qual_rssi(struct zd_mac *mac,
|
||||
const u8 *buffer, unsigned int length,
|
||||
u8 qual_percent, u8 rssi_percent)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct ieee80211_hdr_3addr *hdr;
|
||||
int i;
|
||||
|
||||
hdr = (struct ieee80211_hdr_3addr *)buffer;
|
||||
if (length < offsetof(struct ieee80211_hdr_3addr, addr3))
|
||||
return;
|
||||
if (memcmp(hdr->addr2, zd_mac_to_ieee80211(mac)->bssid, ETH_ALEN) != 0)
|
||||
return;
|
||||
|
||||
spin_lock_irqsave(&mac->lock, flags);
|
||||
mac->qual_average = (7 * mac->qual_average + qual_percent) / 8;
|
||||
mac->rssi_average = (7 * mac->rssi_average + rssi) / 8;
|
||||
i = mac->stats_count % ZD_MAC_STATS_BUFFER_SIZE;
|
||||
mac->qual_buffer[i] = qual_percent;
|
||||
mac->rssi_buffer[i] = rssi_percent;
|
||||
mac->stats_count++;
|
||||
spin_unlock_irqrestore(&mac->lock, flags);
|
||||
}
|
||||
|
||||
|
@ -853,7 +865,6 @@ static int fill_rx_stats(struct ieee80211_rx_stats *stats,
|
|||
if (stats->rate)
|
||||
stats->mask |= IEEE80211_STATMASK_RATE;
|
||||
|
||||
update_qual_rssi(mac, stats->signal, stats->rssi);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -877,6 +888,8 @@ int zd_mac_rx(struct zd_mac *mac, const u8 *buffer, unsigned int length)
|
|||
sizeof(struct rx_status);
|
||||
buffer += ZD_PLCP_HEADER_SIZE;
|
||||
|
||||
update_qual_rssi(mac, buffer, length, stats.signal, stats.rssi);
|
||||
|
||||
r = filter_rx(ieee, buffer, length, &stats);
|
||||
if (r <= 0)
|
||||
return r;
|
||||
|
@ -981,17 +994,31 @@ struct iw_statistics *zd_mac_get_wireless_stats(struct net_device *ndev)
|
|||
{
|
||||
struct zd_mac *mac = zd_netdev_mac(ndev);
|
||||
struct iw_statistics *iw_stats = &mac->iw_stats;
|
||||
unsigned int i, count, qual_total, rssi_total;
|
||||
|
||||
memset(iw_stats, 0, sizeof(struct iw_statistics));
|
||||
/* We are not setting the status, because ieee->state is not updated
|
||||
* at all and this driver doesn't track authentication state.
|
||||
*/
|
||||
spin_lock_irq(&mac->lock);
|
||||
iw_stats->qual.qual = mac->qual_average;
|
||||
iw_stats->qual.level = mac->rssi_average;
|
||||
iw_stats->qual.updated = IW_QUAL_QUAL_UPDATED|IW_QUAL_LEVEL_UPDATED|
|
||||
IW_QUAL_NOISE_INVALID;
|
||||
count = mac->stats_count < ZD_MAC_STATS_BUFFER_SIZE ?
|
||||
mac->stats_count : ZD_MAC_STATS_BUFFER_SIZE;
|
||||
qual_total = rssi_total = 0;
|
||||
for (i = 0; i < count; i++) {
|
||||
qual_total += mac->qual_buffer[i];
|
||||
rssi_total += mac->rssi_buffer[i];
|
||||
}
|
||||
spin_unlock_irq(&mac->lock);
|
||||
iw_stats->qual.updated = IW_QUAL_NOISE_INVALID;
|
||||
if (count > 0) {
|
||||
iw_stats->qual.qual = qual_total / count;
|
||||
iw_stats->qual.level = rssi_total / count;
|
||||
iw_stats->qual.updated |=
|
||||
IW_QUAL_QUAL_UPDATED|IW_QUAL_LEVEL_UPDATED;
|
||||
} else {
|
||||
iw_stats->qual.updated |=
|
||||
IW_QUAL_QUAL_INVALID|IW_QUAL_LEVEL_INVALID;
|
||||
}
|
||||
/* TODO: update counter */
|
||||
return iw_stats;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* zd_mac.c
|
||||
/* zd_mac.h
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -87,9 +87,9 @@ struct rx_length_info {
|
|||
#define RX_LENGTH_INFO_TAG 0x697e
|
||||
|
||||
struct rx_status {
|
||||
u8 signal_quality_cck;
|
||||
/* rssi */
|
||||
u8 signal_strength;
|
||||
u8 signal_quality_cck;
|
||||
u8 signal_quality_ofdm;
|
||||
u8 decryption_type;
|
||||
u8 frame_status;
|
||||
|
@ -120,14 +120,17 @@ enum mac_flags {
|
|||
MAC_FIXED_CHANNEL = 0x01,
|
||||
};
|
||||
|
||||
#define ZD_MAC_STATS_BUFFER_SIZE 16
|
||||
|
||||
struct zd_mac {
|
||||
struct net_device *netdev;
|
||||
struct zd_chip chip;
|
||||
spinlock_t lock;
|
||||
/* Unlocked reading possible */
|
||||
struct iw_statistics iw_stats;
|
||||
u8 qual_average;
|
||||
u8 rssi_average;
|
||||
unsigned int stats_count;
|
||||
u8 qual_buffer[ZD_MAC_STATS_BUFFER_SIZE];
|
||||
u8 rssi_buffer[ZD_MAC_STATS_BUFFER_SIZE];
|
||||
u8 regdomain;
|
||||
u8 default_regdomain;
|
||||
u8 requested_channel;
|
||||
|
|
|
@ -92,15 +92,6 @@ config QETH_VLAN
|
|||
If CONFIG_QETH is switched on, this option will include IEEE
|
||||
802.1q VLAN support in the qeth device driver.
|
||||
|
||||
config QETH_PERF_STATS
|
||||
bool "Performance statistics in /proc"
|
||||
depends on QETH
|
||||
help
|
||||
When switched on, this option will add a file in the proc-fs
|
||||
(/proc/qeth_perf_stats) containing performance statistics. It
|
||||
may slightly impact performance, so this is only recommended for
|
||||
internal tuning of the device driver.
|
||||
|
||||
config CCWGROUP
|
||||
tristate
|
||||
default (LCS || CTC || QETH)
|
||||
|
|
|
@ -10,7 +10,6 @@ obj-$(CONFIG_SMSGIUCV) += smsgiucv.o
|
|||
obj-$(CONFIG_CTC) += ctc.o fsm.o cu3088.o
|
||||
obj-$(CONFIG_LCS) += lcs.o cu3088.o
|
||||
obj-$(CONFIG_CLAW) += claw.o cu3088.o
|
||||
obj-$(CONFIG_MPC) += ctcmpc.o fsm.o cu3088.o
|
||||
qeth-y := qeth_main.o qeth_mpc.o qeth_sys.o qeth_eddp.o
|
||||
qeth-$(CONFIG_PROC_FS) += qeth_proc.o
|
||||
obj-$(CONFIG_QETH) += qeth.o
|
||||
|
|
|
@ -1714,6 +1714,9 @@ add_channel(struct ccw_device *cdev, enum channel_types type)
|
|||
kfree(ch);
|
||||
return 0;
|
||||
}
|
||||
|
||||
spin_lock_init(&ch->collect_lock);
|
||||
|
||||
fsm_settimer(ch->fsm, &ch->timer);
|
||||
skb_queue_head_init(&ch->io_queue);
|
||||
skb_queue_head_init(&ch->collect_queue);
|
||||
|
|
|
@ -335,8 +335,8 @@ do { \
|
|||
|
||||
#else
|
||||
|
||||
#define iucv_debug(lvl, fmt, args...)
|
||||
#define iucv_dumpit(title, buf, len)
|
||||
#define iucv_debug(lvl, fmt, args...) do { } while (0)
|
||||
#define iucv_dumpit(title, buf, len) do { } while (0)
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -670,9 +670,8 @@ lcs_ready_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
|
|||
int index, rc;
|
||||
|
||||
LCS_DBF_TEXT(5, trace, "rdybuff");
|
||||
if (buffer->state != BUF_STATE_LOCKED &&
|
||||
buffer->state != BUF_STATE_PROCESSED)
|
||||
BUG();
|
||||
BUG_ON(buffer->state != BUF_STATE_LOCKED &&
|
||||
buffer->state != BUF_STATE_PROCESSED);
|
||||
spin_lock_irqsave(get_ccwdev_lock(channel->ccwdev), flags);
|
||||
buffer->state = BUF_STATE_READY;
|
||||
index = buffer - channel->iob;
|
||||
|
@ -696,8 +695,7 @@ __lcs_processed_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
|
|||
int index, prev, next;
|
||||
|
||||
LCS_DBF_TEXT(5, trace, "prcsbuff");
|
||||
if (buffer->state != BUF_STATE_READY)
|
||||
BUG();
|
||||
BUG_ON(buffer->state != BUF_STATE_READY);
|
||||
buffer->state = BUF_STATE_PROCESSED;
|
||||
index = buffer - channel->iob;
|
||||
prev = (index - 1) & (LCS_NUM_BUFFS - 1);
|
||||
|
@ -729,9 +727,8 @@ lcs_release_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
|
|||
unsigned long flags;
|
||||
|
||||
LCS_DBF_TEXT(5, trace, "relbuff");
|
||||
if (buffer->state != BUF_STATE_LOCKED &&
|
||||
buffer->state != BUF_STATE_PROCESSED)
|
||||
BUG();
|
||||
BUG_ON(buffer->state != BUF_STATE_LOCKED &&
|
||||
buffer->state != BUF_STATE_PROCESSED);
|
||||
spin_lock_irqsave(get_ccwdev_lock(channel->ccwdev), flags);
|
||||
buffer->state = BUF_STATE_EMPTY;
|
||||
spin_unlock_irqrestore(get_ccwdev_lock(channel->ccwdev), flags);
|
||||
|
|
|
@ -112,7 +112,12 @@ struct iucv_connection {
|
|||
/**
|
||||
* Linked list of all connection structs.
|
||||
*/
|
||||
static struct iucv_connection *iucv_connections;
|
||||
struct iucv_connection_struct {
|
||||
struct iucv_connection *iucv_connections;
|
||||
rwlock_t iucv_rwlock;
|
||||
};
|
||||
|
||||
static struct iucv_connection_struct iucv_conns;
|
||||
|
||||
/**
|
||||
* Representation of event-data for the
|
||||
|
@ -1368,8 +1373,10 @@ user_write (struct device *dev, struct device_attribute *attr, const char *buf,
|
|||
struct net_device *ndev = priv->conn->netdev;
|
||||
char *p;
|
||||
char *tmp;
|
||||
char username[10];
|
||||
char username[9];
|
||||
int i;
|
||||
struct iucv_connection **clist = &iucv_conns.iucv_connections;
|
||||
unsigned long flags;
|
||||
|
||||
IUCV_DBF_TEXT(trace, 3, __FUNCTION__);
|
||||
if (count>9) {
|
||||
|
@ -1382,7 +1389,7 @@ user_write (struct device *dev, struct device_attribute *attr, const char *buf,
|
|||
tmp = strsep((char **) &buf, "\n");
|
||||
for (i=0, p=tmp; i<8 && *p; i++, p++) {
|
||||
if (isalnum(*p) || (*p == '$'))
|
||||
username[i]= *p;
|
||||
username[i]= toupper(*p);
|
||||
else if (*p == '\n') {
|
||||
/* trailing lf, grr */
|
||||
break;
|
||||
|
@ -1395,11 +1402,11 @@ user_write (struct device *dev, struct device_attribute *attr, const char *buf,
|
|||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
while (i<9)
|
||||
while (i<8)
|
||||
username[i++] = ' ';
|
||||
username[9] = '\0';
|
||||
username[8] = '\0';
|
||||
|
||||
if (memcmp(username, priv->conn->userid, 8)) {
|
||||
if (memcmp(username, priv->conn->userid, 9)) {
|
||||
/* username changed */
|
||||
if (ndev->flags & (IFF_UP | IFF_RUNNING)) {
|
||||
PRINT_WARN(
|
||||
|
@ -1410,6 +1417,19 @@ user_write (struct device *dev, struct device_attribute *attr, const char *buf,
|
|||
return -EBUSY;
|
||||
}
|
||||
}
|
||||
read_lock_irqsave(&iucv_conns.iucv_rwlock, flags);
|
||||
while (*clist) {
|
||||
if (!strncmp(username, (*clist)->userid, 9) ||
|
||||
((*clist)->netdev != ndev))
|
||||
break;
|
||||
clist = &((*clist)->next);
|
||||
}
|
||||
read_unlock_irqrestore(&iucv_conns.iucv_rwlock, flags);
|
||||
if (*clist) {
|
||||
PRINT_WARN("netiucv: Connection to %s already exists\n",
|
||||
username);
|
||||
return -EEXIST;
|
||||
}
|
||||
memcpy(priv->conn->userid, username, 9);
|
||||
|
||||
return count;
|
||||
|
@ -1781,13 +1801,15 @@ netiucv_unregister_device(struct device *dev)
|
|||
static struct iucv_connection *
|
||||
netiucv_new_connection(struct net_device *dev, char *username)
|
||||
{
|
||||
struct iucv_connection **clist = &iucv_connections;
|
||||
unsigned long flags;
|
||||
struct iucv_connection **clist = &iucv_conns.iucv_connections;
|
||||
struct iucv_connection *conn =
|
||||
kzalloc(sizeof(struct iucv_connection), GFP_KERNEL);
|
||||
|
||||
if (conn) {
|
||||
skb_queue_head_init(&conn->collect_queue);
|
||||
skb_queue_head_init(&conn->commit_queue);
|
||||
spin_lock_init(&conn->collect_lock);
|
||||
conn->max_buffsize = NETIUCV_BUFSIZE_DEFAULT;
|
||||
conn->netdev = dev;
|
||||
|
||||
|
@ -1822,8 +1844,10 @@ netiucv_new_connection(struct net_device *dev, char *username)
|
|||
fsm_newstate(conn->fsm, CONN_STATE_STOPPED);
|
||||
}
|
||||
|
||||
write_lock_irqsave(&iucv_conns.iucv_rwlock, flags);
|
||||
conn->next = *clist;
|
||||
*clist = conn;
|
||||
write_unlock_irqrestore(&iucv_conns.iucv_rwlock, flags);
|
||||
}
|
||||
return conn;
|
||||
}
|
||||
|
@ -1835,14 +1859,17 @@ netiucv_new_connection(struct net_device *dev, char *username)
|
|||
static void
|
||||
netiucv_remove_connection(struct iucv_connection *conn)
|
||||
{
|
||||
struct iucv_connection **clist = &iucv_connections;
|
||||
struct iucv_connection **clist = &iucv_conns.iucv_connections;
|
||||
unsigned long flags;
|
||||
|
||||
IUCV_DBF_TEXT(trace, 3, __FUNCTION__);
|
||||
if (conn == NULL)
|
||||
return;
|
||||
write_lock_irqsave(&iucv_conns.iucv_rwlock, flags);
|
||||
while (*clist) {
|
||||
if (*clist == conn) {
|
||||
*clist = conn->next;
|
||||
write_unlock_irqrestore(&iucv_conns.iucv_rwlock, flags);
|
||||
if (conn->handle) {
|
||||
iucv_unregister_program(conn->handle);
|
||||
conn->handle = NULL;
|
||||
|
@ -1855,6 +1882,7 @@ netiucv_remove_connection(struct iucv_connection *conn)
|
|||
}
|
||||
clist = &((*clist)->next);
|
||||
}
|
||||
write_unlock_irqrestore(&iucv_conns.iucv_rwlock, flags);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1947,9 +1975,11 @@ static ssize_t
|
|||
conn_write(struct device_driver *drv, const char *buf, size_t count)
|
||||
{
|
||||
char *p;
|
||||
char username[10];
|
||||
char username[9];
|
||||
int i, ret;
|
||||
struct net_device *dev;
|
||||
struct iucv_connection **clist = &iucv_conns.iucv_connections;
|
||||
unsigned long flags;
|
||||
|
||||
IUCV_DBF_TEXT(trace, 3, __FUNCTION__);
|
||||
if (count>9) {
|
||||
|
@ -1960,7 +1990,7 @@ conn_write(struct device_driver *drv, const char *buf, size_t count)
|
|||
|
||||
for (i=0, p=(char *)buf; i<8 && *p; i++, p++) {
|
||||
if (isalnum(*p) || (*p == '$'))
|
||||
username[i]= *p;
|
||||
username[i]= toupper(*p);
|
||||
else if (*p == '\n') {
|
||||
/* trailing lf, grr */
|
||||
break;
|
||||
|
@ -1971,9 +2001,22 @@ conn_write(struct device_driver *drv, const char *buf, size_t count)
|
|||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
while (i<9)
|
||||
while (i<8)
|
||||
username[i++] = ' ';
|
||||
username[9] = '\0';
|
||||
username[8] = '\0';
|
||||
|
||||
read_lock_irqsave(&iucv_conns.iucv_rwlock, flags);
|
||||
while (*clist) {
|
||||
if (!strncmp(username, (*clist)->userid, 9))
|
||||
break;
|
||||
clist = &((*clist)->next);
|
||||
}
|
||||
read_unlock_irqrestore(&iucv_conns.iucv_rwlock, flags);
|
||||
if (*clist) {
|
||||
PRINT_WARN("netiucv: Connection to %s already exists\n",
|
||||
username);
|
||||
return -EEXIST;
|
||||
}
|
||||
dev = netiucv_init_netdevice(username);
|
||||
if (!dev) {
|
||||
PRINT_WARN(
|
||||
|
@ -2015,7 +2058,8 @@ DRIVER_ATTR(connection, 0200, NULL, conn_write);
|
|||
static ssize_t
|
||||
remove_write (struct device_driver *drv, const char *buf, size_t count)
|
||||
{
|
||||
struct iucv_connection **clist = &iucv_connections;
|
||||
struct iucv_connection **clist = &iucv_conns.iucv_connections;
|
||||
unsigned long flags;
|
||||
struct net_device *ndev;
|
||||
struct netiucv_priv *priv;
|
||||
struct device *dev;
|
||||
|
@ -2026,7 +2070,7 @@ remove_write (struct device_driver *drv, const char *buf, size_t count)
|
|||
IUCV_DBF_TEXT(trace, 3, __FUNCTION__);
|
||||
|
||||
if (count >= IFNAMSIZ)
|
||||
count = IFNAMSIZ-1;
|
||||
count = IFNAMSIZ - 1;;
|
||||
|
||||
for (i=0, p=(char *)buf; i<count && *p; i++, p++) {
|
||||
if ((*p == '\n') || (*p == ' ')) {
|
||||
|
@ -2038,6 +2082,7 @@ remove_write (struct device_driver *drv, const char *buf, size_t count)
|
|||
}
|
||||
name[i] = '\0';
|
||||
|
||||
read_lock_irqsave(&iucv_conns.iucv_rwlock, flags);
|
||||
while (*clist) {
|
||||
ndev = (*clist)->netdev;
|
||||
priv = (struct netiucv_priv*)ndev->priv;
|
||||
|
@ -2047,6 +2092,7 @@ remove_write (struct device_driver *drv, const char *buf, size_t count)
|
|||
clist = &((*clist)->next);
|
||||
continue;
|
||||
}
|
||||
read_unlock_irqrestore(&iucv_conns.iucv_rwlock, flags);
|
||||
if (ndev->flags & (IFF_UP | IFF_RUNNING)) {
|
||||
PRINT_WARN(
|
||||
"netiucv: net device %s active with peer %s\n",
|
||||
|
@ -2060,6 +2106,7 @@ remove_write (struct device_driver *drv, const char *buf, size_t count)
|
|||
netiucv_unregister_device(dev);
|
||||
return count;
|
||||
}
|
||||
read_unlock_irqrestore(&iucv_conns.iucv_rwlock, flags);
|
||||
PRINT_WARN("netiucv: net device %s unknown\n", name);
|
||||
IUCV_DBF_TEXT(data, 2, "remove_write: unknown device\n");
|
||||
return -EINVAL;
|
||||
|
@ -2077,8 +2124,8 @@ static void __exit
|
|||
netiucv_exit(void)
|
||||
{
|
||||
IUCV_DBF_TEXT(trace, 3, __FUNCTION__);
|
||||
while (iucv_connections) {
|
||||
struct net_device *ndev = iucv_connections->netdev;
|
||||
while (iucv_conns.iucv_connections) {
|
||||
struct net_device *ndev = iucv_conns.iucv_connections->netdev;
|
||||
struct netiucv_priv *priv = (struct netiucv_priv*)ndev->priv;
|
||||
struct device *dev = priv->dev;
|
||||
|
||||
|
@ -2120,6 +2167,7 @@ netiucv_init(void)
|
|||
if (!ret) {
|
||||
ret = driver_create_file(&netiucv_driver, &driver_attr_remove);
|
||||
netiucv_banner();
|
||||
rwlock_init(&iucv_conns.iucv_rwlock);
|
||||
} else {
|
||||
PRINT_ERR("NETIUCV: failed to add driver attribute.\n");
|
||||
IUCV_DBF_TEXT_(setup, 2, "ret %d from driver_create_file\n", ret);
|
||||
|
|
|
@ -176,7 +176,6 @@ extern struct ccwgroup_driver qeth_ccwgroup_driver;
|
|||
/**
|
||||
* card stuff
|
||||
*/
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
struct qeth_perf_stats {
|
||||
unsigned int bufs_rec;
|
||||
unsigned int bufs_sent;
|
||||
|
@ -211,8 +210,10 @@ struct qeth_perf_stats {
|
|||
unsigned int large_send_cnt;
|
||||
unsigned int sg_skbs_sent;
|
||||
unsigned int sg_frags_sent;
|
||||
/* initial values when measuring starts */
|
||||
unsigned long initial_rx_packets;
|
||||
unsigned long initial_tx_packets;
|
||||
};
|
||||
#endif /* CONFIG_QETH_PERF_STATS */
|
||||
|
||||
/* Routing stuff */
|
||||
struct qeth_routing_info {
|
||||
|
@ -462,6 +463,7 @@ enum qeth_qdio_info_states {
|
|||
QETH_QDIO_UNINITIALIZED,
|
||||
QETH_QDIO_ALLOCATED,
|
||||
QETH_QDIO_ESTABLISHED,
|
||||
QETH_QDIO_CLEANING
|
||||
};
|
||||
|
||||
struct qeth_buffer_pool_entry {
|
||||
|
@ -536,7 +538,7 @@ struct qeth_qdio_out_q {
|
|||
} __attribute__ ((aligned(256)));
|
||||
|
||||
struct qeth_qdio_info {
|
||||
volatile enum qeth_qdio_info_states state;
|
||||
atomic_t state;
|
||||
/* input */
|
||||
struct qeth_qdio_q *in_q;
|
||||
struct qeth_qdio_buffer_pool in_buf_pool;
|
||||
|
@ -767,6 +769,7 @@ struct qeth_card_options {
|
|||
int fake_ll;
|
||||
int layer2;
|
||||
enum qeth_large_send_types large_send;
|
||||
int performance_stats;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -819,9 +822,7 @@ struct qeth_card {
|
|||
struct list_head cmd_waiter_list;
|
||||
/* QDIO buffer handling */
|
||||
struct qeth_qdio_info qdio;
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
struct qeth_perf_stats perf_stats;
|
||||
#endif /* CONFIG_QETH_PERF_STATS */
|
||||
int use_hard_stop;
|
||||
int (*orig_hard_header)(struct sk_buff *,struct net_device *,
|
||||
unsigned short,void *,void *,unsigned);
|
||||
|
@ -859,23 +860,18 @@ qeth_get_ipa_adp_type(enum qeth_link_types link_type)
|
|||
}
|
||||
}
|
||||
|
||||
static inline int
|
||||
qeth_realloc_headroom(struct qeth_card *card, struct sk_buff **skb, int size)
|
||||
static inline struct sk_buff *
|
||||
qeth_realloc_headroom(struct qeth_card *card, struct sk_buff *skb, int size)
|
||||
{
|
||||
struct sk_buff *new_skb = NULL;
|
||||
struct sk_buff *new_skb = skb;
|
||||
|
||||
if (skb_headroom(*skb) < size){
|
||||
new_skb = skb_realloc_headroom(*skb, size);
|
||||
if (!new_skb) {
|
||||
PRINT_ERR("qeth_prepare_skb: could "
|
||||
"not realloc headroom for qeth_hdr "
|
||||
"on interface %s", QETH_CARD_IFNAME(card));
|
||||
return -ENOMEM;
|
||||
}
|
||||
kfree_skb(*skb);
|
||||
*skb = new_skb;
|
||||
}
|
||||
return 0;
|
||||
if (skb_headroom(skb) >= size)
|
||||
return skb;
|
||||
new_skb = skb_realloc_headroom(skb, size);
|
||||
if (!new_skb)
|
||||
PRINT_ERR("Could not realloc headroom for qeth_hdr "
|
||||
"on interface %s", QETH_CARD_IFNAME(card));
|
||||
return new_skb;
|
||||
}
|
||||
|
||||
static inline struct sk_buff *
|
||||
|
@ -885,16 +881,15 @@ qeth_pskb_unshare(struct sk_buff *skb, int pri)
|
|||
if (!skb_cloned(skb))
|
||||
return skb;
|
||||
nskb = skb_copy(skb, pri);
|
||||
kfree_skb(skb); /* free our shared copy */
|
||||
return nskb;
|
||||
}
|
||||
|
||||
static inline void *
|
||||
qeth_push_skb(struct qeth_card *card, struct sk_buff **skb, int size)
|
||||
qeth_push_skb(struct qeth_card *card, struct sk_buff *skb, int size)
|
||||
{
|
||||
void *hdr;
|
||||
|
||||
hdr = (void *) skb_push(*skb, size);
|
||||
hdr = (void *) skb_push(skb, size);
|
||||
/*
|
||||
* sanity check, the Linux memory allocation scheme should
|
||||
* never present us cases like this one (the qdio header size plus
|
||||
|
@ -903,8 +898,7 @@ qeth_push_skb(struct qeth_card *card, struct sk_buff **skb, int size)
|
|||
if ((((unsigned long) hdr) & (~(PAGE_SIZE - 1))) !=
|
||||
(((unsigned long) hdr + size +
|
||||
QETH_IP_HEADER_SIZE) & (~(PAGE_SIZE - 1)))) {
|
||||
PRINT_ERR("qeth_prepare_skb: misaligned "
|
||||
"packet on interface %s. Discarded.",
|
||||
PRINT_ERR("Misaligned packet on interface %s. Discarded.",
|
||||
QETH_CARD_IFNAME(card));
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1056,13 +1050,11 @@ qeth_get_arphdr_type(int cardtype, int linktype)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
static inline int
|
||||
qeth_get_micros(void)
|
||||
{
|
||||
return (int) (get_clock() >> 12);
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline int
|
||||
qeth_get_qdio_q_format(struct qeth_card *card)
|
||||
|
@ -1096,10 +1088,11 @@ qeth_string_to_ipaddr4(const char *buf, __u8 *addr)
|
|||
{
|
||||
int count = 0, rc = 0;
|
||||
int in[4];
|
||||
char c;
|
||||
|
||||
rc = sscanf(buf, "%d.%d.%d.%d%n",
|
||||
&in[0], &in[1], &in[2], &in[3], &count);
|
||||
if (rc != 4 || count<=0)
|
||||
rc = sscanf(buf, "%u.%u.%u.%u%c",
|
||||
&in[0], &in[1], &in[2], &in[3], &c);
|
||||
if (rc != 4 && (rc != 5 || c != '\n'))
|
||||
return -EINVAL;
|
||||
for (count = 0; count < 4; count++) {
|
||||
if (in[count] > 255)
|
||||
|
@ -1123,24 +1116,28 @@ qeth_ipaddr6_to_string(const __u8 *addr, char *buf)
|
|||
static inline int
|
||||
qeth_string_to_ipaddr6(const char *buf, __u8 *addr)
|
||||
{
|
||||
char *end, *start;
|
||||
const char *end, *end_tmp, *start;
|
||||
__u16 *in;
|
||||
char num[5];
|
||||
int num2, cnt, out, found, save_cnt;
|
||||
unsigned short in_tmp[8] = {0, };
|
||||
|
||||
cnt = out = found = save_cnt = num2 = 0;
|
||||
end = start = (char *) buf;
|
||||
end = start = buf;
|
||||
in = (__u16 *) addr;
|
||||
memset(in, 0, 16);
|
||||
while (end) {
|
||||
end = strchr(end,':');
|
||||
while (*end) {
|
||||
end = strchr(start,':');
|
||||
if (end == NULL) {
|
||||
end = (char *)buf + (strlen(buf));
|
||||
out = 1;
|
||||
end = buf + strlen(buf);
|
||||
if ((end_tmp = strchr(start, '\n')) != NULL)
|
||||
end = end_tmp;
|
||||
out = 1;
|
||||
}
|
||||
if ((end - start)) {
|
||||
memset(num, 0, 5);
|
||||
if ((end - start) > 4)
|
||||
return -EINVAL;
|
||||
memcpy(num, start, end - start);
|
||||
if (!qeth_isxdigit(num))
|
||||
return -EINVAL;
|
||||
|
@ -1158,6 +1155,8 @@ qeth_string_to_ipaddr6(const char *buf, __u8 *addr)
|
|||
}
|
||||
start = ++end;
|
||||
}
|
||||
if (cnt + save_cnt > 8)
|
||||
return -EINVAL;
|
||||
cnt = 7;
|
||||
while (save_cnt)
|
||||
in[cnt--] = in_tmp[--save_cnt];
|
||||
|
|
|
@ -179,9 +179,8 @@ out_check:
|
|||
flush_cnt++;
|
||||
}
|
||||
} else {
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
queue->card->perf_stats.skbs_sent_pack++;
|
||||
#endif
|
||||
if (queue->card->options.performance_stats)
|
||||
queue->card->perf_stats.skbs_sent_pack++;
|
||||
QETH_DBF_TEXT(trace, 6, "fillbfpa");
|
||||
if (buf->next_element_to_fill >=
|
||||
QETH_MAX_BUFFER_ELEMENTS(queue->card)) {
|
||||
|
|
|
@ -1073,6 +1073,7 @@ qeth_set_intial_options(struct qeth_card *card)
|
|||
card->options.layer2 = 1;
|
||||
else
|
||||
card->options.layer2 = 0;
|
||||
card->options.performance_stats = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1708,6 +1709,7 @@ qeth_check_ipa_data(struct qeth_card *card, struct qeth_cmd_buffer *iob)
|
|||
"IP address reset.\n",
|
||||
QETH_CARD_IFNAME(card),
|
||||
card->info.chpid);
|
||||
netif_carrier_on(card->dev);
|
||||
qeth_schedule_recovery(card);
|
||||
return NULL;
|
||||
case IPA_CMD_MODCCID:
|
||||
|
@ -2464,24 +2466,6 @@ qeth_rebuild_skb_fake_ll(struct qeth_card *card, struct sk_buff *skb,
|
|||
qeth_rebuild_skb_fake_ll_eth(card, skb, hdr);
|
||||
}
|
||||
|
||||
static inline void
|
||||
qeth_rebuild_skb_vlan(struct qeth_card *card, struct sk_buff *skb,
|
||||
struct qeth_hdr *hdr)
|
||||
{
|
||||
#ifdef CONFIG_QETH_VLAN
|
||||
u16 *vlan_tag;
|
||||
|
||||
if (hdr->hdr.l3.ext_flags &
|
||||
(QETH_HDR_EXT_VLAN_FRAME | QETH_HDR_EXT_INCLUDE_VLAN_TAG)) {
|
||||
vlan_tag = (u16 *) skb_push(skb, VLAN_HLEN);
|
||||
*vlan_tag = (hdr->hdr.l3.ext_flags & QETH_HDR_EXT_VLAN_FRAME)?
|
||||
hdr->hdr.l3.vlan_id : *((u16 *)&hdr->hdr.l3.dest_addr[12]);
|
||||
*(vlan_tag + 1) = skb->protocol;
|
||||
skb->protocol = __constant_htons(ETH_P_8021Q);
|
||||
}
|
||||
#endif /* CONFIG_QETH_VLAN */
|
||||
}
|
||||
|
||||
static inline __u16
|
||||
qeth_layer2_rebuild_skb(struct qeth_card *card, struct sk_buff *skb,
|
||||
struct qeth_hdr *hdr)
|
||||
|
@ -2510,15 +2494,16 @@ qeth_layer2_rebuild_skb(struct qeth_card *card, struct sk_buff *skb,
|
|||
return vlan_id;
|
||||
}
|
||||
|
||||
static inline void
|
||||
static inline __u16
|
||||
qeth_rebuild_skb(struct qeth_card *card, struct sk_buff *skb,
|
||||
struct qeth_hdr *hdr)
|
||||
{
|
||||
unsigned short vlan_id = 0;
|
||||
#ifdef CONFIG_QETH_IPV6
|
||||
if (hdr->hdr.l3.flags & QETH_HDR_PASSTHRU) {
|
||||
skb->pkt_type = PACKET_HOST;
|
||||
skb->protocol = qeth_type_trans(skb, card->dev);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_QETH_IPV6 */
|
||||
skb->protocol = htons((hdr->hdr.l3.flags & QETH_HDR_IPV6)? ETH_P_IPV6 :
|
||||
|
@ -2540,7 +2525,13 @@ qeth_rebuild_skb(struct qeth_card *card, struct sk_buff *skb,
|
|||
default:
|
||||
skb->pkt_type = PACKET_HOST;
|
||||
}
|
||||
qeth_rebuild_skb_vlan(card, skb, hdr);
|
||||
|
||||
if (hdr->hdr.l3.ext_flags &
|
||||
(QETH_HDR_EXT_VLAN_FRAME | QETH_HDR_EXT_INCLUDE_VLAN_TAG)) {
|
||||
vlan_id = (hdr->hdr.l3.ext_flags & QETH_HDR_EXT_VLAN_FRAME)?
|
||||
hdr->hdr.l3.vlan_id : *((u16 *)&hdr->hdr.l3.dest_addr[12]);
|
||||
}
|
||||
|
||||
if (card->options.fake_ll)
|
||||
qeth_rebuild_skb_fake_ll(card, skb, hdr);
|
||||
else
|
||||
|
@ -2556,6 +2547,7 @@ qeth_rebuild_skb(struct qeth_card *card, struct sk_buff *skb,
|
|||
else
|
||||
skb->ip_summed = SW_CHECKSUMMING;
|
||||
}
|
||||
return vlan_id;
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
@ -2568,20 +2560,20 @@ qeth_process_inbound_buffer(struct qeth_card *card,
|
|||
int offset;
|
||||
int rxrc;
|
||||
__u16 vlan_tag = 0;
|
||||
__u16 *vlan_addr;
|
||||
|
||||
/* get first element of current buffer */
|
||||
element = (struct qdio_buffer_element *)&buf->buffer->element[0];
|
||||
offset = 0;
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
card->perf_stats.bufs_rec++;
|
||||
#endif
|
||||
if (card->options.performance_stats)
|
||||
card->perf_stats.bufs_rec++;
|
||||
while((skb = qeth_get_next_skb(card, buf->buffer, &element,
|
||||
&offset, &hdr))) {
|
||||
skb->dev = card->dev;
|
||||
if (hdr->hdr.l2.id == QETH_HEADER_TYPE_LAYER2)
|
||||
vlan_tag = qeth_layer2_rebuild_skb(card, skb, hdr);
|
||||
else if (hdr->hdr.l3.id == QETH_HEADER_TYPE_LAYER3)
|
||||
qeth_rebuild_skb(card, skb, hdr);
|
||||
vlan_tag = qeth_rebuild_skb(card, skb, hdr);
|
||||
else { /*in case of OSN*/
|
||||
skb_push(skb, sizeof(struct qeth_hdr));
|
||||
memcpy(skb->data, hdr, sizeof(struct qeth_hdr));
|
||||
|
@ -2591,14 +2583,19 @@ qeth_process_inbound_buffer(struct qeth_card *card,
|
|||
dev_kfree_skb_any(skb);
|
||||
continue;
|
||||
}
|
||||
#ifdef CONFIG_QETH_VLAN
|
||||
if (vlan_tag)
|
||||
vlan_hwaccel_rx(skb, card->vlangrp, vlan_tag);
|
||||
else
|
||||
#endif
|
||||
if (card->info.type == QETH_CARD_TYPE_OSN)
|
||||
rxrc = card->osn_info.data_cb(skb);
|
||||
else
|
||||
#ifdef CONFIG_QETH_VLAN
|
||||
if (vlan_tag)
|
||||
if (card->vlangrp)
|
||||
vlan_hwaccel_rx(skb, card->vlangrp, vlan_tag);
|
||||
else {
|
||||
dev_kfree_skb_any(skb);
|
||||
continue;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
rxrc = netif_rx(skb);
|
||||
card->dev->last_rx = jiffies;
|
||||
card->stats.rx_packets++;
|
||||
|
@ -2626,7 +2623,7 @@ qeth_init_input_buffer(struct qeth_card *card, struct qeth_qdio_buffer *buf)
|
|||
{
|
||||
struct qeth_buffer_pool_entry *pool_entry;
|
||||
int i;
|
||||
|
||||
|
||||
pool_entry = qeth_get_buffer_pool_entry(card);
|
||||
/*
|
||||
* since the buffer is accessed only from the input_tasklet
|
||||
|
@ -2700,17 +2697,18 @@ qeth_queue_input_buffer(struct qeth_card *card, int index)
|
|||
* 'index') un-requeued -> this buffer is the first buffer that
|
||||
* will be requeued the next time
|
||||
*/
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
card->perf_stats.inbound_do_qdio_cnt++;
|
||||
card->perf_stats.inbound_do_qdio_start_time = qeth_get_micros();
|
||||
#endif
|
||||
if (card->options.performance_stats) {
|
||||
card->perf_stats.inbound_do_qdio_cnt++;
|
||||
card->perf_stats.inbound_do_qdio_start_time =
|
||||
qeth_get_micros();
|
||||
}
|
||||
rc = do_QDIO(CARD_DDEV(card),
|
||||
QDIO_FLAG_SYNC_INPUT | QDIO_FLAG_UNDER_INTERRUPT,
|
||||
0, queue->next_buf_to_init, count, NULL);
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
card->perf_stats.inbound_do_qdio_time += qeth_get_micros() -
|
||||
card->perf_stats.inbound_do_qdio_start_time;
|
||||
#endif
|
||||
if (card->options.performance_stats)
|
||||
card->perf_stats.inbound_do_qdio_time +=
|
||||
qeth_get_micros() -
|
||||
card->perf_stats.inbound_do_qdio_start_time;
|
||||
if (rc){
|
||||
PRINT_WARN("qeth_queue_input_buffer's do_QDIO "
|
||||
"return %i (device %s).\n",
|
||||
|
@ -2746,10 +2744,10 @@ qeth_qdio_input_handler(struct ccw_device * ccwdev, unsigned int status,
|
|||
QETH_DBF_TEXT(trace, 6, "qdinput");
|
||||
card = (struct qeth_card *) card_ptr;
|
||||
net_dev = card->dev;
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
card->perf_stats.inbound_cnt++;
|
||||
card->perf_stats.inbound_start_time = qeth_get_micros();
|
||||
#endif
|
||||
if (card->options.performance_stats) {
|
||||
card->perf_stats.inbound_cnt++;
|
||||
card->perf_stats.inbound_start_time = qeth_get_micros();
|
||||
}
|
||||
if (status & QDIO_STATUS_LOOK_FOR_ERROR) {
|
||||
if (status & QDIO_STATUS_ACTIVATE_CHECK_CONDITION){
|
||||
QETH_DBF_TEXT(trace, 1,"qdinchk");
|
||||
|
@ -2771,10 +2769,9 @@ qeth_qdio_input_handler(struct ccw_device * ccwdev, unsigned int status,
|
|||
qeth_put_buffer_pool_entry(card, buffer->pool_entry);
|
||||
qeth_queue_input_buffer(card, index);
|
||||
}
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
card->perf_stats.inbound_time += qeth_get_micros() -
|
||||
card->perf_stats.inbound_start_time;
|
||||
#endif
|
||||
if (card->options.performance_stats)
|
||||
card->perf_stats.inbound_time += qeth_get_micros() -
|
||||
card->perf_stats.inbound_start_time;
|
||||
}
|
||||
|
||||
static inline int
|
||||
|
@ -2864,10 +2861,11 @@ qeth_flush_buffers(struct qeth_qdio_out_q *queue, int under_int,
|
|||
}
|
||||
|
||||
queue->card->dev->trans_start = jiffies;
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
queue->card->perf_stats.outbound_do_qdio_cnt++;
|
||||
queue->card->perf_stats.outbound_do_qdio_start_time = qeth_get_micros();
|
||||
#endif
|
||||
if (queue->card->options.performance_stats) {
|
||||
queue->card->perf_stats.outbound_do_qdio_cnt++;
|
||||
queue->card->perf_stats.outbound_do_qdio_start_time =
|
||||
qeth_get_micros();
|
||||
}
|
||||
if (under_int)
|
||||
rc = do_QDIO(CARD_DDEV(queue->card),
|
||||
QDIO_FLAG_SYNC_OUTPUT | QDIO_FLAG_UNDER_INTERRUPT,
|
||||
|
@ -2875,10 +2873,10 @@ qeth_flush_buffers(struct qeth_qdio_out_q *queue, int under_int,
|
|||
else
|
||||
rc = do_QDIO(CARD_DDEV(queue->card), QDIO_FLAG_SYNC_OUTPUT,
|
||||
queue->queue_no, index, count, NULL);
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
queue->card->perf_stats.outbound_do_qdio_time += qeth_get_micros() -
|
||||
queue->card->perf_stats.outbound_do_qdio_start_time;
|
||||
#endif
|
||||
if (queue->card->options.performance_stats)
|
||||
queue->card->perf_stats.outbound_do_qdio_time +=
|
||||
qeth_get_micros() -
|
||||
queue->card->perf_stats.outbound_do_qdio_start_time;
|
||||
if (rc){
|
||||
QETH_DBF_TEXT(trace, 2, "flushbuf");
|
||||
QETH_DBF_TEXT_(trace, 2, " err%d", rc);
|
||||
|
@ -2890,9 +2888,8 @@ qeth_flush_buffers(struct qeth_qdio_out_q *queue, int under_int,
|
|||
return;
|
||||
}
|
||||
atomic_add(count, &queue->used_buffers);
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
queue->card->perf_stats.bufs_sent += count;
|
||||
#endif
|
||||
if (queue->card->options.performance_stats)
|
||||
queue->card->perf_stats.bufs_sent += count;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -2907,9 +2904,8 @@ qeth_switch_to_packing_if_needed(struct qeth_qdio_out_q *queue)
|
|||
>= QETH_HIGH_WATERMARK_PACK){
|
||||
/* switch non-PACKING -> PACKING */
|
||||
QETH_DBF_TEXT(trace, 6, "np->pack");
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
queue->card->perf_stats.sc_dp_p++;
|
||||
#endif
|
||||
if (queue->card->options.performance_stats)
|
||||
queue->card->perf_stats.sc_dp_p++;
|
||||
queue->do_pack = 1;
|
||||
}
|
||||
}
|
||||
|
@ -2932,9 +2928,8 @@ qeth_switch_to_nonpacking_if_needed(struct qeth_qdio_out_q *queue)
|
|||
<= QETH_LOW_WATERMARK_PACK) {
|
||||
/* switch PACKING -> non-PACKING */
|
||||
QETH_DBF_TEXT(trace, 6, "pack->np");
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
queue->card->perf_stats.sc_p_dp++;
|
||||
#endif
|
||||
if (queue->card->options.performance_stats)
|
||||
queue->card->perf_stats.sc_p_dp++;
|
||||
queue->do_pack = 0;
|
||||
/* flush packing buffers */
|
||||
buffer = &queue->bufs[queue->next_buf_to_fill];
|
||||
|
@ -2946,7 +2941,7 @@ qeth_switch_to_nonpacking_if_needed(struct qeth_qdio_out_q *queue)
|
|||
queue->next_buf_to_fill =
|
||||
(queue->next_buf_to_fill + 1) %
|
||||
QDIO_MAX_BUFFERS_PER_Q;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return flush_count;
|
||||
|
@ -3002,11 +2997,10 @@ qeth_check_outbound_queue(struct qeth_qdio_out_q *queue)
|
|||
!atomic_read(&queue->set_pci_flags_count))
|
||||
flush_cnt +=
|
||||
qeth_flush_buffers_on_no_pci(queue);
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
if (q_was_packing)
|
||||
if (queue->card->options.performance_stats &&
|
||||
q_was_packing)
|
||||
queue->card->perf_stats.bufs_sent_pack +=
|
||||
flush_cnt;
|
||||
#endif
|
||||
if (flush_cnt)
|
||||
qeth_flush_buffers(queue, 1, index, flush_cnt);
|
||||
atomic_set(&queue->state, QETH_OUT_Q_UNLOCKED);
|
||||
|
@ -3036,10 +3030,11 @@ qeth_qdio_output_handler(struct ccw_device * ccwdev, unsigned int status,
|
|||
return;
|
||||
}
|
||||
}
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
card->perf_stats.outbound_handler_cnt++;
|
||||
card->perf_stats.outbound_handler_start_time = qeth_get_micros();
|
||||
#endif
|
||||
if (card->options.performance_stats) {
|
||||
card->perf_stats.outbound_handler_cnt++;
|
||||
card->perf_stats.outbound_handler_start_time =
|
||||
qeth_get_micros();
|
||||
}
|
||||
for(i = first_element; i < (first_element + count); ++i){
|
||||
buffer = &queue->bufs[i % QDIO_MAX_BUFFERS_PER_Q];
|
||||
/*we only handle the KICK_IT error by doing a recovery */
|
||||
|
@ -3058,10 +3053,9 @@ qeth_qdio_output_handler(struct ccw_device * ccwdev, unsigned int status,
|
|||
qeth_check_outbound_queue(queue);
|
||||
|
||||
netif_wake_queue(queue->card->dev);
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
card->perf_stats.outbound_handler_time += qeth_get_micros() -
|
||||
card->perf_stats.outbound_handler_start_time;
|
||||
#endif
|
||||
if (card->options.performance_stats)
|
||||
card->perf_stats.outbound_handler_time += qeth_get_micros() -
|
||||
card->perf_stats.outbound_handler_start_time;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -3185,13 +3179,14 @@ qeth_alloc_qdio_buffers(struct qeth_card *card)
|
|||
|
||||
QETH_DBF_TEXT(setup, 2, "allcqdbf");
|
||||
|
||||
if (card->qdio.state == QETH_QDIO_ALLOCATED)
|
||||
if (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_UNINITIALIZED,
|
||||
QETH_QDIO_ALLOCATED) != QETH_QDIO_UNINITIALIZED)
|
||||
return 0;
|
||||
|
||||
card->qdio.in_q = kmalloc(sizeof(struct qeth_qdio_q),
|
||||
GFP_KERNEL|GFP_DMA);
|
||||
if (!card->qdio.in_q)
|
||||
return - ENOMEM;
|
||||
goto out_nomem;
|
||||
QETH_DBF_TEXT(setup, 2, "inq");
|
||||
QETH_DBF_HEX(setup, 2, &card->qdio.in_q, sizeof(void *));
|
||||
memset(card->qdio.in_q, 0, sizeof(struct qeth_qdio_q));
|
||||
|
@ -3200,27 +3195,19 @@ qeth_alloc_qdio_buffers(struct qeth_card *card)
|
|||
card->qdio.in_q->bufs[i].buffer =
|
||||
&card->qdio.in_q->qdio_bufs[i];
|
||||
/* inbound buffer pool */
|
||||
if (qeth_alloc_buffer_pool(card)){
|
||||
kfree(card->qdio.in_q);
|
||||
return -ENOMEM;
|
||||
}
|
||||
if (qeth_alloc_buffer_pool(card))
|
||||
goto out_freeinq;
|
||||
/* outbound */
|
||||
card->qdio.out_qs =
|
||||
kmalloc(card->qdio.no_out_queues *
|
||||
sizeof(struct qeth_qdio_out_q *), GFP_KERNEL);
|
||||
if (!card->qdio.out_qs){
|
||||
qeth_free_buffer_pool(card);
|
||||
return -ENOMEM;
|
||||
}
|
||||
for (i = 0; i < card->qdio.no_out_queues; ++i){
|
||||
if (!card->qdio.out_qs)
|
||||
goto out_freepool;
|
||||
for (i = 0; i < card->qdio.no_out_queues; ++i) {
|
||||
card->qdio.out_qs[i] = kmalloc(sizeof(struct qeth_qdio_out_q),
|
||||
GFP_KERNEL|GFP_DMA);
|
||||
if (!card->qdio.out_qs[i]){
|
||||
while (i > 0)
|
||||
kfree(card->qdio.out_qs[--i]);
|
||||
kfree(card->qdio.out_qs);
|
||||
return -ENOMEM;
|
||||
}
|
||||
if (!card->qdio.out_qs[i])
|
||||
goto out_freeoutq;
|
||||
QETH_DBF_TEXT_(setup, 2, "outq %i", i);
|
||||
QETH_DBF_HEX(setup, 2, &card->qdio.out_qs[i], sizeof(void *));
|
||||
memset(card->qdio.out_qs[i], 0, sizeof(struct qeth_qdio_out_q));
|
||||
|
@ -3237,8 +3224,19 @@ qeth_alloc_qdio_buffers(struct qeth_card *card)
|
|||
INIT_LIST_HEAD(&card->qdio.out_qs[i]->bufs[j].ctx_list);
|
||||
}
|
||||
}
|
||||
card->qdio.state = QETH_QDIO_ALLOCATED;
|
||||
return 0;
|
||||
|
||||
out_freeoutq:
|
||||
while (i > 0)
|
||||
kfree(card->qdio.out_qs[--i]);
|
||||
kfree(card->qdio.out_qs);
|
||||
out_freepool:
|
||||
qeth_free_buffer_pool(card);
|
||||
out_freeinq:
|
||||
kfree(card->qdio.in_q);
|
||||
out_nomem:
|
||||
atomic_set(&card->qdio.state, QETH_QDIO_UNINITIALIZED);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -3247,7 +3245,8 @@ qeth_free_qdio_buffers(struct qeth_card *card)
|
|||
int i, j;
|
||||
|
||||
QETH_DBF_TEXT(trace, 2, "freeqdbf");
|
||||
if (card->qdio.state == QETH_QDIO_UNINITIALIZED)
|
||||
if (atomic_swap(&card->qdio.state, QETH_QDIO_UNINITIALIZED) ==
|
||||
QETH_QDIO_UNINITIALIZED)
|
||||
return;
|
||||
kfree(card->qdio.in_q);
|
||||
/* inbound buffer pool */
|
||||
|
@ -3260,7 +3259,6 @@ qeth_free_qdio_buffers(struct qeth_card *card)
|
|||
kfree(card->qdio.out_qs[i]);
|
||||
}
|
||||
kfree(card->qdio.out_qs);
|
||||
card->qdio.state = QETH_QDIO_UNINITIALIZED;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -3282,7 +3280,7 @@ static void
|
|||
qeth_init_qdio_info(struct qeth_card *card)
|
||||
{
|
||||
QETH_DBF_TEXT(setup, 4, "intqdinf");
|
||||
card->qdio.state = QETH_QDIO_UNINITIALIZED;
|
||||
atomic_set(&card->qdio.state, QETH_QDIO_UNINITIALIZED);
|
||||
/* inbound */
|
||||
card->qdio.in_buf_size = QETH_IN_BUF_SIZE_DEFAULT;
|
||||
card->qdio.init_pool.buf_count = QETH_IN_BUF_COUNT_DEFAULT;
|
||||
|
@ -3345,7 +3343,7 @@ qeth_qdio_establish(struct qeth_card *card)
|
|||
struct qdio_buffer **in_sbal_ptrs;
|
||||
struct qdio_buffer **out_sbal_ptrs;
|
||||
int i, j, k;
|
||||
int rc;
|
||||
int rc = 0;
|
||||
|
||||
QETH_DBF_TEXT(setup, 2, "qdioest");
|
||||
|
||||
|
@ -3404,8 +3402,10 @@ qeth_qdio_establish(struct qeth_card *card)
|
|||
init_data.input_sbal_addr_array = (void **) in_sbal_ptrs;
|
||||
init_data.output_sbal_addr_array = (void **) out_sbal_ptrs;
|
||||
|
||||
if (!(rc = qdio_initialize(&init_data)))
|
||||
card->qdio.state = QETH_QDIO_ESTABLISHED;
|
||||
if (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_ALLOCATED,
|
||||
QETH_QDIO_ESTABLISHED) == QETH_QDIO_ALLOCATED)
|
||||
if ((rc = qdio_initialize(&init_data)))
|
||||
atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED);
|
||||
|
||||
kfree(out_sbal_ptrs);
|
||||
kfree(in_sbal_ptrs);
|
||||
|
@ -3521,13 +3521,20 @@ qeth_qdio_clear_card(struct qeth_card *card, int use_halt)
|
|||
int rc = 0;
|
||||
|
||||
QETH_DBF_TEXT(trace,3,"qdioclr");
|
||||
if (card->qdio.state == QETH_QDIO_ESTABLISHED){
|
||||
switch (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_ESTABLISHED,
|
||||
QETH_QDIO_CLEANING)) {
|
||||
case QETH_QDIO_ESTABLISHED:
|
||||
if ((rc = qdio_cleanup(CARD_DDEV(card),
|
||||
(card->info.type == QETH_CARD_TYPE_IQD) ?
|
||||
QDIO_FLAG_CLEANUP_USING_HALT :
|
||||
QDIO_FLAG_CLEANUP_USING_CLEAR)))
|
||||
(card->info.type == QETH_CARD_TYPE_IQD) ?
|
||||
QDIO_FLAG_CLEANUP_USING_HALT :
|
||||
QDIO_FLAG_CLEANUP_USING_CLEAR)))
|
||||
QETH_DBF_TEXT_(trace, 3, "1err%d", rc);
|
||||
card->qdio.state = QETH_QDIO_ALLOCATED;
|
||||
atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED);
|
||||
break;
|
||||
case QETH_QDIO_CLEANING:
|
||||
return rc;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if ((rc = qeth_clear_halt_card(card, use_halt)))
|
||||
QETH_DBF_TEXT_(trace, 3, "2err%d", rc);
|
||||
|
@ -3687,10 +3694,10 @@ qeth_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
/* return OK; otherwise ksoftirqd goes to 100% */
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
card->perf_stats.outbound_cnt++;
|
||||
card->perf_stats.outbound_start_time = qeth_get_micros();
|
||||
#endif
|
||||
if (card->options.performance_stats) {
|
||||
card->perf_stats.outbound_cnt++;
|
||||
card->perf_stats.outbound_start_time = qeth_get_micros();
|
||||
}
|
||||
netif_stop_queue(dev);
|
||||
if ((rc = qeth_send_packet(card, skb))) {
|
||||
if (rc == -EBUSY) {
|
||||
|
@ -3704,10 +3711,9 @@ qeth_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
}
|
||||
}
|
||||
netif_wake_queue(dev);
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
card->perf_stats.outbound_time += qeth_get_micros() -
|
||||
card->perf_stats.outbound_start_time;
|
||||
#endif
|
||||
if (card->options.performance_stats)
|
||||
card->perf_stats.outbound_time += qeth_get_micros() -
|
||||
card->perf_stats.outbound_start_time;
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@ -3922,49 +3928,59 @@ qeth_get_ip_version(struct sk_buff *skb)
|
|||
}
|
||||
}
|
||||
|
||||
static inline int
|
||||
qeth_prepare_skb(struct qeth_card *card, struct sk_buff **skb,
|
||||
struct qeth_hdr **hdr, int ipv)
|
||||
static inline struct qeth_hdr *
|
||||
__qeth_prepare_skb(struct qeth_card *card, struct sk_buff *skb, int ipv)
|
||||
{
|
||||
int rc = 0;
|
||||
#ifdef CONFIG_QETH_VLAN
|
||||
u16 *tag;
|
||||
#endif
|
||||
|
||||
QETH_DBF_TEXT(trace, 6, "prepskb");
|
||||
if (card->info.type == QETH_CARD_TYPE_OSN) {
|
||||
*hdr = (struct qeth_hdr *)(*skb)->data;
|
||||
return rc;
|
||||
}
|
||||
rc = qeth_realloc_headroom(card, skb, sizeof(struct qeth_hdr));
|
||||
if (rc)
|
||||
return rc;
|
||||
#ifdef CONFIG_QETH_VLAN
|
||||
if (card->vlangrp && vlan_tx_tag_present(*skb) &&
|
||||
if (card->vlangrp && vlan_tx_tag_present(skb) &&
|
||||
((ipv == 6) || card->options.layer2) ) {
|
||||
/*
|
||||
* Move the mac addresses (6 bytes src, 6 bytes dest)
|
||||
* to the beginning of the new header. We are using three
|
||||
* memcpys instead of one memmove to save cycles.
|
||||
*/
|
||||
skb_push(*skb, VLAN_HLEN);
|
||||
memcpy((*skb)->data, (*skb)->data + 4, 4);
|
||||
memcpy((*skb)->data + 4, (*skb)->data + 8, 4);
|
||||
memcpy((*skb)->data + 8, (*skb)->data + 12, 4);
|
||||
tag = (u16 *)((*skb)->data + 12);
|
||||
skb_push(skb, VLAN_HLEN);
|
||||
memcpy(skb->data, skb->data + 4, 4);
|
||||
memcpy(skb->data + 4, skb->data + 8, 4);
|
||||
memcpy(skb->data + 8, skb->data + 12, 4);
|
||||
tag = (u16 *)(skb->data + 12);
|
||||
/*
|
||||
* first two bytes = ETH_P_8021Q (0x8100)
|
||||
* second two bytes = VLANID
|
||||
*/
|
||||
*tag = __constant_htons(ETH_P_8021Q);
|
||||
*(tag + 1) = htons(vlan_tx_tag_get(*skb));
|
||||
*(tag + 1) = htons(vlan_tx_tag_get(skb));
|
||||
}
|
||||
#endif
|
||||
*hdr = (struct qeth_hdr *)
|
||||
qeth_push_skb(card, skb, sizeof(struct qeth_hdr));
|
||||
if (*hdr == NULL)
|
||||
return -EINVAL;
|
||||
return 0;
|
||||
return ((struct qeth_hdr *)
|
||||
qeth_push_skb(card, skb, sizeof(struct qeth_hdr)));
|
||||
}
|
||||
|
||||
static inline void
|
||||
__qeth_free_new_skb(struct sk_buff *orig_skb, struct sk_buff *new_skb)
|
||||
{
|
||||
if (orig_skb != new_skb)
|
||||
dev_kfree_skb_any(new_skb);
|
||||
}
|
||||
|
||||
static inline struct sk_buff *
|
||||
qeth_prepare_skb(struct qeth_card *card, struct sk_buff *skb,
|
||||
struct qeth_hdr **hdr, int ipv)
|
||||
{
|
||||
struct sk_buff *new_skb;
|
||||
|
||||
QETH_DBF_TEXT(trace, 6, "prepskb");
|
||||
|
||||
new_skb = qeth_realloc_headroom(card, skb, sizeof(struct qeth_hdr));
|
||||
if (new_skb == NULL)
|
||||
return NULL;
|
||||
*hdr = __qeth_prepare_skb(card, new_skb, ipv);
|
||||
if (*hdr == NULL) {
|
||||
__qeth_free_new_skb(skb, new_skb);
|
||||
return NULL;
|
||||
}
|
||||
return new_skb;
|
||||
}
|
||||
|
||||
static inline u8
|
||||
|
@ -4206,9 +4222,8 @@ qeth_fill_buffer(struct qeth_qdio_out_q *queue,
|
|||
flush_cnt = 1;
|
||||
} else {
|
||||
QETH_DBF_TEXT(trace, 6, "fillbfpa");
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
queue->card->perf_stats.skbs_sent_pack++;
|
||||
#endif
|
||||
if (queue->card->options.performance_stats)
|
||||
queue->card->perf_stats.skbs_sent_pack++;
|
||||
if (buf->next_element_to_fill >=
|
||||
QETH_MAX_BUFFER_ELEMENTS(queue->card)) {
|
||||
/*
|
||||
|
@ -4245,21 +4260,15 @@ qeth_do_send_packet_fast(struct qeth_card *card, struct qeth_qdio_out_q *queue,
|
|||
* check if buffer is empty to make sure that we do not 'overtake'
|
||||
* ourselves and try to fill a buffer that is already primed
|
||||
*/
|
||||
if (atomic_read(&buffer->state) != QETH_QDIO_BUF_EMPTY) {
|
||||
card->stats.tx_dropped++;
|
||||
atomic_set(&queue->state, QETH_OUT_Q_UNLOCKED);
|
||||
return -EBUSY;
|
||||
}
|
||||
if (atomic_read(&buffer->state) != QETH_QDIO_BUF_EMPTY)
|
||||
goto out;
|
||||
if (ctx == NULL)
|
||||
queue->next_buf_to_fill = (queue->next_buf_to_fill + 1) %
|
||||
QDIO_MAX_BUFFERS_PER_Q;
|
||||
else {
|
||||
buffers_needed = qeth_eddp_check_buffers_for_context(queue,ctx);
|
||||
if (buffers_needed < 0) {
|
||||
card->stats.tx_dropped++;
|
||||
atomic_set(&queue->state, QETH_OUT_Q_UNLOCKED);
|
||||
return -EBUSY;
|
||||
}
|
||||
if (buffers_needed < 0)
|
||||
goto out;
|
||||
queue->next_buf_to_fill =
|
||||
(queue->next_buf_to_fill + buffers_needed) %
|
||||
QDIO_MAX_BUFFERS_PER_Q;
|
||||
|
@ -4274,6 +4283,9 @@ qeth_do_send_packet_fast(struct qeth_card *card, struct qeth_qdio_out_q *queue,
|
|||
qeth_flush_buffers(queue, 0, index, flush_cnt);
|
||||
}
|
||||
return 0;
|
||||
out:
|
||||
atomic_set(&queue->state, QETH_OUT_Q_UNLOCKED);
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
static inline int
|
||||
|
@ -4299,8 +4311,7 @@ qeth_do_send_packet(struct qeth_card *card, struct qeth_qdio_out_q *queue,
|
|||
* check if buffer is empty to make sure that we do not 'overtake'
|
||||
* ourselves and try to fill a buffer that is already primed
|
||||
*/
|
||||
if (atomic_read(&buffer->state) != QETH_QDIO_BUF_EMPTY){
|
||||
card->stats.tx_dropped++;
|
||||
if (atomic_read(&buffer->state) != QETH_QDIO_BUF_EMPTY) {
|
||||
atomic_set(&queue->state, QETH_OUT_Q_UNLOCKED);
|
||||
return -EBUSY;
|
||||
}
|
||||
|
@ -4323,7 +4334,6 @@ qeth_do_send_packet(struct qeth_card *card, struct qeth_qdio_out_q *queue,
|
|||
* again */
|
||||
if (atomic_read(&buffer->state) !=
|
||||
QETH_QDIO_BUF_EMPTY){
|
||||
card->stats.tx_dropped++;
|
||||
qeth_flush_buffers(queue, 0, start_index, flush_count);
|
||||
atomic_set(&queue->state, QETH_OUT_Q_UNLOCKED);
|
||||
return -EBUSY;
|
||||
|
@ -4334,7 +4344,6 @@ qeth_do_send_packet(struct qeth_card *card, struct qeth_qdio_out_q *queue,
|
|||
* free buffers) to handle eddp context */
|
||||
if (qeth_eddp_check_buffers_for_context(queue,ctx) < 0){
|
||||
printk("eddp tx_dropped 1\n");
|
||||
card->stats.tx_dropped++;
|
||||
rc = -EBUSY;
|
||||
goto out;
|
||||
}
|
||||
|
@ -4346,7 +4355,6 @@ qeth_do_send_packet(struct qeth_card *card, struct qeth_qdio_out_q *queue,
|
|||
tmp = qeth_eddp_fill_buffer(queue,ctx,queue->next_buf_to_fill);
|
||||
if (tmp < 0) {
|
||||
printk("eddp tx_dropped 2\n");
|
||||
card->stats.tx_dropped++;
|
||||
rc = - EBUSY;
|
||||
goto out;
|
||||
}
|
||||
|
@ -4380,10 +4388,8 @@ out:
|
|||
qeth_flush_buffers(queue, 0, start_index, flush_count);
|
||||
}
|
||||
/* at this point the queue is UNLOCKED again */
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
if (do_pack)
|
||||
if (queue->card->options.performance_stats && do_pack)
|
||||
queue->card->perf_stats.bufs_sent_pack += flush_count;
|
||||
#endif /* CONFIG_QETH_PERF_STATS */
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
@ -4394,21 +4400,21 @@ qeth_get_elements_no(struct qeth_card *card, void *hdr,
|
|||
{
|
||||
int elements_needed = 0;
|
||||
|
||||
if (skb_shinfo(skb)->nr_frags > 0) {
|
||||
if (skb_shinfo(skb)->nr_frags > 0)
|
||||
elements_needed = (skb_shinfo(skb)->nr_frags + 1);
|
||||
}
|
||||
if (elements_needed == 0 )
|
||||
if (elements_needed == 0)
|
||||
elements_needed = 1 + (((((unsigned long) hdr) % PAGE_SIZE)
|
||||
+ skb->len) >> PAGE_SHIFT);
|
||||
if ((elements_needed + elems) > QETH_MAX_BUFFER_ELEMENTS(card)){
|
||||
PRINT_ERR("qeth_do_send_packet: invalid size of "
|
||||
"IP packet (Number=%d / Length=%d). Discarded.\n",
|
||||
PRINT_ERR("Invalid size of IP packet "
|
||||
"(Number=%d / Length=%d). Discarded.\n",
|
||||
(elements_needed+elems), skb->len);
|
||||
return 0;
|
||||
}
|
||||
return elements_needed;
|
||||
}
|
||||
|
||||
|
||||
static inline int
|
||||
qeth_send_packet(struct qeth_card *card, struct sk_buff *skb)
|
||||
{
|
||||
|
@ -4420,112 +4426,112 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb)
|
|||
enum qeth_large_send_types large_send = QETH_LARGE_SEND_NO;
|
||||
struct qeth_eddp_context *ctx = NULL;
|
||||
int tx_bytes = skb->len;
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
unsigned short nr_frags = skb_shinfo(skb)->nr_frags;
|
||||
unsigned short tso_size = skb_shinfo(skb)->gso_size;
|
||||
#endif
|
||||
struct sk_buff *new_skb, *new_skb2;
|
||||
int rc;
|
||||
|
||||
QETH_DBF_TEXT(trace, 6, "sendpkt");
|
||||
|
||||
new_skb = skb;
|
||||
if ((card->info.type == QETH_CARD_TYPE_OSN) &&
|
||||
(skb->protocol == htons(ETH_P_IPV6)))
|
||||
return -EPERM;
|
||||
cast_type = qeth_get_cast_type(card, skb);
|
||||
if ((cast_type == RTN_BROADCAST) &&
|
||||
(card->info.broadcast_capable == 0))
|
||||
return -EPERM;
|
||||
queue = card->qdio.out_qs
|
||||
[qeth_get_priority_queue(card, skb, ipv, cast_type)];
|
||||
if (!card->options.layer2) {
|
||||
ipv = qeth_get_ip_version(skb);
|
||||
if ((card->dev->hard_header == qeth_fake_header) && ipv) {
|
||||
if ((skb = qeth_pskb_unshare(skb,GFP_ATOMIC)) == NULL) {
|
||||
card->stats.tx_dropped++;
|
||||
dev_kfree_skb_irq(skb);
|
||||
return 0;
|
||||
}
|
||||
new_skb = qeth_pskb_unshare(skb, GFP_ATOMIC);
|
||||
if (!new_skb)
|
||||
return -ENOMEM;
|
||||
if(card->dev->type == ARPHRD_IEEE802_TR){
|
||||
skb_pull(skb, QETH_FAKE_LL_LEN_TR);
|
||||
skb_pull(new_skb, QETH_FAKE_LL_LEN_TR);
|
||||
} else {
|
||||
skb_pull(skb, QETH_FAKE_LL_LEN_ETH);
|
||||
skb_pull(new_skb, QETH_FAKE_LL_LEN_ETH);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((card->info.type == QETH_CARD_TYPE_OSN) &&
|
||||
(skb->protocol == htons(ETH_P_IPV6))) {
|
||||
dev_kfree_skb_any(skb);
|
||||
return 0;
|
||||
}
|
||||
cast_type = qeth_get_cast_type(card, skb);
|
||||
if ((cast_type == RTN_BROADCAST) &&
|
||||
(card->info.broadcast_capable == 0)){
|
||||
card->stats.tx_dropped++;
|
||||
card->stats.tx_errors++;
|
||||
dev_kfree_skb_any(skb);
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
queue = card->qdio.out_qs
|
||||
[qeth_get_priority_queue(card, skb, ipv, cast_type)];
|
||||
|
||||
if (skb_is_gso(skb))
|
||||
large_send = card->options.large_send;
|
||||
|
||||
/*are we able to do TSO ? If so ,prepare and send it from here */
|
||||
/* check on OSN device*/
|
||||
if (card->info.type == QETH_CARD_TYPE_OSN)
|
||||
hdr = (struct qeth_hdr *)new_skb->data;
|
||||
/*are we able to do TSO ? */
|
||||
if ((large_send == QETH_LARGE_SEND_TSO) &&
|
||||
(cast_type == RTN_UNSPEC)) {
|
||||
rc = qeth_tso_prepare_packet(card, skb, ipv, cast_type);
|
||||
rc = qeth_tso_prepare_packet(card, new_skb, ipv, cast_type);
|
||||
if (rc) {
|
||||
card->stats.tx_dropped++;
|
||||
card->stats.tx_errors++;
|
||||
dev_kfree_skb_any(skb);
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
elements_needed++;
|
||||
} else {
|
||||
if ((rc = qeth_prepare_skb(card, &skb, &hdr, ipv))) {
|
||||
QETH_DBF_TEXT_(trace, 4, "pskbe%d", rc);
|
||||
__qeth_free_new_skb(skb, new_skb);
|
||||
return rc;
|
||||
}
|
||||
if (card->info.type != QETH_CARD_TYPE_OSN)
|
||||
qeth_fill_header(card, hdr, skb, ipv, cast_type);
|
||||
elements_needed++;
|
||||
} else if (card->info.type != QETH_CARD_TYPE_OSN) {
|
||||
new_skb2 = qeth_prepare_skb(card, new_skb, &hdr, ipv);
|
||||
if (!new_skb2) {
|
||||
__qeth_free_new_skb(skb, new_skb);
|
||||
return -EINVAL;
|
||||
}
|
||||
if (new_skb != skb)
|
||||
__qeth_free_new_skb(new_skb2, new_skb);
|
||||
new_skb = new_skb2;
|
||||
qeth_fill_header(card, hdr, new_skb, ipv, cast_type);
|
||||
}
|
||||
|
||||
if (large_send == QETH_LARGE_SEND_EDDP) {
|
||||
ctx = qeth_eddp_create_context(card, skb, hdr);
|
||||
ctx = qeth_eddp_create_context(card, new_skb, hdr);
|
||||
if (ctx == NULL) {
|
||||
__qeth_free_new_skb(skb, new_skb);
|
||||
PRINT_WARN("could not create eddp context\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
} else {
|
||||
int elems = qeth_get_elements_no(card,(void*) hdr, skb,
|
||||
int elems = qeth_get_elements_no(card,(void*) hdr, new_skb,
|
||||
elements_needed);
|
||||
if (!elems)
|
||||
if (!elems) {
|
||||
__qeth_free_new_skb(skb, new_skb);
|
||||
return -EINVAL;
|
||||
}
|
||||
elements_needed += elems;
|
||||
}
|
||||
|
||||
if (card->info.type != QETH_CARD_TYPE_IQD)
|
||||
rc = qeth_do_send_packet(card, queue, skb, hdr,
|
||||
rc = qeth_do_send_packet(card, queue, new_skb, hdr,
|
||||
elements_needed, ctx);
|
||||
else
|
||||
rc = qeth_do_send_packet_fast(card, queue, skb, hdr,
|
||||
rc = qeth_do_send_packet_fast(card, queue, new_skb, hdr,
|
||||
elements_needed, ctx);
|
||||
if (!rc){
|
||||
if (!rc) {
|
||||
card->stats.tx_packets++;
|
||||
card->stats.tx_bytes += tx_bytes;
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
if (tso_size &&
|
||||
!(large_send == QETH_LARGE_SEND_NO)) {
|
||||
card->perf_stats.large_send_bytes += tx_bytes;
|
||||
card->perf_stats.large_send_cnt++;
|
||||
if (new_skb != skb)
|
||||
dev_kfree_skb_any(skb);
|
||||
if (card->options.performance_stats) {
|
||||
if (tso_size &&
|
||||
!(large_send == QETH_LARGE_SEND_NO)) {
|
||||
card->perf_stats.large_send_bytes += tx_bytes;
|
||||
card->perf_stats.large_send_cnt++;
|
||||
}
|
||||
if (nr_frags > 0) {
|
||||
card->perf_stats.sg_skbs_sent++;
|
||||
/* nr_frags + skb->data */
|
||||
card->perf_stats.sg_frags_sent +=
|
||||
nr_frags + 1;
|
||||
}
|
||||
}
|
||||
if (nr_frags > 0){
|
||||
card->perf_stats.sg_skbs_sent++;
|
||||
/* nr_frags + skb->data */
|
||||
card->perf_stats.sg_frags_sent +=
|
||||
nr_frags + 1;
|
||||
}
|
||||
#endif /* CONFIG_QETH_PERF_STATS */
|
||||
} else {
|
||||
card->stats.tx_dropped++;
|
||||
__qeth_free_new_skb(skb, new_skb);
|
||||
}
|
||||
if (ctx != NULL) {
|
||||
/* drop creator's reference */
|
||||
qeth_eddp_put_context(ctx);
|
||||
/* free skb; it's not referenced by a buffer */
|
||||
if (rc == 0)
|
||||
dev_kfree_skb_any(skb);
|
||||
|
||||
if (!rc)
|
||||
dev_kfree_skb_any(new_skb);
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
@ -7338,6 +7344,8 @@ qeth_setrouting_v6(struct qeth_card *card)
|
|||
QETH_DBF_TEXT(trace,3,"setrtg6");
|
||||
#ifdef CONFIG_QETH_IPV6
|
||||
|
||||
if (!qeth_is_supported(card, IPA_IPV6))
|
||||
return 0;
|
||||
qeth_correct_routing_type(card, &card->options.route6.type,
|
||||
QETH_PROT_IPV6);
|
||||
|
||||
|
@ -7876,12 +7884,12 @@ __qeth_set_online(struct ccwgroup_device *gdev, int recovery_mode)
|
|||
QETH_DBF_TEXT_(setup, 2, "5err%d", rc);
|
||||
goto out_remove;
|
||||
}
|
||||
card->state = CARD_STATE_SOFTSETUP;
|
||||
|
||||
if ((rc = qeth_init_qdio_queues(card))){
|
||||
QETH_DBF_TEXT_(setup, 2, "6err%d", rc);
|
||||
goto out_remove;
|
||||
}
|
||||
card->state = CARD_STATE_SOFTSETUP;
|
||||
netif_carrier_on(card->dev);
|
||||
|
||||
qeth_set_allowed_threads(card, 0xffffffff, 0);
|
||||
|
@ -8538,34 +8546,44 @@ qeth_ipv6_uninit(void)
|
|||
static void
|
||||
qeth_sysfs_unregister(void)
|
||||
{
|
||||
s390_root_dev_unregister(qeth_root_dev);
|
||||
qeth_remove_driver_attributes();
|
||||
ccw_driver_unregister(&qeth_ccw_driver);
|
||||
ccwgroup_driver_unregister(&qeth_ccwgroup_driver);
|
||||
s390_root_dev_unregister(qeth_root_dev);
|
||||
}
|
||||
|
||||
/**
|
||||
* register qeth at sysfs
|
||||
*/
|
||||
static int
|
||||
qeth_sysfs_register(void)
|
||||
{
|
||||
int rc=0;
|
||||
int rc;
|
||||
|
||||
rc = ccwgroup_driver_register(&qeth_ccwgroup_driver);
|
||||
if (rc)
|
||||
return rc;
|
||||
goto out;
|
||||
|
||||
rc = ccw_driver_register(&qeth_ccw_driver);
|
||||
if (rc)
|
||||
return rc;
|
||||
goto out_ccw_driver;
|
||||
|
||||
rc = qeth_create_driver_attributes();
|
||||
if (rc)
|
||||
return rc;
|
||||
goto out_qeth_attr;
|
||||
|
||||
qeth_root_dev = s390_root_dev_register("qeth");
|
||||
if (IS_ERR(qeth_root_dev)) {
|
||||
rc = PTR_ERR(qeth_root_dev);
|
||||
return rc;
|
||||
}
|
||||
return 0;
|
||||
rc = IS_ERR(qeth_root_dev) ? PTR_ERR(qeth_root_dev) : 0;
|
||||
if (!rc)
|
||||
goto out;
|
||||
|
||||
qeth_remove_driver_attributes();
|
||||
out_qeth_attr:
|
||||
ccw_driver_unregister(&qeth_ccw_driver);
|
||||
out_ccw_driver:
|
||||
ccwgroup_driver_unregister(&qeth_ccwgroup_driver);
|
||||
out:
|
||||
return rc;
|
||||
}
|
||||
|
||||
/***
|
||||
|
@ -8574,7 +8592,7 @@ qeth_sysfs_register(void)
|
|||
static int __init
|
||||
qeth_init(void)
|
||||
{
|
||||
int rc=0;
|
||||
int rc;
|
||||
|
||||
PRINT_INFO("loading %s\n", version);
|
||||
|
||||
|
@ -8583,20 +8601,26 @@ qeth_init(void)
|
|||
spin_lock_init(&qeth_notify_lock);
|
||||
rwlock_init(&qeth_card_list.rwlock);
|
||||
|
||||
if (qeth_register_dbf_views())
|
||||
rc = qeth_register_dbf_views();
|
||||
if (rc)
|
||||
goto out_err;
|
||||
if (qeth_sysfs_register())
|
||||
goto out_sysfs;
|
||||
|
||||
rc = qeth_sysfs_register();
|
||||
if (rc)
|
||||
goto out_dbf;
|
||||
|
||||
#ifdef CONFIG_QETH_IPV6
|
||||
if (qeth_ipv6_init()) {
|
||||
PRINT_ERR("Out of memory during ipv6 init.\n");
|
||||
rc = qeth_ipv6_init();
|
||||
if (rc) {
|
||||
PRINT_ERR("Out of memory during ipv6 init code = %d\n", rc);
|
||||
goto out_sysfs;
|
||||
}
|
||||
#endif /* QETH_IPV6 */
|
||||
if (qeth_register_notifiers())
|
||||
rc = qeth_register_notifiers();
|
||||
if (rc)
|
||||
goto out_ipv6;
|
||||
if (qeth_create_procfs_entries())
|
||||
rc = qeth_create_procfs_entries();
|
||||
if (rc)
|
||||
goto out_notifiers;
|
||||
|
||||
return rc;
|
||||
|
@ -8606,12 +8630,13 @@ out_notifiers:
|
|||
out_ipv6:
|
||||
#ifdef CONFIG_QETH_IPV6
|
||||
qeth_ipv6_uninit();
|
||||
#endif /* QETH_IPV6 */
|
||||
out_sysfs:
|
||||
#endif /* QETH_IPV6 */
|
||||
qeth_sysfs_unregister();
|
||||
out_dbf:
|
||||
qeth_unregister_dbf_views();
|
||||
out_err:
|
||||
PRINT_ERR("Initialization failed");
|
||||
PRINT_ERR("Initialization failed with code %d\n", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
|
|
@ -173,7 +173,6 @@ static struct file_operations qeth_procfile_fops = {
|
|||
#define QETH_PERF_PROCFILE_NAME "qeth_perf"
|
||||
static struct proc_dir_entry *qeth_perf_procfile;
|
||||
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
static int
|
||||
qeth_perf_procfile_seq_show(struct seq_file *s, void *it)
|
||||
{
|
||||
|
@ -192,14 +191,21 @@ qeth_perf_procfile_seq_show(struct seq_file *s, void *it)
|
|||
CARD_DDEV_ID(card),
|
||||
QETH_CARD_IFNAME(card)
|
||||
);
|
||||
if (!card->options.performance_stats)
|
||||
seq_printf(s, "Performance statistics are deactivated.\n");
|
||||
seq_printf(s, " Skb's/buffers received : %lu/%u\n"
|
||||
" Skb's/buffers sent : %lu/%u\n\n",
|
||||
card->stats.rx_packets, card->perf_stats.bufs_rec,
|
||||
card->stats.tx_packets, card->perf_stats.bufs_sent
|
||||
card->stats.rx_packets -
|
||||
card->perf_stats.initial_rx_packets,
|
||||
card->perf_stats.bufs_rec,
|
||||
card->stats.tx_packets -
|
||||
card->perf_stats.initial_tx_packets,
|
||||
card->perf_stats.bufs_sent
|
||||
);
|
||||
seq_printf(s, " Skb's/buffers sent without packing : %lu/%u\n"
|
||||
" Skb's/buffers sent with packing : %u/%u\n\n",
|
||||
card->stats.tx_packets - card->perf_stats.skbs_sent_pack,
|
||||
card->stats.tx_packets - card->perf_stats.initial_tx_packets
|
||||
- card->perf_stats.skbs_sent_pack,
|
||||
card->perf_stats.bufs_sent - card->perf_stats.bufs_sent_pack,
|
||||
card->perf_stats.skbs_sent_pack,
|
||||
card->perf_stats.bufs_sent_pack
|
||||
|
@ -275,11 +281,6 @@ static struct file_operations qeth_perf_procfile_fops = {
|
|||
.release = seq_release,
|
||||
};
|
||||
|
||||
#define qeth_perf_procfile_created qeth_perf_procfile
|
||||
#else
|
||||
#define qeth_perf_procfile_created 1
|
||||
#endif /* CONFIG_QETH_PERF_STATS */
|
||||
|
||||
int __init
|
||||
qeth_create_procfs_entries(void)
|
||||
{
|
||||
|
@ -288,15 +289,13 @@ qeth_create_procfs_entries(void)
|
|||
if (qeth_procfile)
|
||||
qeth_procfile->proc_fops = &qeth_procfile_fops;
|
||||
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
qeth_perf_procfile = create_proc_entry(QETH_PERF_PROCFILE_NAME,
|
||||
S_IFREG | 0444, NULL);
|
||||
if (qeth_perf_procfile)
|
||||
qeth_perf_procfile->proc_fops = &qeth_perf_procfile_fops;
|
||||
#endif /* CONFIG_QETH_PERF_STATS */
|
||||
|
||||
if (qeth_procfile &&
|
||||
qeth_perf_procfile_created)
|
||||
qeth_perf_procfile)
|
||||
return 0;
|
||||
else
|
||||
return -ENOMEM;
|
||||
|
|
|
@ -742,6 +742,47 @@ qeth_dev_layer2_store(struct device *dev, struct device_attribute *attr, const c
|
|||
static DEVICE_ATTR(layer2, 0644, qeth_dev_layer2_show,
|
||||
qeth_dev_layer2_store);
|
||||
|
||||
static ssize_t
|
||||
qeth_dev_performance_stats_show(struct device *dev, struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct qeth_card *card = dev->driver_data;
|
||||
|
||||
if (!card)
|
||||
return -EINVAL;
|
||||
|
||||
return sprintf(buf, "%i\n", card->options.performance_stats ? 1:0);
|
||||
}
|
||||
|
||||
static ssize_t
|
||||
qeth_dev_performance_stats_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
|
||||
{
|
||||
struct qeth_card *card = dev->driver_data;
|
||||
char *tmp;
|
||||
int i;
|
||||
|
||||
if (!card)
|
||||
return -EINVAL;
|
||||
|
||||
i = simple_strtoul(buf, &tmp, 16);
|
||||
if ((i == 0) || (i == 1)) {
|
||||
if (i == card->options.performance_stats)
|
||||
return count;
|
||||
card->options.performance_stats = i;
|
||||
if (i == 0)
|
||||
memset(&card->perf_stats, 0,
|
||||
sizeof(struct qeth_perf_stats));
|
||||
card->perf_stats.initial_rx_packets = card->stats.rx_packets;
|
||||
card->perf_stats.initial_tx_packets = card->stats.tx_packets;
|
||||
} else {
|
||||
PRINT_WARN("performance_stats: write 0 or 1 to this file!\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
static DEVICE_ATTR(performance_stats, 0644, qeth_dev_performance_stats_show,
|
||||
qeth_dev_performance_stats_store);
|
||||
|
||||
static ssize_t
|
||||
qeth_dev_large_send_show(struct device *dev, struct device_attribute *attr, char *buf)
|
||||
{
|
||||
|
@ -928,6 +969,7 @@ static struct device_attribute * qeth_device_attrs[] = {
|
|||
&dev_attr_canonical_macaddr,
|
||||
&dev_attr_layer2,
|
||||
&dev_attr_large_send,
|
||||
&dev_attr_performance_stats,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
@ -1110,12 +1152,12 @@ qeth_parse_ipatoe(const char* buf, enum qeth_prot_versions proto,
|
|||
{
|
||||
const char *start, *end;
|
||||
char *tmp;
|
||||
char buffer[49] = {0, };
|
||||
char buffer[40] = {0, };
|
||||
|
||||
start = buf;
|
||||
/* get address string */
|
||||
end = strchr(start, '/');
|
||||
if (!end || (end-start >= 49)){
|
||||
if (!end || (end - start >= 40)){
|
||||
PRINT_WARN("Invalid format for ipato_addx/delx. "
|
||||
"Use <ip addr>/<mask bits>\n");
|
||||
return -EINVAL;
|
||||
|
@ -1127,7 +1169,12 @@ qeth_parse_ipatoe(const char* buf, enum qeth_prot_versions proto,
|
|||
}
|
||||
start = end + 1;
|
||||
*mask_bits = simple_strtoul(start, &tmp, 10);
|
||||
|
||||
if (!strlen(start) ||
|
||||
(tmp == start) ||
|
||||
(*mask_bits > ((proto == QETH_PROT_IPV4) ? 32 : 128))) {
|
||||
PRINT_WARN("Invalid mask bits for ipato_addx/delx !\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1698,11 +1745,16 @@ qeth_create_device_attributes(struct device *dev)
|
|||
sysfs_remove_group(&dev->kobj, &qeth_device_attr_group);
|
||||
sysfs_remove_group(&dev->kobj, &qeth_device_ipato_group);
|
||||
sysfs_remove_group(&dev->kobj, &qeth_device_vipa_group);
|
||||
}
|
||||
if ((ret = sysfs_create_group(&dev->kobj, &qeth_device_blkt_group)))
|
||||
return ret;
|
||||
|
||||
return ret;
|
||||
}
|
||||
if ((ret = sysfs_create_group(&dev->kobj, &qeth_device_blkt_group))){
|
||||
sysfs_remove_group(&dev->kobj, &qeth_device_attr_group);
|
||||
sysfs_remove_group(&dev->kobj, &qeth_device_ipato_group);
|
||||
sysfs_remove_group(&dev->kobj, &qeth_device_vipa_group);
|
||||
sysfs_remove_group(&dev->kobj, &qeth_device_rxip_group);
|
||||
return ret;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -24,7 +24,7 @@ static inline struct qeth_hdr_tso *
|
|||
qeth_tso_prepare_skb(struct qeth_card *card, struct sk_buff **skb)
|
||||
{
|
||||
QETH_DBF_TEXT(trace, 5, "tsoprsk");
|
||||
return qeth_push_skb(card, skb, sizeof(struct qeth_hdr_tso));
|
||||
return qeth_push_skb(card, *skb, sizeof(struct qeth_hdr_tso));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -145,8 +145,9 @@ static int opromgetprop(void __user *argp, struct device_node *dp, struct openpr
|
|||
void *pval;
|
||||
int len;
|
||||
|
||||
pval = of_get_property(dp, op->oprom_array, &len);
|
||||
if (!pval || len <= 0 || len > bufsize)
|
||||
if (!dp ||
|
||||
!(pval = of_get_property(dp, op->oprom_array, &len)) ||
|
||||
len <= 0 || len > bufsize)
|
||||
return copyout(argp, op, sizeof(int));
|
||||
|
||||
memcpy(op->oprom_array, pval, len);
|
||||
|
@ -161,6 +162,8 @@ static int opromnxtprop(void __user *argp, struct device_node *dp, struct openpr
|
|||
struct property *prop;
|
||||
int len;
|
||||
|
||||
if (!dp)
|
||||
return copyout(argp, op, sizeof(int));
|
||||
if (op->oprom_array[0] == '\0') {
|
||||
prop = dp->properties;
|
||||
if (!prop)
|
||||
|
@ -266,9 +269,13 @@ static int oprompci2node(void __user *argp, struct device_node *dp, struct openp
|
|||
|
||||
static int oprompath2node(void __user *argp, struct device_node *dp, struct openpromio *op, int bufsize, DATA *data)
|
||||
{
|
||||
phandle ph = 0;
|
||||
|
||||
dp = of_find_node_by_path(op->oprom_array);
|
||||
if (dp)
|
||||
ph = dp->node;
|
||||
data->current_node = dp;
|
||||
*((int *)op->oprom_array) = dp->node;
|
||||
*((int *)op->oprom_array) = ph;
|
||||
op->oprom_size = sizeof(int);
|
||||
|
||||
return copyout(argp, op, bufsize + sizeof(int));
|
||||
|
|
|
@ -1256,10 +1256,15 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class,
|
|||
swap_buf_le16(id, ATA_ID_WORDS);
|
||||
|
||||
/* sanity check */
|
||||
if ((class == ATA_DEV_ATA) != (ata_id_is_ata(id) | ata_id_is_cfa(id))) {
|
||||
rc = -EINVAL;
|
||||
reason = "device reports illegal type";
|
||||
goto err_out;
|
||||
rc = -EINVAL;
|
||||
reason = "device reports illegal type";
|
||||
|
||||
if (class == ATA_DEV_ATA) {
|
||||
if (!ata_id_is_ata(id) && !ata_id_is_cfa(id))
|
||||
goto err_out;
|
||||
} else {
|
||||
if (ata_id_is_ata(id))
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
if (post_reset && class == ATA_DEV_ATA) {
|
||||
|
|
|
@ -466,7 +466,7 @@ static int scsi_send_eh_cmnd(struct scsi_cmnd *scmd, unsigned char *cmnd,
|
|||
struct scsi_device *sdev = scmd->device;
|
||||
struct Scsi_Host *shost = sdev->host;
|
||||
int old_result = scmd->result;
|
||||
DECLARE_COMPLETION(done);
|
||||
DECLARE_COMPLETION_ONSTACK(done);
|
||||
unsigned long timeleft;
|
||||
unsigned long flags;
|
||||
unsigned char old_cmnd[MAX_COMMAND_SIZE];
|
||||
|
|
|
@ -1621,7 +1621,7 @@ static struct s3c24xx_uart_info s3c2412_uart_inf = {
|
|||
static int s3c2412_serial_probe(struct platform_device *dev)
|
||||
{
|
||||
dbg("s3c2440_serial_probe: dev=%p\n", dev);
|
||||
return s3c24xx_serial_probe(dev, &s3c2440_uart_inf);
|
||||
return s3c24xx_serial_probe(dev, &s3c2412_uart_inf);
|
||||
}
|
||||
|
||||
static struct platform_driver s3c2412_serial_drv = {
|
||||
|
|
|
@ -539,7 +539,6 @@ unsigned long ext2_count_free (struct buffer_head * map, unsigned int numchars)
|
|||
|
||||
#endif /* EXT2FS_DEBUG */
|
||||
|
||||
/* Superblock must be locked */
|
||||
unsigned long ext2_count_free_blocks (struct super_block * sb)
|
||||
{
|
||||
struct ext2_group_desc * desc;
|
||||
|
|
|
@ -637,7 +637,6 @@ fail:
|
|||
return ERR_PTR(err);
|
||||
}
|
||||
|
||||
/* Superblock must be locked */
|
||||
unsigned long ext2_count_free_inodes (struct super_block * sb)
|
||||
{
|
||||
struct ext2_group_desc *desc;
|
||||
|
|
|
@ -251,6 +251,44 @@ static struct super_operations ext2_sops = {
|
|||
#endif
|
||||
};
|
||||
|
||||
static struct dentry *ext2_get_dentry(struct super_block *sb, void *vobjp)
|
||||
{
|
||||
__u32 *objp = vobjp;
|
||||
unsigned long ino = objp[0];
|
||||
__u32 generation = objp[1];
|
||||
struct inode *inode;
|
||||
struct dentry *result;
|
||||
|
||||
if (ino < EXT2_FIRST_INO(sb) && ino != EXT2_ROOT_INO)
|
||||
return ERR_PTR(-ESTALE);
|
||||
if (ino > le32_to_cpu(EXT2_SB(sb)->s_es->s_inodes_count))
|
||||
return ERR_PTR(-ESTALE);
|
||||
|
||||
/* iget isn't really right if the inode is currently unallocated!!
|
||||
* ext2_read_inode currently does appropriate checks, but
|
||||
* it might be "neater" to call ext2_get_inode first and check
|
||||
* if the inode is valid.....
|
||||
*/
|
||||
inode = iget(sb, ino);
|
||||
if (inode == NULL)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
if (is_bad_inode(inode) ||
|
||||
(generation && inode->i_generation != generation)) {
|
||||
/* we didn't find the right inode.. */
|
||||
iput(inode);
|
||||
return ERR_PTR(-ESTALE);
|
||||
}
|
||||
/* now to find a dentry.
|
||||
* If possible, get a well-connected one
|
||||
*/
|
||||
result = d_alloc_anon(inode);
|
||||
if (!result) {
|
||||
iput(inode);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Yes, most of these are left as NULL!!
|
||||
* A NULL value implies the default, which works with ext2-like file
|
||||
* systems, but can be improved upon.
|
||||
|
@ -258,6 +296,7 @@ static struct super_operations ext2_sops = {
|
|||
*/
|
||||
static struct export_operations ext2_export_ops = {
|
||||
.get_parent = ext2_get_parent,
|
||||
.get_dentry = ext2_get_dentry,
|
||||
};
|
||||
|
||||
static unsigned long get_sb_block(void **data)
|
||||
|
@ -1044,7 +1083,6 @@ static int ext2_statfs (struct dentry * dentry, struct kstatfs * buf)
|
|||
unsigned long overhead;
|
||||
int i;
|
||||
|
||||
lock_super(sb);
|
||||
if (test_opt (sb, MINIX_DF))
|
||||
overhead = 0;
|
||||
else {
|
||||
|
@ -1085,7 +1123,6 @@ static int ext2_statfs (struct dentry * dentry, struct kstatfs * buf)
|
|||
buf->f_files = le32_to_cpu(sbi->s_es->s_inodes_count);
|
||||
buf->f_ffree = ext2_count_free_inodes (sb);
|
||||
buf->f_namelen = EXT2_NAME_LEN;
|
||||
unlock_super(sb);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -925,7 +925,7 @@ int ext3_get_blocks_handle(handle_t *handle, struct inode *inode,
|
|||
set_buffer_new(bh_result);
|
||||
got_it:
|
||||
map_bh(bh_result, inode->i_sb, le32_to_cpu(chain[depth-1].key));
|
||||
if (blocks_to_boundary == 0)
|
||||
if (count > blocks_to_boundary)
|
||||
set_buffer_boundary(bh_result);
|
||||
err = count;
|
||||
/* Clean up and exit */
|
||||
|
|
|
@ -554,6 +554,47 @@ static int ext3_show_options(struct seq_file *seq, struct vfsmount *vfs)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static struct dentry *ext3_get_dentry(struct super_block *sb, void *vobjp)
|
||||
{
|
||||
__u32 *objp = vobjp;
|
||||
unsigned long ino = objp[0];
|
||||
__u32 generation = objp[1];
|
||||
struct inode *inode;
|
||||
struct dentry *result;
|
||||
|
||||
if (ino < EXT3_FIRST_INO(sb) && ino != EXT3_ROOT_INO)
|
||||
return ERR_PTR(-ESTALE);
|
||||
if (ino > le32_to_cpu(EXT3_SB(sb)->s_es->s_inodes_count))
|
||||
return ERR_PTR(-ESTALE);
|
||||
|
||||
/* iget isn't really right if the inode is currently unallocated!!
|
||||
*
|
||||
* ext3_read_inode will return a bad_inode if the inode had been
|
||||
* deleted, so we should be safe.
|
||||
*
|
||||
* Currently we don't know the generation for parent directory, so
|
||||
* a generation of 0 means "accept any"
|
||||
*/
|
||||
inode = iget(sb, ino);
|
||||
if (inode == NULL)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
if (is_bad_inode(inode) ||
|
||||
(generation && inode->i_generation != generation)) {
|
||||
iput(inode);
|
||||
return ERR_PTR(-ESTALE);
|
||||
}
|
||||
/* now to find a dentry.
|
||||
* If possible, get a well-connected one
|
||||
*/
|
||||
result = d_alloc_anon(inode);
|
||||
if (!result) {
|
||||
iput(inode);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_QUOTA
|
||||
#define QTYPE2NAME(t) ((t)==USRQUOTA?"user":"group")
|
||||
#define QTYPE2MOPT(on, t) ((t)==USRQUOTA?((on)##USRJQUOTA):((on)##GRPJQUOTA))
|
||||
|
@ -622,6 +663,7 @@ static struct super_operations ext3_sops = {
|
|||
|
||||
static struct export_operations ext3_export_ops = {
|
||||
.get_parent = ext3_get_parent,
|
||||
.get_dentry = ext3_get_dentry,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
|
|
@ -21,6 +21,9 @@
|
|||
#include <linux/pagemap.h>
|
||||
#include "nodelist.h"
|
||||
|
||||
static void jffs2_obsolete_node_frag(struct jffs2_sb_info *c,
|
||||
struct jffs2_node_frag *this);
|
||||
|
||||
void jffs2_add_fd_to_list(struct jffs2_sb_info *c, struct jffs2_full_dirent *new, struct jffs2_full_dirent **list)
|
||||
{
|
||||
struct jffs2_full_dirent **prev = list;
|
||||
|
@ -87,7 +90,8 @@ void jffs2_truncate_fragtree(struct jffs2_sb_info *c, struct rb_root *list, uint
|
|||
}
|
||||
}
|
||||
|
||||
void jffs2_obsolete_node_frag(struct jffs2_sb_info *c, struct jffs2_node_frag *this)
|
||||
static void jffs2_obsolete_node_frag(struct jffs2_sb_info *c,
|
||||
struct jffs2_node_frag *this)
|
||||
{
|
||||
if (this->node) {
|
||||
this->node->frags--;
|
||||
|
|
|
@ -334,7 +334,6 @@ void jffs2_kill_fragtree(struct rb_root *root, struct jffs2_sb_info *c_delete);
|
|||
struct rb_node *rb_next(struct rb_node *);
|
||||
struct rb_node *rb_prev(struct rb_node *);
|
||||
void rb_replace_node(struct rb_node *victim, struct rb_node *new, struct rb_root *root);
|
||||
void jffs2_obsolete_node_frag(struct jffs2_sb_info *c, struct jffs2_node_frag *this);
|
||||
int jffs2_add_full_dnode_to_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_full_dnode *fn);
|
||||
void jffs2_truncate_fragtree (struct jffs2_sb_info *c, struct rb_root *list, uint32_t size);
|
||||
int jffs2_add_older_frag_to_fragtree(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_tmp_dnode_info *tn);
|
||||
|
|
|
@ -252,6 +252,11 @@ int jffs2_sum_add_kvec(struct jffs2_sb_info *c, const struct kvec *invecs,
|
|||
union jffs2_node_union *node;
|
||||
struct jffs2_eraseblock *jeb;
|
||||
|
||||
if (c->summary->sum_size == JFFS2_SUMMARY_NOSUM_SIZE) {
|
||||
dbg_summary("Summary is disabled for this jeb! Skipping summary info!\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
node = invecs[0].iov_base;
|
||||
jeb = &c->blocks[ofs / c->sector_size];
|
||||
ofs -= jeb->offset;
|
||||
|
|
|
@ -1215,7 +1215,6 @@ int jffs2_garbage_collect_xattr_datum(struct jffs2_sb_info *c, struct jffs2_xatt
|
|||
rc = jffs2_reserve_space_gc(c, totlen, &length, JFFS2_SUMMARY_XATTR_SIZE);
|
||||
if (rc) {
|
||||
JFFS2_WARNING("jffs2_reserve_space_gc()=%d, request=%u\n", rc, totlen);
|
||||
rc = rc ? rc : -EBADFD;
|
||||
goto out;
|
||||
}
|
||||
rc = save_xattr_datum(c, xd);
|
||||
|
|
|
@ -970,7 +970,7 @@ static int _nfs4_do_open(struct inode *dir, struct dentry *dentry, int flags, st
|
|||
status = -ENOMEM;
|
||||
opendata = nfs4_opendata_alloc(dentry, sp, flags, sattr);
|
||||
if (opendata == NULL)
|
||||
goto err_put_state_owner;
|
||||
goto err_release_rwsem;
|
||||
|
||||
status = _nfs4_proc_open(opendata);
|
||||
if (status != 0)
|
||||
|
@ -989,11 +989,11 @@ static int _nfs4_do_open(struct inode *dir, struct dentry *dentry, int flags, st
|
|||
return 0;
|
||||
err_opendata_free:
|
||||
nfs4_opendata_free(opendata);
|
||||
err_release_rwsem:
|
||||
up_read(&clp->cl_sem);
|
||||
err_put_state_owner:
|
||||
nfs4_put_state_owner(sp);
|
||||
out_err:
|
||||
/* Note: clp->cl_sem must be released before nfs4_put_open_state()! */
|
||||
up_read(&clp->cl_sem);
|
||||
*res = NULL;
|
||||
return status;
|
||||
}
|
||||
|
|
|
@ -204,9 +204,11 @@ static int nfs_readpage_sync(struct nfs_open_context *ctx, struct inode *inode,
|
|||
NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ATIME;
|
||||
spin_unlock(&inode->i_lock);
|
||||
|
||||
nfs_readpage_truncate_uninitialised_page(rdata);
|
||||
if (rdata->res.eof || rdata->res.count == rdata->args.count)
|
||||
if (rdata->res.eof || rdata->res.count == rdata->args.count) {
|
||||
SetPageUptodate(page);
|
||||
if (rdata->res.eof && count != 0)
|
||||
memclear_highpage_flush(page, rdata->args.pgbase, count);
|
||||
}
|
||||
result = 0;
|
||||
|
||||
io_error:
|
||||
|
|
|
@ -590,8 +590,8 @@ static void nfs_cancel_commit_list(struct list_head *head)
|
|||
req = nfs_list_entry(head->next);
|
||||
nfs_list_remove_request(req);
|
||||
nfs_inode_remove_request(req);
|
||||
nfs_clear_page_writeback(req);
|
||||
dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS);
|
||||
nfs_clear_page_writeback(req);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1386,8 +1386,8 @@ nfs_commit_list(struct inode *inode, struct list_head *head, int how)
|
|||
req = nfs_list_entry(head->next);
|
||||
nfs_list_remove_request(req);
|
||||
nfs_mark_request_commit(req);
|
||||
nfs_clear_page_writeback(req);
|
||||
dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS);
|
||||
nfs_clear_page_writeback(req);
|
||||
}
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
include include/asm-generic/Kbuild.asm
|
||||
|
||||
unifdef-y += console.h fpu.h sysinfo.h
|
||||
unifdef-y += console.h fpu.h sysinfo.h compiler.h
|
||||
|
||||
header-y += gentrap.h regdef.h pal.h reg.h
|
||||
|
|
|
@ -90,6 +90,7 @@
|
|||
__asm__("stw %1,%0" : "=m"(mem) : "r"(val))
|
||||
#endif
|
||||
|
||||
#ifdef __KERNEL__
|
||||
/* Some idiots over in <linux/compiler.h> thought inline should imply
|
||||
always_inline. This breaks stuff. We'll include this file whenever
|
||||
we run into such problems. */
|
||||
|
@ -101,4 +102,6 @@
|
|||
#undef __always_inline
|
||||
#define __always_inline inline __attribute__((always_inline))
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* __ALPHA_COMPILER_H */
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _ALPHA_PAGE_H
|
||||
#define _ALPHA_PAGE_H
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <asm/pal.h>
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
|
@ -8,8 +10,6 @@
|
|||
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#define STRICT_MM_TYPECHECKS
|
||||
|
@ -92,9 +92,9 @@ typedef unsigned long pgprot_t;
|
|||
|
||||
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
|
||||
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#include <asm-generic/memory_model.h>
|
||||
#include <asm-generic/page.h>
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _ALPHA_PAGE_H */
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/* linux/include/asm/arch-s3c2410/regs-power.h
|
||||
*
|
||||
* Copyright (c) 2003,2004,2005,2006 Simtec Electronics <linux@simtec.co.uk>
|
||||
* http://armlinux.simtec.co.uk/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* S3C24XX power control register definitions
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARM_REGS_PWR
|
||||
#define __ASM_ARM_REGS_PWR __FILE__
|
||||
|
||||
#define S3C24XX_PWRREG(x) ((x) + S3C24XX_VA_CLKPWR)
|
||||
|
||||
#define S3C2412_PWRMODECON S3C24XX_PWRREG(0x20)
|
||||
#define S3C2412_PWRCFG S3C24XX_PWRREG(0x24)
|
||||
|
||||
#define S3C2412_PWRCFG_BATF_IGNORE (0<<0)
|
||||
#define S3C2412_PWRCFG_BATF_SLEEP (3<<0)
|
||||
#define S3C2412_PWRCFG_BATF_MASK (3<<0)
|
||||
|
||||
#define S3C2412_PWRCFG_STANDBYWFI_IGNORE (0<<6)
|
||||
#define S3C2412_PWRCFG_STANDBYWFI_IDLE (1<<6)
|
||||
#define S3C2412_PWRCFG_STANDBYWFI_STOP (2<<6)
|
||||
#define S3C2412_PWRCFG_STANDBYWFI_SLEEP (3<<6)
|
||||
#define S3C2412_PWRCFG_STANDBYWFI_MASK (3<<6)
|
||||
|
||||
#define S3C2412_PWRCFG_RTC_MASKIRQ (1<<8)
|
||||
#define S3C2412_PWRCFG_NAND_NORST (1<<9)
|
||||
|
||||
#endif /* __ASM_ARM_REGS_PWR */
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue