Re: IDE + SMP hang

Joe Kellner (jkellner@tampabay.rr.com)
Sun, 3 Oct 1999 14:34:31 -0400


I'm using 2.2.12 (smp) with the ide-disk module, and I don't get
lockups...But then again I'm using kernel autoloader rather than insmod.
dual p2-300; supermicro p6dlh (lx), adaptec 2940.

------------------------------------------
Praying mantis entrapped Cicada posing bravery with his might
Climbing the hill with spearing fist portrays the fearless fight
Striking with deadly fist again and again to reach supreme
8th generation student of Wah Lum northern praying mantis Kung Fu.

----- Original Message -----
From: Delman Lee <delman@sharp.co.uk>
To: <linux-kernel@vger.rutgers.edu>
Sent: Sunday, October 03, 1999 1:49 PM
Subject: IDE + SMP hang

> I have an IDE lockup problem since around 2.2.8.
>
> I compiled 2.2.12 with the ide-disk as a module. The system boots fine
> into single user mode. When I do "insmod ide-disk", the system hangs
> during the partition check.
>
> Symtoms:
> . only happens with SMP
> . does NOT hang if boot with 'noapic'
> . hangs with 2.2.{8,9,10,11,12}, including 2.2.13pre14 and 2.3.18
>
> I tried the 2.2.12-ikd patch with 2.2.12 and it detected a lockup.
> Copied the EIP and Call Trace down by hand and decoded from System.map
> manually.
>
> FYI, I have included 2.2.8's changes to io_apic.c & irq.c below.
>
> System info:
> dual PII Klamath 233MHz, CPU0:stepping 4, CPU1:stepping 3
> Micronics Dual Fortress motherboard with 440FX chipset.
> Diamond Fireport SCSI card
>
> Hope this IDE hang is sorted out soon...
>
> Thanks, Delman
> __________________________________________________________________
>
>
> NMI watchdog detected LOCKUP on CPU0.
> CPU 0
> EIP: 0010:[<disable_irq>]
> EFLAGS: 00000002
> ...
> Process: insmod
> ...
> Call Trace: [<ide_do_request>] [<do_hwgroup_request>] [<do_ide1_request>]
> [<unplug_device>] [<register_blkdev>] [<bread>] [<device_setup>] ....
>
> .
> .
> .
>
> CPU 1
> EIP: 0010:[<stext_lock>]
> EFLAGS: 00000002
> ...
> Process: swapper
> ...
> Call Trace: [<handle_IRQ_event>] [<do_level_ioapic_IRQ>] [<do_IRQ>]
> [<common_interrupt>] [<start_secondary>] ...
>
>
> __________________________________________________________________
>
>
> diff -u --recursive --new-file v2.2.7/linux/arch/i386/kernel/io_apic.c
> linux/arch/i386/kernel/io_apic.c
> --- v2.2.7/linux/arch/i386/kernel/io_apic.c Fri Apr 16 14:47:30 1999
> +++ linux/arch/i386/kernel/io_apic.c Thu May 6 16:07:03 1999
> @@ -1049,7 +1049,7 @@
> * and do not need to be masked.
> */
> ack_APIC_irq();
> - status = desc->status & ~IRQ_REPLAY;
> + status = desc->status & ~(IRQ_REPLAY | IRQ_WAITING);
> status |= IRQ_PENDING;
>
> /*
> @@ -1060,8 +1060,9 @@
> if (!(status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
> action = desc->action;
> status &= ~IRQ_PENDING;
> + status |= IRQ_INPROGRESS;
> }
> - desc->status = status | IRQ_INPROGRESS;
> + desc->status = status;
> spin_unlock(&irq_controller_lock);
>
> /*
> @@ -1103,7 +1104,7 @@
> * So this all has to be within the spinlock.
> */
> mask_IO_APIC_irq(irq);
> - status = desc->status & ~IRQ_REPLAY;
> + status = desc->status & ~(IRQ_REPLAY | IRQ_WAITING);
>
> /*
> * If the IRQ is disabled for whatever reason, we must
> @@ -1112,8 +1113,9 @@
> action = NULL;
> if (!(status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
> action = desc->action;
> + status |= IRQ_INPROGRESS;
> }
> - desc->status = status | IRQ_INPROGRESS;
> + desc->status = status;
>
> ack_APIC_irq();
> spin_unlock(&irq_controller_lock);
> diff -u --recursive --new-file v2.2.7/linux/arch/i386/kernel/irq.c
> linux/arch/i386/kernel/irq.c
> --- v2.2.7/linux/arch/i386/kernel/irq.c Fri Apr 16 14:47:30 1999
> +++ linux/arch/i386/kernel/irq.c Mon May 10 10:32:45 1999
> @@ -203,7 +203,7 @@
>
> void make_8259A_irq(unsigned int irq)
> {
> - disable_irq(irq);
> + disable_irq_nosync(irq);
> io_apic_irqs &= ~(1<<irq);
> irq_desc[irq].handler = &i8259A_irq_type;
> enable_irq(irq);
> @@ -239,11 +239,13 @@
> {
> unsigned int status;
> mask_and_ack_8259A(irq);
> - status = desc->status & ~IRQ_REPLAY;
> + status = desc->status & ~(IRQ_REPLAY | IRQ_WAITING);
> action = NULL;
> - if (!(status & (IRQ_DISABLED | IRQ_INPROGRESS)))
> + if (!(status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
> action = desc->action;
> - desc->status = status | IRQ_INPROGRESS;
> + status |= IRQ_INPROGRESS;
> + }
> + desc->status = status;
> }
> spin_unlock(&irq_controller_lock);
>
> @@ -320,7 +322,7 @@
> BUILD_SMP_INTERRUPT(reschedule_interrupt)
> BUILD_SMP_INTERRUPT(invalidate_interrupt)
> BUILD_SMP_INTERRUPT(stop_cpu_interrupt)
> -BUILD_SMP_INTERRUPT(mtrr_interrupt)
> +BUILD_SMP_INTERRUPT(call_function_interrupt)
> BUILD_SMP_INTERRUPT(spurious_interrupt)
>
> /*
> @@ -747,7 +749,7 @@
> * hardware disable after having gotten the irq
> * controller lock.
> */
> -void disable_irq(unsigned int irq)
> +void disable_irq_nosync(unsigned int irq)
> {
> unsigned long flags;
>
> @@ -757,9 +759,21 @@
> irq_desc[irq].handler->disable(irq);
> }
> spin_unlock_irqrestore(&irq_controller_lock, flags);
> +}
> +
> +/*
> + * Synchronous version of the above, making sure the IRQ is
> + * no longer running on any other IRQ..
> + */
> +void disable_irq(unsigned int irq)
> +{
> + disable_irq_nosync(irq);
>
> - if (irq_desc[irq].status & IRQ_INPROGRESS)
> - synchronize_irq();
> + if (!local_irq_count[smp_processor_id()]) {
> + do {
> + barrier();
> + } while (irq_desc[irq].status & IRQ_INPROGRESS);
> + }
> }
>
> void enable_irq(unsigned int irq)
> @@ -769,7 +783,7 @@
> spin_lock_irqsave(&irq_controller_lock, flags);
> switch (irq_desc[irq].depth) {
> case 1:
> - irq_desc[irq].status &= ~(IRQ_DISABLED | IRQ_INPROGRESS);
> + irq_desc[irq].status &= ~IRQ_DISABLED;
> irq_desc[irq].handler->enable(irq);
> /* fall throught */
> default:
> @@ -864,7 +878,7 @@
>
> if (!shared) {
> irq_desc[irq].depth = 0;
> - irq_desc[irq].status &= ~(IRQ_DISABLED | IRQ_INPROGRESS);
> + irq_desc[irq].status &= ~IRQ_DISABLED;
> irq_desc[irq].handler->startup(irq);
> }
> spin_unlock_irqrestore(&irq_controller_lock,flags);
> @@ -936,7 +950,7 @@
> *
> * This depends on the fact that any interrupt that
> * comes in on to an unassigned handler will get stuck
> - * with "IRQ_INPROGRESS" asserted and the interrupt
> + * with "IRQ_WAITING" cleared and the interrupt
> * disabled.
> */
> unsigned long probe_irq_on(void)
> @@ -950,8 +964,7 @@
> spin_lock_irq(&irq_controller_lock);
> for (i = NR_IRQS-1; i > 0; i--) {
> if (!irq_desc[i].action) {
> - unsigned int status = irq_desc[i].status | IRQ_AUTODETECT;
> - irq_desc[i].status = status & ~IRQ_INPROGRESS;
> + irq_desc[i].status |= IRQ_AUTODETECT | IRQ_WAITING;
> irq_desc[i].handler->startup(i);
> }
> }
> @@ -974,7 +987,7 @@
> continue;
>
> /* It triggered already - consider it spurious. */
> - if (status & IRQ_INPROGRESS) {
> + if (!(status & IRQ_WAITING)) {
> irq_desc[i].status = status & ~IRQ_AUTODETECT;
> irq_desc[i].handler->shutdown(i);
> }
> @@ -1000,7 +1013,7 @@
> if (!(status & IRQ_AUTODETECT))
> continue;
>
> - if (status & IRQ_INPROGRESS) {
> + if (!(status & IRQ_WAITING)) {
> if (!nr_irqs)
> irq_found = i;
> nr_irqs++;
> @@ -1081,8 +1094,8 @@
> /* self generated IPI for local APIC timer */
> set_intr_gate(LOCAL_TIMER_VECTOR, apic_timer_interrupt);
>
> - /* IPI for MTRR control */
> - set_intr_gate(MTRR_CHANGE_VECTOR, mtrr_interrupt);
> + /* IPI for generic function call */
> + set_intr_gate(CALL_FUNCTION_VECTOR, call_function_interrupt);
>
> /* IPI vector for APIC spurious interrupts */
> set_intr_gate(SPURIOUS_APIC_VECTOR, spurious_interrupt);
>
>
> __________________________________________________________________
>
>
> #
> # Automatically generated make config: don't edit
> #
>
> #
> # Code maturity level options
> #
> CONFIG_EXPERIMENTAL=y
>
> #
> # Processor type and features
> #
> # CONFIG_M386 is not set
> # CONFIG_M486 is not set
> # CONFIG_M586 is not set
> # CONFIG_M586TSC is not set
> CONFIG_M686=y
> CONFIG_X86_WP_WORKS_OK=y
> CONFIG_X86_INVLPG=y
> CONFIG_X86_BSWAP=y
> CONFIG_X86_POPAD_OK=y
> CONFIG_X86_TSC=y
> CONFIG_X86_GOOD_APIC=y
> CONFIG_1GB=y
> # CONFIG_2GB is not set
> # CONFIG_MATH_EMULATION is not set
> CONFIG_MTRR=y
> CONFIG_SMP=y
>
> #
> # Loadable module support
> #
> CONFIG_MODULES=y
> CONFIG_MODVERSIONS=y
> CONFIG_KMOD=y
>
> #
> # General setup
> #
> CONFIG_NET=y
> CONFIG_PCI=y
> # CONFIG_PCI_GOBIOS is not set
> # CONFIG_PCI_GODIRECT is not set
> CONFIG_PCI_GOANY=y
> CONFIG_PCI_BIOS=y
> CONFIG_PCI_DIRECT=y
> CONFIG_PCI_QUIRKS=y
> # CONFIG_PCI_OPTIMIZE is not set
> CONFIG_PCI_OLD_PROC=y
> # CONFIG_MCA is not set
> # CONFIG_VISWS is not set
> CONFIG_X86_IO_APIC=y
> CONFIG_X86_LOCAL_APIC=y
> CONFIG_SYSVIPC=y
> CONFIG_BSD_PROCESS_ACCT=y
> CONFIG_SYSCTL=y
> CONFIG_BINFMT_AOUT=y
> CONFIG_BINFMT_ELF=y
> CONFIG_BINFMT_MISC=m
> # CONFIG_BINFMT_JAVA is not set
> CONFIG_PARPORT=m
> CONFIG_PARPORT_PC=m
> # CONFIG_PARPORT_OTHER is not set
> # CONFIG_APM is not set
>
> #
> # Plug and Play support
> #
> CONFIG_PNP=y
> CONFIG_PNP_PARPORT=m
>
> #
> # Block devices
> #
> CONFIG_BLK_DEV_FD=y
> CONFIG_BLK_DEV_IDE=y
>
> #
> # Please see Documentation/ide.txt for help/info on IDE drives
> #
> # CONFIG_BLK_DEV_HD_IDE is not set
> CONFIG_BLK_DEV_IDEDISK=m
> CONFIG_BLK_DEV_IDECD=m
> CONFIG_BLK_DEV_IDETAPE=m
> CONFIG_BLK_DEV_IDEFLOPPY=m
> CONFIG_BLK_DEV_IDESCSI=m
> # CONFIG_BLK_DEV_CMD640 is not set
> # CONFIG_BLK_DEV_RZ1000 is not set
> CONFIG_BLK_DEV_IDEPCI=y
> CONFIG_BLK_DEV_IDEDMA=y
> # CONFIG_BLK_DEV_OFFBOARD is not set
> # CONFIG_IDEDMA_AUTO is not set
> # CONFIG_BLK_DEV_OPTI621 is not set
> # CONFIG_BLK_DEV_TRM290 is not set
> # CONFIG_BLK_DEV_NS87415 is not set
> # CONFIG_BLK_DEV_VIA82C586 is not set
> # CONFIG_BLK_DEV_CMD646 is not set
> # CONFIG_IDE_CHIPSETS is not set
>
> #
> # Additional Block Devices
> #
> CONFIG_BLK_DEV_LOOP=m
> CONFIG_BLK_DEV_NBD=m
> CONFIG_BLK_DEV_MD=y
> CONFIG_MD_LINEAR=m
> CONFIG_MD_STRIPED=m
> CONFIG_MD_MIRRORING=m
> CONFIG_MD_RAID5=m
> CONFIG_BLK_DEV_RAM=y
> CONFIG_BLK_DEV_INITRD=y
> # CONFIG_BLK_DEV_XD is not set
> # CONFIG_BLK_DEV_DAC960 is not set
> CONFIG_PARIDE_PARPORT=m
> # CONFIG_PARIDE is not set
> # CONFIG_BLK_CPQ_DA is not set
> # CONFIG_BLK_DEV_HD is not set
>
> #
> # Networking options
> #
> CONFIG_PACKET=m
> CONFIG_NETLINK=y
> CONFIG_RTNETLINK=y
> CONFIG_NETLINK_DEV=m
> CONFIG_FIREWALL=y
> CONFIG_FILTER=y
> CONFIG_UNIX=y
> CONFIG_INET=y
> # CONFIG_IP_MULTICAST is not set
> # CONFIG_IP_ADVANCED_ROUTER is not set
> # CONFIG_IP_PNP is not set
> CONFIG_IP_FIREWALL=y
> # CONFIG_IP_FIREWALL_NETLINK is not set
> CONFIG_IP_ALWAYS_DEFRAG=y
> # CONFIG_IP_TRANSPARENT_PROXY is not set
> CONFIG_IP_MASQUERADE=y
>
> #
> # Protocol-specific masquerading support will be built as modules.
> #
> CONFIG_IP_MASQUERADE_ICMP=y
>
> #
> # Protocol-specific masquerading support will be built as modules.
> #
> # CONFIG_IP_MASQUERADE_MOD is not set
> # CONFIG_IP_ROUTER is not set
> CONFIG_NET_IPIP=m
> CONFIG_NET_IPGRE=m
> # CONFIG_IP_ALIAS is not set
> # CONFIG_ARPD is not set
> CONFIG_SYN_COOKIES=y
>
> #
> # (it is safe to leave these untouched)
> #
> CONFIG_INET_RARP=m
> CONFIG_SKB_LARGE=y
> CONFIG_IPV6=m
> # CONFIG_IPV6_EUI64 is not set
>
> #
> #
> #
> # CONFIG_IPX is not set
> # CONFIG_ATALK is not set
> # CONFIG_X25 is not set
> # CONFIG_LAPB is not set
> # CONFIG_BRIDGE is not set
> # CONFIG_LLC is not set
> # CONFIG_ECONET is not set
> # CONFIG_WAN_ROUTER is not set
> # CONFIG_NET_FASTROUTE is not set
> # CONFIG_NET_HW_FLOWCONTROL is not set
> # CONFIG_CPU_IS_SLOW is not set
>
> #
> # QoS and/or fair queueing
> #
> # CONFIG_NET_SCHED is not set
>
> #
> # SCSI support
> #
> CONFIG_SCSI=y
>
> #
> # SCSI support type (disk, tape, CD-ROM)
> #
> CONFIG_BLK_DEV_SD=y
> CONFIG_CHR_DEV_ST=m
> CONFIG_BLK_DEV_SR=m
> # CONFIG_BLK_DEV_SR_VENDOR is not set
> CONFIG_CHR_DEV_SG=m
>
> #
> # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
> #
> # CONFIG_SCSI_MULTI_LUN is not set
> CONFIG_SCSI_CONSTANTS=y
> # CONFIG_SCSI_LOGGING is not set
>
> #
> # SCSI low-level drivers
> #
> # CONFIG_SCSI_7000FASST is not set
> # CONFIG_SCSI_ACARD is not set
> # CONFIG_SCSI_AHA152X is not set
> # CONFIG_SCSI_AHA1542 is not set
> # CONFIG_SCSI_AHA1740 is not set
> # CONFIG_SCSI_AIC7XXX is not set
> # CONFIG_SCSI_ADVANSYS is not set
> # CONFIG_SCSI_IN2000 is not set
> # CONFIG_SCSI_AM53C974 is not set
> # CONFIG_SCSI_MEGARAID is not set
> # CONFIG_SCSI_BUSLOGIC is not set
> # CONFIG_SCSI_DTC3280 is not set
> # CONFIG_SCSI_EATA is not set
> # CONFIG_SCSI_EATA_DMA is not set
> # CONFIG_SCSI_EATA_PIO is not set
> CONFIG_SCSI_FUTURE_DOMAIN=m
> # CONFIG_SCSI_GDTH is not set
> # CONFIG_SCSI_GENERIC_NCR5380 is not set
> # CONFIG_SCSI_INITIO is not set
> # CONFIG_SCSI_INIA100 is not set
> # CONFIG_SCSI_PPA is not set
> # CONFIG_SCSI_IMM is not set
> # CONFIG_SCSI_NCR53C406A is not set
> # CONFIG_SCSI_SYM53C416 is not set
> # CONFIG_SCSI_NCR53C7xx is not set
> CONFIG_SCSI_NCR53C8XX=y
> CONFIG_SCSI_SYM53C8XX=y
> CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=4
> CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
> CONFIG_SCSI_NCR53C8XX_SYNC=40
> # CONFIG_SCSI_NCR53C8XX_PROFILE is not set
> # CONFIG_SCSI_NCR53C8XX_IOMAPPED is not set
> # CONFIG_SCSI_NCR53C8XX_PQS_PDS is not set
> CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT=y
> # CONFIG_SCSI_PAS16 is not set
> # CONFIG_SCSI_PCI2000 is not set
> # CONFIG_SCSI_PCI2220I is not set
> # CONFIG_SCSI_PSI240I is not set
> # CONFIG_SCSI_QLOGIC_FAS is not set
> # CONFIG_SCSI_QLOGIC_ISP is not set
> # CONFIG_SCSI_QLOGIC_FC is not set
> # CONFIG_SCSI_SEAGATE is not set
> # CONFIG_SCSI_DC390T is not set
> # CONFIG_SCSI_T128 is not set
> # CONFIG_SCSI_U14_34F is not set
> # CONFIG_SCSI_ULTRASTOR is not set
> # CONFIG_SCSI_DEBUG is not set
>
> #
> # Network device support
> #
> CONFIG_NETDEVICES=y
>
> #
> # ARCnet devices
> #
> # CONFIG_ARCNET is not set
> CONFIG_DUMMY=m
> CONFIG_EQUALIZER=m
> CONFIG_ETHERTAP=m
> # CONFIG_NET_SB1000 is not set
>
> #
> # Ethernet (10 or 100Mbit)
> #
> # CONFIG_NET_ETHERNET is not set
> # CONFIG_FDDI is not set
> # CONFIG_HIPPI is not set
> # CONFIG_PLIP is not set
> CONFIG_PPP=m
>
> #
> # CCP compressors for PPP are only built as modules.
> #
> CONFIG_SLIP=m
> CONFIG_SLIP_COMPRESSED=y
> # CONFIG_SLIP_SMART is not set
> # CONFIG_SLIP_MODE_SLIP6 is not set
> # CONFIG_NET_RADIO is not set
>
> #
> # Token ring devices
> #
> # CONFIG_TR is not set
> # CONFIG_NET_FC is not set
> # CONFIG_RCPCI is not set
> CONFIG_SHAPER=m
>
> #
> # Wan interfaces
> #
> # CONFIG_HOSTESS_SV11 is not set
> # CONFIG_COSA is not set
> # CONFIG_SEALEVEL_4021 is not set
> # CONFIG_DLCI is not set
>
> #
> # Amateur Radio support
> #
> # CONFIG_HAMRADIO is not set
>
> #
> # IrDA subsystem support
> #
> # CONFIG_IRDA is not set
>
> #
> # ISDN subsystem
> #
> # CONFIG_ISDN is not set
>
> #
> # Old CD-ROM drivers (not SCSI, not IDE)
> #
> # CONFIG_CD_NO_IDESCSI is not set
>
> #
> # Character devices
> #
> CONFIG_VT=y
> CONFIG_VT_CONSOLE=y
> CONFIG_SERIAL=m
> # CONFIG_SERIAL_EXTENDED is not set
> # CONFIG_SERIAL_NONSTANDARD is not set
> CONFIG_UNIX98_PTYS=y
> CONFIG_UNIX98_PTY_COUNT=256
> CONFIG_PRINTER=m
> # CONFIG_PRINTER_READBACK is not set
> # CONFIG_MOUSE is not set
> # CONFIG_QIC02_TAPE is not set
> # CONFIG_WATCHDOG is not set
> CONFIG_NVRAM=m
> CONFIG_RTC=y
>
> #
> # Video For Linux
> #
> # CONFIG_VIDEO_DEV is not set
>
> #
> # Joystick support
> #
> CONFIG_JOYSTICK=m
> CONFIG_JOY_ANALOG=m
> # CONFIG_JOY_ASSASIN is not set
> # CONFIG_JOY_GRAVIS is not set
> # CONFIG_JOY_LOGITECH is not set
> # CONFIG_JOY_SIDEWINDER is not set
> # CONFIG_JOY_THRUSTMASTER is not set
> # CONFIG_JOY_LIGHTNING is not set
> # CONFIG_JOY_CONSOLE is not set
> # CONFIG_JOY_DB9 is not set
> # CONFIG_JOY_TURBOGRAFX is not set
> # CONFIG_DTLK is not set
>
> #
> # Ftape, the floppy tape device driver
> #
> # CONFIG_FTAPE is not set
>
> #
> # Filesystems
> #
> # CONFIG_QUOTA is not set
> CONFIG_AUTOFS_FS=m
> # CONFIG_ADFS_FS is not set
> # CONFIG_AFFS_FS is not set
> # CONFIG_HFS_FS is not set
> CONFIG_FAT_FS=m
> CONFIG_MSDOS_FS=m
> # CONFIG_UMSDOS_FS is not set
> CONFIG_VFAT_FS=m
> CONFIG_ISO9660_FS=y
> CONFIG_JOLIET=y
> CONFIG_MINIX_FS=m
> # CONFIG_NTFS_FS is not set
> # CONFIG_HPFS_FS is not set
> CONFIG_PROC_FS=y
> CONFIG_DEVPTS_FS=y
> # CONFIG_QNX4FS_FS is not set
> # CONFIG_ROMFS_FS is not set
> CONFIG_EXT2_FS=y
> # CONFIG_SYSV_FS is not set
> # CONFIG_UFS_FS is not set
> # CONFIG_EFS_FS is not set
>
> #
> # Network File Systems
> #
> # CONFIG_CODA_FS is not set
> CONFIG_NFS_FS=m
> CONFIG_NFSD=m
> # CONFIG_NFSD_SUN is not set
> CONFIG_SUNRPC=m
> CONFIG_LOCKD=m
> # CONFIG_SMB_FS is not set
> # CONFIG_NCP_FS is not set
>
> #
> # Partition Types
> #
> # CONFIG_BSD_DISKLABEL is not set
> # CONFIG_MAC_PARTITION is not set
> # CONFIG_SMD_DISKLABEL is not set
> # CONFIG_SOLARIS_X86_PARTITION is not set
> # CONFIG_UNIXWARE_DISKLABEL is not set
> CONFIG_NLS=y
>
> #
> # Native Language Support
> #
> CONFIG_NLS_CODEPAGE_437=m
> # CONFIG_NLS_CODEPAGE_737 is not set
> # CONFIG_NLS_CODEPAGE_775 is not set
> CONFIG_NLS_CODEPAGE_850=m
> # CONFIG_NLS_CODEPAGE_852 is not set
> # CONFIG_NLS_CODEPAGE_855 is not set
> # CONFIG_NLS_CODEPAGE_857 is not set
> # CONFIG_NLS_CODEPAGE_860 is not set
> # CONFIG_NLS_CODEPAGE_861 is not set
> # CONFIG_NLS_CODEPAGE_862 is not set
> # CONFIG_NLS_CODEPAGE_863 is not set
> # CONFIG_NLS_CODEPAGE_864 is not set
> # CONFIG_NLS_CODEPAGE_865 is not set
> # CONFIG_NLS_CODEPAGE_866 is not set
> # CONFIG_NLS_CODEPAGE_869 is not set
> # CONFIG_NLS_CODEPAGE_874 is not set
> CONFIG_NLS_ISO8859_1=m
> # CONFIG_NLS_ISO8859_2 is not set
> # CONFIG_NLS_ISO8859_3 is not set
> # CONFIG_NLS_ISO8859_4 is not set
> # CONFIG_NLS_ISO8859_5 is not set
> # CONFIG_NLS_ISO8859_6 is not set
> # CONFIG_NLS_ISO8859_7 is not set
> # CONFIG_NLS_ISO8859_8 is not set
> # CONFIG_NLS_ISO8859_9 is not set
> # CONFIG_NLS_ISO8859_14 is not set
> CONFIG_NLS_ISO8859_15=m
> # CONFIG_NLS_KOI8_R is not set
>
> #
> # Console drivers
> #
> CONFIG_VGA_CONSOLE=y
> CONFIG_VIDEO_SELECT=y
> # CONFIG_MDA_CONSOLE is not set
> CONFIG_FB=y
> CONFIG_DUMMY_CONSOLE=y
> # CONFIG_FB_PM2 is not set
> CONFIG_FB_VESA=y
> # CONFIG_FB_VGA16 is not set
> CONFIG_VIDEO_SELECT=y
> CONFIG_FB_MATROX=m
> CONFIG_FB_MATROX_MILLENIUM=y
> # CONFIG_FB_MATROX_MYSTIQUE is not set
> # CONFIG_FB_MATROX_G100 is not set
> # CONFIG_FB_MATROX_MULTIHEAD is not set
> # CONFIG_FB_ATY is not set
> # CONFIG_FB_VIRTUAL is not set
> # CONFIG_FBCON_ADVANCED is not set
> CONFIG_FBCON_CFB8=y
> CONFIG_FBCON_CFB16=y
> CONFIG_FBCON_CFB24=y
> CONFIG_FBCON_CFB32=y
> # CONFIG_FBCON_FONTWIDTH8_ONLY is not set
> # CONFIG_FBCON_FONTS is not set
> CONFIG_FONT_8x8=y
> CONFIG_FONT_8x16=y
>
> #
> # Sound
> #
> CONFIG_SOUND=m
> # CONFIG_SOUND_ES1370 is not set
> # CONFIG_SOUND_ES1371 is not set
> # CONFIG_SOUND_ESSSOLO1 is not set
> # CONFIG_SOUND_SONICVIBES is not set
> # CONFIG_SOUND_MSNDCLAS is not set
> # CONFIG_SOUND_MSNDPIN is not set
> CONFIG_SOUND_OSS=m
> # CONFIG_SOUND_PAS is not set
> # CONFIG_SOUND_SB is not set
> CONFIG_SOUND_ADLIB=m
> # CONFIG_SOUND_GUS is not set
> # CONFIG_SOUND_MPU401 is not set
> # CONFIG_SOUND_PSS is not set
> # CONFIG_SOUND_MSS is not set
> # CONFIG_SOUND_SSCAPE is not set
> # CONFIG_SOUND_TRIX is not set
> # CONFIG_SOUND_MAD16 is not set
> # CONFIG_SOUND_WAVEFRONT is not set
> # CONFIG_SOUND_CS4232 is not set
> CONFIG_SOUND_OPL3SA2=m
> # CONFIG_SOUND_MAUI is not set
> # CONFIG_SOUND_SGALAXY is not set
> # CONFIG_SOUND_AD1816 is not set
> # CONFIG_SOUND_OPL3SA1 is not set
> # CONFIG_SOUND_SOFTOSS is not set
> # CONFIG_SOUND_YM3812 is not set
> # CONFIG_SOUND_VMIDI is not set
> # CONFIG_SOUND_UART6850 is not set
>
> #
> # Additional low level sound drivers
> #
> # CONFIG_LOWLEVEL_SOUND is not set
>
> #
> # Kernel hacking
> #
> CONFIG_MAGIC_SYSRQ=y
> CONFIG_KERNEL_DEBUGGING=y
> CONFIG_SEMAPHORE_DEADLOCK=y
> # CONFIG_DEBUG_KSTACK is not set
> # CONFIG_KSTACK_METER is not set
> # CONFIG_DEBUG_SOFTLOCKUP is not set
> # CONFIG_PROFILE_GCC is not set
> # CONFIG_TRACE is not set
> # CONFIG_DEBUG_MCOUNT is not set
> # CONFIG_PRINT_EIP is not set
> # CONFIG_MEMLEAK is not set
> CONFIG_NMI_WATCHDOG=y
> CONFIG_NMI_WATCHDOG_IRQ=0
> CONFIG_KDB=y
> CONFIG_KDB_FRAMEPTR=y
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.rutgers.edu
> Please read the FAQ at http://www.tux.org/lkml/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/