···303do {304 if (desc->status & masked)305 desc->chip->enable();306- desc-status &= ~pending;307 handle_IRQ_event(desc->action);308} while (status & pending);309-desc-status &= ~running;310desc->chip->end();311 </programlisting>312 </para>
···303do {304 if (desc->status & masked)305 desc->chip->enable();306+ desc->status &= ~pending;307 handle_IRQ_event(desc->action);308} while (status & pending);309+desc->status &= ~running;310desc->chip->end();311 </programlisting>312 </para>
+6
MAINTAINERS
···1277W: http://drama.obuda.kando.hu/~fero/cgi-bin/hgafb.shtml1278S: Maintained12790000001280HIGH-SPEED SCC DRIVER FOR AX.251281P: Klaus Kudielka1282M: klaus.kudielka@ieee.org
···1277W: http://drama.obuda.kando.hu/~fero/cgi-bin/hgafb.shtml1278S: Maintained12791280+HID CORE LAYER1281+P: Jiri Kosina1282+M: jkosina@suse.cz1283+L: linux-input@atrey.karlin.mff.cuni.cz1284+S: Maintained1285+1286HIGH-SPEED SCC DRIVER FOR AX.251287P: Klaus Kudielka1288M: klaus.kudielka@ieee.org
···1493# CONFIG_DEBUG_VM is not set1494# CONFIG_DEBUG_LIST is not set1495# CONFIG_FRAME_POINTER is not set1496-CONFIG_UNWIND_INFO=y1497-CONFIG_STACK_UNWIND=y1498# CONFIG_FORCED_INLINING is not set1499# CONFIG_HEADERS_CHECK is not set1500# CONFIG_RCU_TORTURE_TEST is not set
···1493# CONFIG_DEBUG_VM is not set1494# CONFIG_DEBUG_LIST is not set1495# CONFIG_FRAME_POINTER is not set001496# CONFIG_FORCED_INLINING is not set1497# CONFIG_HEADERS_CHECK is not set1498# CONFIG_RCU_TORTURE_TEST is not set
+8-25
arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
···126 }127}128129-static void wrport(u16 port, u8 bit_width, u32 value)130-{131- if (bit_width <= 8)132- outb(value, port);133- else if (bit_width <= 16)134- outw(value, port);135- else if (bit_width <= 32)136- outl(value, port);137-}138-139-static void rdport(u16 port, u8 bit_width, u32 * ret)140-{141- *ret = 0;142- if (bit_width <= 8)143- *ret = inb(port);144- else if (bit_width <= 16)145- *ret = inw(port);146- else if (bit_width <= 32)147- *ret = inl(port);148-}149-150struct msr_addr {151 u32 reg;152};···156 rdmsr(cmd->addr.msr.reg, cmd->val, h);157 break;158 case SYSTEM_IO_CAPABLE:159- rdport(cmd->addr.io.port, cmd->addr.io.bit_width, &cmd->val);00160 break;161 default:162 break;···174 wrmsr(cmd->addr.msr.reg, cmd->val, h);175 break;176 case SYSTEM_IO_CAPABLE:177- wrport(cmd->addr.io.port, cmd->addr.io.bit_width, cmd->val);00178 break;179 default:180 break;···682 if (result)683 goto err_freqfree;684685- switch (data->cpu_feature) {686 case ACPI_ADR_SPACE_SYSTEM_IO:687 /* Current speed is unknown and not detectable by IO port */688 policy->cur = acpi_cpufreq_guess_freq(data, policy->cpu);689 break;690 case ACPI_ADR_SPACE_FIXED_HARDWARE:691 acpi_cpufreq_driver.get = get_cur_freq_on_cpu;692- get_cur_freq_on_cpu(cpu);693 break;694 default:695 break;
···126 }127}128000000000000000000000129struct msr_addr {130 u32 reg;131};···177 rdmsr(cmd->addr.msr.reg, cmd->val, h);178 break;179 case SYSTEM_IO_CAPABLE:180+ acpi_os_read_port((acpi_io_address)cmd->addr.io.port,181+ &cmd->val,182+ (u32)cmd->addr.io.bit_width);183 break;184 default:185 break;···193 wrmsr(cmd->addr.msr.reg, cmd->val, h);194 break;195 case SYSTEM_IO_CAPABLE:196+ acpi_os_write_port((acpi_io_address)cmd->addr.io.port,197+ cmd->val,198+ (u32)cmd->addr.io.bit_width);199 break;200 default:201 break;···699 if (result)700 goto err_freqfree;701702+ switch (perf->control_register.space_id) {703 case ACPI_ADR_SPACE_SYSTEM_IO:704 /* Current speed is unknown and not detectable by IO port */705 policy->cur = acpi_cpufreq_guess_freq(data, policy->cpu);706 break;707 case ACPI_ADR_SPACE_FIXED_HARDWARE:708 acpi_cpufreq_driver.get = get_cur_freq_on_cpu;709+ policy->cur = get_cur_freq_on_cpu(cpu);710 break;711 default:712 break;
···1#2# Automatically generated make config: don't edit3-# Linux kernel version: 2.6.19-rc24-# Wed Oct 18 17:11:10 20065#6CONFIG_MMU=y7CONFIG_LOCKDEP_SUPPORT=y8CONFIG_STACKTRACE_SUPPORT=y9CONFIG_RWSEM_XCHGADD_ALGORITHM=y0010CONFIG_GENERIC_HWEIGHT=y11-CONFIG_GENERIC_CALIBRATE_DELAY=y12CONFIG_GENERIC_TIME=y13CONFIG_S390=y14CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"···38CONFIG_IKCONFIG=y39CONFIG_IKCONFIG_PROC=y40# CONFIG_CPUSETS is not set041# CONFIG_RELAY is not set42CONFIG_INITRAMFS_SOURCE=""43# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set44CONFIG_SYSCTL=y45# CONFIG_EMBEDDED is not set46-# CONFIG_SYSCTL_SYSCALL is not set47CONFIG_KALLSYMS=y48# CONFIG_KALLSYMS_ALL is not set49# CONFIG_KALLSYMS_EXTRA_PASS is not set···121CONFIG_CHECK_STACK=y122CONFIG_STACK_GUARD=256123# CONFIG_WARN_STACK is not set0124CONFIG_SELECT_MEMORY_MODEL=y125CONFIG_FLATMEM_MANUAL=y126# CONFIG_DISCONTIGMEM_MANUAL is not set···131# CONFIG_SPARSEMEM_STATIC is not set132CONFIG_SPLIT_PTLOCK_CPUS=4133CONFIG_RESOURCES_64BIT=y0134135#136# I/O subsystem configuration···200# CONFIG_TCP_CONG_ADVANCED is not set201CONFIG_TCP_CONG_CUBIC=y202CONFIG_DEFAULT_TCP_CONG="cubic"0203CONFIG_IPV6=y204# CONFIG_IPV6_PRIVACY is not set205# CONFIG_IPV6_ROUTER_PREF is not set···216# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set217CONFIG_IPV6_SIT=y218# CONFIG_IPV6_TUNNEL is not set219-# CONFIG_IPV6_SUBTREES is not set220# CONFIG_IPV6_MULTIPLE_TABLES is not set221# CONFIG_NETWORK_SECMARK is not set222# CONFIG_NETFILTER is not set···250# QoS and/or fair queueing251#252CONFIG_NET_SCHED=y0253CONFIG_NET_SCH_CLK_JIFFIES=y254# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set255# CONFIG_NET_SCH_CLK_CPU is not set···282CONFIG_NET_CLS_FW=m283CONFIG_NET_CLS_U32=m284# CONFIG_CLS_U32_PERF is not set0285CONFIG_NET_CLS_RSVP=m286CONFIG_NET_CLS_RSVP6=m287# CONFIG_NET_EMATCH is not set···321#322# CONFIG_RAID_ATTRS is not set323CONFIG_SCSI=y0324CONFIG_SCSI_NETLINK=y325CONFIG_SCSI_PROC_FS=y326···342CONFIG_SCSI_MULTI_LUN=y343CONFIG_SCSI_CONSTANTS=y344CONFIG_SCSI_LOGGING=y0345346#347# SCSI Transports···554# CONFIG_AUTOFS_FS is not set555# CONFIG_AUTOFS4_FS is not set556# CONFIG_FUSE_FS is not set0557558#559# CD-ROM/DVD Filesystems···580CONFIG_TMPFS_POSIX_ACL=y581# CONFIG_HUGETLB_PAGE is not set582CONFIG_RAMFS=y583-# CONFIG_CONFIGFS_FS is not set584585#586# Miscellaneous filesystems···625# CONFIG_CODA_FS is not set626# CONFIG_AFS_FS is not set627# CONFIG_9P_FS is not set628-CONFIG_GENERIC_ACL=y629630#631# Partition Types···654# CONFIG_NLS is not set655656#00000000657# Instrumentation Support658#659···679CONFIG_ENABLE_MUST_CHECK=y680CONFIG_MAGIC_SYSRQ=y681# CONFIG_UNUSED_SYMBOLS is not set00682CONFIG_DEBUG_KERNEL=y683CONFIG_LOG_BUF_SHIFT=17684# CONFIG_SCHEDSTATS is not set···697# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set698# CONFIG_DEBUG_KOBJECT is not set699# CONFIG_DEBUG_INFO is not set700-CONFIG_DEBUG_FS=y701# CONFIG_DEBUG_VM is not set702# CONFIG_DEBUG_LIST is not set703# CONFIG_FRAME_POINTER is not set704# CONFIG_UNWIND_INFO is not set705CONFIG_FORCED_INLINING=y706-CONFIG_HEADERS_CHECK=y707# CONFIG_RCU_TORTURE_TEST is not set708# CONFIG_LKDTM is not set709···715# Cryptographic options716#717CONFIG_CRYPTO=y718-CONFIG_CRYPTO_ALGAPI=m719-CONFIG_CRYPTO_BLKCIPHER=m720-CONFIG_CRYPTO_MANAGER=m721# CONFIG_CRYPTO_HMAC is not set0722# CONFIG_CRYPTO_NULL is not set723# CONFIG_CRYPTO_MD4 is not set724# CONFIG_CRYPTO_MD5 is not set···730# CONFIG_CRYPTO_SHA512 is not set731# CONFIG_CRYPTO_WP512 is not set732# CONFIG_CRYPTO_TGR192 is not set0733CONFIG_CRYPTO_ECB=m734-CONFIG_CRYPTO_CBC=m0735# CONFIG_CRYPTO_DES is not set736# CONFIG_CRYPTO_DES_S390 is not set737# CONFIG_CRYPTO_BLOWFISH is not set···759#760# Library routines761#0762# CONFIG_CRC_CCITT is not set763# CONFIG_CRC16 is not set764CONFIG_CRC32=m765# CONFIG_LIBCRC32C is not set766CONFIG_PLIST=y0
···1#2# Automatically generated make config: don't edit3+# Linux kernel version: 2.6.20-rc14+# Fri Dec 15 16:52:28 20065#6CONFIG_MMU=y7CONFIG_LOCKDEP_SUPPORT=y8CONFIG_STACKTRACE_SUPPORT=y9CONFIG_RWSEM_XCHGADD_ALGORITHM=y10+# CONFIG_ARCH_HAS_ILOG2_U32 is not set11+# CONFIG_ARCH_HAS_ILOG2_U64 is not set12CONFIG_GENERIC_HWEIGHT=y013CONFIG_GENERIC_TIME=y14CONFIG_S390=y15CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"···37CONFIG_IKCONFIG=y38CONFIG_IKCONFIG_PROC=y39# CONFIG_CPUSETS is not set40+CONFIG_SYSFS_DEPRECATED=y41# CONFIG_RELAY is not set42CONFIG_INITRAMFS_SOURCE=""43# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set44CONFIG_SYSCTL=y45# CONFIG_EMBEDDED is not set46+CONFIG_SYSCTL_SYSCALL=y47CONFIG_KALLSYMS=y48# CONFIG_KALLSYMS_ALL is not set49# CONFIG_KALLSYMS_EXTRA_PASS is not set···119CONFIG_CHECK_STACK=y120CONFIG_STACK_GUARD=256121# CONFIG_WARN_STACK is not set122+CONFIG_ARCH_POPULATES_NODE_MAP=y123CONFIG_SELECT_MEMORY_MODEL=y124CONFIG_FLATMEM_MANUAL=y125# CONFIG_DISCONTIGMEM_MANUAL is not set···128# CONFIG_SPARSEMEM_STATIC is not set129CONFIG_SPLIT_PTLOCK_CPUS=4130CONFIG_RESOURCES_64BIT=y131+CONFIG_HOLES_IN_ZONE=y132133#134# I/O subsystem configuration···196# CONFIG_TCP_CONG_ADVANCED is not set197CONFIG_TCP_CONG_CUBIC=y198CONFIG_DEFAULT_TCP_CONG="cubic"199+# CONFIG_TCP_MD5SIG is not set200CONFIG_IPV6=y201# CONFIG_IPV6_PRIVACY is not set202# CONFIG_IPV6_ROUTER_PREF is not set···211# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set212CONFIG_IPV6_SIT=y213# CONFIG_IPV6_TUNNEL is not set0214# CONFIG_IPV6_MULTIPLE_TABLES is not set215# CONFIG_NETWORK_SECMARK is not set216# CONFIG_NETFILTER is not set···246# QoS and/or fair queueing247#248CONFIG_NET_SCHED=y249+CONFIG_NET_SCH_FIFO=y250CONFIG_NET_SCH_CLK_JIFFIES=y251# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set252# CONFIG_NET_SCH_CLK_CPU is not set···277CONFIG_NET_CLS_FW=m278CONFIG_NET_CLS_U32=m279# CONFIG_CLS_U32_PERF is not set280+CONFIG_CLS_U32_MARK=y281CONFIG_NET_CLS_RSVP=m282CONFIG_NET_CLS_RSVP6=m283# CONFIG_NET_EMATCH is not set···315#316# CONFIG_RAID_ATTRS is not set317CONFIG_SCSI=y318+# CONFIG_SCSI_TGT is not set319CONFIG_SCSI_NETLINK=y320CONFIG_SCSI_PROC_FS=y321···335CONFIG_SCSI_MULTI_LUN=y336CONFIG_SCSI_CONSTANTS=y337CONFIG_SCSI_LOGGING=y338+CONFIG_SCSI_SCAN_ASYNC=y339340#341# SCSI Transports···546# CONFIG_AUTOFS_FS is not set547# CONFIG_AUTOFS4_FS is not set548# CONFIG_FUSE_FS is not set549+CONFIG_GENERIC_ACL=y550551#552# CD-ROM/DVD Filesystems···571CONFIG_TMPFS_POSIX_ACL=y572# CONFIG_HUGETLB_PAGE is not set573CONFIG_RAMFS=y574+CONFIG_CONFIGFS_FS=m575576#577# Miscellaneous filesystems···616# CONFIG_CODA_FS is not set617# CONFIG_AFS_FS is not set618# CONFIG_9P_FS is not set0619620#621# Partition Types···646# CONFIG_NLS is not set647648#649+# Distributed Lock Manager650+#651+CONFIG_DLM=m652+CONFIG_DLM_TCP=y653+# CONFIG_DLM_SCTP is not set654+# CONFIG_DLM_DEBUG is not set655+656+#657# Instrumentation Support658#659···663CONFIG_ENABLE_MUST_CHECK=y664CONFIG_MAGIC_SYSRQ=y665# CONFIG_UNUSED_SYMBOLS is not set666+CONFIG_DEBUG_FS=y667+CONFIG_HEADERS_CHECK=y668CONFIG_DEBUG_KERNEL=y669CONFIG_LOG_BUF_SHIFT=17670# CONFIG_SCHEDSTATS is not set···679# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set680# CONFIG_DEBUG_KOBJECT is not set681# CONFIG_DEBUG_INFO is not set0682# CONFIG_DEBUG_VM is not set683# CONFIG_DEBUG_LIST is not set684# CONFIG_FRAME_POINTER is not set685# CONFIG_UNWIND_INFO is not set686CONFIG_FORCED_INLINING=y0687# CONFIG_RCU_TORTURE_TEST is not set688# CONFIG_LKDTM is not set689···699# Cryptographic options700#701CONFIG_CRYPTO=y702+CONFIG_CRYPTO_ALGAPI=y703+CONFIG_CRYPTO_BLKCIPHER=y704+CONFIG_CRYPTO_MANAGER=y705# CONFIG_CRYPTO_HMAC is not set706+# CONFIG_CRYPTO_XCBC is not set707# CONFIG_CRYPTO_NULL is not set708# CONFIG_CRYPTO_MD4 is not set709# CONFIG_CRYPTO_MD5 is not set···713# CONFIG_CRYPTO_SHA512 is not set714# CONFIG_CRYPTO_WP512 is not set715# CONFIG_CRYPTO_TGR192 is not set716+# CONFIG_CRYPTO_GF128MUL is not set717CONFIG_CRYPTO_ECB=m718+CONFIG_CRYPTO_CBC=y719+# CONFIG_CRYPTO_LRW is not set720# CONFIG_CRYPTO_DES is not set721# CONFIG_CRYPTO_DES_S390 is not set722# CONFIG_CRYPTO_BLOWFISH is not set···740#741# Library routines742#743+CONFIG_BITREVERSE=m744# CONFIG_CRC_CCITT is not set745# CONFIG_CRC16 is not set746CONFIG_CRC32=m747# CONFIG_LIBCRC32C is not set748CONFIG_PLIST=y749+CONFIG_IOMAP_COPY=y
+2-2
arch/s390/hypfs/hypfs_diag.c
···379static void *diag204_alloc_rbuf(void)380{381 diag204_buf = (void*)__get_free_pages(GFP_KERNEL,0);382- if (diag204_buf)383 return ERR_PTR(-ENOMEM);384 diag204_buf_pages = 1;385 return diag204_buf;···521 }522 rc = diag224_get_name_table();523 if (rc) {524- diag224_delete_name_table();525 printk(KERN_ERR "hypfs: could not get name table.\n");526 }527 return rc;
···379static void *diag204_alloc_rbuf(void)380{381 diag204_buf = (void*)__get_free_pages(GFP_KERNEL,0);382+ if (!diag204_buf)383 return ERR_PTR(-ENOMEM);384 diag204_buf_pages = 1;385 return diag204_buf;···521 }522 rc = diag224_get_name_table();523 if (rc) {524+ diag204_free_buffer();525 printk(KERN_ERR "hypfs: could not get name table.\n");526 }527 return rc;
···1#2# Automatically generated make config: don't edit003#4CONFIG_MMU=y5-CONFIG_UID16=y6CONFIG_HIGHMEM=y7CONFIG_GENERIC_ISA_DMA=y089#10# Code maturity level options11#12CONFIG_EXPERIMENTAL=y13-CONFIG_CLEAN_COMPILE=y14-CONFIG_STANDALONE=y15CONFIG_BROKEN_ON_SMP=y01617#18# General setup19#0020CONFIG_SWAP=y21CONFIG_SYSVIPC=y022CONFIG_POSIX_MQUEUE=y23# CONFIG_BSD_PROCESS_ACCT is not set24-CONFIG_SYSCTL=y025# CONFIG_AUDIT is not set26-CONFIG_LOG_BUF_SHIFT=1427-# CONFIG_HOTPLUG is not set28# CONFIG_IKCONFIG is not set0000029# CONFIG_EMBEDDED is not set0030CONFIG_KALLSYMS=y31# CONFIG_KALLSYMS_ALL is not set00000032CONFIG_FUTEX=y33CONFIG_EPOLL=y34-CONFIG_IOSCHED_NOOP=y35-CONFIG_IOSCHED_AS=y36-CONFIG_IOSCHED_DEADLINE=y37-CONFIG_IOSCHED_CFQ=y38-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set003940#41# Loadable module support···61CONFIG_MODULES=y62CONFIG_MODULE_UNLOAD=y63# CONFIG_MODULE_FORCE_UNLOAD is not set64-CONFIG_OBSOLETE_MODPARM=y65# CONFIG_MODVERSIONS is not set066CONFIG_KMOD=y6768#69-# General setup70#71-CONFIG_VT=y72-CONFIG_VT_CONSOLE=y73-CONFIG_HW_CONSOLE=y00000000000000000074# CONFIG_SMP is not set075CONFIG_SPARC32=y76CONFIG_SBUS=y77CONFIG_SBUSCHAR=y···98CONFIG_SUN_AUXIO=y99CONFIG_SUN_IO=y100CONFIG_RWSEM_GENERIC_SPINLOCK=y000000101CONFIG_SUN_PM=y102# CONFIG_SUN4 is not set103CONFIG_PCI=y104-# CONFIG_PCI_LEGACY_PROC is not set105-# CONFIG_PCI_NAMES is not set106CONFIG_SUN_OPENPROMFS=m0107CONFIG_BINFMT_ELF=y108CONFIG_BINFMT_AOUT=y109CONFIG_BINFMT_MISC=m110CONFIG_SUNOS_EMUL=y000000000111112#113-# Parallel port support114-#115-# CONFIG_PARPORT is not set116-117-#118-# Generic Driver Options119-#120-# CONFIG_DEBUG_DRIVER is not set121-122-#123-# Graphics support124-#125-# CONFIG_FB is not set126-127-#128-# Console display driver support129-#130-# CONFIG_MDA_CONSOLE is not set131-# CONFIG_PROM_CONSOLE is not set132-CONFIG_DUMMY_CONSOLE=y133-134-#135-# Memory Technology Devices (MTD)136-#137-# CONFIG_MTD is not set138-139-#140-# Serial drivers141-#142-# CONFIG_SERIAL_8250 is not set143-144-#145-# Non-8250 serial port support146-#147-CONFIG_SERIAL_SUNCORE=y148-CONFIG_SERIAL_SUNZILOG=y149-CONFIG_SERIAL_SUNZILOG_CONSOLE=y150-CONFIG_SERIAL_SUNSU=y151-CONFIG_SERIAL_SUNSU_CONSOLE=y152-# CONFIG_SERIAL_SUNSAB is not set153-CONFIG_SERIAL_CORE=y154-CONFIG_SERIAL_CORE_CONSOLE=y155-156-#157-# Misc Linux/SPARC drivers158-#159-CONFIG_SUN_OPENPROMIO=m160-CONFIG_SUN_MOSTEK_RTC=m161-# CONFIG_SUN_BPP is not set162-# CONFIG_SUN_VIDEOPIX is not set163-# CONFIG_SUN_AURORA is not set164-# CONFIG_TADPOLE_TS102_UCTRL is not set165-# CONFIG_SUN_JSFLASH is not set166-CONFIG_APM_RTC_IS_GMT=y167-CONFIG_RTC=m168-169-#170-# Block devices171-#172-# CONFIG_BLK_DEV_FD is not set173-# CONFIG_BLK_CPQ_DA is not set174-# CONFIG_BLK_CPQ_CISS_DA is not set175-# CONFIG_BLK_DEV_DAC960 is not set176-# CONFIG_BLK_DEV_UMEM is not set177-CONFIG_BLK_DEV_LOOP=m178-CONFIG_BLK_DEV_CRYPTOLOOP=m179-# CONFIG_BLK_DEV_NBD is not set180-# CONFIG_BLK_DEV_CARMEL is not set181-CONFIG_BLK_DEV_RAM=y182-CONFIG_BLK_DEV_RAM_SIZE=4096183-CONFIG_BLK_DEV_INITRD=y184-185-#186-# ATA/ATAPI/MFM/RLL support187-#188-# CONFIG_IDE is not set189-190-#191-# ISDN subsystem192-#193-# CONFIG_ISDN is not set194-195-#196-# SCSI device support197-#198-CONFIG_SCSI=y199-CONFIG_SCSI_PROC_FS=y200-201-#202-# SCSI support type (disk, tape, CD-ROM)203-#204-CONFIG_BLK_DEV_SD=y205-# CONFIG_CHR_DEV_ST is not set206-# CONFIG_CHR_DEV_OSST is not set207-CONFIG_BLK_DEV_SR=m208-# CONFIG_BLK_DEV_SR_VENDOR is not set209-CONFIG_CHR_DEV_SG=m210-211-#212-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs213-#214-# CONFIG_SCSI_MULTI_LUN is not set215-# CONFIG_SCSI_CONSTANTS is not set216-# CONFIG_SCSI_LOGGING is not set217-218-#219-# SCSI Transport Attributes220-#221-CONFIG_SCSI_SPI_ATTRS=m222-# CONFIG_SCSI_FC_ATTRS is not set223-224-#225-# SCSI low-level drivers226-#227-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set228-# CONFIG_SCSI_ACARD is not set229-# CONFIG_SCSI_AACRAID is not set230-# CONFIG_SCSI_AIC7XXX is not set231-# CONFIG_SCSI_AIC7XXX_OLD is not set232-# CONFIG_SCSI_AIC79XX is not set233-# CONFIG_SCSI_DPT_I2O is not set234-# CONFIG_SCSI_ADVANSYS is not set235-# CONFIG_SCSI_MEGARAID is not set236-# CONFIG_SCSI_SATA is not set237-# CONFIG_SCSI_BUSLOGIC is not set238-# CONFIG_SCSI_DMX3191D is not set239-# CONFIG_SCSI_EATA is not set240-# CONFIG_SCSI_EATA_PIO is not set241-# CONFIG_SCSI_FUTURE_DOMAIN is not set242-# CONFIG_SCSI_GDTH is not set243-# CONFIG_SCSI_IPS is not set244-# CONFIG_SCSI_INIA100 is not set245-# CONFIG_SCSI_SYM53C8XX_2 is not set246-# CONFIG_SCSI_IPR is not set247-# CONFIG_SCSI_QLOGIC_ISP is not set248-# CONFIG_SCSI_QLOGIC_FC is not set249-# CONFIG_SCSI_QLOGIC_1280 is not set250-CONFIG_SCSI_QLOGICPTI=m251-CONFIG_SCSI_QLA2XXX=y252-# CONFIG_SCSI_QLA21XX is not set253-# CONFIG_SCSI_QLA22XX is not set254-# CONFIG_SCSI_QLA2300 is not set255-# CONFIG_SCSI_QLA2322 is not set256-# CONFIG_SCSI_QLA6312 is not set257-# CONFIG_SCSI_QLA6322 is not set258-# CONFIG_SCSI_DC395x is not set259-# CONFIG_SCSI_DC390T is not set260-# CONFIG_SCSI_NSP32 is not set261-# CONFIG_SCSI_DEBUG is not set262-CONFIG_SCSI_SUNESP=y263-264-#265-# Fibre Channel support266-#267-# CONFIG_FC4 is not set268-269-#270-# Multi-device support (RAID and LVM)271-#272-# CONFIG_MD is not set273-274-#275-# Networking support276#277CONFIG_NET=y278279#280# Networking options281#0282CONFIG_PACKET=y283# CONFIG_PACKET_MMAP is not set284-CONFIG_NETLINK_DEV=y285CONFIG_UNIX=y000286CONFIG_NET_KEY=m287CONFIG_INET=y288# CONFIG_IP_MULTICAST is not set289# CONFIG_IP_ADVANCED_ROUTER is not set0290CONFIG_IP_PNP=y291CONFIG_IP_PNP_DHCP=y292# CONFIG_IP_PNP_BOOTP is not set···156CONFIG_INET_AH=y157CONFIG_INET_ESP=y158CONFIG_INET_IPCOMP=y00000000000159CONFIG_IPV6=m160CONFIG_IPV6_PRIVACY=y0161CONFIG_INET6_AH=m162CONFIG_INET6_ESP=m163CONFIG_INET6_IPCOMP=m00000000164CONFIG_IPV6_TUNNEL=m00165# CONFIG_NETFILTER is not set166-CONFIG_XFRM=y167-CONFIG_XFRM_USER=m000168169#170# SCTP Configuration (EXPERIMENTAL)···200# CONFIG_SCTP_HMAC_NONE is not set201# CONFIG_SCTP_HMAC_SHA1 is not set202CONFIG_SCTP_HMAC_MD5=y00000203# CONFIG_ATM is not set204# CONFIG_BRIDGE is not set205# CONFIG_VLAN_8021Q is not set···214# CONFIG_ATALK is not set215# CONFIG_X25 is not set216# CONFIG_LAPB is not set217-# CONFIG_NET_DIVERT is not set218# CONFIG_ECONET is not set219# CONFIG_WAN_ROUTER is not set220-# CONFIG_NET_HW_FLOWCONTROL is not set221222#223# QoS and/or fair queueing···226# Network testing227#228CONFIG_NET_PKTGEN=m229-# CONFIG_NETPOLL is not set230-# CONFIG_NET_POLL_CONTROLLER is not set231# CONFIG_HAMRADIO is not set232# CONFIG_IRDA is not set233# CONFIG_BT is not set000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000234CONFIG_NETDEVICES=y235CONFIG_DUMMY=m236# CONFIG_BONDING is not set237# CONFIG_EQUALIZER is not set238CONFIG_TUN=m239-# CONFIG_ETHERTAP is not set240241#242# ARCnet devices243#244# CONFIG_ARCNET is not set00000245246#247# Ethernet (10 or 100Mbit)···426CONFIG_SUNBMAC=m427CONFIG_SUNQE=m428# CONFIG_SUNGEM is not set0429# CONFIG_NET_VENDOR_3COM is not set430431#···447# CONFIG_HAMACHI is not set448# CONFIG_YELLOWFIN is not set449# CONFIG_R8169 is not set000450# CONFIG_SK98LIN is not set451# CONFIG_TIGON3 is not set00452453#454# Ethernet (10000 Mbit)455#0456# CONFIG_IXGB is not set457# CONFIG_S2IO is not set00458459#460# Token Ring devices···485# CONFIG_NET_FC is not set486# CONFIG_SHAPER is not set487# CONFIG_NETCONSOLE is not set00488489#490-# Unix98 PTY support491#492-CONFIG_UNIX98_PTYS=y493-CONFIG_UNIX98_PTY_COUNT=2560000494495#496# Input device support497#498CONFIG_INPUT=y0499500#501# Userland interfaces···517CONFIG_INPUT_EVBUG=m518519#520-# Input I/O drivers521-#522-# CONFIG_GAMEPORT is not set523-CONFIG_SOUND_GAMEPORT=y524-CONFIG_SERIO=m525-# CONFIG_SERIO_I8042 is not set526-CONFIG_SERIO_SERPORT=m527-# CONFIG_SERIO_CT82C710 is not set528-# CONFIG_SERIO_PCIPS2 is not set529-530-#531# Input Device Drivers532#533CONFIG_INPUT_KEYBOARD=y···525# CONFIG_KEYBOARD_LKKBD is not set526# CONFIG_KEYBOARD_XTKBD is not set527# CONFIG_KEYBOARD_NEWTON is not set0528CONFIG_INPUT_MOUSE=y529CONFIG_MOUSE_PS2=m530CONFIG_MOUSE_SERIAL=m···535# CONFIG_INPUT_MISC is not set536537#00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000538# File systems539#540CONFIG_EXT2_FS=y541CONFIG_EXT2_FS_XATTR=y542CONFIG_EXT2_FS_POSIX_ACL=y543CONFIG_EXT2_FS_SECURITY=y0544# CONFIG_EXT3_FS is not set545-# CONFIG_JBD is not set546CONFIG_FS_MBCACHE=y547# CONFIG_REISERFS_FS is not set548# CONFIG_JFS_FS is not set549CONFIG_FS_POSIX_ACL=y550CONFIG_XFS_FS=m551-CONFIG_XFS_RT=y552CONFIG_XFS_QUOTA=y553CONFIG_XFS_SECURITY=y554CONFIG_XFS_POSIX_ACL=y000555# CONFIG_MINIX_FS is not set556CONFIG_ROMFS_FS=m00557# CONFIG_QUOTA is not set558CONFIG_QUOTACTL=y0559CONFIG_AUTOFS_FS=m560CONFIG_AUTOFS4_FS=m0561562#563# CD-ROM/DVD Filesystems···780#781# DOS/FAT/NT Filesystems782#783-# CONFIG_FAT_FS is not set0784# CONFIG_NTFS_FS is not set785786#···789#790CONFIG_PROC_FS=y791CONFIG_PROC_KCORE=y0792CONFIG_SYSFS=y793-# CONFIG_DEVFS_FS is not set794-CONFIG_DEVPTS_FS_XATTR=y795-# CONFIG_DEVPTS_FS_SECURITY is not set796# CONFIG_TMPFS is not set797# CONFIG_HUGETLB_PAGE is not set798CONFIG_RAMFS=y0799800#801# Miscellaneous filesystems···824# CONFIG_NFSD is not set825CONFIG_ROOT_NFS=y826CONFIG_LOCKD=y827-# CONFIG_EXPORTFS is not set828CONFIG_SUNRPC=y829CONFIG_SUNRPC_GSS=m830CONFIG_RPCSEC_GSS_KRB5=m0831# CONFIG_SMB_FS is not set832CONFIG_CIFS=m833# CONFIG_CIFS_STATS is not set0000834# CONFIG_NCP_FS is not set835# CONFIG_CODA_FS is not set836CONFIG_AFS_FS=m837CONFIG_RXRPC=m0838839#840# Partition Types···877# CONFIG_NLS_ISO8859_8 is not set878# CONFIG_NLS_CODEPAGE_1250 is not set879# CONFIG_NLS_CODEPAGE_1251 is not set0880# CONFIG_NLS_ISO8859_1 is not set881# CONFIG_NLS_ISO8859_2 is not set882# CONFIG_NLS_ISO8859_3 is not set···894# CONFIG_NLS_UTF8 is not set895896#897-# Sound898#899-# CONFIG_SOUND is not set900901#902-# USB support903#904-# CONFIG_USB is not set905-906-#907-# USB Gadget Support908-#909-# CONFIG_USB_GADGET is not set910-911-#912-# Watchdog Cards913-#914-# CONFIG_WATCHDOG is not set915916#917# Kernel hacking918#919-CONFIG_DEBUG_KERNEL=y920-# CONFIG_DEBUG_STACK_USAGE is not set921-# CONFIG_DEBUG_SLAB is not set922CONFIG_MAGIC_SYSRQ=y0000000000923# CONFIG_DEBUG_SPINLOCK is not set924-# CONFIG_DEBUG_HIGHMEM is not set0925# CONFIG_DEBUG_SPINLOCK_SLEEP is not set926-# CONFIG_DEBUG_BUGVERBOSE is not set000000000927928#929# Security options930#0931# CONFIG_SECURITY is not set932933#934# Cryptographic options935#936CONFIG_CRYPTO=y0000937CONFIG_CRYPTO_HMAC=y0938CONFIG_CRYPTO_NULL=m939CONFIG_CRYPTO_MD4=y940CONFIG_CRYPTO_MD5=y941CONFIG_CRYPTO_SHA1=y942CONFIG_CRYPTO_SHA256=m943CONFIG_CRYPTO_SHA512=m000000944CONFIG_CRYPTO_DES=y945CONFIG_CRYPTO_BLOWFISH=m946CONFIG_CRYPTO_TWOFISH=m0947CONFIG_CRYPTO_SERPENT=m948CONFIG_CRYPTO_AES=m949CONFIG_CRYPTO_CAST5=m950CONFIG_CRYPTO_CAST6=m0951CONFIG_CRYPTO_ARC4=m00952CONFIG_CRYPTO_DEFLATE=y953CONFIG_CRYPTO_MICHAEL_MIC=m954CONFIG_CRYPTO_CRC32C=m955# CONFIG_CRYPTO_TEST is not set956957#0000958# Library routines959#000960CONFIG_CRC32=y961CONFIG_LIBCRC32C=m962CONFIG_ZLIB_INFLATE=y963CONFIG_ZLIB_DEFLATE=y00
···1#2# Automatically generated make config: don't edit3+# Linux kernel version: 2.6.20-rc14+# Sun Dec 17 14:20:47 20065#6CONFIG_MMU=y07CONFIG_HIGHMEM=y8CONFIG_GENERIC_ISA_DMA=y9+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"1011#12# Code maturity level options13#14CONFIG_EXPERIMENTAL=y0015CONFIG_BROKEN_ON_SMP=y16+CONFIG_INIT_ENV_ARG_LIMIT=321718#19# General setup20#21+CONFIG_LOCALVERSION=""22+CONFIG_LOCALVERSION_AUTO=y23CONFIG_SWAP=y24CONFIG_SYSVIPC=y25+# CONFIG_IPC_NS is not set26CONFIG_POSIX_MQUEUE=y27# CONFIG_BSD_PROCESS_ACCT is not set28+# CONFIG_TASKSTATS is not set29+# CONFIG_UTS_NS is not set30# CONFIG_AUDIT is not set0031# CONFIG_IKCONFIG is not set32+CONFIG_SYSFS_DEPRECATED=y33+# CONFIG_RELAY is not set34+CONFIG_INITRAMFS_SOURCE=""35+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set36+CONFIG_SYSCTL=y37# CONFIG_EMBEDDED is not set38+CONFIG_UID16=y39+CONFIG_SYSCTL_SYSCALL=y40CONFIG_KALLSYMS=y41# CONFIG_KALLSYMS_ALL is not set42+# CONFIG_KALLSYMS_EXTRA_PASS is not set43+CONFIG_HOTPLUG=y44+CONFIG_PRINTK=y45+CONFIG_BUG=y46+CONFIG_ELF_CORE=y47+CONFIG_BASE_FULL=y48CONFIG_FUTEX=y49CONFIG_EPOLL=y50+CONFIG_SHMEM=y51+CONFIG_SLAB=y52+CONFIG_VM_EVENT_COUNTERS=y53+CONFIG_RT_MUTEXES=y54+# CONFIG_TINY_SHMEM is not set55+CONFIG_BASE_SMALL=056+# CONFIG_SLOB is not set5758#59# Loadable module support···43CONFIG_MODULES=y44CONFIG_MODULE_UNLOAD=y45# CONFIG_MODULE_FORCE_UNLOAD is not set046# CONFIG_MODVERSIONS is not set47+# CONFIG_MODULE_SRCVERSION_ALL is not set48CONFIG_KMOD=y4950#51+# Block layer52#53+CONFIG_BLOCK=y54+# CONFIG_LBD is not set55+# CONFIG_BLK_DEV_IO_TRACE is not set56+# CONFIG_LSF is not set57+58+#59+# IO Schedulers60+#61+CONFIG_IOSCHED_NOOP=y62+CONFIG_IOSCHED_AS=y63+CONFIG_IOSCHED_DEADLINE=y64+CONFIG_IOSCHED_CFQ=y65+# CONFIG_DEFAULT_AS is not set66+# CONFIG_DEFAULT_DEADLINE is not set67+CONFIG_DEFAULT_CFQ=y68+# CONFIG_DEFAULT_NOOP is not set69+CONFIG_DEFAULT_IOSCHED="cfq"70+71+#72+# General machine setup73+#74# CONFIG_SMP is not set75+CONFIG_SPARC=y76CONFIG_SPARC32=y77CONFIG_SBUS=y78CONFIG_SBUSCHAR=y···61CONFIG_SUN_AUXIO=y62CONFIG_SUN_IO=y63CONFIG_RWSEM_GENERIC_SPINLOCK=y64+CONFIG_GENERIC_FIND_NEXT_BIT=y65+CONFIG_GENERIC_HWEIGHT=y66+CONFIG_GENERIC_CALIBRATE_DELAY=y67+CONFIG_ARCH_MAY_HAVE_PC_FDC=y68+# CONFIG_ARCH_HAS_ILOG2_U32 is not set69+# CONFIG_ARCH_HAS_ILOG2_U64 is not set70CONFIG_SUN_PM=y71# CONFIG_SUN4 is not set72CONFIG_PCI=y73+# CONFIG_PCI_MULTITHREAD_PROBE is not set74+# CONFIG_PCI_DEBUG is not set75CONFIG_SUN_OPENPROMFS=m76+# CONFIG_SPARC_LED is not set77CONFIG_BINFMT_ELF=y78CONFIG_BINFMT_AOUT=y79CONFIG_BINFMT_MISC=m80CONFIG_SUNOS_EMUL=y81+CONFIG_SELECT_MEMORY_MODEL=y82+CONFIG_FLATMEM_MANUAL=y83+# CONFIG_DISCONTIGMEM_MANUAL is not set84+# CONFIG_SPARSEMEM_MANUAL is not set85+CONFIG_FLATMEM=y86+CONFIG_FLAT_NODE_MEM_MAP=y87+# CONFIG_SPARSEMEM_STATIC is not set88+CONFIG_SPLIT_PTLOCK_CPUS=489+# CONFIG_RESOURCES_64BIT is not set9091#92+# Networking00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093#94CONFIG_NET=y9596#97# Networking options98#99+# CONFIG_NETDEBUG is not set100CONFIG_PACKET=y101# CONFIG_PACKET_MMAP is not set0102CONFIG_UNIX=y103+CONFIG_XFRM=y104+CONFIG_XFRM_USER=m105+# CONFIG_XFRM_SUB_POLICY is not set106CONFIG_NET_KEY=m107CONFIG_INET=y108# CONFIG_IP_MULTICAST is not set109# CONFIG_IP_ADVANCED_ROUTER is not set110+CONFIG_IP_FIB_HASH=y111CONFIG_IP_PNP=y112CONFIG_IP_PNP_DHCP=y113# CONFIG_IP_PNP_BOOTP is not set···261CONFIG_INET_AH=y262CONFIG_INET_ESP=y263CONFIG_INET_IPCOMP=y264+CONFIG_INET_XFRM_TUNNEL=y265+CONFIG_INET_TUNNEL=y266+CONFIG_INET_XFRM_MODE_TRANSPORT=y267+CONFIG_INET_XFRM_MODE_TUNNEL=y268+CONFIG_INET_XFRM_MODE_BEET=y269+CONFIG_INET_DIAG=y270+CONFIG_INET_TCP_DIAG=y271+# CONFIG_TCP_CONG_ADVANCED is not set272+CONFIG_TCP_CONG_CUBIC=y273+CONFIG_DEFAULT_TCP_CONG="cubic"274+# CONFIG_TCP_MD5SIG is not set275CONFIG_IPV6=m276CONFIG_IPV6_PRIVACY=y277+# CONFIG_IPV6_ROUTER_PREF is not set278CONFIG_INET6_AH=m279CONFIG_INET6_ESP=m280CONFIG_INET6_IPCOMP=m281+# CONFIG_IPV6_MIP6 is not set282+CONFIG_INET6_XFRM_TUNNEL=m283+CONFIG_INET6_TUNNEL=m284+CONFIG_INET6_XFRM_MODE_TRANSPORT=m285+CONFIG_INET6_XFRM_MODE_TUNNEL=m286+CONFIG_INET6_XFRM_MODE_BEET=m287+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set288+CONFIG_IPV6_SIT=m289CONFIG_IPV6_TUNNEL=m290+# CONFIG_IPV6_MULTIPLE_TABLES is not set291+# CONFIG_NETWORK_SECMARK is not set292# CONFIG_NETFILTER is not set293+294+#295+# DCCP Configuration (EXPERIMENTAL)296+#297+# CONFIG_IP_DCCP is not set298299#300# SCTP Configuration (EXPERIMENTAL)···280# CONFIG_SCTP_HMAC_NONE is not set281# CONFIG_SCTP_HMAC_SHA1 is not set282CONFIG_SCTP_HMAC_MD5=y283+284+#285+# TIPC Configuration (EXPERIMENTAL)286+#287+# CONFIG_TIPC is not set288# CONFIG_ATM is not set289# CONFIG_BRIDGE is not set290# CONFIG_VLAN_8021Q is not set···289# CONFIG_ATALK is not set290# CONFIG_X25 is not set291# CONFIG_LAPB is not set0292# CONFIG_ECONET is not set293# CONFIG_WAN_ROUTER is not set0294295#296# QoS and/or fair queueing···303# Network testing304#305CONFIG_NET_PKTGEN=m00306# CONFIG_HAMRADIO is not set307# CONFIG_IRDA is not set308# CONFIG_BT is not set309+# CONFIG_IEEE80211 is not set310+311+#312+# Device Drivers313+#314+315+#316+# Generic Driver Options317+#318+CONFIG_STANDALONE=y319+CONFIG_PREVENT_FIRMWARE_BUILD=y320+# CONFIG_FW_LOADER is not set321+# CONFIG_DEBUG_DRIVER is not set322+# CONFIG_SYS_HYPERVISOR is not set323+324+#325+# Connector - unified userspace <-> kernelspace linker326+#327+# CONFIG_CONNECTOR is not set328+329+#330+# Memory Technology Devices (MTD)331+#332+# CONFIG_MTD is not set333+334+#335+# Parallel port support336+#337+# CONFIG_PARPORT is not set338+339+#340+# Plug and Play support341+#342+343+#344+# Block devices345+#346+# CONFIG_BLK_DEV_FD is not set347+# CONFIG_BLK_CPQ_DA is not set348+# CONFIG_BLK_CPQ_CISS_DA is not set349+# CONFIG_BLK_DEV_DAC960 is not set350+# CONFIG_BLK_DEV_UMEM is not set351+# CONFIG_BLK_DEV_COW_COMMON is not set352+CONFIG_BLK_DEV_LOOP=m353+CONFIG_BLK_DEV_CRYPTOLOOP=m354+# CONFIG_BLK_DEV_NBD is not set355+# CONFIG_BLK_DEV_SX8 is not set356+CONFIG_BLK_DEV_RAM=y357+CONFIG_BLK_DEV_RAM_COUNT=16358+CONFIG_BLK_DEV_RAM_SIZE=4096359+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024360+CONFIG_BLK_DEV_INITRD=y361+# CONFIG_CDROM_PKTCDVD is not set362+# CONFIG_ATA_OVER_ETH is not set363+364+#365+# Misc devices366+#367+# CONFIG_SGI_IOC4 is not set368+# CONFIG_TIFM_CORE is not set369+370+#371+# ATA/ATAPI/MFM/RLL support372+#373+# CONFIG_IDE is not set374+375+#376+# SCSI device support377+#378+# CONFIG_RAID_ATTRS is not set379+CONFIG_SCSI=y380+# CONFIG_SCSI_TGT is not set381+# CONFIG_SCSI_NETLINK is not set382+CONFIG_SCSI_PROC_FS=y383+384+#385+# SCSI support type (disk, tape, CD-ROM)386+#387+CONFIG_BLK_DEV_SD=y388+# CONFIG_CHR_DEV_ST is not set389+# CONFIG_CHR_DEV_OSST is not set390+CONFIG_BLK_DEV_SR=m391+# CONFIG_BLK_DEV_SR_VENDOR is not set392+CONFIG_CHR_DEV_SG=m393+# CONFIG_CHR_DEV_SCH is not set394+395+#396+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs397+#398+# CONFIG_SCSI_MULTI_LUN is not set399+# CONFIG_SCSI_CONSTANTS is not set400+# CONFIG_SCSI_LOGGING is not set401+# CONFIG_SCSI_SCAN_ASYNC is not set402+403+#404+# SCSI Transports405+#406+CONFIG_SCSI_SPI_ATTRS=m407+# CONFIG_SCSI_FC_ATTRS is not set408+# CONFIG_SCSI_ISCSI_ATTRS is not set409+# CONFIG_SCSI_SAS_ATTRS is not set410+# CONFIG_SCSI_SAS_LIBSAS is not set411+412+#413+# SCSI low-level drivers414+#415+# CONFIG_ISCSI_TCP is not set416+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set417+# CONFIG_SCSI_3W_9XXX is not set418+# CONFIG_SCSI_ACARD is not set419+# CONFIG_SCSI_AACRAID is not set420+# CONFIG_SCSI_AIC7XXX is not set421+# CONFIG_SCSI_AIC7XXX_OLD is not set422+# CONFIG_SCSI_AIC79XX is not set423+# CONFIG_SCSI_AIC94XX is not set424+# CONFIG_SCSI_DPT_I2O is not set425+# CONFIG_SCSI_ARCMSR is not set426+# CONFIG_MEGARAID_NEWGEN is not set427+# CONFIG_MEGARAID_LEGACY is not set428+# CONFIG_MEGARAID_SAS is not set429+# CONFIG_SCSI_HPTIOP is not set430+# CONFIG_SCSI_DMX3191D is not set431+# CONFIG_SCSI_FUTURE_DOMAIN is not set432+# CONFIG_SCSI_IPS is not set433+# CONFIG_SCSI_INITIO is not set434+# CONFIG_SCSI_INIA100 is not set435+# CONFIG_SCSI_STEX is not set436+# CONFIG_SCSI_SYM53C8XX_2 is not set437+# CONFIG_SCSI_QLOGIC_1280 is not set438+CONFIG_SCSI_QLOGICPTI=m439+# CONFIG_SCSI_QLA_FC is not set440+# CONFIG_SCSI_QLA_ISCSI is not set441+# CONFIG_SCSI_LPFC is not set442+# CONFIG_SCSI_DC395x is not set443+# CONFIG_SCSI_DC390T is not set444+# CONFIG_SCSI_NSP32 is not set445+# CONFIG_SCSI_DEBUG is not set446+CONFIG_SCSI_SUNESP=y447+# CONFIG_SCSI_SRP is not set448+449+#450+# Serial ATA (prod) and Parallel ATA (experimental) drivers451+#452+# CONFIG_ATA is not set453+454+#455+# Multi-device support (RAID and LVM)456+#457+# CONFIG_MD is not set458+459+#460+# Fusion MPT device support461+#462+# CONFIG_FUSION is not set463+# CONFIG_FUSION_SPI is not set464+# CONFIG_FUSION_FC is not set465+# CONFIG_FUSION_SAS is not set466+467+#468+# IEEE 1394 (FireWire) support469+#470+# CONFIG_IEEE1394 is not set471+472+#473+# I2O device support474+#475+# CONFIG_I2O is not set476+477+#478+# Network device support479+#480CONFIG_NETDEVICES=y481CONFIG_DUMMY=m482# CONFIG_BONDING is not set483# CONFIG_EQUALIZER is not set484CONFIG_TUN=m0485486#487# ARCnet devices488#489# CONFIG_ARCNET is not set490+491+#492+# PHY device support493+#494+# CONFIG_PHYLIB is not set495496#497# Ethernet (10 or 100Mbit)···330CONFIG_SUNBMAC=m331CONFIG_SUNQE=m332# CONFIG_SUNGEM is not set333+# CONFIG_CASSINI is not set334# CONFIG_NET_VENDOR_3COM is not set335336#···350# CONFIG_HAMACHI is not set351# CONFIG_YELLOWFIN is not set352# CONFIG_R8169 is not set353+# CONFIG_SIS190 is not set354+# CONFIG_SKGE is not set355+# CONFIG_SKY2 is not set356# CONFIG_SK98LIN is not set357# CONFIG_TIGON3 is not set358+# CONFIG_BNX2 is not set359+# CONFIG_QLA3XXX is not set360361#362# Ethernet (10000 Mbit)363#364+# CONFIG_CHELSIO_T1 is not set365# CONFIG_IXGB is not set366# CONFIG_S2IO is not set367+# CONFIG_MYRI10GE is not set368+# CONFIG_NETXEN_NIC is not set369370#371# Token Ring devices···380# CONFIG_NET_FC is not set381# CONFIG_SHAPER is not set382# CONFIG_NETCONSOLE is not set383+# CONFIG_NETPOLL is not set384+# CONFIG_NET_POLL_CONTROLLER is not set385386#387+# ISDN subsystem388#389+# CONFIG_ISDN is not set390+391+#392+# Telephony Support393+#394+# CONFIG_PHONE is not set395396#397# Input device support398#399CONFIG_INPUT=y400+# CONFIG_INPUT_FF_MEMLESS is not set401402#403# Userland interfaces···405CONFIG_INPUT_EVBUG=m406407#00000000000408# Input Device Drivers409#410CONFIG_INPUT_KEYBOARD=y···424# CONFIG_KEYBOARD_LKKBD is not set425# CONFIG_KEYBOARD_XTKBD is not set426# CONFIG_KEYBOARD_NEWTON is not set427+# CONFIG_KEYBOARD_STOWAWAY is not set428CONFIG_INPUT_MOUSE=y429CONFIG_MOUSE_PS2=m430CONFIG_MOUSE_SERIAL=m···433# CONFIG_INPUT_MISC is not set434435#436+# Hardware I/O ports437+#438+CONFIG_SERIO=m439+# CONFIG_SERIO_I8042 is not set440+CONFIG_SERIO_SERPORT=m441+# CONFIG_SERIO_PCIPS2 is not set442+CONFIG_SERIO_LIBPS2=m443+# CONFIG_SERIO_RAW is not set444+# CONFIG_GAMEPORT is not set445+446+#447+# Character devices448+#449+CONFIG_VT=y450+CONFIG_VT_CONSOLE=y451+CONFIG_HW_CONSOLE=y452+# CONFIG_VT_HW_CONSOLE_BINDING is not set453+# CONFIG_SERIAL_NONSTANDARD is not set454+455+#456+# Serial drivers457+#458+459+#460+# Non-8250 serial port support461+#462+CONFIG_SERIAL_SUNCORE=y463+CONFIG_SERIAL_SUNZILOG=y464+CONFIG_SERIAL_SUNZILOG_CONSOLE=y465+CONFIG_SERIAL_SUNSU=y466+CONFIG_SERIAL_SUNSU_CONSOLE=y467+# CONFIG_SERIAL_SUNSAB is not set468+CONFIG_SERIAL_CORE=y469+CONFIG_SERIAL_CORE_CONSOLE=y470+# CONFIG_SERIAL_JSM is not set471+CONFIG_UNIX98_PTYS=y472+CONFIG_LEGACY_PTYS=y473+CONFIG_LEGACY_PTY_COUNT=256474+475+#476+# IPMI477+#478+# CONFIG_IPMI_HANDLER is not set479+480+#481+# Watchdog Cards482+#483+# CONFIG_WATCHDOG is not set484+CONFIG_HW_RANDOM=m485+CONFIG_RTC=m486+# CONFIG_DTLK is not set487+# CONFIG_R3964 is not set488+# CONFIG_APPLICOM is not set489+# CONFIG_DRM is not set490+# CONFIG_RAW_DRIVER is not set491+492+#493+# TPM devices494+#495+# CONFIG_TCG_TPM is not set496+497+#498+# I2C support499+#500+# CONFIG_I2C is not set501+502+#503+# SPI support504+#505+# CONFIG_SPI is not set506+# CONFIG_SPI_MASTER is not set507+508+#509+# Dallas's 1-wire bus510+#511+# CONFIG_W1 is not set512+513+#514+# Hardware Monitoring support515+#516+CONFIG_HWMON=y517+# CONFIG_HWMON_VID is not set518+# CONFIG_SENSORS_ABITUGURU is not set519+# CONFIG_SENSORS_F71805F is not set520+# CONFIG_SENSORS_PC87427 is not set521+# CONFIG_SENSORS_VT1211 is not set522+# CONFIG_HWMON_DEBUG_CHIP is not set523+524+#525+# Multimedia devices526+#527+# CONFIG_VIDEO_DEV is not set528+529+#530+# Digital Video Broadcasting Devices531+#532+# CONFIG_DVB is not set533+534+#535+# Graphics support536+#537+CONFIG_FIRMWARE_EDID=y538+# CONFIG_FB is not set539+540+#541+# Console display driver support542+#543+# CONFIG_PROM_CONSOLE is not set544+CONFIG_DUMMY_CONSOLE=y545+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set546+547+#548+# Sound549+#550+# CONFIG_SOUND is not set551+552+#553+# HID Devices554+#555+CONFIG_HID=y556+557+#558+# USB support559+#560+CONFIG_USB_ARCH_HAS_HCD=y561+CONFIG_USB_ARCH_HAS_OHCI=y562+CONFIG_USB_ARCH_HAS_EHCI=y563+# CONFIG_USB is not set564+565+#566+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'567+#568+569+#570+# USB Gadget Support571+#572+# CONFIG_USB_GADGET is not set573+574+#575+# MMC/SD Card support576+#577+# CONFIG_MMC is not set578+579+#580+# LED devices581+#582+# CONFIG_NEW_LEDS is not set583+584+#585+# LED drivers586+#587+588+#589+# LED Triggers590+#591+592+#593+# InfiniBand support594+#595+# CONFIG_INFINIBAND is not set596+597+#598+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)599+#600+601+#602+# Real Time Clock603+#604+# CONFIG_RTC_CLASS is not set605+606+#607+# DMA Engine support608+#609+# CONFIG_DMA_ENGINE is not set610+611+#612+# DMA Clients613+#614+615+#616+# DMA Devices617+#618+619+#620+# Virtualization621+#622+623+#624+# Misc Linux/SPARC drivers625+#626+CONFIG_SUN_OPENPROMIO=m627+CONFIG_SUN_MOSTEK_RTC=m628+# CONFIG_SUN_BPP is not set629+# CONFIG_SUN_VIDEOPIX is not set630+# CONFIG_TADPOLE_TS102_UCTRL is not set631+# CONFIG_SUN_JSFLASH is not set632+633+#634+# Unix98 PTY support635+#636+CONFIG_UNIX98_PTY_COUNT=256637+638+#639# File systems640#641CONFIG_EXT2_FS=y642CONFIG_EXT2_FS_XATTR=y643CONFIG_EXT2_FS_POSIX_ACL=y644CONFIG_EXT2_FS_SECURITY=y645+# CONFIG_EXT2_FS_XIP is not set646# CONFIG_EXT3_FS is not set647+# CONFIG_EXT4DEV_FS is not set648CONFIG_FS_MBCACHE=y649# CONFIG_REISERFS_FS is not set650# CONFIG_JFS_FS is not set651CONFIG_FS_POSIX_ACL=y652CONFIG_XFS_FS=m0653CONFIG_XFS_QUOTA=y654CONFIG_XFS_SECURITY=y655CONFIG_XFS_POSIX_ACL=y656+CONFIG_XFS_RT=y657+# CONFIG_GFS2_FS is not set658+# CONFIG_OCFS2_FS is not set659# CONFIG_MINIX_FS is not set660CONFIG_ROMFS_FS=m661+CONFIG_INOTIFY=y662+CONFIG_INOTIFY_USER=y663# CONFIG_QUOTA is not set664CONFIG_QUOTACTL=y665+CONFIG_DNOTIFY=y666CONFIG_AUTOFS_FS=m667CONFIG_AUTOFS4_FS=m668+# CONFIG_FUSE_FS is not set669670#671# CD-ROM/DVD Filesystems···468#469# DOS/FAT/NT Filesystems470#471+# CONFIG_MSDOS_FS is not set472+# CONFIG_VFAT_FS is not set473# CONFIG_NTFS_FS is not set474475#···476#477CONFIG_PROC_FS=y478CONFIG_PROC_KCORE=y479+CONFIG_PROC_SYSCTL=y480CONFIG_SYSFS=y000481# CONFIG_TMPFS is not set482# CONFIG_HUGETLB_PAGE is not set483CONFIG_RAMFS=y484+# CONFIG_CONFIGFS_FS is not set485486#487# Miscellaneous filesystems···512# CONFIG_NFSD is not set513CONFIG_ROOT_NFS=y514CONFIG_LOCKD=y515+CONFIG_NFS_COMMON=y516CONFIG_SUNRPC=y517CONFIG_SUNRPC_GSS=m518CONFIG_RPCSEC_GSS_KRB5=m519+# CONFIG_RPCSEC_GSS_SPKM3 is not set520# CONFIG_SMB_FS is not set521CONFIG_CIFS=m522# CONFIG_CIFS_STATS is not set523+# CONFIG_CIFS_WEAK_PW_HASH is not set524+# CONFIG_CIFS_XATTR is not set525+# CONFIG_CIFS_DEBUG2 is not set526+# CONFIG_CIFS_EXPERIMENTAL is not set527# CONFIG_NCP_FS is not set528# CONFIG_CODA_FS is not set529CONFIG_AFS_FS=m530CONFIG_RXRPC=m531+# CONFIG_9P_FS is not set532533#534# Partition Types···559# CONFIG_NLS_ISO8859_8 is not set560# CONFIG_NLS_CODEPAGE_1250 is not set561# CONFIG_NLS_CODEPAGE_1251 is not set562+# CONFIG_NLS_ASCII is not set563# CONFIG_NLS_ISO8859_1 is not set564# CONFIG_NLS_ISO8859_2 is not set565# CONFIG_NLS_ISO8859_3 is not set···575# CONFIG_NLS_UTF8 is not set576577#578+# Distributed Lock Manager579#580+# CONFIG_DLM is not set581582#583+# Instrumentation Support584#585+# CONFIG_PROFILING is not set0000000000586587#588# Kernel hacking589#590+# CONFIG_PRINTK_TIME is not set591+CONFIG_ENABLE_MUST_CHECK=y0592CONFIG_MAGIC_SYSRQ=y593+# CONFIG_UNUSED_SYMBOLS is not set594+# CONFIG_DEBUG_FS is not set595+# CONFIG_HEADERS_CHECK is not set596+CONFIG_DEBUG_KERNEL=y597+CONFIG_LOG_BUF_SHIFT=14598+CONFIG_DETECT_SOFTLOCKUP=y599+# CONFIG_SCHEDSTATS is not set600+# CONFIG_DEBUG_SLAB is not set601+# CONFIG_DEBUG_RT_MUTEXES is not set602+# CONFIG_RT_MUTEX_TESTER is not set603# CONFIG_DEBUG_SPINLOCK is not set604+# CONFIG_DEBUG_MUTEXES is not set605+# CONFIG_DEBUG_RWSEMS is not set606# CONFIG_DEBUG_SPINLOCK_SLEEP is not set607+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set608+# CONFIG_DEBUG_KOBJECT is not set609+# CONFIG_DEBUG_HIGHMEM is not set610+CONFIG_DEBUG_BUGVERBOSE=y611+# CONFIG_DEBUG_INFO is not set612+# CONFIG_DEBUG_VM is not set613+# CONFIG_DEBUG_LIST is not set614+CONFIG_FORCED_INLINING=y615+# CONFIG_RCU_TORTURE_TEST is not set616+# CONFIG_DEBUG_STACK_USAGE is not set617618#619# Security options620#621+# CONFIG_KEYS is not set622# CONFIG_SECURITY is not set623624#625# Cryptographic options626#627CONFIG_CRYPTO=y628+CONFIG_CRYPTO_ALGAPI=y629+CONFIG_CRYPTO_BLKCIPHER=y630+CONFIG_CRYPTO_HASH=y631+CONFIG_CRYPTO_MANAGER=y632CONFIG_CRYPTO_HMAC=y633+# CONFIG_CRYPTO_XCBC is not set634CONFIG_CRYPTO_NULL=m635CONFIG_CRYPTO_MD4=y636CONFIG_CRYPTO_MD5=y637CONFIG_CRYPTO_SHA1=y638CONFIG_CRYPTO_SHA256=m639CONFIG_CRYPTO_SHA512=m640+# CONFIG_CRYPTO_WP512 is not set641+# CONFIG_CRYPTO_TGR192 is not set642+# CONFIG_CRYPTO_GF128MUL is not set643+CONFIG_CRYPTO_ECB=m644+CONFIG_CRYPTO_CBC=y645+# CONFIG_CRYPTO_LRW is not set646CONFIG_CRYPTO_DES=y647CONFIG_CRYPTO_BLOWFISH=m648CONFIG_CRYPTO_TWOFISH=m649+CONFIG_CRYPTO_TWOFISH_COMMON=m650CONFIG_CRYPTO_SERPENT=m651CONFIG_CRYPTO_AES=m652CONFIG_CRYPTO_CAST5=m653CONFIG_CRYPTO_CAST6=m654+# CONFIG_CRYPTO_TEA is not set655CONFIG_CRYPTO_ARC4=m656+# CONFIG_CRYPTO_KHAZAD is not set657+# CONFIG_CRYPTO_ANUBIS is not set658CONFIG_CRYPTO_DEFLATE=y659CONFIG_CRYPTO_MICHAEL_MIC=m660CONFIG_CRYPTO_CRC32C=m661# CONFIG_CRYPTO_TEST is not set662663#664+# Hardware crypto devices665+#666+667+#668# Library routines669#670+CONFIG_BITREVERSE=y671+# CONFIG_CRC_CCITT is not set672+# CONFIG_CRC16 is not set673CONFIG_CRC32=y674CONFIG_LIBCRC32C=m675CONFIG_ZLIB_INFLATE=y676CONFIG_ZLIB_DEFLATE=y677+CONFIG_PLIST=y678+CONFIG_IOMAP_COPY=y
···76 spin_unlock_irqrestore(ATOMIC_HASH(v), flags);77}78EXPORT_SYMBOL(atomic_set);79+80+unsigned long ___set_bit(unsigned long *addr, unsigned long mask)81+{82+ unsigned long old, flags;83+84+ spin_lock_irqsave(ATOMIC_HASH(addr), flags);85+ old = *addr;86+ *addr = old | mask;87+ spin_unlock_irqrestore(ATOMIC_HASH(addr), flags);88+89+ return old & mask;90+}91+EXPORT_SYMBOL(___set_bit);92+93+unsigned long ___clear_bit(unsigned long *addr, unsigned long mask)94+{95+ unsigned long old, flags;96+97+ spin_lock_irqsave(ATOMIC_HASH(addr), flags);98+ old = *addr;99+ *addr = old & ~mask;100+ spin_unlock_irqrestore(ATOMIC_HASH(addr), flags);101+102+ return old & mask;103+}104+EXPORT_SYMBOL(___clear_bit);105+106+unsigned long ___change_bit(unsigned long *addr, unsigned long mask)107+{108+ unsigned long old, flags;109+110+ spin_lock_irqsave(ATOMIC_HASH(addr), flags);111+ old = *addr;112+ *addr = old ^ mask;113+ spin_unlock_irqrestore(ATOMIC_HASH(addr), flags);114+115+ return old & mask;116+}117+EXPORT_SYMBOL(___change_bit);
-109
arch/sparc/lib/bitops.S
···1-/* bitops.S: Low level assembler bit operations.2- *3- * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)4- */5-6-#include <asm/ptrace.h>7-#include <asm/psr.h>8-9- .text10- .align 411-12- .globl __bitops_begin13-__bitops_begin:14-15- /* Take bits in %g2 and set them in word at %g1,16- * return whether bits were set in original value17- * in %g2. %g4 holds value to restore into %o718- * in delay slot of jmpl return, %g3 + %g5 + %g7 can be19- * used as temporaries and thus is considered clobbered20- * by all callers.21- */22- .globl ___set_bit23-___set_bit:24- rd %psr, %g325- nop; nop; nop;26- or %g3, PSR_PIL, %g527- wr %g5, 0x0, %psr28- nop; nop; nop29-#ifdef CONFIG_SMP30- set bitops_spinlock, %g531-2: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.32- orcc %g7, 0x0, %g0 ! Did we get it?33- bne 2b ! Nope...34-#endif35- ld [%g1], %g736- or %g7, %g2, %g537- and %g7, %g2, %g238-#ifdef CONFIG_SMP39- st %g5, [%g1]40- set bitops_spinlock, %g541- stb %g0, [%g5]42-#else43- st %g5, [%g1]44-#endif45- wr %g3, 0x0, %psr46- nop; nop; nop47- jmpl %o7, %g048- mov %g4, %o749-50- /* Same as above, but clears the bits from %g2 instead. */51- .globl ___clear_bit52-___clear_bit:53- rd %psr, %g354- nop; nop; nop55- or %g3, PSR_PIL, %g556- wr %g5, 0x0, %psr57- nop; nop; nop58-#ifdef CONFIG_SMP59- set bitops_spinlock, %g560-2: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.61- orcc %g7, 0x0, %g0 ! Did we get it?62- bne 2b ! Nope...63-#endif64- ld [%g1], %g765- andn %g7, %g2, %g566- and %g7, %g2, %g267-#ifdef CONFIG_SMP68- st %g5, [%g1]69- set bitops_spinlock, %g570- stb %g0, [%g5]71-#else72- st %g5, [%g1]73-#endif74- wr %g3, 0x0, %psr75- nop; nop; nop76- jmpl %o7, %g077- mov %g4, %o778-79- /* Same thing again, but this time toggles the bits from %g2. */80- .globl ___change_bit81-___change_bit:82- rd %psr, %g383- nop; nop; nop84- or %g3, PSR_PIL, %g585- wr %g5, 0x0, %psr86- nop; nop; nop87-#ifdef CONFIG_SMP88- set bitops_spinlock, %g589-2: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.90- orcc %g7, 0x0, %g0 ! Did we get it?91- bne 2b ! Nope...92-#endif93- ld [%g1], %g794- xor %g7, %g2, %g595- and %g7, %g2, %g296-#ifdef CONFIG_SMP97- st %g5, [%g1]98- set bitops_spinlock, %g599- stb %g0, [%g5]100-#else101- st %g5, [%g1]102-#endif103- wr %g3, 0x0, %psr104- nop; nop; nop105- jmpl %o7, %g0106- mov %g4, %o7107-108- .globl __bitops_end109-__bitops_end:
···7879 /* PROM cif handler code address is in %o4. */80sparc64_boot:81-1: rd %pc, %g782- set 1b, %g183- cmp %g1, %g784- be,pn %xcc, sparc64_boot_after_remap85- mov %o4, %l78687 /* We need to remap the kernel. Use position independant88 * code to remap us to KERNBASE.···291292 add %sp, (192 + 128), %sp293294-sparc64_boot_after_remap:295 sethi %hi(prom_root_compatible), %g1296 or %g1, %lo(prom_root_compatible), %g1297 sethi %hi(prom_sun4v_name), %g7
···7879 /* PROM cif handler code address is in %o4. */80sparc64_boot:81+ mov %o4, %l700008283 /* We need to remap the kernel. Use position independant84 * code to remap us to KERNBASE.···295296 add %sp, (192 + 128), %sp2970298 sethi %hi(prom_root_compatible), %g1299 or %g1, %lo(prom_root_compatible), %g1300 sethi %hi(prom_sun4v_name), %g7
···1447 char *ptr;14481449 /* Copy section for each CPU (we discard the original) */1450- goal = ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES);1451-#ifdef CONFIG_MODULES1452- if (goal < PERCPU_ENOUGH_ROOM)1453- goal = PERCPU_ENOUGH_ROOM;1454-#endif1455 __per_cpu_shift = 0;1456 for (size = 1UL; size < goal; size <<= 1UL)1457 __per_cpu_shift++;
···1447 char *ptr;14481449 /* Copy section for each CPU (we discard the original) */1450+ goal = PERCPU_ENOUGH_ROOM;1451+0001452 __per_cpu_shift = 0;1453 for (size = 1UL; size < goal; size <<= 1UL)1454 __per_cpu_shift++;
-2
arch/x86_64/Makefile
···45# actually it makes the kernel smaller too.46cflags-y += -fno-reorder-blocks47cflags-y += -Wno-sign-compare48-ifneq ($(CONFIG_UNWIND_INFO),y)49cflags-y += -fno-asynchronous-unwind-tables50-endif51ifneq ($(CONFIG_DEBUG_INFO),y)52# -fweb shrinks the kernel a bit, but the difference is very small53# it also messes up debugging, so don't use it for now.
···45# actually it makes the kernel smaller too.46cflags-y += -fno-reorder-blocks47cflags-y += -Wno-sign-compare048cflags-y += -fno-asynchronous-unwind-tables049ifneq ($(CONFIG_DEBUG_INFO),y)50# -fweb shrinks the kernel a bit, but the difference is very small51# it also messes up debugging, so don't use it for now.
-2
arch/x86_64/defconfig
···1523# CONFIG_DEBUG_VM is not set1524# CONFIG_DEBUG_LIST is not set1525# CONFIG_FRAME_POINTER is not set1526-CONFIG_UNWIND_INFO=y1527-CONFIG_STACK_UNWIND=y1528# CONFIG_FORCED_INLINING is not set1529# CONFIG_HEADERS_CHECK is not set1530# CONFIG_RCU_TORTURE_TEST is not set
···1523# CONFIG_DEBUG_VM is not set1524# CONFIG_DEBUG_LIST is not set1525# CONFIG_FRAME_POINTER is not set001526# CONFIG_FORCED_INLINING is not set1527# CONFIG_HEADERS_CHECK is not set1528# CONFIG_RCU_TORTURE_TEST is not set
···110}111112int kstack_depth_to_print = 12;113-#ifdef CONFIG_STACK_UNWIND114-static int call_trace = 1;115-#else116-#define call_trace (-1)117-#endif118119#ifdef CONFIG_KALLSYMS120void printk_address(unsigned long address)···212 return NULL;213}214215-struct ops_and_data {216- struct stacktrace_ops *ops;217- void *data;218-};219-220-static int dump_trace_unwind(struct unwind_frame_info *info, void *context)221-{222- struct ops_and_data *oad = (struct ops_and_data *)context;223- int n = 0;224- unsigned long sp = UNW_SP(info);225-226- if (arch_unw_user_mode(info))227- return -1;228- while (unwind(info) == 0 && UNW_PC(info)) {229- n++;230- oad->ops->address(oad->data, UNW_PC(info));231- if (arch_unw_user_mode(info))232- break;233- if ((sp & ~(PAGE_SIZE - 1)) == (UNW_SP(info) & ~(PAGE_SIZE - 1))234- && sp > UNW_SP(info))235- break;236- sp = UNW_SP(info);237- }238- return n;239-}240-241#define MSG(txt) ops->warning(data, txt)242243/*···239 if (!tsk)240 tsk = current;241242- if (call_trace >= 0) {243- int unw_ret = 0;244- struct unwind_frame_info info;245- struct ops_and_data oad = { .ops = ops, .data = data };246-247- if (regs) {248- if (unwind_init_frame_info(&info, tsk, regs) == 0)249- unw_ret = dump_trace_unwind(&info, &oad);250- } else if (tsk == current)251- unw_ret = unwind_init_running(&info, dump_trace_unwind,252- &oad);253- else {254- if (unwind_init_blocked(&info, tsk) == 0)255- unw_ret = dump_trace_unwind(&info, &oad);256- }257- if (unw_ret > 0) {258- if (call_trace == 1 && !arch_unw_user_mode(&info)) {259- ops->warning_symbol(data,260- "DWARF2 unwinder stuck at %s",261- UNW_PC(&info));262- if ((long)UNW_SP(&info) < 0) {263- MSG("Leftover inexact backtrace:");264- stack = (unsigned long *)UNW_SP(&info);265- if (!stack)266- goto out;267- } else268- MSG("Full inexact backtrace again:");269- } else if (call_trace >= 1)270- goto out;271- else272- MSG("Full inexact backtrace again:");273- } else274- MSG("Inexact backtrace:");275- }276 if (!stack) {277 unsigned long dummy;278 stack = &dummy;···322 tinfo = current_thread_info();323 HANDLE_STACK (valid_stack_ptr(tinfo, stack));324#undef HANDLE_STACK325-out:326 put_cpu();327}328EXPORT_SYMBOL(dump_trace);···1122 return 0;1123}1124early_param("kstack", kstack_setup);1125-1126-#ifdef CONFIG_STACK_UNWIND1127-static int __init call_trace_setup(char *s)1128-{1129- if (!s)1130- return -EINVAL;1131- if (strcmp(s, "old") == 0)1132- call_trace = -1;1133- else if (strcmp(s, "both") == 0)1134- call_trace = 0;1135- else if (strcmp(s, "newfallback") == 0)1136- call_trace = 1;1137- else if (strcmp(s, "new") == 0)1138- call_trace = 2;1139- return 0;1140-}1141-early_param("call_trace", call_trace_setup);1142-#endif
···110}111112int kstack_depth_to_print = 12;00000113114#ifdef CONFIG_KALLSYMS115void printk_address(unsigned long address)···217 return NULL;218}21900000000000000000000000000220#define MSG(txt) ops->warning(data, txt)221222/*···270 if (!tsk)271 tsk = current;2720000000000000000000000000000000000273 if (!stack) {274 unsigned long dummy;275 stack = &dummy;···387 tinfo = current_thread_info();388 HANDLE_STACK (valid_stack_ptr(tinfo, stack));389#undef HANDLE_STACK0390 put_cpu();391}392EXPORT_SYMBOL(dump_trace);···1188 return 0;1189}1190early_param("kstack", kstack_setup);000000000000000000
-2
arch/x86_64/kernel/vmlinux.lds.S
···221 /* Sections to be discarded */222 /DISCARD/ : {223 *(.exitcall.exit)224-#ifndef CONFIG_UNWIND_INFO225 *(.eh_frame)226-#endif227 }228229 STABS_DEBUG
···221 /* Sections to be discarded */222 /DISCARD/ : {223 *(.exitcall.exit)0224 *(.eh_frame)0225 }226227 STABS_DEBUG
+3-3
drivers/ata/Kconfig
···40 tristate "Intel PIIX/ICH SATA support"41 depends on PCI42 help43- This option enables support for ICH5/6/7/8 Serial ATA.44- If PATA support was enabled previously, this enables45- support for select Intel PIIX/ICH PATA host controllers.4647 If unsure, say N.48
···40 tristate "Intel PIIX/ICH SATA support"41 depends on PCI42 help43+ This option enables support for ICH5/6/7/8 Serial ATA44+ and support for PATA on the Intel PIIX3/PIIX4/ICH series45+ PATA host controllers.4647 If unsure, say N.48
···161 return -ENOENT;162 }163164+ if ((config->flags & VIA_UDMA) >= VIA_UDMA_100)165 ap->cbl = via_cable_detect(ap);166+ /* The UDMA66 series has no cable detect so do drive side detect */167+ else if ((config->flags & VIA_UDMA) < VIA_UDMA_66)168 ap->cbl = ATA_CBL_PATA40;169+ else170+ ap->cbl = ATA_CBL_PATA_UNK;171+172+173 return ata_std_prereset(ap);174}175
···959960961/**962- * cpufreq_quick_get - get the CPU frequency (in kHz) frpm policy->cur963 * @cpu: CPU number964 *965 * This is the last known freq, without actually getting it from the driver.
···959960961/**962+ * cpufreq_quick_get - get the CPU frequency (in kHz) from policy->cur963 * @cpu: CPU number964 *965 * This is the last known freq, without actually getting it from the driver.
+44
drivers/hid/hid-input.c
···415 case 0x000: goto ignore;416 case 0x034: map_key_clear(KEY_SLEEP); break;417 case 0x036: map_key_clear(BTN_MISC); break;0418 case 0x045: map_key_clear(KEY_RADIO); break;000419 case 0x08a: map_key_clear(KEY_WWW); break;00420 case 0x08d: map_key_clear(KEY_PROGRAM); break;0000000421 case 0x095: map_key_clear(KEY_HELP); break;0000422 case 0x09c: map_key_clear(KEY_CHANNELUP); break;423 case 0x09d: map_key_clear(KEY_CHANNELDOWN); break;00424 case 0x0b0: map_key_clear(KEY_PLAY); break;425 case 0x0b1: map_key_clear(KEY_PAUSE); break;426 case 0x0b2: map_key_clear(KEY_RECORD); break;···449 case 0x0b6: map_key_clear(KEY_PREVIOUSSONG); break;450 case 0x0b7: map_key_clear(KEY_STOPCD); break;451 case 0x0b8: map_key_clear(KEY_EJECTCD); break;0452 case 0x0cd: map_key_clear(KEY_PLAYPAUSE); break;453 case 0x0e0: map_abs_clear(ABS_VOLUME); break;454 case 0x0e2: map_key_clear(KEY_MUTE); break;···457 case 0x0e9: map_key_clear(KEY_VOLUMEUP); break;458 case 0x0ea: map_key_clear(KEY_VOLUMEDOWN); break;459 case 0x183: map_key_clear(KEY_CONFIG); break;000000460 case 0x18a: map_key_clear(KEY_MAIL); break;00000461 case 0x192: map_key_clear(KEY_CALC); break;462 case 0x194: map_key_clear(KEY_FILE); break;000463 case 0x1a7: map_key_clear(KEY_DOCUMENTS); break;00464 case 0x201: map_key_clear(KEY_NEW); break;000465 case 0x207: map_key_clear(KEY_SAVE); break;466 case 0x208: map_key_clear(KEY_PRINT); break;467 case 0x209: map_key_clear(KEY_PROPS); break;···495 case 0x226: map_key_clear(KEY_STOP); break;496 case 0x227: map_key_clear(KEY_REFRESH); break;497 case 0x22a: map_key_clear(KEY_BOOKMARKS); break;000498 case 0x233: map_key_clear(KEY_SCROLLUP); break;499 case 0x234: map_key_clear(KEY_SCROLLDOWN); break;500 case 0x238: map_rel(REL_HWHEEL); break;0501 case 0x279: map_key_clear(KEY_REDO); break;0502 case 0x289: map_key_clear(KEY_REPLY); break;503 case 0x28b: map_key_clear(KEY_FORWARDMAIL); break;504 case 0x28c: map_key_clear(KEY_SEND); break;
···415 case 0x000: goto ignore;416 case 0x034: map_key_clear(KEY_SLEEP); break;417 case 0x036: map_key_clear(BTN_MISC); break;418+ case 0x040: map_key_clear(KEY_MENU); break;419 case 0x045: map_key_clear(KEY_RADIO); break;420+421+ case 0x088: map_key_clear(KEY_PC); break;422+ case 0x089: map_key_clear(KEY_TV); break;423 case 0x08a: map_key_clear(KEY_WWW); break;424+ case 0x08b: map_key_clear(KEY_DVD); break;425+ case 0x08c: map_key_clear(KEY_PHONE); break;426 case 0x08d: map_key_clear(KEY_PROGRAM); break;427+ case 0x08e: map_key_clear(KEY_VIDEOPHONE); break;428+ case 0x08f: map_key_clear(KEY_GAMES); break;429+ case 0x090: map_key_clear(KEY_MEMO); break;430+ case 0x091: map_key_clear(KEY_CD); break;431+ case 0x092: map_key_clear(KEY_VCR); break;432+ case 0x093: map_key_clear(KEY_TUNER); break;433+ case 0x094: map_key_clear(KEY_EXIT); break;434 case 0x095: map_key_clear(KEY_HELP); break;435+ case 0x096: map_key_clear(KEY_TAPE); break;436+ case 0x097: map_key_clear(KEY_TV2); break;437+ case 0x098: map_key_clear(KEY_SAT); break;438+439 case 0x09c: map_key_clear(KEY_CHANNELUP); break;440 case 0x09d: map_key_clear(KEY_CHANNELDOWN); break;441+ case 0x0a0: map_key_clear(KEY_VCR2); break;442+443 case 0x0b0: map_key_clear(KEY_PLAY); break;444 case 0x0b1: map_key_clear(KEY_PAUSE); break;445 case 0x0b2: map_key_clear(KEY_RECORD); break;···430 case 0x0b6: map_key_clear(KEY_PREVIOUSSONG); break;431 case 0x0b7: map_key_clear(KEY_STOPCD); break;432 case 0x0b8: map_key_clear(KEY_EJECTCD); break;433+434 case 0x0cd: map_key_clear(KEY_PLAYPAUSE); break;435 case 0x0e0: map_abs_clear(ABS_VOLUME); break;436 case 0x0e2: map_key_clear(KEY_MUTE); break;···437 case 0x0e9: map_key_clear(KEY_VOLUMEUP); break;438 case 0x0ea: map_key_clear(KEY_VOLUMEDOWN); break;439 case 0x183: map_key_clear(KEY_CONFIG); break;440+ case 0x184: map_key_clear(KEY_WORDPROCESSOR); break;441+ case 0x185: map_key_clear(KEY_EDITOR); break;442+ case 0x186: map_key_clear(KEY_SPREADSHEET); break;443+ case 0x187: map_key_clear(KEY_GRAPHICSEDITOR); break;444+ case 0x188: map_key_clear(KEY_PRESENTATION); break;445+ case 0x189: map_key_clear(KEY_DATABASE); break;446 case 0x18a: map_key_clear(KEY_MAIL); break;447+ case 0x18b: map_key_clear(KEY_NEWS); break;448+ case 0x18c: map_key_clear(KEY_VOICEMAIL); break;449+ case 0x18d: map_key_clear(KEY_ADDRESSBOOK); break;450+ case 0x18e: map_key_clear(KEY_CALENDAR); break;451+ case 0x191: map_key_clear(KEY_FINANCE); break;452 case 0x192: map_key_clear(KEY_CALC); break;453 case 0x194: map_key_clear(KEY_FILE); break;454+ case 0x196: map_key_clear(KEY_WWW); break;455+ case 0x19e: map_key_clear(KEY_COFFEE); break;456+ case 0x1a6: map_key_clear(KEY_HELP); break;457 case 0x1a7: map_key_clear(KEY_DOCUMENTS); break;458+ case 0x1bc: map_key_clear(KEY_MESSENGER); break;459+ case 0x1bd: map_key_clear(KEY_INFO); break;460 case 0x201: map_key_clear(KEY_NEW); break;461+ case 0x202: map_key_clear(KEY_OPEN); break;462+ case 0x203: map_key_clear(KEY_CLOSE); break;463+ case 0x204: map_key_clear(KEY_EXIT); break;464 case 0x207: map_key_clear(KEY_SAVE); break;465 case 0x208: map_key_clear(KEY_PRINT); break;466 case 0x209: map_key_clear(KEY_PROPS); break;···456 case 0x226: map_key_clear(KEY_STOP); break;457 case 0x227: map_key_clear(KEY_REFRESH); break;458 case 0x22a: map_key_clear(KEY_BOOKMARKS); break;459+ case 0x22d: map_key_clear(KEY_ZOOMIN); break;460+ case 0x22e: map_key_clear(KEY_ZOOMOUT); break;461+ case 0x22f: map_key_clear(KEY_ZOOMRESET); break;462 case 0x233: map_key_clear(KEY_SCROLLUP); break;463 case 0x234: map_key_clear(KEY_SCROLLDOWN); break;464 case 0x238: map_rel(REL_HWHEEL); break;465+ case 0x25f: map_key_clear(KEY_CANCEL); break;466 case 0x279: map_key_clear(KEY_REDO); break;467+468 case 0x289: map_key_clear(KEY_REPLY); break;469 case 0x28b: map_key_clear(KEY_FORWARDMAIL); break;470 case 0x28c: map_key_clear(KEY_SEND); break;
+97-16
drivers/infiniband/hw/mthca/mthca_main.c
···80module_param(tune_pci, int, 0444);81MODULE_PARM_DESC(tune_pci, "increase PCI burst from the default set by BIOS if nonzero");8283-struct mutex mthca_device_mutex;00000000000000000000000000000000000000000000000008485static const char mthca_version[] __devinitdata =86 DRV_NAME ": Mellanox InfiniBand HCA driver v"87 DRV_VERSION " (" DRV_RELDATE ")\n";88-89-static struct mthca_profile default_profile = {90- .num_qp = 1 << 16,91- .rdb_per_qp = 4,92- .num_cq = 1 << 16,93- .num_mcg = 1 << 13,94- .num_mpt = 1 << 17,95- .num_mtt = 1 << 20,96- .num_udav = 1 << 15, /* Tavor only */97- .fmr_reserved_mtts = 1 << 18, /* Tavor only */98- .uarc_size = 1 << 18, /* Arbel only */99-};100101static int mthca_tune_pci(struct mthca_dev *mdev)102{···340 goto err_disable;341 }342343- profile = default_profile;344 profile.num_uar = dev_lim.uar_size / PAGE_SIZE;345 profile.uarc_size = 0;346 if (mdev->mthca_flags & MTHCA_FLAG_SRQ)···658 goto err_stop_fw;659 }660661- profile = default_profile;662 profile.num_uar = dev_lim.uar_size / PAGE_SIZE;663 profile.num_udav = 0;664 if (mdev->mthca_flags & MTHCA_FLAG_SRQ)···1315 .remove = __devexit_p(mthca_remove_one)1316};131700000000000000000000000000000000000000000001318static int __init mthca_init(void)1319{1320 int ret;13211322- mutex_init(&mthca_device_mutex);01323 ret = mthca_catas_init();1324 if (ret)1325 return ret;
···80module_param(tune_pci, int, 0444);81MODULE_PARM_DESC(tune_pci, "increase PCI burst from the default set by BIOS if nonzero");8283+DEFINE_MUTEX(mthca_device_mutex);84+85+#define MTHCA_DEFAULT_NUM_QP (1 << 16)86+#define MTHCA_DEFAULT_RDB_PER_QP (1 << 2)87+#define MTHCA_DEFAULT_NUM_CQ (1 << 16)88+#define MTHCA_DEFAULT_NUM_MCG (1 << 13)89+#define MTHCA_DEFAULT_NUM_MPT (1 << 17)90+#define MTHCA_DEFAULT_NUM_MTT (1 << 20)91+#define MTHCA_DEFAULT_NUM_UDAV (1 << 15)92+#define MTHCA_DEFAULT_NUM_RESERVED_MTTS (1 << 18)93+#define MTHCA_DEFAULT_NUM_UARC_SIZE (1 << 18)94+95+static struct mthca_profile hca_profile = {96+ .num_qp = MTHCA_DEFAULT_NUM_QP,97+ .rdb_per_qp = MTHCA_DEFAULT_RDB_PER_QP,98+ .num_cq = MTHCA_DEFAULT_NUM_CQ,99+ .num_mcg = MTHCA_DEFAULT_NUM_MCG,100+ .num_mpt = MTHCA_DEFAULT_NUM_MPT,101+ .num_mtt = MTHCA_DEFAULT_NUM_MTT,102+ .num_udav = MTHCA_DEFAULT_NUM_UDAV, /* Tavor only */103+ .fmr_reserved_mtts = MTHCA_DEFAULT_NUM_RESERVED_MTTS, /* Tavor only */104+ .uarc_size = MTHCA_DEFAULT_NUM_UARC_SIZE, /* Arbel only */105+};106+107+module_param_named(num_qp, hca_profile.num_qp, int, 0444);108+MODULE_PARM_DESC(num_qp, "maximum number of QPs per HCA");109+110+module_param_named(rdb_per_qp, hca_profile.rdb_per_qp, int, 0444);111+MODULE_PARM_DESC(rdb_per_qp, "number of RDB buffers per QP");112+113+module_param_named(num_cq, hca_profile.num_cq, int, 0444);114+MODULE_PARM_DESC(num_cq, "maximum number of CQs per HCA");115+116+module_param_named(num_mcg, hca_profile.num_mcg, int, 0444);117+MODULE_PARM_DESC(num_mcg, "maximum number of multicast groups per HCA");118+119+module_param_named(num_mpt, hca_profile.num_mpt, int, 0444);120+MODULE_PARM_DESC(num_mpt,121+ "maximum number of memory protection table entries per HCA");122+123+module_param_named(num_mtt, hca_profile.num_mtt, int, 0444);124+MODULE_PARM_DESC(num_mtt,125+ "maximum number of memory translation table segments per HCA");126+127+module_param_named(num_udav, hca_profile.num_udav, int, 0444);128+MODULE_PARM_DESC(num_udav, "maximum number of UD address vectors per HCA");129+130+module_param_named(fmr_reserved_mtts, hca_profile.fmr_reserved_mtts, int, 0444);131+MODULE_PARM_DESC(fmr_reserved_mtts,132+ "number of memory translation table segments reserved for FMR");133134static const char mthca_version[] __devinitdata =135 DRV_NAME ": Mellanox InfiniBand HCA driver v"136 DRV_VERSION " (" DRV_RELDATE ")\n";000000000000137138static int mthca_tune_pci(struct mthca_dev *mdev)139{···303 goto err_disable;304 }305306+ profile = hca_profile;307 profile.num_uar = dev_lim.uar_size / PAGE_SIZE;308 profile.uarc_size = 0;309 if (mdev->mthca_flags & MTHCA_FLAG_SRQ)···621 goto err_stop_fw;622 }623624+ profile = hca_profile;625 profile.num_uar = dev_lim.uar_size / PAGE_SIZE;626 profile.num_udav = 0;627 if (mdev->mthca_flags & MTHCA_FLAG_SRQ)···1278 .remove = __devexit_p(mthca_remove_one)1279};12801281+static void __init __mthca_check_profile_val(const char *name, int *pval,1282+ int pval_default)1283+{1284+ /* value must be positive and power of 2 */1285+ int old_pval = *pval;1286+1287+ if (old_pval <= 0)1288+ *pval = pval_default;1289+ else1290+ *pval = roundup_pow_of_two(old_pval);1291+1292+ if (old_pval != *pval) {1293+ printk(KERN_WARNING PFX "Invalid value %d for %s in module parameter.\n",1294+ old_pval, name);1295+ printk(KERN_WARNING PFX "Corrected %s to %d.\n", name, *pval);1296+ }1297+}1298+1299+#define mthca_check_profile_val(name, default) \1300+ __mthca_check_profile_val(#name, &hca_profile.name, default)1301+1302+static void __init mthca_validate_profile(void)1303+{1304+ mthca_check_profile_val(num_qp, MTHCA_DEFAULT_NUM_QP);1305+ mthca_check_profile_val(rdb_per_qp, MTHCA_DEFAULT_RDB_PER_QP);1306+ mthca_check_profile_val(num_cq, MTHCA_DEFAULT_NUM_CQ);1307+ mthca_check_profile_val(num_mcg, MTHCA_DEFAULT_NUM_MCG);1308+ mthca_check_profile_val(num_mpt, MTHCA_DEFAULT_NUM_MPT);1309+ mthca_check_profile_val(num_mtt, MTHCA_DEFAULT_NUM_MTT);1310+ mthca_check_profile_val(num_udav, MTHCA_DEFAULT_NUM_UDAV);1311+ mthca_check_profile_val(fmr_reserved_mtts, MTHCA_DEFAULT_NUM_RESERVED_MTTS);1312+1313+ if (hca_profile.fmr_reserved_mtts >= hca_profile.num_mtt) {1314+ printk(KERN_WARNING PFX "Invalid fmr_reserved_mtts module parameter %d.\n",1315+ hca_profile.fmr_reserved_mtts);1316+ printk(KERN_WARNING PFX "(Must be smaller than num_mtt %d)\n",1317+ hca_profile.num_mtt);1318+ hca_profile.fmr_reserved_mtts = hca_profile.num_mtt / 2;1319+ printk(KERN_WARNING PFX "Corrected fmr_reserved_mtts to %d.\n",1320+ hca_profile.fmr_reserved_mtts);1321+ }1322+}1323+1324static int __init mthca_init(void)1325{1326 int ret;13271328+ mthca_validate_profile();1329+1330 ret = mthca_catas_init();1331 if (ret)1332 return ret;
···49 .send_mask = EvTyp_CtlProgIdent_Mask50};510052MODULE_AUTHOR(53 "Martin Peschke, IBM Deutschland Entwicklung GmbH "54 "<mpeschke@de.ibm.com>");
···49 .send_mask = EvTyp_CtlProgIdent_Mask50};5152+MODULE_LICENSE("GPL");53+54MODULE_AUTHOR(55 "Martin Peschke, IBM Deutschland Entwicklung GmbH "56 "<mpeschke@de.ibm.com>");
+23-2
drivers/s390/cio/cio.c
···871 return -EBUSY;872}873000000000000000000000874static int __shutdown_subchannel_easy(struct subchannel_id schid, void *data)875{876 struct schib schib;877878- if (stsch_err(schid, &schib))879 return -ENXIO;880 if (!schib.pmcw.ena)881 return 0;···993 struct schib schib;994 struct sch_match_id *match_id = data;995996- if (stsch_err(schid, &schib))997 return -ENXIO;998 if (schib.pmcw.dnv &&999 (schib.pmcw.dev == match_id->devid.devno) &&
···871 return -EBUSY;872}873874+static int pgm_check_occured;875+876+static void cio_reset_pgm_check_handler(void)877+{878+ pgm_check_occured = 1;879+}880+881+static int stsch_reset(struct subchannel_id schid, volatile struct schib *addr)882+{883+ int rc;884+885+ pgm_check_occured = 0;886+ s390_reset_pgm_handler = cio_reset_pgm_check_handler;887+ rc = stsch(schid, addr);888+ s390_reset_pgm_handler = NULL;889+ if (pgm_check_occured)890+ return -EIO;891+ else892+ return rc;893+}894+895static int __shutdown_subchannel_easy(struct subchannel_id schid, void *data)896{897 struct schib schib;898899+ if (stsch_reset(schid, &schib))900 return -ENXIO;901 if (!schib.pmcw.ena)902 return 0;···972 struct schib schib;973 struct sch_match_id *match_id = data;974975+ if (stsch_reset(schid, &schib))976 return -ENXIO;977 if (schib.pmcw.dnv &&978 (schib.pmcw.dev == match_id->devid.devno) &&
+2-1
drivers/s390/cio/css.c
···139 sch->dev.release = &css_subchannel_release;140 sch->dev.groups = subch_attr_groups;14100142 /* make it known to the system */143 ret = css_sch_device_register(sch);144 if (ret) {···148 __func__, sch->dev.bus_id);149 return ret;150 }151- css_get_ssd_info(sch);152 return ret;153}154
···139 sch->dev.release = &css_subchannel_release;140 sch->dev.groups = subch_attr_groups;141142+ css_get_ssd_info(sch);143+144 /* make it known to the system */145 ret = css_sch_device_register(sch);146 if (ret) {···146 __func__, sch->dev.bus_id);147 return ret;148 }0149 return ret;150}151
+8-5
drivers/s390/cio/qdio.c
···979980 if (q->is_iqdio_q) {981 /* 982- * for asynchronous queues, we better check, if the fill983- * level is too high. for synchronous queues, the fill984- * level will never be that high. 985 */986- if (atomic_read(&q->number_of_buffers_used)>987- IQDIO_FILL_LEVEL_TO_POLL)988 qdio_mark_q(q);989990 } else if (!q->hydra_gives_outbound_pcis)···1824 q->sbal[j]=*(outbound_sbals_array++);18251826 q->queue_type=q_format;00001827 q->int_parm=int_parm;1828 q->is_input_q=0;1829 q->schid = irq_ptr->schid;
···979980 if (q->is_iqdio_q) {981 /* 982+ * for asynchronous queues, we better check, if the sent983+ * buffer is already switched from PRIMED to EMPTY.0984 */985+ if ((q->queue_type == QDIO_IQDIO_QFMT_ASYNCH) &&986+ !qdio_is_outbound_q_done(q))987 qdio_mark_q(q);988989 } else if (!q->hydra_gives_outbound_pcis)···1825 q->sbal[j]=*(outbound_sbals_array++);18261827 q->queue_type=q_format;1828+ if ((q->queue_type == QDIO_IQDIO_QFMT) &&1829+ (no_output_qs > 1) &&1830+ (i == no_output_qs-1))1831+ q->queue_type = QDIO_IQDIO_QFMT_ASYNCH;1832 q->int_parm=int_parm;1833 q->is_input_q=0;1834 q->schid = irq_ptr->schid;
+12-2
drivers/s390/crypto/ap_bus.c
···1129 mutex_unlock(&ap_poll_thread_mutex);1130}11311132-static void ap_reset(void)000000001133{1134 int i, j;1135···1147}11481149static struct reset_call ap_reset_call = {1150- .fn = ap_reset,1151};11521153/**···1237 int i;1238 struct device *dev;123901240 ap_poll_thread_stop();1241 del_timer_sync(&ap_config_timer);1242 del_timer_sync(&ap_poll_timer);1243 destroy_workqueue(ap_work_queue);01244 s390_root_dev_unregister(ap_root_device);1245 while ((dev = bus_find_device(&ap_bus_type, NULL, NULL,1246 __ap_match_all)))
···1129 mutex_unlock(&ap_poll_thread_mutex);1130}11311132+static void ap_reset_domain(void)1133+{1134+ int i;1135+1136+ for (i = 0; i < AP_DEVICES; i++)1137+ ap_reset_queue(AP_MKQID(i, ap_domain_index));1138+}1139+1140+static void ap_reset_all(void)1141{1142 int i, j;1143···1139}11401141static struct reset_call ap_reset_call = {1142+ .fn = ap_reset_all,1143};11441145/**···1229 int i;1230 struct device *dev;12311232+ ap_reset_domain();1233 ap_poll_thread_stop();1234 del_timer_sync(&ap_config_timer);1235 del_timer_sync(&ap_poll_timer);1236 destroy_workqueue(ap_work_queue);1237+ tasklet_kill(&ap_tasklet);1238 s390_root_dev_unregister(ap_root_device);1239 while ((dev = bus_find_device(&ap_bus_type, NULL, NULL,1240 __ap_match_all)))
···7config USB_HID8 tristate "USB Human Interface Device (full HID) support"9 default y10- depends on USB && HID011 ---help---12 Say Y here if you want full HID support to connect USB keyboards,13 mice, joysticks, graphic tablets, or any other HID based devices
···7config USB_HID8 tristate "USB Human Interface Device (full HID) support"9 default y10+ depends on USB11+ select HID12 ---help---13 Say Y here if you want full HID support to connect USB keyboards,14 mice, joysticks, graphic tablets, or any other HID based devices
···1415#ifdef __KERNEL__16000017/*18 * Set bit 'nr' in 32-bit quantity at address 'addr' where bit '0'19 * is in the highest of the four bytes and bit '31' is the high bit···26 */27static inline int test_and_set_bit(unsigned long nr, volatile unsigned long *addr)28{29- register unsigned long mask asm("g2");30- register unsigned long *ADDR asm("g1");31- register int tmp1 asm("g3");32- register int tmp2 asm("g4");33- register int tmp3 asm("g5");34- register int tmp4 asm("g7");3536 ADDR = ((unsigned long *) addr) + (nr >> 5);37 mask = 1 << (nr & 31);3839- __asm__ __volatile__(40- "mov %%o7, %%g4\n\t"41- "call ___set_bit\n\t"42- " add %%o7, 8, %%o7\n"43- : "=&r" (mask), "=r" (tmp1), "=r" (tmp2), "=r" (tmp3), "=r" (tmp4)44- : "0" (mask), "r" (ADDR)45- : "memory", "cc");46-47- return mask != 0;48}4950static inline void set_bit(unsigned long nr, volatile unsigned long *addr)51{52- register unsigned long mask asm("g2");53- register unsigned long *ADDR asm("g1");54- register int tmp1 asm("g3");55- register int tmp2 asm("g4");56- register int tmp3 asm("g5");57- register int tmp4 asm("g7");5859 ADDR = ((unsigned long *) addr) + (nr >> 5);60 mask = 1 << (nr & 31);6162- __asm__ __volatile__(63- "mov %%o7, %%g4\n\t"64- "call ___set_bit\n\t"65- " add %%o7, 8, %%o7\n"66- : "=&r" (mask), "=r" (tmp1), "=r" (tmp2), "=r" (tmp3), "=r" (tmp4)67- : "0" (mask), "r" (ADDR)68- : "memory", "cc");69}7071static inline int test_and_clear_bit(unsigned long nr, volatile unsigned long *addr)72{73- register unsigned long mask asm("g2");74- register unsigned long *ADDR asm("g1");75- register int tmp1 asm("g3");76- register int tmp2 asm("g4");77- register int tmp3 asm("g5");78- register int tmp4 asm("g7");7980 ADDR = ((unsigned long *) addr) + (nr >> 5);81 mask = 1 << (nr & 31);8283- __asm__ __volatile__(84- "mov %%o7, %%g4\n\t"85- "call ___clear_bit\n\t"86- " add %%o7, 8, %%o7\n"87- : "=&r" (mask), "=r" (tmp1), "=r" (tmp2), "=r" (tmp3), "=r" (tmp4)88- : "0" (mask), "r" (ADDR)89- : "memory", "cc");90-91- return mask != 0;92}9394static inline void clear_bit(unsigned long nr, volatile unsigned long *addr)95{96- register unsigned long mask asm("g2");97- register unsigned long *ADDR asm("g1");98- register int tmp1 asm("g3");99- register int tmp2 asm("g4");100- register int tmp3 asm("g5");101- register int tmp4 asm("g7");102103 ADDR = ((unsigned long *) addr) + (nr >> 5);104 mask = 1 << (nr & 31);105106- __asm__ __volatile__(107- "mov %%o7, %%g4\n\t"108- "call ___clear_bit\n\t"109- " add %%o7, 8, %%o7\n"110- : "=&r" (mask), "=r" (tmp1), "=r" (tmp2), "=r" (tmp3), "=r" (tmp4)111- : "0" (mask), "r" (ADDR)112- : "memory", "cc");113}114115static inline int test_and_change_bit(unsigned long nr, volatile unsigned long *addr)116{117- register unsigned long mask asm("g2");118- register unsigned long *ADDR asm("g1");119- register int tmp1 asm("g3");120- register int tmp2 asm("g4");121- register int tmp3 asm("g5");122- register int tmp4 asm("g7");123124 ADDR = ((unsigned long *) addr) + (nr >> 5);125 mask = 1 << (nr & 31);126127- __asm__ __volatile__(128- "mov %%o7, %%g4\n\t"129- "call ___change_bit\n\t"130- " add %%o7, 8, %%o7\n"131- : "=&r" (mask), "=r" (tmp1), "=r" (tmp2), "=r" (tmp3), "=r" (tmp4)132- : "0" (mask), "r" (ADDR)133- : "memory", "cc");134-135- return mask != 0;136}137138static inline void change_bit(unsigned long nr, volatile unsigned long *addr)139{140- register unsigned long mask asm("g2");141- register unsigned long *ADDR asm("g1");142- register int tmp1 asm("g3");143- register int tmp2 asm("g4");144- register int tmp3 asm("g5");145- register int tmp4 asm("g7");146147 ADDR = ((unsigned long *) addr) + (nr >> 5);148 mask = 1 << (nr & 31);149150- __asm__ __volatile__(151- "mov %%o7, %%g4\n\t"152- "call ___change_bit\n\t"153- " add %%o7, 8, %%o7\n"154- : "=&r" (mask), "=r" (tmp1), "=r" (tmp2), "=r" (tmp3), "=r" (tmp4)155- : "0" (mask), "r" (ADDR)156- : "memory", "cc");157}158159#include <asm-generic/bitops/non-atomic.h>
···1415#ifdef __KERNEL__1617+extern unsigned long ___set_bit(unsigned long *addr, unsigned long mask);18+extern unsigned long ___clear_bit(unsigned long *addr, unsigned long mask);19+extern unsigned long ___change_bit(unsigned long *addr, unsigned long mask);20+21/*22 * Set bit 'nr' in 32-bit quantity at address 'addr' where bit '0'23 * is in the highest of the four bytes and bit '31' is the high bit···22 */23static inline int test_and_set_bit(unsigned long nr, volatile unsigned long *addr)24{25+ unsigned long *ADDR, mask;000002627 ADDR = ((unsigned long *) addr) + (nr >> 5);28 mask = 1 << (nr & 31);2930+ return ___set_bit(ADDR, mask) != 0;0000000031}3233static inline void set_bit(unsigned long nr, volatile unsigned long *addr)34{35+ unsigned long *ADDR, mask;000003637 ADDR = ((unsigned long *) addr) + (nr >> 5);38 mask = 1 << (nr & 31);3940+ (void) ___set_bit(ADDR, mask);00000041}4243static inline int test_and_clear_bit(unsigned long nr, volatile unsigned long *addr)44{45+ unsigned long *ADDR, mask;000004647 ADDR = ((unsigned long *) addr) + (nr >> 5);48 mask = 1 << (nr & 31);4950+ return ___clear_bit(ADDR, mask) != 0;0000000051}5253static inline void clear_bit(unsigned long nr, volatile unsigned long *addr)54{55+ unsigned long *ADDR, mask;000005657 ADDR = ((unsigned long *) addr) + (nr >> 5);58 mask = 1 << (nr & 31);5960+ (void) ___clear_bit(ADDR, mask);00000061}6263static inline int test_and_change_bit(unsigned long nr, volatile unsigned long *addr)64{65+ unsigned long *ADDR, mask;000006667 ADDR = ((unsigned long *) addr) + (nr >> 5);68 mask = 1 << (nr & 31);6970+ return ___change_bit(ADDR, mask) != 0;0000000071}7273static inline void change_bit(unsigned long nr, volatile unsigned long *addr)74{75+ unsigned long *ADDR, mask;000007677 ADDR = ((unsigned long *) addr) + (nr >> 5);78 mask = 1 << (nr & 31);7980+ (void) ___change_bit(ADDR, mask);00000081}8283#include <asm-generic/bitops/non-atomic.h>
-2
include/asm-sparc64/hw_irq.h
···1#ifndef __ASM_SPARC64_HW_IRQ_H2#define __ASM_SPARC64_HW_IRQ_H34-extern void hw_resend_irq(struct hw_interrupt_type *handler, unsigned int virt_irq);5-6#endif
···1415struct module;1617-#ifdef CONFIG_STACK_UNWIND18-19-#include <asm/unwind.h>20-21-#ifndef ARCH_UNWIND_SECTION_NAME22-#define ARCH_UNWIND_SECTION_NAME ".eh_frame"23-#endif24-25-/*26- * Initialize unwind support.27- */28-extern void unwind_init(void);29-extern void unwind_setup(void);30-31-#ifdef CONFIG_MODULES32-33-extern void *unwind_add_table(struct module *,34- const void *table_start,35- unsigned long table_size);36-37-extern void unwind_remove_table(void *handle, int init_only);38-39-#endif40-41-extern int unwind_init_frame_info(struct unwind_frame_info *,42- struct task_struct *,43- /*const*/ struct pt_regs *);44-45-/*46- * Prepare to unwind a blocked task.47- */48-extern int unwind_init_blocked(struct unwind_frame_info *,49- struct task_struct *);50-51-/*52- * Prepare to unwind the currently running thread.53- */54-extern int unwind_init_running(struct unwind_frame_info *,55- asmlinkage int (*callback)(struct unwind_frame_info *,56- void *arg),57- void *arg);58-59-/*60- * Unwind to previous to frame. Returns 0 if successful, negative61- * number in case of an error.62- */63-extern int unwind(struct unwind_frame_info *);64-65-/*66- * Unwind until the return pointer is in user-land (or until an error67- * occurs). Returns 0 if successful, negative number in case of68- * error.69- */70-extern int unwind_to_user(struct unwind_frame_info *);71-72-#else73-74struct unwind_frame_info {};7576static inline void unwind_init(void) {}···28 return NULL;29}3031-#endif32-33static inline void unwind_remove_table(void *handle, int init_only)34{35}003637static inline int unwind_init_frame_info(struct unwind_frame_info *info,38 struct task_struct *tsk,···64{65 return -ENOSYS;66}67-68-#endif6970#endif /* _LINUX_UNWIND_H */
···8#include <linux/timer.h>9#include <linux/linkage.h>10#include <linux/bitops.h>01112struct workqueue_struct;1314struct work_struct;15typedef void (*work_func_t)(struct work_struct *work);1600000017struct work_struct {18- /* the first word is the work queue pointer and the flags rolled into19- * one */20- unsigned long management;21#define WORK_STRUCT_PENDING 0 /* T if work item pending execution */22#define WORK_STRUCT_NOAUTOREL 1 /* F if work item automatically released on exec */23#define WORK_STRUCT_FLAG_MASK (3UL)···30 struct list_head entry;31 work_func_t func;32};0003334struct delayed_work {35 struct work_struct work;···44};4546#define __WORK_INITIALIZER(n, f) { \47- .management = 0, \48 .entry = { &(n).entry, &(n).entry }, \49 .func = (f), \50 }5152#define __WORK_INITIALIZER_NAR(n, f) { \53- .management = (1 << WORK_STRUCT_NOAUTOREL), \54 .entry = { &(n).entry, &(n).entry }, \55 .func = (f), \56 }···9091/*92 * initialize all of a work item in one go000093 */94#define INIT_WORK(_work, _func) \95 do { \96- (_work)->management = 0; \97 INIT_LIST_HEAD(&(_work)->entry); \98 PREPARE_WORK((_work), (_func)); \99 } while (0)100101#define INIT_WORK_NAR(_work, _func) \102 do { \103- (_work)->management = (1 << WORK_STRUCT_NOAUTOREL); \104 INIT_LIST_HEAD(&(_work)->entry); \105 PREPARE_WORK((_work), (_func)); \106 } while (0)···126 * @work: The work item in question127 */128#define work_pending(work) \129- test_bit(WORK_STRUCT_PENDING, &(work)->management)130131/**132 * delayed_work_pending - Find out whether a delayable work item is currently133 * pending134 * @work: The work item in question135 */136-#define delayed_work_pending(work) \137- test_bit(WORK_STRUCT_PENDING, &(work)->work.management)138139/**140 * work_release - Release a work item under execution···155 * This should also be used to release a delayed work item.156 */157#define work_release(work) \158- clear_bit(WORK_STRUCT_PENDING, &(work)->management)159160161extern struct workqueue_struct *__create_workqueue(const char *name,···200201 ret = del_timer_sync(&work->timer);202 if (ret)203- clear_bit(WORK_STRUCT_PENDING, &work->work.management);204 return ret;205}206
···8#include <linux/timer.h>9#include <linux/linkage.h>10#include <linux/bitops.h>11+#include <asm/atomic.h>1213struct workqueue_struct;1415struct work_struct;16typedef void (*work_func_t)(struct work_struct *work);1718+/*19+ * The first word is the work queue pointer and the flags rolled into20+ * one21+ */22+#define work_data_bits(work) ((unsigned long *)(&(work)->data))23+24struct work_struct {25+ atomic_long_t data;0026#define WORK_STRUCT_PENDING 0 /* T if work item pending execution */27#define WORK_STRUCT_NOAUTOREL 1 /* F if work item automatically released on exec */28#define WORK_STRUCT_FLAG_MASK (3UL)···25 struct list_head entry;26 work_func_t func;27};28+29+#define WORK_DATA_INIT(autorelease) \30+ ATOMIC_LONG_INIT((autorelease) << WORK_STRUCT_NOAUTOREL)3132struct delayed_work {33 struct work_struct work;···36};3738#define __WORK_INITIALIZER(n, f) { \39+ .data = WORK_DATA_INIT(0), \40 .entry = { &(n).entry, &(n).entry }, \41 .func = (f), \42 }4344#define __WORK_INITIALIZER_NAR(n, f) { \45+ .data = WORK_DATA_INIT(1), \46 .entry = { &(n).entry, &(n).entry }, \47 .func = (f), \48 }···8283/*84 * initialize all of a work item in one go85+ *86+ * NOTE! No point in using "atomic_long_set()": useing a direct87+ * assignment of the work data initializer allows the compiler88+ * to generate better code.89 */90#define INIT_WORK(_work, _func) \91 do { \92+ (_work)->data = (atomic_long_t) WORK_DATA_INIT(0); \93 INIT_LIST_HEAD(&(_work)->entry); \94 PREPARE_WORK((_work), (_func)); \95 } while (0)9697#define INIT_WORK_NAR(_work, _func) \98 do { \99+ (_work)->data = (atomic_long_t) WORK_DATA_INIT(1); \100 INIT_LIST_HEAD(&(_work)->entry); \101 PREPARE_WORK((_work), (_func)); \102 } while (0)···114 * @work: The work item in question115 */116#define work_pending(work) \117+ test_bit(WORK_STRUCT_PENDING, work_data_bits(work))118119/**120 * delayed_work_pending - Find out whether a delayable work item is currently121 * pending122 * @work: The work item in question123 */124+#define delayed_work_pending(w) \125+ work_pending(&(w)->work)126127/**128 * work_release - Release a work item under execution···143 * This should also be used to release a delayed work item.144 */145#define work_release(work) \146+ clear_bit(WORK_STRUCT_PENDING, work_data_bits(work))147148149extern struct workqueue_struct *__create_workqueue(const char *name,···188189 ret = del_timer_sync(&work->timer);190 if (ret)191+ work_release(&work->work);192 return ret;193}194
···96 BUG_ON(!work_pending(work));9798 new = (unsigned long) wq | (1UL << WORK_STRUCT_PENDING);99- new |= work->management & WORK_STRUCT_FLAG_MASK;100- work->management = new;101}102103static inline void *get_wq_data(struct work_struct *work)104{105- return (void *) (work->management & WORK_STRUCT_WQ_DATA_MASK);106}107108static int __run_work(struct cpu_workqueue_struct *cwq, struct work_struct *work)···133 list_del_init(&work->entry);134 spin_unlock_irqrestore(&cwq->lock, flags);135136- if (!test_bit(WORK_STRUCT_NOAUTOREL, &work->management))137 work_release(work);138 f(work);139···206{207 int ret = 0, cpu = get_cpu();208209- if (!test_and_set_bit(WORK_STRUCT_PENDING, &work->management)) {210 if (unlikely(is_single_threaded(wq)))211 cpu = singlethread_cpu;212 BUG_ON(!list_empty(&work->entry));···248 if (delay == 0)249 return queue_work(wq, work);250251- if (!test_and_set_bit(WORK_STRUCT_PENDING, &work->management)) {252 BUG_ON(timer_pending(timer));253 BUG_ON(!list_empty(&work->entry));254···280 struct timer_list *timer = &dwork->timer;281 struct work_struct *work = &dwork->work;282283- if (!test_and_set_bit(WORK_STRUCT_PENDING, &work->management)) {284 BUG_ON(timer_pending(timer));285 BUG_ON(!list_empty(&work->entry));286···321 spin_unlock_irqrestore(&cwq->lock, flags);322323 BUG_ON(get_wq_data(work) != cwq);324- if (!test_bit(WORK_STRUCT_NOAUTOREL, &work->management))325 work_release(work);326 f(work);327
···96 BUG_ON(!work_pending(work));9798 new = (unsigned long) wq | (1UL << WORK_STRUCT_PENDING);99+ new |= WORK_STRUCT_FLAG_MASK & *work_data_bits(work);100+ atomic_long_set(&work->data, new);101}102103static inline void *get_wq_data(struct work_struct *work)104{105+ return (void *) (atomic_long_read(&work->data) & WORK_STRUCT_WQ_DATA_MASK);106}107108static int __run_work(struct cpu_workqueue_struct *cwq, struct work_struct *work)···133 list_del_init(&work->entry);134 spin_unlock_irqrestore(&cwq->lock, flags);135136+ if (!test_bit(WORK_STRUCT_NOAUTOREL, work_data_bits(work)))137 work_release(work);138 f(work);139···206{207 int ret = 0, cpu = get_cpu();208209+ if (!test_and_set_bit(WORK_STRUCT_PENDING, work_data_bits(work))) {210 if (unlikely(is_single_threaded(wq)))211 cpu = singlethread_cpu;212 BUG_ON(!list_empty(&work->entry));···248 if (delay == 0)249 return queue_work(wq, work);250251+ if (!test_and_set_bit(WORK_STRUCT_PENDING, work_data_bits(work))) {252 BUG_ON(timer_pending(timer));253 BUG_ON(!list_empty(&work->entry));254···280 struct timer_list *timer = &dwork->timer;281 struct work_struct *work = &dwork->work;282283+ if (!test_and_set_bit(WORK_STRUCT_PENDING, work_data_bits(work))) {284 BUG_ON(timer_pending(timer));285 BUG_ON(!list_empty(&work->entry));286···321 spin_unlock_irqrestore(&cwq->lock, flags);322323 BUG_ON(get_wq_data(work) != cwq);324+ if (!test_bit(WORK_STRUCT_NOAUTOREL, work_data_bits(work)))325 work_release(work);326 f(work);327
-18
lib/Kconfig.debug
···354 some architectures or if you use external debuggers.355 If you don't debug the kernel, you can say N.356357-config UNWIND_INFO358- bool "Compile the kernel with frame unwind information"359- depends on !IA64 && !PARISC && !ARM360- depends on !MODULES || !(MIPS || PPC || SUPERH || V850)361- help362- If you say Y here the resulting kernel image will be slightly larger363- but not slower, and it will give very useful debugging information.364- If you don't debug the kernel, you can say N, but we may not be able365- to solve problems without frame unwind information or frame pointers.366-367-config STACK_UNWIND368- bool "Stack unwind support"369- depends on UNWIND_INFO370- depends on X86371- help372- This enables more precise stack traces, omitting all unrelated373- occurrences of pointers into kernel code from the dump.374-375config FORCED_INLINING376 bool "Force gcc to inline functions marked 'inline'"377 depends on DEBUG_KERNEL
···354 some architectures or if you use external debuggers.355 If you don't debug the kernel, you can say N.356000000000000000000357config FORCED_INLINING358 bool "Force gcc to inline functions marked 'inline'"359 depends on DEBUG_KERNEL
···1/*2 * linux/mm/mincore.c3 *4- * Copyright (C) 1994-1999 Linus Torvalds5 */67/*···38 return present;39}4041-static long mincore_vma(struct vm_area_struct * vma,42- unsigned long start, unsigned long end, unsigned char __user * vec)000043{44- long error, i, remaining;45- unsigned char * tmp;4647- error = -ENOMEM;00000000000000048 if (!vma->vm_file)49- return error;5051- start = ((start - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;52- if (end > vma->vm_end)53- end = vma->vm_end;54- end = ((end - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;0005556- error = -EAGAIN;57- tmp = (unsigned char *) __get_free_page(GFP_KERNEL);58- if (!tmp)59- return error;6061- /* (end - start) is # of pages, and also # of bytes in "vec */62- remaining = (end - start),06364- error = 0;65- for (i = 0; remaining > 0; remaining -= PAGE_SIZE, i++) {66- int j = 0;67- long thispiece = (remaining < PAGE_SIZE) ?68- remaining : PAGE_SIZE;69-70- while (j < thispiece)71- tmp[j++] = mincore_page(vma, start++);72-73- if (copy_to_user(vec + PAGE_SIZE * i, tmp, thispiece)) {74- error = -EFAULT;75- break;76- }77- }78-79- free_page((unsigned long) tmp);80- return error;81}8283/*···112asmlinkage long sys_mincore(unsigned long start, size_t len,113 unsigned char __user * vec)114{115- int index = 0;116- unsigned long end, limit;117- struct vm_area_struct * vma;118- size_t max;119- int unmapped_error = 0;120- long error;121122- /* check the arguments */123 if (start & ~PAGE_CACHE_MASK)124- goto einval;125126- limit = TASK_SIZE;127- if (start >= limit)128- goto enomem;129130- if (!len)131- return 0;0132133- max = limit - start;134- len = PAGE_CACHE_ALIGN(len);135- if (len > max || !len)136- goto enomem;137138- end = start + len;00139140- /* check the output buffer whilst holding the lock */141- error = -EFAULT;142- down_read(¤t->mm->mmap_sem);000000143144- if (!access_ok(VERIFY_WRITE, vec, len >> PAGE_SHIFT))145- goto out;146-147- /*148- * If the interval [start,end) covers some unmapped address149- * ranges, just ignore them, but return -ENOMEM at the end.150- */151- error = 0;152-153- vma = find_vma(current->mm, start);154- while (vma) {155- /* Here start < vma->vm_end. */156- if (start < vma->vm_start) {157- unmapped_error = -ENOMEM;158- start = vma->vm_start;159 }160-161- /* Here vma->vm_start <= start < vma->vm_end. */162- if (end <= vma->vm_end) {163- if (start < end) {164- error = mincore_vma(vma, start, end,165- &vec[index]);166- if (error)167- goto out;168- }169- error = unmapped_error;170- goto out;171- }172-173- /* Here vma->vm_start <= start < vma->vm_end < end. */174- error = mincore_vma(vma, start, vma->vm_end, &vec[index]);175- if (error)176- goto out;177- index += (vma->vm_end - start) >> PAGE_CACHE_SHIFT;178- start = vma->vm_end;179- vma = vma->vm_next;180 }181-182- /* we found a hole in the area queried if we arrive here */183- error = -ENOMEM;184-185-out:186- up_read(¤t->mm->mmap_sem);187- return error;188-189-einval:190- return -EINVAL;191-enomem:192- return -ENOMEM;193}
···1/*2 * linux/mm/mincore.c3 *4+ * Copyright (C) 1994-2006 Linus Torvalds5 */67/*···38 return present;39}4041+/*42+ * Do a chunk of "sys_mincore()". We've already checked43+ * all the arguments, we hold the mmap semaphore: we should44+ * just return the amount of info we're asked for.45+ */46+static long do_mincore(unsigned long addr, unsigned char *vec, unsigned long pages)47{48+ unsigned long i, nr, pgoff;49+ struct vm_area_struct *vma = find_vma(current->mm, addr);5051+ /*52+ * find_vma() didn't find anything above us, or we're53+ * in an unmapped hole in the address space: ENOMEM.54+ */55+ if (!vma || addr < vma->vm_start)56+ return -ENOMEM;57+58+ /*59+ * Ok, got it. But check whether it's a segment we support60+ * mincore() on. Right now, we don't do any anonymous mappings.61+ *62+ * FIXME: This is just stupid. And returning ENOMEM is 63+ * stupid too. We should just look at the page tables. But64+ * this is what we've traditionally done, so we'll just65+ * continue doing it.66+ */67 if (!vma->vm_file)68+ return -ENOMEM;6970+ /*71+ * Calculate how many pages there are left in the vma, and72+ * what the pgoff is for our address.73+ */74+ nr = (vma->vm_end - addr) >> PAGE_SHIFT;75+ if (nr > pages)76+ nr = pages;7778+ pgoff = (addr - vma->vm_start) >> PAGE_SHIFT;79+ pgoff += vma->vm_pgoff;008081+ /* And then we just fill the sucker in.. */82+ for (i = 0 ; i < nr; i++, pgoff++)83+ vec[i] = mincore_page(vma, pgoff);8485+ return nr;000000000000000086}8788/*···107asmlinkage long sys_mincore(unsigned long start, size_t len,108 unsigned char __user * vec)109{110+ long retval;111+ unsigned long pages;112+ unsigned char *tmp;000113114+ /* Check the start address: needs to be page-aligned.. */115 if (start & ~PAGE_CACHE_MASK)116+ return -EINVAL;117118+ /* ..and we need to be passed a valid user-space range */119+ if (!access_ok(VERIFY_READ, (void __user *) start, len))120+ return -ENOMEM;121122+ /* This also avoids any overflows on PAGE_CACHE_ALIGN */123+ pages = len >> PAGE_SHIFT;124+ pages += (len & ~PAGE_MASK) != 0;125126+ if (!access_ok(VERIFY_WRITE, vec, pages))127+ return -EFAULT;00128129+ tmp = (void *) __get_free_page(GFP_USER);130+ if (!tmp)131+ return -EAGAIN;132133+ retval = 0;134+ while (pages) {135+ /*136+ * Do at most PAGE_SIZE entries per iteration, due to137+ * the temporary buffer size.138+ */139+ down_read(¤t->mm->mmap_sem);140+ retval = do_mincore(start, tmp, min(pages, PAGE_SIZE));141+ up_read(¤t->mm->mmap_sem);142143+ if (retval <= 0)144+ break;145+ if (copy_to_user(vec, tmp, retval)) {146+ retval = -EFAULT;147+ break;0000000000148 }149+ pages -= retval;150+ vec += retval;151+ start += retval << PAGE_SHIFT;152+ retval = 0;0000000000000000153 }154+ free_page((unsigned long) tmp);155+ return retval;0000000000156}
+2-2
net/ax25/af_ax25.c
···1088/*1089 * FIXME: nonblock behaviour looks like it may have a bug.1090 */1091-static int ax25_connect(struct socket *sock, struct sockaddr *uaddr,1092- int addr_len, int flags)1093{1094 struct sock *sk = sock->sk;1095 ax25_cb *ax25 = ax25_sk(sk), *ax25t;
···1088/*1089 * FIXME: nonblock behaviour looks like it may have a bug.1090 */1091+static int __must_check ax25_connect(struct socket *sock,1092+ struct sockaddr *uaddr, int addr_len, int flags)1093{1094 struct sock *sk = sock->sk;1095 ax25_cb *ax25 = ax25_sk(sk), *ax25t;
···1325 /* Check for load limit; set rate_last to the latest sent1326 * redirect.1327 */1328- if (time_after(jiffies,01329 (rt->u.dst.rate_last +1330 (ip_rt_redirect_load << rt->u.dst.rate_tokens)))) {1331 icmp_send(skb, ICMP_REDIRECT, ICMP_REDIR_HOST, rt->rt_gateway);
···1325 /* Check for load limit; set rate_last to the latest sent1326 * redirect.1327 */1328+ if (rt->u.dst.rate_tokens == 0 ||1329+ time_after(jiffies,1330 (rt->u.dst.rate_last +1331 (ip_rt_redirect_load << rt->u.dst.rate_tokens)))) {1332 icmp_send(skb, ICMP_REDIRECT, ICMP_REDIR_HOST, rt->rt_gateway);
+2-1
net/ipv4/tcp_ipv4.c
···928 if (tp->md5sig_info->entries4 == 0) {929 kfree(tp->md5sig_info->keys4);930 tp->md5sig_info->keys4 = NULL;0931 } else if (tp->md5sig_info->entries4 != i) {932 /* Need to do some manipulation */933 memcpy(&tp->md5sig_info->keys4[i],···1186 return 0;11871188 if (hash_expected && !hash_location) {1189- LIMIT_NETDEBUG(KERN_INFO "MD5 Hash NOT expected but found "1190 "(" NIPQUAD_FMT ", %d)->(" NIPQUAD_FMT ", %d)\n",1191 NIPQUAD(iph->saddr), ntohs(th->source),1192 NIPQUAD(iph->daddr), ntohs(th->dest));
···928 if (tp->md5sig_info->entries4 == 0) {929 kfree(tp->md5sig_info->keys4);930 tp->md5sig_info->keys4 = NULL;931+ tp->md5sig_info->alloced4 = 0;932 } else if (tp->md5sig_info->entries4 != i) {933 /* Need to do some manipulation */934 memcpy(&tp->md5sig_info->keys4[i],···1185 return 0;11861187 if (hash_expected && !hash_location) {1188+ LIMIT_NETDEBUG(KERN_INFO "MD5 Hash expected but NOT found "1189 "(" NIPQUAD_FMT ", %d)->(" NIPQUAD_FMT ", %d)\n",1190 NIPQUAD(iph->saddr), ntohs(th->source),1191 NIPQUAD(iph->daddr), ntohs(th->dest));
+3-2
net/ipv6/netfilter/Kconfig
···78config NF_CONNTRACK_IPV69 tristate "IPv6 connection tracking support (EXPERIMENTAL)"10- depends on EXPERIMENTAL && NF_CONNTRACK11 ---help---12 Connection tracking keeps a record of what packets have passed13 through your machine, in order to figure out how they are related···2122config IP6_NF_QUEUE23 tristate "IP6 Userspace queueing via NETLINK (OBSOLETE)"024 ---help---2526 This option adds a queue handler to the kernel for IPv6···4243config IP6_NF_IPTABLES44 tristate "IP6 tables support (required for filtering)"45- depends on NETFILTER_XTABLES46 help47 ip6tables is a general, extensible packet identification framework.48 Currently only the packet filtering and packet mangling subsystem
···78config NF_CONNTRACK_IPV69 tristate "IPv6 connection tracking support (EXPERIMENTAL)"10+ depends on INET && IPV6 && EXPERIMENTAL && NF_CONNTRACK11 ---help---12 Connection tracking keeps a record of what packets have passed13 through your machine, in order to figure out how they are related···2122config IP6_NF_QUEUE23 tristate "IP6 Userspace queueing via NETLINK (OBSOLETE)"24+ depends on INET && IPV6 && NETFILTER && EXPERIMENTAL25 ---help---2627 This option adds a queue handler to the kernel for IPv6···4142config IP6_NF_IPTABLES43 tristate "IP6 tables support (required for filtering)"44+ depends on INET && IPV6 && EXPERIMENTAL && NETFILTER_XTABLES45 help46 ip6tables is a general, extensible packet identification framework.47 Currently only the packet filtering and packet mangling subsystem
+12-3
net/netrom/af_netrom.c
···13771378static struct net_device **dev_nr;13790000000001380static int __init nr_proto_init(void)1381{1382 int i;···14331434 register_netdevice_notifier(&nr_dev_notifier);14351436- ax25_protocol_register(AX25_P_NETROM, nr_route_frame);1437- ax25_linkfail_register(nr_link_failed);14381439#ifdef CONFIG_SYSCTL1440 nr_register_sysctl();···1483 nr_unregister_sysctl();1484#endif14851486- ax25_linkfail_release(nr_link_failed);1487 ax25_protocol_release(AX25_P_NETROM);14881489 unregister_netdevice_notifier(&nr_dev_notifier);
···128 return -37;129}130131+static int __must_check nr_set_mac_address(struct net_device *dev, void *addr)132{133 struct sockaddr *sa = addr;134+ int err;135136+ if (!memcmp(dev->dev_addr, sa->sa_data, dev->addr_len))137+ return 0;138+139+ if (dev->flags & IFF_UP) {140+ err = ax25_listen_register((ax25_address *)sa->sa_data, NULL);141+ if (err)142+ return err;143+144 ax25_listen_release((ax25_address *)dev->dev_addr, NULL);145+ }146147 memcpy(dev->dev_addr, sa->sa_data, dev->addr_len);000148149 return 0;150}151152static int nr_open(struct net_device *dev)153{154+ int err;155+156+ err = ax25_listen_register((ax25_address *)dev->dev_addr, NULL);157+ if (err)158+ return err;159+160 netif_start_queue(dev);161+162 return 0;163}164
+13-6
net/netrom/nr_route.c
···87 * Add a new route to a node, and in the process add the node and the88 * neighbour if it is new.89 */90-static int nr_add_node(ax25_address *nr, const char *mnemonic, ax25_address *ax25,91- ax25_digi *ax25_digi, struct net_device *dev, int quality, int obs_count)092{93 struct nr_node *nr_node;94 struct nr_neigh *nr_neigh;···407/*408 * Lock a neighbour with a quality.409 */410-static int nr_add_neigh(ax25_address *callsign, ax25_digi *ax25_digi, struct net_device *dev, unsigned int quality)0411{412 struct nr_neigh *nr_neigh;413···779 nr_src = (ax25_address *)(skb->data + 0);780 nr_dest = (ax25_address *)(skb->data + 7);781782- if (ax25 != NULL)783- nr_add_node(nr_src, "", &ax25->dest_addr, ax25->digipeat,784- ax25->ax25_dev->dev, 0, sysctl_netrom_obsolescence_count_initialiser);0000785786 if ((dev = nr_dev_get(nr_dest)) != NULL) { /* Its for me */787 if (ax25 == NULL) /* Its from me */···850 ret = (nr_neigh->ax25 != NULL);851 nr_node_unlock(nr_node);852 nr_node_put(nr_node);0853 return ret;854}855
···87 * Add a new route to a node, and in the process add the node and the88 * neighbour if it is new.89 */90+static int __must_check nr_add_node(ax25_address *nr, const char *mnemonic,91+ ax25_address *ax25, ax25_digi *ax25_digi, struct net_device *dev,92+ int quality, int obs_count)93{94 struct nr_node *nr_node;95 struct nr_neigh *nr_neigh;···406/*407 * Lock a neighbour with a quality.408 */409+static int __must_check nr_add_neigh(ax25_address *callsign,410+ ax25_digi *ax25_digi, struct net_device *dev, unsigned int quality)411{412 struct nr_neigh *nr_neigh;413···777 nr_src = (ax25_address *)(skb->data + 0);778 nr_dest = (ax25_address *)(skb->data + 7);779780+ if (ax25 != NULL) {781+ ret = nr_add_node(nr_src, "", &ax25->dest_addr, ax25->digipeat,782+ ax25->ax25_dev->dev, 0,783+ sysctl_netrom_obsolescence_count_initialiser);784+ if (ret)785+ return ret;786+ }787788 if ((dev = nr_dev_get(nr_dest)) != NULL) { /* Its for me */789 if (ax25 == NULL) /* Its from me */···844 ret = (nr_neigh->ax25 != NULL);845 nr_node_unlock(nr_node);846 nr_node_put(nr_node);847+848 return ret;849}850
+14-4
net/rose/af_rose.c
···1314 if (copy_from_user(&rose_callsign, argp, sizeof(ax25_address)))1315 return -EFAULT;1316 if (ax25cmp(&rose_callsign, &null_ax25_address) != 0)1317- ax25_listen_register(&rose_callsign, NULL);01318 return 0;13191320 case SIOCRSGL2CALL:···14821483static struct net_device **dev_rose;14840000000001485static int __init rose_proto_init(void)1486{1487 int i;···1540 sock_register(&rose_family_ops);1541 register_netdevice_notifier(&rose_dev_notifier);15421543- ax25_protocol_register(AX25_P_ROSE, rose_route_frame);1544- ax25_linkfail_register(rose_link_failed);15451546#ifdef CONFIG_SYSCTL1547 rose_register_sysctl();···1589 rose_rt_free();15901591 ax25_protocol_release(AX25_P_ROSE);1592- ax25_linkfail_release(rose_link_failed);15931594 if (ax25cmp(&rose_callsign, &null_ax25_address) != 0)1595 ax25_listen_release(&rose_callsign, NULL);