All of lore.kernel.org
 help / color / mirror / Atom feed
* test
From: walairat kladmuk @ 2002-09-22  9:38 UTC (permalink / raw)
  To: linux-kernel; +Cc: dominicscaife



test

_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


^ permalink raw reply

* Compile error in 2.5.38-mm1
From: Grega Fajdiga @ 2002-09-22  9:33 UTC (permalink / raw)
  To: linux-kernel

Good day,

I get this compile error when trying to compile 2.5.38-mm1
(this error is probably present in the vanilla also):arch/i386/kernel/built-in.o: In function `disconnect_bsp_APIC':
arch/i386/kernel/built-in.o(.text+0xb892): undefined reference to `pic_mode'
arch/i386/kernel/built-in.o: In function `clear_IO_APIC':
arch/i386/kernel/built-in.o(.text+0xc623): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text+0xc664): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o: In function `IO_APIC_get_PCI_irq_vector':
arch/i386/kernel/built-in.o(.text+0xc746): undefined reference to `mp_bus_id_to_pci_bus'
arch/i386/kernel/built-in.o(.text+0xc77a): undefined reference to `mp_irq_entries'
arch/i386/kernel/built-in.o(.text+0xc793): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text+0xc79b): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text+0xc7a9): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text+0xc7af): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text+0xc7bc): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text+0xc7dd): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text+0xc7ed): undefined reference to `mp_bus_id_to_type'
arch/i386/kernel/built-in.o(.text+0xc7f9): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text+0xc854): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text+0xc86d): undefined reference to `mp_irq_entries'
arch/i386/kernel/built-in.o(.text+0xc882): undefined reference to `mp_irq_entries'
arch/i386/kernel/built-in.o: In function `pin_2_irq':
arch/i386/kernel/built-in.o(.text+0xc8b2): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text+0xc8e8): undefined reference to `mp_bus_id_to_type'
arch/i386/kernel/built-in.o(.text+0xc909): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o: In function `io_apic_set_pci_routing':
arch/i386/kernel/built-in.o(.text+0xcfe5): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o: In function `setup_memory':
arch/i386/kernel/built-in.o(.text.init+0xf79): undefined reference to `find_smp_config'
arch/i386/kernel/built-in.o: In function `setup_arch':
arch/i386/kernel/built-in.o(.text.init+0x128b): undefined reference to `smp_found_config'
arch/i386/kernel/built-in.o(.text.init+0x1294): undefined reference to `get_smp_config'
arch/i386/kernel/built-in.o: In function `acpi_parse_lapic':
arch/i386/kernel/built-in.o(.text.init+0x41d2): undefined reference to `mp_register_lapic'
arch/i386/kernel/built-in.o: In function `acpi_parse_ioapic':
arch/i386/kernel/built-in.o(.text.init+0x4262): undefined reference to `mp_register_ioapic'
arch/i386/kernel/built-in.o: In function `acpi_parse_int_src_ovr':
arch/i386/kernel/built-in.o(.text.init+0x42a3): undefined reference to `mp_override_legacy_irq'
arch/i386/kernel/built-in.o: In function `acpi_boot_init':
arch/i386/kernel/built-in.o(.text.init+0x442e): undefined reference to `mp_register_lapic_address'
arch/i386/kernel/built-in.o(.text.init+0x44c3): undefined reference to `mp_config_acpi_legacy_irqs'
arch/i386/kernel/built-in.o(.text.init+0x452b): undefined reference to `smp_found_config'
arch/i386/kernel/built-in.o: In function `connect_bsp_APIC':
arch/i386/kernel/built-in.o(.text.init+0x4582): undefined reference to `pic_mode'
arch/i386/kernel/built-in.o: In function `init_bsp_APIC':
arch/i386/kernel/built-in.o(.text.init+0x4653): undefined reference to `smp_found_config'
arch/i386/kernel/built-in.o: In function `setup_local_APIC':
arch/i386/kernel/built-in.o(.text.init+0x46c9): undefined reference to `phys_cpu_present_map'
arch/i386/kernel/built-in.o(.text.init+0x46e2): undefined reference to `pic_mode'
arch/i386/kernel/built-in.o: In function `detect_init_APIC':
arch/i386/kernel/built-in.o(.text.init+0x494d): undefined reference to `mp_lapic_addr'
arch/i386/kernel/built-in.o(.text.init+0x4955): undefined reference to `boot_cpu_physical_apicid'
arch/i386/kernel/built-in.o: In function `init_apic_mappings':
arch/i386/kernel/built-in.o(.text.init+0x49a4): undefined reference to `smp_found_config'
arch/i386/kernel/built-in.o(.text.init+0x49d8): undefined reference to `mp_lapic_addr'
arch/i386/kernel/built-in.o(.text.init+0x49f2): undefined reference to `boot_cpu_physical_apicid'
arch/i386/kernel/built-in.o(.text.init+0x4a05): undefined reference to `boot_cpu_physical_apicid'
arch/i386/kernel/built-in.o(.text.init+0x4a12): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x4a22): undefined reference to `smp_found_config'
arch/i386/kernel/built-in.o(.text.init+0x4a2d): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x4a69): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o: In function `APIC_init_uniprocessor':
arch/i386/kernel/built-in.o(.text.init+0x4c92): undefined reference to `smp_found_config'
arch/i386/kernel/built-in.o(.text.init+0x4cbd): undefined reference to `boot_cpu_physical_apicid'
arch/i386/kernel/built-in.o(.text.init+0x4cc4): undefined reference to `apic_version'
arch/i386/kernel/built-in.o(.text.init+0x4ceb): undefined reference to `boot_cpu_physical_apicid'
arch/i386/kernel/built-in.o(.text.init+0x4cf6): undefined reference to `phys_cpu_present_map'
arch/i386/kernel/built-in.o(.text.init+0x4d18): undefined reference to `smp_found_config'
arch/i386/kernel/built-in.o(.text.init+0x4d2c): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o: In function `find_irq_entry':
arch/i386/kernel/built-in.o(.text.init+0x5013): undefined reference to `mp_irq_entries'
arch/i386/kernel/built-in.o(.text.init+0x502b): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5043): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x504e): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x505f): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o: In function `find_isa_irq_pin':
arch/i386/kernel/built-in.o(.text.init+0x5092): undefined reference to `mp_irq_entries'
arch/i386/kernel/built-in.o(.text.init+0x50a4): undefined reference to `mp_bus_id_to_type'
arch/i386/kernel/built-in.o(.text.init+0x50b3): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x50ca): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x50d5): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x50e2): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o: In function `MPBIOS_polarity':
arch/i386/kernel/built-in.o(.text.init+0x514c): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5153): more undefined references to `mp_irqs' follow
arch/i386/kernel/built-in.o: In function `MPBIOS_polarity':
arch/i386/kernel/built-in.o(.text.init+0x5184): undefined reference to `mp_bus_id_to_type'
arch/i386/kernel/built-in.o: In function `MPBIOS_trigger':
arch/i386/kernel/built-in.o(.text.init+0x51d2): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x51e7): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5224): undefined reference to `mp_bus_id_to_type'
arch/i386/kernel/built-in.o: In function `setup_IO_APIC_irqs':
arch/i386/kernel/built-in.o(.text.init+0x531a): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x53d4): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5400): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x54f5): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5541): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5610): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o: In function `print_IO_APIC':
arch/i386/kernel/built-in.o(.text.init+0x571b): undefined reference to `mp_irq_entries'
arch/i386/kernel/built-in.o(.text.init+0x572d): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5735): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x575e): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x577d): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5831): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5aba): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o: In function `enable_IO_APIC':
arch/i386/kernel/built-in.o(.text.init+0x5bb0): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5c1a): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o: In function `setup_ioapic_ids_from_mpc':
arch/i386/kernel/built-in.o(.text.init+0x5c3e): undefined reference to `phys_cpu_present_map'
arch/i386/kernel/built-in.o(.text.init+0x5c5a): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5cbf): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5d90): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5dc0): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5dc7): undefined reference to `mp_irq_entries'
arch/i386/kernel/built-in.o(.text.init+0x5dd9): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5de7): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5df4): undefined reference to `mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5e0a): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5e24): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5ea8): undefined reference to `mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5ee2): undefined reference to `nr_ioapics'
arch/i386/kernel/built-in.o: In function `io_apic_get_unique_id':
arch/i386/kernel/built-in.o(.text.init+0x6408): undefined reference to `phys_cpu_present_map'
drivers/built-in.o: In function `quirk_via_ioapic':
drivers/built-in.o(.text.init+0xe03): undefined reference to `nr_ioapics'
drivers/built-in.o: In function `acpi_bus_init':
drivers/built-in.o(.text.init+0x1ed3): undefined reference to `mp_config_ioapic_for_sci'
drivers/built-in.o: In function `acpi_pci_irq_init':
drivers/built-in.o(.text.init+0x239f): undefined reference to `mp_parse_prt'
arch/i386/pci/built-in.o: In function `pirq_enable_irq':
arch/i386/pci/built-in.o(.text+0x1510): undefined reference to `mp_irq_entries'
arch/i386/pci/built-in.o: In function `pcibios_irq_init':
arch/i386/pci/built-in.o(.text.init+0x105a): undefined reference to `mp_irq_entries'
arch/i386/pci/built-in.o: In function `pcibios_fixup_irqs':
arch/i386/pci/built-in.o(.text.init+0x1122): undefined reference to `mp_irq_entries'
make: *** [vmlinux] Error 1

My .config:
#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_X86=y
CONFIG_ISA=y
# CONFIG_SBUS is not set
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# General setup
#
CONFIG_NET=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=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_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMIII is not set
CONFIG_MPENTIUM4=y
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MELAN is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_SMP is not set
CONFIG_PREEMPT=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
CONFIG_X86_MCE_P4THERMAL=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_HAVE_DEC_LOCK=y

#
# Power management options (ACPI, APM)
#

#
# ACPI Support
#
CONFIG_ACPI=y
# CONFIG_ACPI_HT_ONLY is not set
CONFIG_ACPI_BOOT=y
# CONFIG_ACPI_SLEEP is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_BUS=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
CONFIG_PM=y
# CONFIG_APM is not set

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
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_NAMES=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_HOTPLUG is not set
# CONFIG_PCMCIA is not set
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats
#
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_PC_CML1=y
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_AMIGA is not set
# CONFIG_PARPORT_MFC3 is not set
# CONFIG_PARPORT_ATARI is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_SUNBPP is not set
# CONFIG_PARPORT_OTHER is not set
# CONFIG_PARPORT_1284 is not set

#
# Plug and Play configuration
#
CONFIG_PNP=y
CONFIG_ISAPNP=y
CONFIG_PNPBIOS=y

#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_CISS_SCSI_TAPE is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set

#
# ATA/ATAPI/MFM/RLL device support
#
CONFIG_IDE=y

#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDEDISK_STROKE is not set
# CONFIG_BLK_DEV_IDECS is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
CONFIG_IDE_TASK_IOCTL=y
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_ISAPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
# CONFIG_BLK_DEV_GENERIC is not set
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_WDC_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_AMD74XX_OVERRIDE is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_HPT34X_AUTODMA is not set
# CONFIG_BLK_DEV_HPT366 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NFORCE is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_PDC202XX_BURST is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_PDC202XX_FORCE is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_IDEDMA_IVB is not set
# CONFIG_DMA_NONPCI is not set
CONFIG_BLK_DEV_IDE_MODES=y

#
# SCSI device support
#
# CONFIG_SCSI is not set

#
# Old non-SCSI/ATAPI CD-ROM drives
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_LVM is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_BOOT is not set
# CONFIG_FUSION_ISENSE is not set
# CONFIG_FUSION_CTL is not set
# CONFIG_FUSION_LAN is not set

#
# IEEE 1394 (FireWire) support (EXPERIMENTAL)
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set
# CONFIG_NETFILTER is not set
# CONFIG_FILTER is not set
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_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_IPV6 is not set

#
#    SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_DEV_APPLETALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT 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

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set

#
# Network device support
#
CONFIG_NETDEVICES=y

#
# ARCnet devices
#
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
# CONFIG_NET_SB1000 is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_SUNLANCE is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_CS89x0 is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_LNE390 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
CONFIG_NE2K_PCI=m
# CONFIG_NE3210 is not set
# CONFIG_ES3210 is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_SUNDANCE_MMIO is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_RHINE_MMIO is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_E1000_NAPI is not set
# CONFIG_MYRI_SBUS is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set

#
# Wireless LAN (non-hamradio)
#
# 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 is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set

#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set

#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set

#
# ISDN subsystem
#
# CONFIG_ISDN_BOOL is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set
# CONFIG_PHONE_IXJ is not set
# CONFIG_PHONE_IXJ_PCMCIA is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_VORTEX is not set
# CONFIG_GAMEPORT_FM801 is not set
# CONFIG_GAMEPORT_CS461x is not set
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDDLER is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_INPUT_JOYDUMP is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
# CONFIG_INPUT_UINPUT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_CONSOLE is not set
# CONFIG_SERIAL_8250_CS is not set
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_MANY_PORTS is not set
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_RSA is not set
CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
CONFIG_PRINTER=y
# CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set

#
# I2C support
#
# CONFIG_I2C is not set

#
# Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_QIC02_TAPE is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_INTEL_RNG is not set
# CONFIG_NVRAM is not set
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_I810=y
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# File systems
#
# CONFIG_QUOTA is not set
# CONFIG_QFMT_V1 is not set
# CONFIG_QFMT_V2 is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y
# CONFIG_REISERFS_FS is not set
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BFS_FS is not set
CONFIG_EXT3_FS=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_EXT3_INDEX=y
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
# CONFIG_CRAMFS is not set
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
# CONFIG_ZISOFS is not set
# CONFIG_JFS_FS is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_XFS_FS is not set
# CONFIG_XFS_RT is not set
# CONFIG_XFS_QUOTA is not set

#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
# CONFIG_NFS_FS is not set
# CONFIG_NFS_V3 is not set
# CONFIG_ROOT_NFS is not set
# CONFIG_NFSD is not set
# CONFIG_NFSD_V3 is not set
# CONFIG_NFSD_TCP is not set
# CONFIG_SUNRPC is not set
# CONFIG_LOCKD is not set
# CONFIG_EXPORTFS is not set
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_ZISOFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_SMB_NLS is not set
CONFIG_NLS=y

#
# Native Language Support
#
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
# 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_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
CONFIG_NLS_CODEPAGE_1250=y
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
# 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_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m

#
# Console drivers
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VIDEO_SELECT is not set
# CONFIG_MDA_CONSOLE is not set

#
# Frame-buffer support
#
# CONFIG_FB is not set

#
# Sound
#
CONFIG_SOUND=y

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
# CONFIG_SND_DEBUG_MEMORY is not set
# CONFIG_SND_DEBUG_DETECT is not set

#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set

#
# ISA devices
#
# CONFIG_SND_AD1816A is not set
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES968 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_INTERWAVE is not set
# CONFIG_SND_INTERWAVE_STB is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_WAVEFRONT is not set
# CONFIG_SND_ALS100 is not set
# CONFIG_SND_AZT2320 is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_DT0197H is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_SGALAXY is not set

#
# PCI devices
#
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
CONFIG_SND_EMU10K1=m
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA686 is not set
# CONFIG_SND_VIA8233 is not set

#
# USB support
#
# CONFIG_USB is not set

#
# Bluetooth support
#
# CONFIG_BLUEZ is not set

#
# Kernel hacking
#
# CONFIG_SOFTWARE_SUSPEND is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_IOVIRT is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
CONFIG_X86_EXTRA_IRQS=y
CONFIG_X86_FIND_SMP_CONFIG=y

#
# Security options
#
CONFIG_SECURITY_CAPABILITIES=y

#
# Library routines
#
# CONFIG_CRC32 is not set
# CONFIG_ZLIB_INFLATE is not set
# CONFIG_ZLIB_DEFLATE is not set
CONFIG_X86_BIOS_REBOOT=y


ver_linux output:
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
 
Linux mujo 2.4.19 #2 sre sep 11 12:49:07 CEST 2002 i686 unknown
 
Gnu C                  2.96
Gnu make               3.79.1
util-linux             2.11n
mount                  2.11n
modutils               2.4.14
e2fsprogs              1.27
reiserfsprogs          3.x.0j
Linux C Library        2.2.5
Dynamic linker (ldd)   2.2.5
Linux C++ Library      5.0.0
Procps                 2.0.7
Net-tools              1.60
Console-tools          0.3.3
Sh-utils               2.0.11
Modules Loaded         ne2k-pci 8390 nls_utf8 ntfs

If you need any other info, please ask.

Best Regards,
Grega Fajdiga



^ permalink raw reply

* Re: UML error message clone failed/new thread failed
From: Martin Hermanowski @ 2002-09-22  9:30 UTC (permalink / raw)
  To: Jeff Dike; +Cc: linux-kernel
In-Reply-To: <200209211845.g8LIjhC04844@karaya.com>

[-- Attachment #1: Type: text/plain, Size: 472 bytes --]

On Sat, Sep 21, 2002 at 02:45:42PM -0400, Jeff Dike wrote:
> martin@martin.mh57.net said:
>>  No new processes could be started in the uml, but why?
>> Is this a problem with the process limits of the host linux? 
> 
> Host and UML versions?

The host is running a vanilla 2.4.17, the UML is the one in Debian Woody
(2.4.18.17um-1). I had this errors only once, and I suspect that
something on the host went wrong, but the logs show nothing.

Regards,
Martin

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply

* [PATCH] 8/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:42 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

--- vanilla-2.5.36/sound/oss/gus_wave.c	2002-08-10 00:04:14.000000000 
+0200
+++ linux-2.5-cli-oss/sound/oss/gus_wave.c	2002-08-16 
14:34:30.000000000 +0200
@@ -19,6 +19,7 @@

  #include <linux/init.h>
  #include <linux/config.h>
+#include <linux/spinlock.h>

  #define GUSPNP_AUTODETECT

@@ -138,6 +139,7 @@
  static unsigned long pcm_current_buf;
  static int      pcm_current_count;
  static int      pcm_current_intrflag;
+static spinlock_t lock=SPIN_LOCK_UNLOCKED;

  extern int     *gus_osp;

@@ -226,8 +228,6 @@
  {				/* Writes a byte to the DRAM */
  	unsigned long   flags;

-	save_flags(flags);
-	cli();
  	outb((0x43), u_Command);
  	outb((addr & 0xff), u_DataLo);
  	outb(((addr >> 8) & 0xff), u_DataHi);
@@ -235,16 +235,12 @@
  	outb((0x44), u_Command);
  	outb(((addr >> 16) & 0xff), u_DataHi);
  	outb((data), u_DRAMIO);
-	restore_flags(flags);
  }

  static unsigned char gus_peek(long addr)
  {				/* Reads a byte from the DRAM */
-	unsigned long   flags;
  	unsigned char   tmp;

-	save_flags(flags);
-	cli();
  	outb((0x43), u_Command);
  	outb((addr & 0xff), u_DataLo);
  	outb(((addr >> 8) & 0xff), u_DataHi);
@@ -252,35 +248,23 @@
  	outb((0x44), u_Command);
  	outb(((addr >> 16) & 0xff), u_DataHi);
  	tmp = inb(u_DRAMIO);
-	restore_flags(flags);

  	return tmp;
  }

  void gus_write8(int reg, unsigned int data)
  {				/* Writes to an indirect register (8 bit) */
-	unsigned long   flags;
-
-	save_flags(flags);
-	cli();
-
  	outb((reg), u_Command);
  	outb(((unsigned char) (data & 0xff)), u_DataHi);
-
-	restore_flags(flags);
  }

  static unsigned char gus_read8(int reg)
  {				
  	/* Reads from an indirect register (8 bit). Offset 0x80. */
-	unsigned long   flags;
  	unsigned char   val;

-	save_flags(flags);
-	cli();
  	outb((reg | 0x80), u_Command);
  	val = inb(u_DataHi);
-	restore_flags(flags);

  	return val;
  }
@@ -288,14 +272,10 @@
  static unsigned char gus_look8(int reg)
  {
  	/* Reads from an indirect register (8 bit). No additional offset. */
-	unsigned long   flags;
  	unsigned char   val;

-	save_flags(flags);
-	cli();
  	outb((reg), u_Command);
  	val = inb(u_DataHi);
-	restore_flags(flags);

  	return val;
  }
@@ -303,54 +283,35 @@
  static void gus_write16(int reg, unsigned int data)
  {
  	/* Writes to an indirect register (16 bit) */
-	unsigned long   flags;
-
-	save_flags(flags);
-	cli();
-
  	outb((reg), u_Command);

  	outb(((unsigned char) (data & 0xff)), u_DataLo);
  	outb(((unsigned char) ((data >> 8) & 0xff)), u_DataHi);
-
-	restore_flags(flags);
  }

  static unsigned short gus_read16(int reg)
  {
  	/* Reads from an indirect register (16 bit). Offset 0x80. */
-	unsigned long   flags;
  	unsigned char   hi, lo;

-	save_flags(flags);
-	cli();
-
  	outb((reg | 0x80), u_Command);

  	lo = inb(u_DataLo);
  	hi = inb(u_DataHi);

-	restore_flags(flags);
-
  	return ((hi << 8) & 0xff00) | lo;
  }

  static unsigned short gus_look16(int reg)
  {		
  	/* Reads from an indirect register (16 bit). No additional offset. */
-	unsigned long   flags;
  	unsigned char   hi, lo;

-	save_flags(flags);
-	cli();
-
  	outb((reg), u_Command);

  	lo = inb(u_DataLo);
  	hi = inb(u_DataHi);

-	restore_flags(flags);
-
  	return ((hi << 8) & 0xff00) | lo;
  }

@@ -358,10 +319,7 @@
  {
  	/* Writes an 24 bit memory address */
  	unsigned long   hold_address;
-	unsigned long   flags;

-	save_flags(flags);
-	cli();
  	if (is16bit)
  	{
  		if (iw_mode)
@@ -389,7 +347,6 @@
  	gus_write16(reg, (unsigned short) ((address >> 7) & 0xffff));
  	gus_write16(reg + 1, (unsigned short) ((address << 9) & 0xffff)
  		    + (frac << 5));
-	restore_flags(flags);
  }

  static void gus_select_voice(int voice)
@@ -514,8 +471,7 @@
  {
  	unsigned long   flags;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	gus_select_voice(voice);
  	gus_voice_volume(0);
  	gus_voice_off();
@@ -524,7 +480,7 @@
  	gus_write8(0x0d, 0x03);	/* Ramping off */
  	voice_alloc->map[voice] = 0;
  	voice_alloc->alloc_times[voice] = 0;
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);

  }

@@ -558,11 +514,10 @@

  	if (voices[voice].mode & WAVE_SUSTAIN_ON && 
voices[voice].env_phase == 2)
  	{
-		save_flags(flags);
-		cli();
+		spin_lock_irqsave(&lock,flags);
  		gus_select_voice(voice);
  		gus_rampoff();
-		restore_flags(flags);
+		spin_unlock_irqrestore(&lock,flags);
  		return;
  		/*
  		 * Sustain phase begins. Continue envelope after receiving note off.
@@ -580,8 +535,7 @@
  	vol = voices[voice].initial_volume * 
voices[voice].env_offset[phase] / 255;
  	rate = voices[voice].env_rate[phase];

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	gus_select_voice(voice);

  	gus_voice_volume(prev_vol);
@@ -593,7 +547,7 @@

  	if (((vol - prev_vol) / 64) == 0)	/* No significant volume change */
  	{
-		restore_flags(flags);
+		spin_unlock_irqrestore(&lock,flags);
  		step_envelope(voice);		/* Continue the envelope on the next step */
  		return;
  	}
@@ -612,7 +566,7 @@
  		gus_rampon(0x60);	/* Decreasing volume, with IRQ */
  	}
  	voices[voice].current_volume = vol;
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  }

  static void init_envelope(int voice)
@@ -623,7 +577,7 @@
  	step_envelope(voice);
  }

-static void start_release(int voice, long int flags)
+static void start_release(int voice)
  {
  	if (gus_read8(0x00) & 0x03)
  		return;		/* Voice already stopped */
@@ -635,7 +589,6 @@

  	voices[voice].mode &= ~WAVE_SUSTAIN_ON;
  	gus_rampoff();
-	restore_flags(flags);
  	step_envelope(voice);
  }

@@ -644,23 +597,22 @@
  	int instr_no = sample_map[voice], is16bits;
  	long int flags;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	gus_select_voice(voice);

  	if (instr_no < 0 || instr_no > MAX_SAMPLE)
  	{
  		gus_write8(0x00, 0x03);	/* Hard stop */
  		voice_alloc->map[voice] = 0;
-		restore_flags(flags);
+		spin_unlock_irqrestore(&lock,flags);
  		return;
  	}
  	is16bits = (samples[instr_no].mode & WAVE_16_BITS) ? 1 : 0;	/* 8 or 16 bits 
*/

  	if (voices[voice].mode & WAVE_ENVELOPES)
  	{
-		start_release(voice, flags);
-		restore_flags(flags);
+		start_release(voice);
+		spin_unlock_irqrestore(&lock,flags);
  		return;
  	}
  	/*
@@ -671,14 +623,14 @@
  		gus_voice_off();
  		gus_rampoff();
  		gus_voice_init(voice);
-		restore_flags(flags);
+		spin_unlock_irqrestore(&lock,flags);
  		return;
  	}
  	gus_ramp_range(65, 4030);
  	gus_ramp_rate(2, 4);
  	gus_rampon(0x40 | 0x20);	/* Down, once, with IRQ */
  	voices[voice].volume_irq_mode = VMODE_HALT;
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  }

  static void gus_reset(void)
@@ -710,8 +662,7 @@
  		0, 1, 0, 2, 0, 3, 4, 5
  	};

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	gus_write8(0x4c, 0);	/* Reset GF1 */
  	gus_delay();
  	gus_delay();
@@ -850,7 +801,7 @@

  	if (iw_mode)
  		gus_write8(0x19, gus_read8(0x19) | 0x01);
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  }


@@ -1159,17 +1110,16 @@
  {
  	unsigned long flags;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	/* voice_alloc->map[voice] = 0xffff; */
  	if (voices[voice].volume_irq_mode == VMODE_START_NOTE)
  	{
  		voices[voice].kill_pending = 1;
-		restore_flags(flags);
+		spin_unlock_irqrestore(&lock,flags);
  	}
  	else
  	{
-		restore_flags(flags);
+		spin_unlock_irqrestore(&lock,flags);
  		gus_voice_fade(voice);
  	}

@@ -1227,8 +1177,7 @@
  	compute_volume(voice, volume);
  	voices[voice].current_volume = voices[voice].initial_volume;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	/*
  	 * CAUTION! Interrupts disabled. Enable them before returning
  	 */
@@ -1242,7 +1191,7 @@
  	{
  		gus_rampoff();
  		gus_voice_volume(target);
-		restore_flags(flags);
+		spin_unlock_irqrestore(&lock,flags);
  		return;
  	}
  	if (ramp_time == FAST_RAMP)
@@ -1255,7 +1204,7 @@
  	{
  		gus_rampoff();
  		gus_voice_volume(target);
-		restore_flags(flags);
+		spin_unlock_irqrestore(&lock,flags);
  		return;
  	}
  	if (target > curr)
@@ -1273,7 +1222,7 @@
  		gus_ramp_range(target, curr);
  		gus_rampon(0x40);	/* Ramp down, once, no irq */
  	}
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  }

  static void dynamic_volume_change(int voice)
@@ -1281,11 +1230,10 @@
  	unsigned char status;
  	unsigned long flags;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	gus_select_voice(voice);
  	status = gus_read8(0x00);	/* Get voice status */
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);

  	if (status & 0x03)
  		return;		/* Voice was not running */
@@ -1300,11 +1248,10 @@
  	 * Voice is running and has envelopes.
  	 */

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	gus_select_voice(voice);
  	status = gus_read8(0x0d);	/* Ramping status */
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);

  	if (status & 0x03)	/* Sustain phase? */
  	{
@@ -1336,11 +1283,10 @@
  				freq = compute_finetune(voices[voice].orig_freq, 
value, voices[voice].bender_range, 0);
  				voices[voice].current_freq = freq;

-				save_flags(flags);
-				cli();
+				spin_lock_irqsave(&lock,flags);
  				gus_select_voice(voice);
  				gus_voice_freq(freq);
-				restore_flags(flags);
+				spin_unlock_irqrestore(&lock,flags);
  			}
  			break;

@@ -1497,17 +1443,12 @@
  			((sample_ptrs[sample] + samples[sample].len) / GUS_BANK_SIZE))
  				printk(KERN_ERR "GUS: Sample address error\n");
  	}
-
	/************************************************************************
*
-	 *    CAUTION!        Interrupts disabled. Don't return before 
enabling
-	 
*************************************************************************/
-
-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	gus_select_voice(voice);
  	gus_voice_off();
  	gus_rampoff();

-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);

  	if (voices[voice].mode & WAVE_ENVELOPES)
  	{
@@ -1519,8 +1460,7 @@
  		compute_and_set_volume(voice, volume, 0);
  	}

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	gus_select_voice(voice);

  	if (samples[sample].mode & WAVE_LOOP_BACK)
@@ -1560,7 +1500,7 @@
  	gus_voice_freq(freq);
  	gus_voice_balance(pan);
  	gus_voice_on(mode);
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);

  	return 0;
  }
@@ -1577,8 +1517,7 @@
  	int mode;
  	int ret_val = 0;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	if (note_num == 255)
  	{
  		if (voices[voice].volume_irq_mode == VMODE_START_NOTE)
@@ -1604,11 +1543,10 @@

  		if (voices[voice].sample_pending >= 0)
  		{
-			restore_flags(flags);	/* Run temporarily with interrupts enabled */
+			spin_unlock_irqrestore(&lock,flags);	/* Run temporarily 
with interrupts enabled */
  			guswave_set_instr(voices[voice].dev_pending, voice, 
voices[voice].sample_pending);
  			voices[voice].sample_pending = -1;
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);	/* Reselect the voice (just to be sure) */
  		}
  		if ((mode & 0x01) || (int) ((gus_read16(0x09) >> 4) < 
(unsigned) 2065))
@@ -1628,7 +1566,7 @@
  			gus_rampon(0x20 | 0x40);	/* Ramp down, once, irq */
  		}
  	}
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  	return ret_val;
  }

@@ -1871,9 +1809,7 @@
  					   blk_sz))
  				return -EFAULT;

-			save_flags(flags);
-			cli();
-			/******** INTERRUPTS DISABLED NOW ********/
+			spin_lock_irqsave(&lock,flags);
  			gus_write8(0x41, 0);	/* Disable GF1 DMA */
  			DMAbuf_start_dma(gus_devnum, 
audio_devs[gus_devnum]->dmap_out->raw_buf_phys,
  				blk_sz, DMA_MODE_WRITE);
@@ -1924,16 +1860,15 @@
  			if (audio_devs[gus_devnum]->dmap_out->dma > 3)
  				dma_command |= 0x04;	/* 16 bit DMA _channel_ */
  			
-			gus_write8(0x41, dma_command);	/* Lets go luteet (=bugs) */
-
  			/*
  			 * Sleep here until the DRAM DMA done interrupt is served
  			 */
  			active_device = GUS_DEV_WAVE;
+			gus_write8(0x41, dma_command);	/* Lets go luteet (=bugs) */

+			spin_unlock_irqrestore(&lock,flags); /* opens a race */
  			if (!interruptible_sleep_on_timeout(&dram_sleeper, HZ))
  				printk("GUS: DMA Transfer timed out\n");
-			restore_flags(flags);
  		}

  		/*
@@ -1972,11 +1907,10 @@
  	switch (cmd)
  	{
  		case _GUS_NUMVOICES:
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			gus_select_max_voices(p1);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_VOICESAMPLE:
@@ -1984,20 +1918,18 @@
  			break;

  		case _GUS_VOICEON:
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			p1 &= ~0x20;	/* Don't allow interrupts */
  			gus_voice_on(p1);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_VOICEOFF:
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			gus_voice_off();
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_VOICEFADE:
@@ -2005,36 +1937,32 @@
  			break;

  		case _GUS_VOICEMODE:
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			p1 &= ~0x20;	/* Don't allow interrupts */
  			gus_voice_mode(p1);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_VOICEBALA:
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			gus_voice_balance(p1);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_VOICEFREQ:
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			gus_voice_freq(plong);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_VOICEVOL:
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			gus_voice_volume(p1);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_VOICEVOL2:	/* Just update the software voice level */
@@ -2044,53 +1972,48 @@
  		case _GUS_RAMPRANGE:
  			if (voices[voice].mode & WAVE_ENVELOPES)
  				break;	/* NO-NO */
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			gus_ramp_range(p1, p2);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_RAMPRATE:
  			if (voices[voice].mode & WAVE_ENVELOPES)
  				break;	/* NJET-NJET */
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			gus_ramp_rate(p1, p2);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_RAMPMODE:
  			if (voices[voice].mode & WAVE_ENVELOPES)
  				break;	/* NO-NO */
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			p1 &= ~0x20;	/* Don't allow interrupts */
  			gus_ramp_mode(p1);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_RAMPON:
  			if (voices[voice].mode & WAVE_ENVELOPES)
  				break;	/* EI-EI */
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			p1 &= ~0x20;	/* Don't allow interrupts */
  			gus_rampon(p1);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_RAMPOFF:
  			if (voices[voice].mode & WAVE_ENVELOPES)
  				break;	/* NEJ-NEJ */
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			gus_rampoff();
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		case _GUS_VOLUME_SCALE:
@@ -2099,11 +2022,10 @@
  			break;

  		case _GUS_VOICE_POS:
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			gus_set_voice_pos(voice, plong);
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			break;

  		default:
@@ -2294,13 +2216,12 @@
  	if (pcm_active && pcm_opened)
  		for (voice = 0; voice < gus_audio_channels; voice++)
  		{
-			save_flags(flags);
-			cli();
+			spin_lock_irqsave(&lock,flags);
  			gus_select_voice(voice);
  			gus_rampoff();
  			gus_voice_volume(1530 + (25 * gus_pcm_volume));
  			gus_ramp_range(65, 1530 + (25 * gus_pcm_volume));
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  		}
  }

@@ -2348,8 +2269,7 @@
  			if (chn == 0)
  				ramp_mode[chn] = 0x04;	/* Enable rollover bit */
  		}
-		save_flags(flags);
-		cli();
+		spin_lock_irqsave(&lock,flags);
  		gus_select_voice(chn);
  		gus_voice_freq(speed);

@@ -2386,18 +2306,17 @@
  					 0, is16bits);	/* Loop end location */
  		else
  			mode[chn] |= 0x08;	/* Enable looping */
-		restore_flags(flags);
+		spin_unlock_irqrestore(&lock,flags);
  	}
  	for (chn = 0; chn < gus_audio_channels; chn++)
  	{
-		save_flags(flags);
-		cli();
+		spin_lock_irqsave(&lock,flags);
  		gus_select_voice(chn);
  		gus_write8(0x0d, ramp_mode[chn]);
  		if (iw_mode)
  			gus_write8(0x15, 0x00);	/* Reset voice deactivate bit of SMSI */
  		gus_voice_on(mode[chn]);
-		restore_flags(flags);
+		spin_unlock_irqrestore(&lock,flags);
  	}
  	pcm_active = 1;
  }
@@ -2419,8 +2338,7 @@
  	unsigned char dma_command;
  	unsigned long address, hold_address;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);

  	count = total_count / gus_audio_channels;

@@ -2485,7 +2403,7 @@
  		active_device = GUS_DEV_PCM_CONTINUE;
  	}

-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  }

  static void gus_uninterleave8(char *buf, int l)
@@ -2547,8 +2465,7 @@
  	unsigned long flags;
  	unsigned char mode;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);

  	DMAbuf_start_dma(dev, buf, count, DMA_MODE_READ);
  	mode = 0xa0;		/* DMA IRQ enabled, invert MSB */
@@ -2560,7 +2477,7 @@
  	mode |= 0x01;		/* DMA enable */

  	gus_write8(0x49, mode);
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  }

  static int gus_audio_prepare_for_input(int dev, int bsize, int bcount)
@@ -2656,11 +2573,10 @@
  	freq = compute_finetune(voices[voice].orig_freq, value - 8192, 
voices[voice].bender_range, 0);
  	voices[voice].current_freq = freq;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	gus_select_voice(voice);
  	gus_voice_freq(freq);
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  }

  static int guswave_alloc(int dev, int chn, int note, struct 
voice_alloc_info *alloc)
@@ -2741,8 +2657,7 @@
  	if (have_gus_max)	/* Don't disturb GUS MAX */
  		return;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);

  	/*
  	 *    Enable channels having vol > 10%
@@ -2768,7 +2683,7 @@
  	mix_image |= mask & 0x07;
  	outb((mix_image), u_Mixer);

-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  }

  #define MIX_DEVS	(SOUND_MASK_MIC|SOUND_MASK_LINE| \
@@ -2977,11 +2892,10 @@
  	 *  Versions < 3.6 don't have the digital ASIC. Try to probe it first.
  	 */

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);
  	outb((0x20), gus_base + 0x0f);
  	val = inb(gus_base + 0x0f);
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);

  	if (gus_pnp_flag || (val != 0xff && (val & 0x06)))	/* Should be 
0x02?? */
  	{
@@ -3206,15 +3120,13 @@
  		vfree(samples);
  	samples=NULL;
  }
-
+/* called in interrupt context */
  static void do_loop_irq(int voice)
  {
  	unsigned char   tmp;
  	int             mode, parm;
-	unsigned long   flags;

-	save_flags(flags);
-	cli();
+	spin_lock(&lock);
  	gus_select_voice(voice);

  	tmp = gus_read8(0x00);
@@ -3290,7 +3202,7 @@
  		default:
  			break;
  	}
-	restore_flags(flags);
+	spin_unlock(&lock);
  }

  static void do_volume_irq(int voice)
@@ -3299,8 +3211,7 @@
  	int mode, parm;
  	unsigned long flags;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);

  	gus_select_voice(voice);
  	tmp = gus_read8(0x0d);
@@ -3318,18 +3229,18 @@
  		case VMODE_HALT:	/* Decay phase finished */
  			if (iw_mode)
  				gus_write8(0x15, 0x02);	/* Set voice deactivate bit of SMSI */
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			gus_voice_init(voice);
  			break;

  		case VMODE_ENVELOPE:
  			gus_rampoff();
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			step_envelope(voice);
  			break;

  		case VMODE_START_NOTE:
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  			guswave_start_note2(voices[voice].dev_pending, voice,
  				      voices[voice].note_pending, voices[voice].volume_pending);
  			if (voices[voice].kill_pending)
@@ -3345,11 +3256,10 @@
  			break;

  		default:
-			restore_flags(flags);
+			spin_unlock_irqrestore(&lock,flags);
  	}
-	restore_flags(flags);
  }
-
+/* called in irq context */
  void gus_voice_irq(void)
  {
  	unsigned long wave_ignore = 0, volume_ignore = 0;


^ permalink raw reply

* [PATCH] 9/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:43 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

--- vanilla-2.5.36/sound/oss/ics2101.c	2002-04-20 18:25:20.000000000 
+0200
+++ linux-2.5-cli-oss/sound/oss/ics2101.c	2002-08-16 13:59:55.000000000 
+0200
@@ -15,6 +15,7 @@
   * Bartlomiej Zolnierkiewicz : added __init to ics2101_mixer_init()
   */
  #include <linux/init.h>
+#include <linux/spinlock.h>
  #include "sound_config.h"

  #include <linux/ultrasound.h>
@@ -28,6 +29,7 @@

  extern int     *gus_osp;
  extern int      gus_base;
+extern spinlock_t lock;
  static int      volumes[ICS_MIXDEVS];
  static int      left_fix[ICS_MIXDEVS] =
  {1, 1, 1, 2, 1, 2};
@@ -85,13 +87,12 @@
  		attn_addr |= 0x03;
  	}

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock, flags);
  	outb((ctrl_addr), u_MixSelect);
  	outb((selector[dev]), u_MixData);
  	outb((attn_addr), u_MixSelect);
  	outb(((unsigned char) vol), u_MixData);
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  }

  static int set_volumes(int dev, int vol)


^ permalink raw reply

* [PATCH] 10/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:44 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

--- vanilla-2.5.36/sound/oss/v_midi.h	2002-04-20 18:25:21.000000000 +0200
+++ linux-2.5-cli-oss/sound/oss/v_midi.h	2002-08-13 15:55:26.000000000 
+0200
@@ -3,7 +3,7 @@

  	/* State variables */
   	   int opened;
-
+	   spinlock_t lock;
  	
  	/* MIDI fields */
  	   int my_mididev;


^ permalink raw reply

* [PATCH] 11/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:44 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

--- vanilla-2.5.36/sound/oss/wf_midi.c	2002-04-20 18:25:22.000000000 
+0200
+++ linux-2.5-cli-oss/sound/oss/wf_midi.c	2002-08-16 12:43:47.000000000 
+0200
@@ -50,6 +50,7 @@
   */

  #include <linux/init.h>
+#include <linux/spinlock.h>
  #include "sound_config.h"

  #include <linux/wavefront.h>
@@ -79,6 +80,7 @@
  static struct wf_mpu_config *virt_dev = &devs[1];

  static void start_uart_mode (void);
+static spinlock_t lock=SPIN_LOCK_UNLOCKED;

  #define	OUTPUT_READY	0x40
  #define	INPUT_AVAIL	0x80
@@ -365,8 +367,8 @@
  	}

  	if (mi->m_busy) return;
+	spin_lock(&lock);
  	mi->m_busy = 1;
-	sti ();

  	if (!input_dev) {
  		input_dev = physical_dev;
@@ -406,6 +408,7 @@
  	} while (input_avail() && n-- > 0);

  	mi->m_busy = 0;
+	spin_unlock(&lock);
  }

  static int
@@ -486,18 +489,17 @@
  		for (timeout = 30000; timeout > 0 && !output_ready ();
  		     timeout--);

-		save_flags (flags);
-		cli ();
+		spin_lock_irqsave(&lock,flags);

  		if (!output_ready ()) {
  			printk (KERN_WARNING "WF-MPU: Send switch "
  				"byte timeout\n");
-			restore_flags (flags);
+			spin_unlock_irqrestore(&lock,flags);
  			return 0;
  		}

  		write_data (switchch);
-		restore_flags (flags);
+		spin_unlock_irqrestore(&lock,flags);
  	}

  	lastoutdev = dev;
@@ -511,16 +513,15 @@

  	for (timeout = 30000; timeout > 0 && !output_ready (); timeout--);

-	save_flags (flags);
-	cli ();
+	spin_lock_irqsave(&lock,flags);
  	if (!output_ready ()) {
+		spin_unlock_irqrestore(&lock,flags);
  		printk (KERN_WARNING "WF-MPU: Send data timeout\n");
-		restore_flags (flags);
  		return 0;
  	}

  	write_data (midi_byte);
-	restore_flags (flags);
+	spin_unlock_irqrestore(&lock,flags);

  	return 1;
  }
@@ -768,14 +769,13 @@
  {
  	unsigned long flags;

-	save_flags (flags);
-	cli();
+	spin_lock_irqsave(&lock,flags);

  	wf_mpu_close (virt_dev->devno);
  	/* no synth on virt_dev, so no need to call wf_mpu_synth_close() */
  	phys_dev->isvirtual = 0;

-	restore_flags (flags);
+	spin_unlock_irqrestore(&lock,flags);

  	return 0;
  }
@@ -858,8 +858,7 @@
  	int             ok, i;
  	unsigned long   flags;

-	save_flags (flags);
-	cli ();
+	spin_lock_irqsave(&lock,flags);

  	/* XXX fix me */

@@ -875,6 +874,6 @@
  		}
  	}

-	restore_flags (flags);
+	spin_unlock_irqrestore(&lock,flags);
  }
  #endif


^ permalink raw reply

* [PATCH] 6/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:40 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds, Richard Zidlicky

I left the IRQ handler as is: releasing and requesting an IRQ
handler on every frame.

--- vanilla-2.5.36/sound/oss/dmasound/dmasound_q40.c	Sat Aug 10 
00:03:13 2002
+++ linux-2.5-cli-oss/sound/oss/dmasound/dmasound_q40.c	Sat Sep 21 
18:53:15 2002
@@ -459,28 +459,32 @@
  		  */
  	         return;
  	}
-	save_flags(flags); cli();
+	spin_lock_irqsave(&dmasound.lock, flags);
  	Q40PlayNextFrame(1);
-	restore_flags(flags);
+	spin_unlock_irqrestore_flags(&dmasound.lock, flags);
  }

  static void Q40StereoInterrupt(int irq, void *dummy, struct pt_regs *fp)
  {
+	spin_lock(&dmasound.lock);
          if (q40_sc>1){
              *DAC_LEFT=*q40_pp++;
  	    *DAC_RIGHT=*q40_pp++;
  	    q40_sc -=2;
  	    master_outb(1,SAMPLE_CLEAR_REG);
  	}else Q40Interrupt();
+	spin_unlock(&dmasound.lock);
  }
  static void Q40MonoInterrupt(int irq, void *dummy, struct pt_regs *fp)
  {
+	spin_lock(&dmasound.lock);
          if (q40_sc>0){
              *DAC_LEFT=*q40_pp;
  	    *DAC_RIGHT=*q40_pp++;
  	    q40_sc --;
  	    master_outb(1,SAMPLE_CLEAR_REG);
  	}else Q40Interrupt();
+	spin_unlock(&dmasound.lock);
  }
  static void Q40Interrupt(void)
  {


^ permalink raw reply

* [PATCH] 7/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:41 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

--- vanilla-2.5.36/sound/oss/gus_midi.c	2002-04-20 18:25:20.000000000 
+0200
+++ linux-2.5-cli-oss/sound/oss/gus_midi.c	2002-08-16 
13:57:28.000000000 +0200
@@ -16,6 +16,7 @@
   */

  #include <linux/init.h>
+#include <linux/spinlock.h>
  #include "sound_config.h"

  #include "gus.h"
@@ -25,7 +26,7 @@
  static int      my_dev;
  static int      output_used = 0;
  static volatile unsigned char gus_midi_control;
-
+static spinlock_t lock=SPIN_LOCK_UNLOCKED;
  static void     (*midi_input_intr) (int dev, unsigned char data);

  static unsigned char tmp_queue[256];
@@ -75,8 +76,7 @@

  	output_used = 1;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock, flags);

  	if (GUS_MIDI_STATUS() & MIDI_XMIT_EMPTY)
  	{
@@ -92,7 +92,7 @@
  		outb((gus_midi_control), u_MidiControl);
  	}

-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  	return ok;
  }

@@ -113,16 +113,14 @@
  	/*
  	 * Drain the local queue first
  	 */
-
-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock, flags);

  	while (qlen && dump_to_midi(tmp_queue[qhead]))
  	{
  		qlen--;
  		qhead++;
  	}
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);

  	/*
  	 *	Output the byte if the local queue is empty.
@@ -142,14 +140,13 @@
  		return 0;	/*
  				 * Local queue full
  				 */
-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock, flags);

  	tmp_queue[qtail] = midi_byte;
  	qlen++;
  	qtail++;

-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  	return 1;
  }

@@ -174,15 +171,14 @@
  	if (!output_used)
  		return 0;

-	save_flags(flags);
-	cli();
+	spin_lock_irqsave(&lock, flags);

  	if (qlen && dump_to_midi(tmp_queue[qhead]))
  	{
  		qlen--;
  		qhead++;
  	}
-	restore_flags(flags);
+	spin_unlock_irqrestore(&lock,flags);
  	return (qlen > 0) | !(GUS_MIDI_STATUS() & MIDI_XMIT_EMPTY);
  }

@@ -226,11 +222,9 @@
  void gus_midi_interrupt(int dummy)
  {
  	volatile unsigned char stat, data;
-	unsigned long flags;
  	int timeout = 10;

-	save_flags(flags);
-	cli();
+	spin_lock(&lock);

  	while (timeout-- > 0 && (stat = GUS_MIDI_STATUS()) & 
(MIDI_RCV_FULL | MIDI_XMIT_EMPTY))
  	{
@@ -258,5 +252,5 @@
  			}
  		}
  	}
-	restore_flags(flags);
+	spin_unlock(&lock);
  }


^ permalink raw reply

* [PATCH] 5/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:35 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

--- vanilla-2.5.36/sound/oss/dmasound/dmasound_core.c	2002-08-10 
00:03:13.000000000 +0200
+++ linux-2.5-cli-oss/sound/oss/dmasound/dmasound_core.c	2002-09-09 00:33:
36.000000000 +0200
@@ -597,9 +597,9 @@
  	   is drained - and if we get here in time then it does not apply.
  	*/

-	save_flags(flags) ; cli() ;
+	spin_lock_irqsave(&dmasound.lock, flags);
  	write_sq.syncing &= ~2 ; /* take out POST status */
-	restore_flags(flags) ;
+	spin_unlock_irqrestore(&dmasound.lock, flags);

  	if (write_sq.count > 0 &&
  	    (bLeft = write_sq.block_size-write_sq.rear_size) > 0) {
@@ -1347,6 +1347,7 @@
  	if (dmasound.mach.record)
  		sq_fops.read = sq_read ;
  #endif
+	spin_lock_init(&dmasound.lock);
  	sq_unit = register_sound_dsp(&sq_fops, -1);
  	if (sq_unit < 0) {
  		printk(KERN_ERR "dmasound_core: couldn't register fops\n") ;


^ permalink raw reply

* [PATCH] 4/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:35 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

--- vanilla-2.5.36/sound/oss/dmasound/dmasound_awacs.c	2002-08-10 
00:03:13.000000000 +0200
+++ linux-2.5-cli-oss/sound/oss/dmasound/dmasound_awacs.c	2002-09-09 00:40:
07.000000000 +0200
@@ -66,6 +66,7 @@
  #include <linux/tty.h>
  #include <linux/vt_kern.h>
  #include <linux/irq.h>
+#include <linux/spinlock.h>
  #include <linux/kmod.h>
  #include <asm/semaphore.h>
  #ifdef CONFIG_ADB_CUDA
@@ -397,6 +398,7 @@
  static void
  headphone_intr(int irq, void *devid, struct pt_regs *regs)
  {
+	spin_lock(&dmasound.lock);
  	if (read_audio_gpio(gpio_headphone_detect) == 
gpio_headphone_detect_pol) {
  		printk(KERN_INFO "Audio jack plugged, muting speakers.\n");
  		write_audio_gpio(gpio_amp_mute, gpio_amp_mute_pol);
@@ -406,6 +408,7 @@
  		write_audio_gpio(gpio_amp_mute, !gpio_amp_mute_pol);
  		write_audio_gpio(gpio_headphone_mute, gpio_headphone_mute_pol);
  	}
+	spin_unlock(&dmasound.lock);
  }


@@ -804,7 +807,7 @@

  	/* CHECK: how much of this *really* needs IRQs masked? */

-	save_flags(flags); cli();
+	spin_lock_irqsave(&dmasound.lock, flags);
  	count = 300 ; /* > two cycles at the lowest sample rate */

  	/* what we want to send next */
@@ -871,7 +874,7 @@
  		out_le32(&awacs_txdma->control, ((RUN|WAKE) << 16) + (RUN|WAKE));
  		++write_sq.active;
  	}
-	restore_flags(flags);
+	spin_unlock_irqrestore(&dmasound.lock, flags);
  }

  static void PMacPlay(void)
@@ -889,14 +892,14 @@
  	if (read_sq.active)
  		return;

-	save_flags(flags); cli();
+	spin_lock_irqsave(&dmasound.lock, flags);

  	/* This is all we have to do......Just start it up.
  	*/
  	out_le32(&awacs_rxdma->control, ((RUN|WAKE) << 16) + (RUN|WAKE));
  	read_sq.active = 1;

-	restore_flags(flags);
+	spin_unlock_irqrestore(&dmasound.lock, flags);
  }

  /* if the TX status comes up "DEAD" - reported on some Power Computing 
machines
@@ -929,6 +932,7 @@
  	/* != 0 when we are dealing with a DEAD xfer */
  	static int emergency_in_use = 0 ;

+	spin_lock(&dmasound.lock);
  	while (write_sq.active > 0) { /* we expect to have done something*/
  		if (emergency_in_use) /* we are dealing with DEAD xfer */
  			cp = emergency_dbdma_cmd ;
@@ -1004,6 +1008,7 @@
  	/* make the wake-on-empty conditional on syncing */
  	if (!write_sq.active && (write_sq.syncing & 1))
  		WAKE_UP(write_sq.sync_queue); /* any time we're empty */
+	spin_unlock(&dmasound.lock);
  }


@@ -1025,6 +1030,7 @@
  	if (read_sq.active == 0)
  		return;

+	spin_lock(&dmasound.lock);
  	/* Check multiple buffers in case we were held off from
  	 * interrupt processing for a long time.  Geeze, I really hope
  	 * this doesn't happen.
@@ -1056,6 +1062,7 @@
  			/* should complete clearing the DEAD status */
  			out_le32(&awacs_rxdma->control,
  				((RUN|WAKE) << 16) + (RUN|WAKE));
+			spin_unlock(&dmasound.lock);
  			return; /* try this block again */
  		}
  		/* Clear status and move on to next buffer.
@@ -1083,13 +1090,16 @@
  	}

  	WAKE_UP(read_sq.action_queue);
+	spin_unlock(&dmasound.lock);
  }


  static void
  pmac_awacs_intr(int irq, void *devid, struct pt_regs *regs)
  {
-	int ctrl = in_le32(&awacs->control);
+	int ctrl;
+	spin_lock(&dmasound.lock);
+	ctrl = in_le32(&awacs->control);

  	if (ctrl & MASK_PORTCHG) {
  		/* do something when headphone is plugged/unplugged? */
@@ -1102,6 +1112,7 @@
  	}
  	/* Writing 1s to the CNTLERR and PORTCHG bits clears them... */
  	out_le32(&awacs->control, ctrl);
+	spin_unlock(&dmasound.lock);
  }

  static void
@@ -1125,7 +1136,7 @@
  	unsigned long flags;
  	int count = 600 ; /* > four samples at lowest rate */

-	save_flags(flags); cli();
+	spin_lock_irqsave(&dmasound.lock, flags);
  	if (beep_playing) {
  		st_le16(&beep_dbdma_cmd->command, DBDMA_STOP);
  		out_le32(&awacs_txdma->control, (RUN|PAUSE|FLUSH|WAKE) << 16);
@@ -1141,7 +1152,7 @@
  			out_le32(&awacs->byteswap, 0);
  		beep_playing = 0;
  	}
-	restore_flags(flags);
+	spin_unlock_irqrestore(&dmasound.lock, flags);
  }

  static struct timer_list beep_timer = {
@@ -1189,19 +1200,19 @@
  		return;
  #endif
  	}
-	save_flags(flags); cli();
+	spin_lock_irqsave(&dmasound.lock, flags);
  	del_timer(&beep_timer);
  	if (ticks) {
  		beep_timer.expires = jiffies + ticks;
  		add_timer(&beep_timer);
  	}
  	if (beep_playing || write_sq.active || beep_buf == NULL) {
-		restore_flags(flags);
+		spin_unlock_irqrestore(&dmasound.lock, flags);
  		return;		/* too hard, sorry :-( */
  	}
  	beep_playing = 1;
  	st_le16(&beep_dbdma_cmd->command, OUTPUT_MORE + BR_ALWAYS);
-	restore_flags(flags);
+	spin_unlock_irqrestore(&dmasound.lock, flags);

  	if (hz == beep_hz_cache && beep_vol == beep_volume_cache) {
  		nsamples = beep_nsamples_cache;
@@ -1227,7 +1238,7 @@
  	st_le32(&beep_dbdma_cmd->phy_addr, virt_to_bus(beep_buf));
  	awacs_beep_state = 1;

-	save_flags(flags); cli();
+	spin_lock_irqsave(&dmasound.lock, flags);
  	if (beep_playing) {	/* i.e. haven't been terminated already */
  		int count = 300 ;
  		out_le32(&awacs_txdma->control, (RUN|WAKE|FLUSH|PAUSE) << 16);
@@ -1242,7 +1253,7 @@
  		(void)in_le32(&awacs_txdma->status);
  		out_le32(&awacs_txdma->control, RUN | (RUN << 16));
  	}
-	restore_flags(flags);
+	spin_unlock_irqrestore(&dmasound.lock, flags);
  }

  /* used in init and for wake-up */
@@ -1430,7 +1441,7 @@
  	unsigned long flags;

  	/* should have timeouts here */
-	save_flags(flags); cli();
+	spin_lock_irqsave(&dmasound.lock, flags);

  	out_le32(&awacs->codec_ctrl, addr + 0x100000);
  	awacs_burgundy_busy_wait();
@@ -1452,7 +1463,7 @@
  	awacs_burgundy_extend_wait();
  	val += ((in_le32(&awacs->codec_stat)>>4) & 0xff) <<24;

-	restore_flags(flags);
+	spin_unlock_irqrestore(&dmasound.lock, flags);

  	return val;
  }
@@ -1472,14 +1483,14 @@
  	unsigned long flags;

  	/* should have timeouts here */
-	save_flags(flags); cli();
+	spin_lock_irqsave(&dmasound.lock, flags);

  	out_le32(&awacs->codec_ctrl, addr + 0x100000);
  	awacs_burgundy_busy_wait();
  	awacs_burgundy_extend_wait();
  	val += (in_le32(&awacs->codec_stat) >> 4) & 0xff;

-	restore_flags(flags);
+	spin_unlock_irqrestore(&dmasound.lock, flags);

  	return val;
  }


^ permalink raw reply

* [PATCH] 3/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:32 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

--- vanilla-2.5.36/sound/oss/dmasound/dmasound_atari.c	2002-08-10 
00:03:13.000000000 +0200
+++ linux-2.5-cli-oss/sound/oss/dmasound/dmasound_atari.c	2002-09-09 01:30:
08.000000000 +0200
@@ -19,7 +19,7 @@
  #include <linux/init.h>
  #include <linux/soundcard.h>
  #include <linux/mm.h>
-
+#include <linux/spinlock.h>
  #include <asm/pgalloc.h>
  #include <asm/uaccess.h>
  #include <asm/atariints.h>
@@ -1262,7 +1262,7 @@
  			return;
  		}
  #endif
-
+	spin_lock(&dmasound.lock);
  	if (write_sq_ignore_int && is_falcon) {
  		/* ++TeSche: Falcon only: ignore first irq because it comes
  		 * immediately after starting a frame. after that, irqs come
@@ -1314,6 +1314,7 @@
  	/* We are not playing after AtaPlay(), so there
  	   is nothing to play any more. Wake up a process
  	   waiting for audio output to drain. */
+	spin_unlock(&dmasound.lock);
  }


@@ -1349,14 +1350,15 @@
  static int AtaMixerIoctl(u_int cmd, u_long arg)
  {
  	int data;
+	unsigned long flags;
  	switch (cmd) {
  	    case SOUND_MIXER_READ_SPEAKER:
  		    if (is_falcon || MACH_IS_TT) {
  			    int porta;
-			    cli();
+			    spin_lock_irqsave(&dmasound.lock, flags);
  			    sound_ym.rd_data_reg_sel = 14;
  			    porta = sound_ym.rd_data_reg_sel;
-			    sti();
+			    spin_unlock_irqrestore(&dmasound.lock, flags);
  			    return IOCTL_OUT(arg, porta & 0x40 ? 0 : 100);
  		    }
  		    break;
@@ -1367,12 +1369,12 @@
  		    if (is_falcon || MACH_IS_TT) {
  			    int porta;
  			    IOCTL_IN(arg, data);
-			    cli();
+			    spin_lock_irqsave(&dmasound.lock, flags);
  			    sound_ym.rd_data_reg_sel = 14;
  			    porta = (sound_ym.rd_data_reg_sel & ~0x40) |
  				    (data < 50 ? 0x40 : 0);
  			    sound_ym.wd_data = porta;
-			    sti();
+			    spin_unlock_irqrestore(&dmasound.lock, flags);
  			    return IOCTL_OUT(arg, porta & 0x40 ? 0 : 100);
  		    }
  	}


^ permalink raw reply

* [PATCH] 2/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:31 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

--- vanilla-2.5.36/sound/oss/dmasound/dmasound.h	Sat Apr 20 18:25:19 
2002
+++ linux-2.5-cli-oss/sound/oss/dmasound/dmasound.h	Mon Sep  9 01:27:04 
2002
@@ -166,6 +166,7 @@
      int treble;
      int gain;
      int minDev;		/* minor device number currently open */
+    spinlock_t lock;
  };

  extern struct sound_settings dmasound;


^ permalink raw reply

* [PATCH] 1/11 sound/oss replace cli()
From: Peter Waechtler @ 2002-09-21 20:30 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

This is a resent with a correction of dmasound_q40.c - I don't touch the
IRQ handler anymore.

This one just needs a parameter to synchronize_irq(irq);

--- linux-2.5.36/sound/oss/cs4281/cs4281m.c	2002-09-21 
19:02:02.000000000 +0200
+++ linux-2.5-cli-oss/sound/oss/cs4281/cs4281m.c	2002-08-10 
17:13:46.000000000 +0200
@@ -3205,7 +3205,7 @@
  			 "cs4281: cs4281_ioctl(): DSP_RESET\n"));
  		if (file->f_mode & FMODE_WRITE) {
  			stop_dac(s);
-			synchronize_irq();
+			synchronize_irq(s->irq);
  			s->dma_dac.swptr = s->dma_dac.hwptr =
  			    s->dma_dac.count = s->dma_dac.total_bytes =
  			    s->dma_dac.blocks = s->dma_dac.wakeup = 0;
@@ -3213,7 +3213,7 @@
  		}
  		if (file->f_mode & FMODE_READ) {
  			stop_adc(s);
-			synchronize_irq();
+			synchronize_irq(s->irq);
  			s->dma_adc.swptr = s->dma_adc.hwptr =
  			    s->dma_adc.count = s->dma_adc.total_bytes =
  			    s->dma_adc.blocks = s->dma_dac.wakeup = 0;
@@ -4452,7 +4452,7 @@
  {
  	struct cs4281_state *s = pci_get_drvdata(pci_dev);
  	// stop DMA controller
-	synchronize_irq();
+	synchronize_irq(s->irq);
  	free_irq(s->irq, s);
  	unregister_sound_dsp(s->dev_audio);
  	unregister_sound_mixer(s->dev_mixer);


^ permalink raw reply

* Kernel 2.5.38 EBTables breakage
From: Eran Man @ 2002-09-22  8:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: bart.de.schuymer

It seems like the EBTables merge in 2.5.38 is incomplete:
....
   gcc -Wp,-MD,./.ebtables.o.d -D__KERNEL__ 
-I/usr/src/linux-2.5.25/include -Wall -Wstrict-prototypes -Wno-trigraphs 
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe 
-mpreferred-stack-boundary=2 -march=i686 
-I/usr/src/linux-2.5.25/arch/i386/mach-generic -nostdinc -iwithprefix 
include -DMODULE   -DKBUILD_BASENAME=ebtables -DEXPORT_SYMTAB  -c -o 
ebtables.o ebtables.c
ebtables.c:25:45: linux/netfilter_bridge/ebtables.h: No such file or 
directory
ebtables.c:85: variable `ebt_standard_target' has initializer but 
incomplete type
ebtables.c:86: extra brace group at end of initializer
ebtables.c:86: (near initialization for `ebt_standard_target')
ebtables.c:86: warning: excess elements in struct initializer
ebtables.c:86: warning: (near initialization for `ebt_standard_target')
ebtables.c:86: `EBT_STANDARD_TARGET' undeclared here (not in a function)
ebtables.c:86: warning: excess elements in struct initializer
ebtables.c:86: warning: (near initialization for `ebt_standard_target')
ebtables.c:86: warning: excess elements in struct initializer
ebtables.c:86: warning: (near initialization for `ebt_standard_target')
ebtables.c:86: warning: excess elements in struct initializer
ebtables.c:86: warning: (near initialization for `ebt_standard_target')
ebtables.c:86: warning: excess elements in struct initializer
ebtables.c:86: warning: (near initialization for `ebt_standard_target')
ebtables.c:86: warning: excess elements in struct initializer
ebtables.c:86: warning: (near initialization for `ebt_standard_target')
ebtables.c:90: warning: `struct ebt_entry_watcher' declared inside 
parameter list
ebtables.c:90: warning: its scope is only this definition or 
declaration, which is probably not what you want.
ebtables.c: In function `ebt_do_watcher':
ebtables.c:92: dereferencing pointer to incomplete type
ebtables.c:92: dereferencing pointer to incomplete type
ebtables.c:93: dereferencing pointer to incomplete type
ebtables.c: At top level:
ebtables.c:100: warning: `struct ebt_entry_match' declared inside 
parameter list
ebtables.c: In function `ebt_do_match':
ebtables.c:102: dereferencing pointer to incomplete type
ebtables.c:102: dereferencing pointer to incomplete type
ebtables.c:103: dereferencing pointer to incomplete type
.....
This goes on for a couple more pages...
On the otherhand, there is no real sign of the ebtables in include/linux:
[eran@eran linux-2.5]$ grep -ri EBT_STANDARD_TARGET include/linux/
[eran@eran linux-2.5]$ grep -ri ebtables include/linux/
include/linux/netfilter_bridge.h:/* Not really a hook, but used for the 
ebtables broute table */
include/linux/autoconf.h:#undef  CONFIG_BRIDGE_NF_EBTABLES
[eran@eran linux-2.5]$
-- 
Eran Mann                 Direct  : 972-4-9936297
Senior Software Engineer  Fax     : 972-4-9890430
Optical Access            Email   : emann@opticalaccess.com





^ permalink raw reply

* Hello again from Beth!
From: carolblake @ 2002-09-22  8:46 UTC (permalink / raw)
  To: netdev

[-- Attachment #1: Type: text/plain, Size: 1111 bytes --]

Hi baby! Remember be Beth!!!! I thought I'd never get my computer fixed. Good thing I saved all my contacts on a disc. Anyway I don't know if you're still on that dating/meeting site? I got out of it. They wanted me to pay TO much money! It was all fake anyway. Hey I found this great NEW site www.adultsky.com that really does bring people together They Let me sign up for FREE and accepted all my pictures I had an entire roll my GF took and all I did was send the roll of film to them and next thing I know it's up there! www.adultsky.com It's great I hear from real guys and gals and they set up real meetings and live parties that members can go to and mingle!!!!!! I figure I'll let you in on it now cause their giving away Free memberships and prizes. Like a free paid trip! I'm hoping for that one (I think it's for two) hint! Hint! Anyway go there www.adultsky.com and check it out and get a profile! E-mail me there so I can check you out again! Look me up with all my picks ther!
 
e and e-mail me there and tell me what you think."CarolBlake" my real name is Beth Gratz for you only! OK? Love Beth!

[-- Attachment #2: pictures005.jpg --]
[-- Type: application/octet-stream, Size: 6 bytes --]

^ permalink raw reply

* bug fix for "more"
From: jb1 @ 2002-09-22  8:46 UTC (permalink / raw)
  To: linux-8086

The "more" program from elkscmd_20020501.tar.gz doesn't (generally) work
correctly correctly because the upper bits of "int ch" aren't necessarily
cleared. If any happen to be non-zero, the control-character tests will
fail to set "line" or "col" properly. This can be corrected by changing
the declaration of "ch" in elkscmd/file_utils/more.c from:

	int	ch;

to:

	char	ch;


SOURCE PACKAGES:
        elks-0.1.1.tar.gz, elkscmd_20020501.tar.gz, elksnet-0.1.1.tar.gz,
        Dev86src-0.16.0.tar.gz
CVS PATCHES:
        (none)
COMPILED UNDER:
        Red Hat 7.0 Linux, kernel 2.2.16-22


^ permalink raw reply

* Re: CALL FOR TESTING
From: Thomas Kosch @ 2002-09-22  8:32 UTC (permalink / raw)
  To: Grover, Andrew; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <E17rvjI-0001mI-00-HKCwXBn57GynvZpeIfgr/KQD96bmaF075NbjCUgZEJk@public.gmane.org>


> I wanted to make a special request for testing of the 2.4 patch (or
> should I say, MEGA-patch).

Here we are...
The computer is a Toschiba Satellite 300-214

> The main issues of importance are:
>
> - DOES IT BOOT?

Yes

> - DOES IT ASSIGN INTERRUPTS PROPERLY?

It looks good

There are still some small errors. Sometimes I get an 'grisu kernel:
ACPI-0323: *** Error: Handler for [Embedded_control] returned AE_TIME'
and there is some trouble which the scsi hostadapter emulation. If i try
to mmount a cd-rom after an S1 sleep the computer freezes. I must reload
the ide-scsi module.

ttyl8er, t.k.

-- 
Slowly and surely the unix crept up on the Nintendo user ...


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply

* Re: [Lse-tech] [PATCH 1/2] node affine NUMA scheduler
From: Erich Focht @ 2002-09-22  8:30 UTC (permalink / raw)
  To: William Lee Irwin III
  Cc: Martin J. Bligh, linux-kernel, LSE, Ingo Molnar, Michael Hohnbaum
In-Reply-To: <20020922080942.GF25605@holomorphy.com>

Bill,

would you please check the boot messages for the NUMA scheduler before
doing the run. Martin sent me an example where he has:

CPU pools : 1
pool 0 :0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
node level 0 : 10
pool_delay matrix:
 129 

which is clearly wrong. In that case we need to fix the cpu-pools setup
first.

Regards,
Erich

On Sunday 22 September 2002 10:09, William Lee Irwin III wrote:
> On Sat, Sep 21, 2002 at 09:46:05AM -0700, Martin J. Bligh wrote:
> >> An old compile off 2.5.31-mm1 + extras (I don't have 37, but similar)
>
> On Sat, Sep 21, 2002 at 04:18:10PM -0700, William Lee Irwin III wrote:
> > Some 8-quad numbers for 2.5.37 (virgin) follow.
>
> Okay, 2.5.37 virgin with overcommit_memory set to 1 this time.
> (compiles with -j256 seem to do better than -j32 or -j48, here is -j256):
>
> ... will follow up with 2.5.38-mm1 with and without NUMA sched, at
> least if the arrival rate of releases doesn't exceed the benchtime.


^ permalink raw reply

* Re: Setting and Routing on the TOS Source (SRC) and Destination (DST) Bits
From: Antony Stone @ 2002-09-22  8:21 UTC (permalink / raw)
  To: netfilter
In-Reply-To: <0a9401c261c4$bc771400$c6b22543@repligate>

On Sunday 22 September 2002 12:15 am, Jim Fleming wrote:

> IPv4 has a 0100 in the first four bits of the 160 bits that come screaming
> at you down the wire... ...correct ?

Yes.   Otherwise you wouldn't know it's IPv4.

> Have you ever set the 16 bits of the Identification Field ?....and used
> those for Extended Addressing ?

No, I haven't.   That would be using part of the IPv4 header in a manner 
different from the standard specification, which is not what I was talking 
about.   I was talking about which bits of the standard IPv4 header you can 
use to make routing decisions.

It sounds to me as though you're talking about finding parts of the header 
which you can get away with using for a different purpose than originally 
intended, and then claim that they're routing bits.

If that's the case then sure, feel free to do whatever you like at both ends 
of a link, but don't expect compatibility with a standard IPv4 stack.

On the other hand, if we're discussing which bits in a genuine IPv4 header it 
makes sense to read and base routing decisions on, then I still say that 83 
of them make sense, 28 are doubtful, and 49 are useless.

Either way I think this thread has got sufficiently off-topic for netfilter 
that we may as well end the discussion on the list.

By the way, I was not advocating IPv6 per se - I was simply commenting on the 
confusion which would ensure if this thing called IPv8 became at all well 
known in the time between IPv4, which we all use now, and IPv6, which we're 
all supposed to be using sometime soon.

Antony.

-- 

Having been asked to provide a reference for this man,
I can confidently state that you will be very lucky indeed
if you can get him to work for you.


^ permalink raw reply

* [LARTC] txqueuelen in ifconfig and tc
From: Jonas Lindqvist @ 2002-09-22  8:16 UTC (permalink / raw)
  To: lartc

[-- Attachment #1: Type: text/plain, Size: 669 bytes --]

Hi there,

when reading "man ifconfig" it says the following:
" txqueuelen length
Set the length of the transmit queue of the device. It is useful to set this to small values  for slower  devices  with a high latency (modem links, ISDN) to prevent fast bulk transfers from dis­turbing interactive traffic like telnet too much."

This seems to normally be 100 (packets i guess?)

Is this queue affected by tc or is it after all shaping?

I wonder this because im doing the Wondershaper ACK-priority thing, but people with a small windowsize is still affected very much by not recieving their ACK fast enough on my system.

Any ideas anyone?

Regards
Jonas

[-- Attachment #2: Type: text/html, Size: 1645 bytes --]

^ permalink raw reply

* make bzImage fails on 2.5.37 2.5.38 (linking) APIC
From: svetljo @ 2002-09-22  8:19 UTC (permalink / raw)
  To: linux-kernel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=us-ascii, Size: 11966 bytes --]

does uniprocessor APIC works?

arch/i386/kernel/built-in.o: In function `disconnect_bsp_APIC':
arch/i386/kernel/built-in.o(.text+0xe6a8): undefined reference to
`pic_mode'
arch/i386/kernel/built-in.o: In function `clear_IO_APIC':
arch/i386/kernel/built-in.o(.text+0xf5fb): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text+0xf631): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o: In function `IO_APIC_get_PCI_irq_vector':
arch/i386/kernel/built-in.o(.text+0xf6f6): undefined reference to
`mp_bus_id_to_pci_bus'
arch/i386/kernel/built-in.o(.text+0xf702): undefined reference to
`mp_irq_entries'
arch/i386/kernel/built-in.o(.text+0xf712): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text+0xf71c): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text+0xf725): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text+0xf72d): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text+0xf743): undefined reference to
`mp_bus_id_to_type'
arch/i386/kernel/built-in.o(.text+0xf75e): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text+0xf76e): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text+0xf781): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text+0xf7b5): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text+0xf7d0): undefined reference to
`mp_irq_entries'
arch/i386/kernel/built-in.o: In function `pin_2_irq':
arch/i386/kernel/built-in.o(.text+0xf802): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text+0xf831): undefined reference to
`mp_bus_id_to_type'
arch/i386/kernel/built-in.o(.text+0xf846): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o: In function `io_apic_set_pci_routing':
arch/i386/kernel/built-in.o(.text+0x10054): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o: In function `setup_memory':
arch/i386/kernel/built-in.o(.text.init+0x114a): undefined reference to
`find_smp_config'
arch/i386/kernel/built-in.o: In function `setup_arch':
arch/i386/kernel/built-in.o(.text.init+0x159a): undefined reference to
`smp_found_config'
arch/i386/kernel/built-in.o(.text.init+0x15c1): undefined reference to
`get_smp_config'
arch/i386/kernel/built-in.o: In function `acpi_parse_lapic':
arch/i386/kernel/built-in.o(.text.init+0x4ee3): undefined reference to
`mp_register_lapic'
arch/i386/kernel/built-in.o: In function `acpi_parse_ioapic':
arch/i386/kernel/built-in.o(.text.init+0x4f93): undefined reference to
`mp_register_ioapic'
arch/i386/kernel/built-in.o: In function `acpi_parse_int_src_ovr':
arch/i386/kernel/built-in.o(.text.init+0x4fe3): undefined reference to`mp_override_legacy_irq'
arch/i386/kernel/built-in.o: In function `acpi_boot_init':
arch/i386/kernel/built-in.o(.text.init+0x5156): undefined reference to
`mp_register_lapic_address'
arch/i386/kernel/built-in.o(.text.init+0x51cf): undefined reference to
`mp_config_acpi_legacy_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5227): undefined reference to
`smp_found_config'
arch/i386/kernel/built-in.o: In function `connect_bsp_APIC':
arch/i386/kernel/built-in.o(.text.init+0x5357): undefined reference to
`pic_mode'
arch/i386/kernel/built-in.o: In function `init_bsp_APIC':
arch/i386/kernel/built-in.o(.text.init+0x5442): undefined reference to
`smp_found_config'
arch/i386/kernel/built-in.o: In function `setup_local_APIC':
arch/i386/kernel/built-in.o(.text.init+0x54bf): undefined reference to
`phys_cpu_present_map'
arch/i386/kernel/built-in.o(.text.init+0x54dc): undefined reference to
`pic_mode'
arch/i386/kernel/built-in.o: In function `detect_init_APIC':
arch/i386/kernel/built-in.o(.text.init+0x5704): undefined reference to
`mp_lapic_addr'
arch/i386/kernel/built-in.o(.text.init+0x570e): undefined reference to
`boot_cpu_physical_apicid'
arch/i386/kernel/built-in.o: In function `init_apic_mappings':
arch/i386/kernel/built-in.o(.text.init+0x57c9): undefined reference to
`smp_found_config'
arch/i386/kernel/built-in.o(.text.init+0x57d7): undefined reference to
`mp_lapic_addr'
arch/i386/kernel/built-in.o(.text.init+0x57f9): undefined reference to
`boot_cpu_physical_apicid'
arch/i386/kernel/built-in.o(.text.init+0x5809): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5811): undefined reference to
`smp_found_config'
arch/i386/kernel/built-in.o(.text.init+0x581c): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x583c): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x587b): undefined reference to
`boot_cpu_physical_apicid'
arch/i386/kernel/built-in.o: In function `APIC_init_uniprocessor':
arch/i386/kernel/built-in.o(.text.init+0x5b07): undefined reference to
`smp_found_config'
arch/i386/kernel/built-in.o(.text.init+0x5b2d): undefined reference to
`boot_cpu_physical_apicid'
arch/i386/kernel/built-in.o(.text.init+0x5b34): undefined reference to
`apic_version'
arch/i386/kernel/built-in.o(.text.init+0x5b46): undefined reference to
`boot_cpu_physical_apicid'
arch/i386/kernel/built-in.o(.text.init+0x5b4c): undefined reference to
`phys_cpu_present_map'
arch/i386/kernel/built-in.o(.text.init+0x5b6d): undefined reference to
`smp_found_config'
arch/i386/kernel/built-in.o(.text.init+0x5b7f): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o: In function `find_irq_entry':
arch/i386/kernel/built-in.o(.text.init+0x5e88): undefined reference to
`mp_irq_entries'
arch/i386/kernel/built-in.o(.text.init+0x5e95): undefined reference to
`mp_irqs'arch/i386/kernel/built-in.o(.text.init+0x5e9a): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x5ec8): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5eda): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o: In function `find_isa_irq_pin':
arch/i386/kernel/built-in.o(.text.init+0x5ef8): undefined reference to
`mp_irq_entries'
arch/i386/kernel/built-in.o(.text.init+0x5f05): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5f0a): undefined reference to
`mp_bus_id_to_type'
arch/i386/kernel/built-in.o(.text.init+0x5f38): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5f44): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5f52): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o: In function `MPBIOS_polarity':
arch/i386/kernel/built-in.o(.text.init+0x5faf): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5fb7): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x5ff6): undefined reference to
`mp_bus_id_to_type'
arch/i386/kernel/built-in.o: In function `MPBIOS_trigger':
arch/i386/kernel/built-in.o(.text.init+0x6032): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x603a): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x608d): undefined reference to
`mp_bus_id_to_type'
arch/i386/kernel/built-in.o(.text.init+0x60b5): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o: In function `setup_IO_APIC_irqs':
arch/i386/kernel/built-in.o(.text.init+0x615d): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x62d7): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6389): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x641f): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6440): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6478): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o: In function `print_IO_APIC':
arch/i386/kernel/built-in.o(.text.init+0x658c): undefined reference to
`mp_irq_entries'
arch/i386/kernel/built-in.o(.text.init+0x65a2): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x65bc): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x663b): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6850): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6956): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6978): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o: In function `enable_IO_APIC':
arch/i386/kernel/built-in.o(.text.init+0x69db): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6a23): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o: In function `setup_ioapic_ids_from_mpc':
arch/i386/kernel/built-in.o(.text.init+0x6a5a): undefined reference to
`phys_cpu_present_map'
arch/i386/kernel/built-in.o(.text.init+0x6a79): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6ad9): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6aef): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6b62): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6b6e): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6b76): undefined reference to
`mp_irq_entries'
arch/i386/kernel/built-in.o(.text.init+0x6b81): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x6b9a): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6c3f): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6c5b): undefined reference to
`nr_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6c91): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6c9d): undefined reference to
`mp_irqs'
arch/i386/kernel/built-in.o(.text.init+0x6cbd): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o(.text.init+0x6d0b): undefined reference to
`mp_ioapics'
arch/i386/kernel/built-in.o: In function `io_apic_get_unique_id':
arch/i386/kernel/built-in.o(.text.init+0x6e16): undefined reference to
`phys_cpu_present_map'
drivers/built-in.o: In function `acpi_system_suspend':
drivers/built-in.o(.text+0x3c0fe): undefined reference to
`do_suspend_lowlevel'
drivers/built-in.o: In function `quirk_via_ioapic':
drivers/built-in.o(.text.init+0x628): undefined reference to
`nr_ioapics'
drivers/built-in.o: In function `acpi_bus_init':
drivers/built-in.o(.text.init+0x186c): undefined reference to
`mp_config_ioapic_for_sci'
drivers/built-in.o: In function `acpi_pci_irq_init':
drivers/built-in.o(.text.init+0x1f87): undefined reference to
`mp_parse_prt'
arch/i386/pci/built-in.o: In function `pirq_enable_irq':
arch/i386/pci/built-in.o(.text+0x2149): undefined reference to
`mp_irq_entries'
arch/i386/pci/built-in.o: In function `pcibios_irq_init':
arch/i386/pci/built-in.o(.text.init+0x9cb): undefined reference to
`mp_irq_entries'
arch/i386/pci/built-in.o: In function `pcibios_fixup_irqs':
arch/i386/pci/built-in.o(.text.init+0xa97): undefined reference to
`mp_irq_entries'
net/built-in.o: In function `p8022_request':
net/built-in.o(.text+0x11566): undefined reference to
`llc_build_and_send_ui_pkt'
net/built-in.o: In function `register_8022_client':
net/built-in.o(.text+0x115c5): undefined reference to `llc_sap_open'
net/built-in.o: In function `unregister_8022_client':
net/built-in.o(.text+0x11603): undefined reference to `llc_sap_close'
net/built-in.o: In function `snap_request':
net/built-in.o(.text+0x1179e): undefined reference to
`llc_build_and_send_ui_pkt'
net/built-in.o: In function `snap_init':
net/built-in.o(.text.init+0x6de): undefined reference to `llc_sap_open'
make: *** [vmlinux] Error 1

---
Svetoslav Dimitrov Slavtschev

svetljo@lycos.com
svetoslav@web.de



_____________________________________________________________
Play the Elvis® Scratch & Win for your chance to instantly win $10,000 Cash
- a 2003 Harley Davidson® Sportster® - 1 of 25,000 CD's - and more!
http://r.lycos.com/r/sagel_mail_scratch_tl/http://win.ipromotions.com/lycos_020801/index.asp?tc=7087 

^ permalink raw reply

* Re: [Lse-tech] [PATCH 1/2] node affine NUMA scheduler
From: William Lee Irwin III @ 2002-09-22  8:09 UTC (permalink / raw)
  To: Martin J. Bligh, Erich Focht, linux-kernel, LSE, Ingo Molnar,
	Michael Hohnbaum
In-Reply-To: <20020921231810.GA25605@holomorphy.com>

On Sat, Sep 21, 2002 at 09:46:05AM -0700, Martin J. Bligh wrote:
>> An old compile off 2.5.31-mm1 + extras (I don't have 37, but similar)

On Sat, Sep 21, 2002 at 04:18:10PM -0700, William Lee Irwin III wrote:
> Some 8-quad numbers for 2.5.37 (virgin) follow.

Okay, 2.5.37 virgin with overcommit_memory set to 1 this time.
(compiles with -j256 seem to do better than -j32 or -j48, here is -j256):

... will follow up with 2.5.38-mm1 with and without NUMA sched, at
least if the arrival rate of releases doesn't exceed the benchtime.

c01053ec 1605553  95.6785     poll_idle
c0114a48 7611     0.453556    load_balance
c0114ec0 5303     0.316018    scheduler_tick
c01422ac 5017     0.298974    page_remove_rmap
c01466de 4026     0.239918    .text.lock.file_table
c012d5ec 3290     0.196058    do_anonymous_page
c0141e48 3211     0.191351    page_add_rmap
c012df4c 2920     0.174009    handle_mm_fault
c010d6e8 2844     0.16948     timer_interrupt
c01547b3 2080     0.123952    .text.lock.namei
c0146070 1934     0.115251    get_empty_filp
c01a0d2c 1591     0.0948112   __generic_copy_from_user
c0111728 1477     0.0880177   smp_apic_timer_interrupt
c014633c 1437     0.085634    __fput
c01a0ce0 1346     0.0802111   __generic_copy_to_user
c0138c24 1249     0.0744307   rmqueue
c012e450 1169     0.0696633   vm_enough_memory
c012b694 1056     0.0629294   zap_pte_range
c0130e08 997      0.0594135   find_get_page
c014427c 950      0.0566126   dentry_open
c01391d0 949      0.056553    __alloc_pages
c0151424 892      0.0531563   link_path_walk
c01a0f90 834      0.0496999   atomic_dec_and_lock

^ permalink raw reply

* Re: 2.5.37-mm1
From: Robert Love @ 2002-09-22  7:57 UTC (permalink / raw)
  To: Andrew Morton; +Cc: lkml, linux-mm@kvack.org
In-Reply-To: <1032676152.967.959.camel@phantasy>

On Sun, 2002-09-22 at 02:29, Robert Love wrote:

> FYI, for testers: I have a tarball and RPM available of CVS as of
> yesterday, at:
> 
> 	http://tech9.net/rml/procps/
> 
> Rik and I have both been merging some neat code; take a look.

Updated: some fixes for 2.5 users, care of Andrew Morton... plus a dump
of tonight's CVS.

I feel like having some pizza.

	Robert Love

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply

* Re: 2.5.37-mm1
From: Robert Love @ 2002-09-22  7:57 UTC (permalink / raw)
  To: Andrew Morton; +Cc: lkml, linux-mm@kvack.org
In-Reply-To: <1032676152.967.959.camel@phantasy>

On Sun, 2002-09-22 at 02:29, Robert Love wrote:

> FYI, for testers: I have a tarball and RPM available of CVS as of
> yesterday, at:
> 
> 	http://tech9.net/rml/procps/
> 
> Rik and I have both been merging some neat code; take a look.

Updated: some fixes for 2.5 users, care of Andrew Morton... plus a dump
of tonight's CVS.

I feel like having some pizza.

	Robert Love


^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.