All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] envy24control.[ch] update for hoontech cards.
From: Henry Walpool @ 2002-12-14 15:05 UTC (permalink / raw)
  To: alsa-devel

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

Added some code to block out the error messages for the hoontech cards when someone tries to access the professional/consumer option. I tried to get the information from hoontech but no luck. I don't think it would be that hard to add the correct code to enable these functions but hoontech is not talking unfortunately. Hoontech even stopped responding to my e-mails. The last response I got was "e-mail the alsa-developers". "They have all the information about hoontech cards already."

Thanks for the alsa project!





_____________________________________________________________
Want a new web-based email account ? ---> http://www.firstlinux.net

_____________________________________________________________
Select your own custom email address for FREE! Get you@yourchoice.com w/No Ads, 6MB, POP & more! http://www.everyone.net/selectmail?campaign=tag

[-- Attachment #2: hoontech.ch_patch --]
[-- Type: application/octet-stream, Size: 888 bytes --]

--- alsacvs/alsa-kernel/pci/ice1712/hoontech.c	Tue Sep 17 05:42:07 2002
+++ alsacvs_modified_1/alsa-kernel/pci/ice1712/hoontech.c	Sat Dec  7 14:10:41 2002
@@ -218,6 +218,11 @@
 		"Hoontech SoundTrack Audio DSP24",
 		snd_ice1712_hoontech_init,
 	},
+	{
+		ICE1712_SUBDEVICE_STDSP24_MEDIA7_1,
+		"Hoontech STA DSP24 Media 7.1",
+		snd_ice1712_hoontech_init,
+	},
 	{ } /* terminator */
 };
 
--- alsacvs/alsa-kernel/pci/ice1712/hoontech.h	Tue Sep 17 05:42:07 2002
+++ alsacvs_modified_1/alsa-kernel/pci/ice1712/hoontech.h	Thu Dec  5 00:21:19 2002
@@ -27,6 +27,7 @@
 #define  HOONTECH_DEVICE_DESC 	       "{Hoontech SoundTrack DSP 24},"
 
 #define ICE1712_SUBDEVICE_STDSP24	0x12141217	/* Hoontech SoundTrack Audio DSP 24 */
+#define ICE1712_SUBDEVICE_STDSP24_MEDIA7_1	0x16141217	/* Hoontech ST Audio DSP24 Media 7.1 */
 
 extern struct snd_ice1712_card_info snd_ice1712_hoontech_cards[];
 

^ permalink raw reply

* [patch] Docs: fix explanation of file-nr
From: Paul Jakma @ 2002-12-14 15:02 UTC (permalink / raw)
  To: linux-kernel

Hi,

Documentation/sysctl/fs.txt is incorrect wrt to the middle number of 
/proc/sys/fs/file-nr. The current docs state it is the number of 
in-use file-handles, from observation this number is actually the 
number of /unused/ file-handles - we've observe that when it hits 0 we 
get file handle problems (rather than when it hits == file-max as docs 
imply). Patch:

--- Documentation/sysctl/fs.txt~	Sat Dec 14 14:58:03 2002
+++ Documentation/sysctl/fs.txt	Sat Dec 14 14:58:03 2002
@@ -82,11 +82,11 @@
 want to increase this limit.
 
 The three values in file-nr denote the number of allocated
-file handles, the number of used file handles and the maximum
+file handles, the number of unused file handles and the maximum
 number of file handles. When the allocated file handles come
-close to the maximum, but the number of actually used ones is
-far behind, you've encountered a peak in your usage of file
-handles and you don't need to increase the maximum.
+close to the maximum, but the number of unused file handles is
+significantly greater than 0, you've encountered a peak in your 
+usage of file handles and you don't need to increase the maximum.
 
 ==============================================================
 

regards,
-- 
Paul Jakma	Sys Admin	Alphyra
	paulj@alphyra.ie
Warning: /never/ send email to spam@dishone.st or trap@dishone.st


^ permalink raw reply

* 2.4.20, sparc64 --- ide and binfmt-elf cannot be built as modules
From: Nix @ 2002-12-14 14:58 UTC (permalink / raw)
  To: Linux Kernel Development

Building a Sparc64 kernel with the .config given below leads to these
errors at depmod time:

depmod: *** Unresolved symbols in /lib/modules/2.4.20/kernel/drivers/ide/ide-mod.o
depmod:         __flush_dcache_range
depmod: *** Unresolved symbols in /lib/modules/2.4.20/kernel/drivers/ide/ide-probe-mod.o
depmod:         ide_xlate_1024_hook
depmod: *** Unresolved symbols in /lib/modules/2.4.20/kernel/fs/binfmt_elf.o
depmod:         mem_map_zero

Exporting those symbols seems to fix it, but feels like a kludge.

The .config is

#
# Automatically generated make config: don't edit
#

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y

#
# General setup
#
CONFIG_BBC_I2C=m
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
# CONFIG_SMP is not set
CONFIG_SPARC64=y
# CONFIG_HOTPLUG is not set
CONFIG_HAVE_DEC_LOCK=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ISA is not set
# CONFIG_ISAPNP is not set
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_PCMCIA is not set
CONFIG_SBUS=y
CONFIG_SBUSCHAR=y
CONFIG_BUSMOUSE=y
CONFIG_SUN_MOUSE=y
CONFIG_SERIAL=y
CONFIG_SUN_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
CONFIG_SUN_KEYBOARD=y
CONFIG_SUN_CONSOLE=y
CONFIG_SUN_AUXIO=y
CONFIG_SUN_IO=y
CONFIG_PCI=y
CONFIG_RTC=y
CONFIG_PCI_NAMES=y
CONFIG_SUN_OPENPROMFS=m
CONFIG_NET=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_SPARC32_COMPAT=y
CONFIG_BINFMT_ELF32=y
# CONFIG_BINFMT_AOUT32 is not set
CONFIG_BINFMT_ELF=m
CONFIG_BINFMT_MISC=m
# CONFIG_SUNOS_EMUL is not set
CONFIG_SOLARIS_EMUL=m

#
# Parallel port support
#
# CONFIG_PARPORT is not set
# CONFIG_PRINTER is not set
CONFIG_ENVCTRL=m
# CONFIG_DISPLAY7SEG is not set
CONFIG_WATCHDOG_CP1XXX=m
# CONFIG_WATCHDOG_RIO is not set

#
# Console drivers
#
CONFIG_PROM_CONSOLE=y

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

#
# Misc Linux/SPARC drivers
#
CONFIG_SUN_OPENPROMIO=m
CONFIG_SUN_MOSTEK_RTC=y
CONFIG_SAB82532=y
CONFIG_OBP_FLASH=m
# CONFIG_SUN_BPP is not set
# CONFIG_SUN_VIDEOPIX is not set
CONFIG_SUN_AURORA=m

#
# Linux/SPARC audio subsystem (EXPERIMENTAL)
#
# CONFIG_SPARCAUDIO is not set
# CONFIG_SPARCAUDIO_CS4231 is not set
# CONFIG_SPARCAUDIO_DUMMY is not set

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

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_NBD=y

#
# 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
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
# 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=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
# CONFIG_IP_PNP_BOOTP is not set
CONFIG_IP_PNP_RARP=y
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
CONFIG_IP_MROUTE=y
# CONFIG_IP_PIMSM_V1 is not set
# CONFIG_IP_PIMSM_V2 is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
# CONFIG_KHTTPD is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set

#
#  
#
# CONFIG_IPX is not set
# CONFIG_ATALK is not set

#
# Appletalk devices
#
# 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_LLC 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 testing
#
# CONFIG_NET_PKTGEN is not set

#
# ATA/IDE/MFM/RLL support
#
CONFIG_IDE=m

#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=m

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
# CONFIG_BLK_DEV_IDEDISK is not set
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_IDEDISK_STROKE is not set
# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
# CONFIG_BLK_DEV_IDEDISK_IBM is not set
# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
# CONFIG_BLK_DEV_IDEDISK_WD is not set
# CONFIG_BLK_DEV_COMMERIAL is not set
# CONFIG_BLK_DEV_TIVO is not set
# CONFIG_BLK_DEV_IDECS is not set
CONFIG_BLK_DEV_IDECD=m
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set

#
# IDE chipset support/bugfixes
#
# 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_RZ1000 is not set
CONFIG_BLK_DEV_IDEPCI=y
# CONFIG_IDEPCI_SHARE_IRQ is not set
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_BLK_DEV_IDEDMA_TIMEOUT is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_AEC62XX_TUNING 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_CMD680 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_NS87415=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX is not set
# CONFIG_PDC202XX_BURST is not set
# CONFIG_PDC202XX_FORCE is not set
# CONFIG_BLK_DEV_SVWKS 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 is not set
# CONFIG_BLK_DEV_ATARAID is not set
# CONFIG_BLK_DEV_ATARAID_PDC is not set
# CONFIG_BLK_DEV_ATARAID_HPT is not set

#
# SCSI support
#
CONFIG_SCSI=y

#
# SCSI support type (disk, tape, CDrom)
#
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=10
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SG=y

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set

#
# SCSI low-level drivers
#
# CONFIG_SCSI_SUNESP is not set
# CONFIG_SCSI_QLOGICPTI is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set

#
# Fibre Channel support
#
# CONFIG_FC4 is not set
# CONFIG_FC4_SOC is not set
# CONFIG_FC4_SOCAL is not set
# CONFIG_SCSI_PLUTO is not set
# CONFIG_SCSI_FCAL 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

#
# Network device support
#
CONFIG_NETDEVICES=y

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

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_SUNLANCE is not set
CONFIG_HAPPYMEAL=y
CONFIG_SUNBMAC=m
# 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_HP100 is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI 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_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

#
# Unix 98 PTY support
#
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=1024

#
# Video For Linux
#
# CONFIG_VIDEO_DEV is not set

#
# XFree86 DRI support
#
# CONFIG_DRM_NEW is not set
# CONFIG_DRM_FFB is not set
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set

#
# Input core support
#
# CONFIG_INPUT is not set
# CONFIG_INPUT_KEYBDEV is not set
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set

#
# File systems
#
CONFIG_QUOTA=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# 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_BEFS_FS is not set
# CONFIG_BEFS_DEBUG is not set
# CONFIG_BFS_FS is not set
CONFIG_EXT3_FS=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
# 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=m
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 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=m
# CONFIG_UFS_FS_WRITE is not set

#
# Network File Systems
#
# CONFIG_CODA_FS is not set
CONFIG_INTERMEZZO_FS=m
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_ROOT_NFS is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_TCP is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
# 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=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_MSDOS_PARTITION is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
# CONFIG_EFI_PARTITION is not set
# CONFIG_SMB_NLS is not set
CONFIG_NLS=y

#
# Native Language Support
#
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
CONFIG_NLS_CODEPAGE_850=m
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_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 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=m
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set

#
# Sound
#
# CONFIG_SOUND is not set

#
# USB support
#
# CONFIG_USB is not set

#
# Bluetooth support
#
# CONFIG_BLUEZ is not set

#
# Watchdog
#
# CONFIG_SOFT_WATCHDOG is not set

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SLAB is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_DCFLUSH is not set
# CONFIG_STACK_DEBUG is not set

#
# Library routines
#
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m

-- 
`One could imagine the Known Net as a conversation between a sentient 
 Ford Motor Company, the New Zealand government, Eric Raymond, and a 
 talking walrus... and probably be not far off the mark.' --- Scott Forbes

^ permalink raw reply

* Re: i4l dtmf errors
From: Roy Sigurd Karlsbakk @ 2002-12-14 14:54 UTC (permalink / raw)
  To: Matti Aarnio, Kernel mailing list
In-Reply-To: <20021212121004.GC32122@mea-ext.zmailer.org>

>   Quick reading of  drivers/isdn/isdn_audio.c(*)  shows that it does use
>   fixed-point Görtzel (Goertzel in english) algorithm for detecting
>   tones, but it does _not_ do comparison of received overall signal
>   power vs. detected DTMF tone powers.
>
>   When there is signal power outside the DTMF channels, signal should
>   not be detected.  Also, DTMF tone powers should be roughly equal,
>   and exactly two tones should be present for valid detection.
>
>       http://www.numerix-dsp.com/goertzel.html
>
>   Adding those power tests should be fairly trivial, but I leave it
>   to Somebody Else...

Is there a 'somebody else' (perhaps the isdn maintainer?) that have time to 
look at this?

thanks

roy
-- 
Roy Sigurd Karlsbakk, Datavaktmester
ProntoTV AS - http://www.pronto.tv/
Tel: +47 9801 3356

Computers are like air conditioners.
They stop working when you open Windows.


^ permalink raw reply

* Re: Re: pci-skeleton duplex check
From: arun4linux @ 2002-12-14 14:35 UTC (permalink / raw)
  To: Michael Richardson, netdev, Linux Kernel Mailing List

&lt;&lt;Interfaces should NEVER change in patch level versions.
Just *DO NOT DO IT*.
&gt;&gt;I do agree on this.


This is a common complaint about linux kernel developers. And this always gives an insecure feeling  :-) for the device driver or kernel module programmers. 
This was one of the issues in my earlier company/work and they have gone for another OS.


Warm Regards


Arun
"Michael Richardson" wrote:



-----BEGIN PGP SIGNED MESSAGE-----


&gt;&gt;&gt;&gt;&gt; "Donald" == Donald Becker writes:
Donald&gt; The drivers in the kernel are now heavily modified and have significantly
Donald&gt; diverged from my version. Sure, you are fine with having someone else
Donald&gt; do the difficult and unrewarding debugging and maintainence work, while
Donald&gt; you work on just the latest cool hardware, change the interfaces and are
Donald&gt; concerned only with the current kernel version.

I agree strongly with Donald.

Interfaces should NEVER change in patch level versions.
Just *DO NOT DO IT*.

Go wild in odd-numbered.. get the interfaces right there.
But leave them alone afterward.

This is a fundamental tenant of being professional. Otherwise, the kernel
people are the biggest reason I've ever seen for using *BSD.
Microsoft is not the real enemy. Gratuitous change is.

] ON HUMILITY: to err is human. To moo, bovine. | firewalls [
] Michael Richardson, Sandelman Software Works, Ottawa, ON |net architect[
] mcr@sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ |device driver[
] panic("Just another Debian GNU/Linux using, kernel hacking, security guy"); [




Get Your Private, Free E-mail from Indiatimes at http://email.indiatimes.com

 Buy the best in Movies at http://www.videos.indiatimes.com

Change the way you talk. Indiatimes presents Valufon, Your PC to Phone service with clear voice at rates far less than the normal ISD rates. Go to http://www.valufon.indiatimes.com. Choose your plan. BUY NOW.

^ permalink raw reply

* Re: Re: pci-skeleton duplex check
From: arun4linux @ 2002-12-14 14:35 UTC (permalink / raw)
  To: Michael Richardson, netdev, Linux Kernel Mailing List

&lt;&lt;Interfaces should NEVER change in patch level versions.
Just *DO NOT DO IT*.
&gt;&gt;I do agree on this.


This is a common complaint about linux kernel developers. And this always gives an insecure feeling  :-) for the device driver or kernel module programmers. 
This was one of the issues in my earlier company/work and they have gone for another OS.


Warm Regards


Arun
"Michael Richardson" wrote:



-----BEGIN PGP SIGNED MESSAGE-----


&gt;&gt;&gt;&gt;&gt; "Donald" == Donald Becker writes:
Donald&gt; The drivers in the kernel are now heavily modified and have significantly
Donald&gt; diverged from my version. Sure, you are fine with having someone else
Donald&gt; do the difficult and unrewarding debugging and maintainence work, while
Donald&gt; you work on just the latest cool hardware, change the interfaces and are
Donald&gt; concerned only with the current kernel version.

I agree strongly with Donald.

Interfaces should NEVER change in patch level versions.
Just *DO NOT DO IT*.

Go wild in odd-numbered.. get the interfaces right there.
But leave them alone afterward.

This is a fundamental tenant of being professional. Otherwise, the kernel
people are the biggest reason I've ever seen for using *BSD.
Microsoft is not the real enemy. Gratuitous change is.

] ON HUMILITY: to err is human. To moo, bovine. | firewalls [
] Michael Richardson, Sandelman Software Works, Ottawa, ON |net architect[
] mcr@sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ |device driver[
] panic("Just another Debian GNU/Linux using, kernel hacking, security guy"); [


Get Your Private, Free E-mail from Indiatimes at  http://email.indiatimes.com
Buy the best in Movies at http://www.videos.indiatimes.com
Change the way you talk. Indiatimes presents "Valufon", Your PC to Phone service with clear voice at rates far less than the normal ISD rates. Go to http://www.valufon.indiatimes.com. Choose your plan. BUY NOW.


[[HTML alternate version deleted]]

^ permalink raw reply

* Re: Re: pci-skeleton duplex check
From: arun4linux @ 2002-12-14 14:35 UTC (permalink / raw)
  To: Michael Richardson, netdev, Linux Kernel Mailing List

&lt;&lt;Interfaces should NEVER change in patch level versions.
Just *DO NOT DO IT*.
&gt;&gt;I do agree on this.


This is a common complaint about linux kernel developers. And this always gives an insecure feeling  :-) for the device driver or kernel module programmers. 
This was one of the issues in my earlier company/work and they have gone for another OS.


Warm Regards


Arun
"Michael Richardson" wrote:



-----BEGIN PGP SIGNED MESSAGE-----


&gt;&gt;&gt;&gt;&gt; "Donald" == Donald Becker writes:
Donald&gt; The drivers in the kernel are now heavily modified and have significantly
Donald&gt; diverged from my version. Sure, you are fine with having someone else
Donald&gt; do the difficult and unrewarding debugging and maintainence work, while
Donald&gt; you work on just the latest cool hardware, change the interfaces and are
Donald&gt; concerned only with the current kernel version.

I agree strongly with Donald.

Interfaces should NEVER change in patch level versions.
Just *DO NOT DO IT*.

Go wild in odd-numbered.. get the interfaces right there.
But leave them alone afterward.

This is a fundamental tenant of being professional. Otherwise, the kernel
people are the biggest reason I've ever seen for using *BSD.
Microsoft is not the real enemy. Gratuitous change is.

] ON HUMILITY: to err is human. To moo, bovine. | firewalls [
] Michael Richardson, Sandelman Software Works, Ottawa, ON |net architect[
] mcr@sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ |device driver[
] panic("Just another Debian GNU/Linux using, kernel hacking, security guy"); [




Get Your Private, Free E-mail from Indiatimes at http://email.indiatimes.com

 Buy the best in Movies at http://www.videos.indiatimes.com

Change the way you talk. Indiatimes presents Valufon, Your PC to Phone service with clear voice at rates far less than the normal ISD rates. Go to http://www.valufon.indiatimes.com. Choose your plan. BUY NOW.


^ permalink raw reply

* Re: rmap and nvidia?
From: Rik van Riel @ 2002-12-14 14:26 UTC (permalink / raw)
  To: mdew; +Cc: William Lee Irwin III, Linux Kernel
In-Reply-To: <1039859196.771.18.camel@nirvana>

On Sat, 14 Dec 2002, mdew wrote:
> On Sat, 2002-12-14 at 22:38, William Lee Irwin III wrote:
> > On Sat, Dec 14, 2002 at 10:36:10PM +1300, mdew wrote:
> > > nv.c: In function `nv_get_phys_address':
> > > nv.c:2182: warning: implicit declaration of function `pte_offset'
> > > nv.c:2182: invalid type argument of `unary *'
> >
> > Use pte_offset_map() with a corresponding pte_unmap().
>
> err pardon?

wli just gave you the information you need to create a patch
for the nvidia driver.

Rik
-- 
Bravely reimplemented by the knights who say "NIH".
http://www.surriel.com/		http://guru.conectiva.com/
Current spamtrap:  <a href=mailto:"october@surriel.com">october@surriel.com</a>

^ permalink raw reply

* Re: [2.5.51] Failure to mount ext3 root when ext2 compiled in
From: Mohamed El Ayouty @ 2002-12-14 14:22 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Rusty Russell, LKML
In-Reply-To: <3DFB03E8.C7AB1271@digeo.com>

I started having that problem since 2.5.48.

I just commented out those 4 lines in init/do_mounts.c:

#ifdef CONFIG_DEVFS_FS
        sys_mount("devfs", "/dev", "devfs", 0, NULL);
        do_devfs = 1;
#endif

and 2.5.51 now works.

Mohamed

^ permalink raw reply

* Re: Symlink indirection
From: Andrew Walrond @ 2002-12-14 14:00 UTC (permalink / raw)
  To: John Bradford, linux-kernel
In-Reply-To: <200212141355.gBEDtb7q000952@darkstar.example.net>

Yes, typo - thanks John.

Trying again...

(contrived example with made-up mount option --overlay)

mkdir a
echo "a/x" > a/x
echo "a/y" > a/y
echo "a/z" > a/z

mkdir b
echo "b/y" > b/y

mkdir c
echo "c/z" > c/z

mkdir d
mount --bind a d
mount --bind --overlay b d
mount --bind --overlay c d

cat d/x
"a/x"

cat d/y
"b/y"

cat d/z
"c/z"


^ permalink raw reply

* Re: [BK][PATCH] ReiserFS CPU and memory bandwidth efficient large writes
From: Oleg Drokin @ 2002-12-14 13:21 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Hans Reiser, Linux Kernel Mailing List
In-Reply-To: <3DFA53DA.DE6788C1@digeo.com>

Hello!

On Fri, Dec 13, 2002 at 01:40:42PM -0800, Andrew Morton wrote:

> This seems wrong.  This could be a newly-allocated pagecache page.  It is not
> yet fully uptodate.  If (say) the subsequent copy_from_user gets a fault then
> it appears that this now-uptodate pagecache page will leak uninitialised stuff?

Ok, after all I think we do not need this uptodate stuff at all.

Find below the patch that address all the issues you've brought.
It is on top of previous one.
Do you think it is ok now?

Bye,
    Oleg

===== fs/reiserfs/bitmap.c 1.25 vs edited =====
--- 1.25/fs/reiserfs/bitmap.c	Sat Dec  7 17:08:04 2002
+++ edited/fs/reiserfs/bitmap.c	Sat Dec 14 14:48:15 2002
@@ -913,7 +913,7 @@
 	unsigned long space;
 
 	spin_lock(&REISERFS_SB(sb)->bitmap_lock);
-	space = (SB_FREE_BLOCKS(sb) - REISERFS_SB(sb)->reserved_blocks) / ( PAGE_CACHE_SIZE/sb->s_blocksize);
+	space = (SB_FREE_BLOCKS(sb) - REISERFS_SB(sb)->reserved_blocks) >> ( PAGE_CACHE_SHIFT - sb->s_blocksize_bits);
 	spin_unlock(&REISERFS_SB(sb)->bitmap_lock);
 
 	return space;
===== fs/reiserfs/do_balan.c 1.16 vs edited =====
--- 1.16/fs/reiserfs/do_balan.c	Sat Dec  7 13:37:19 2002
+++ edited/fs/reiserfs/do_balan.c	Sat Dec 14 15:35:55 2002
@@ -341,7 +341,7 @@
 		    version = ih_version (ih);
 
 		    /* Calculate key component, item length and body to insert into S[0] */
-                    set_le_ih_k_offset( ih, le_ih_k_offset( ih ) + tb->lbytes * (is_indirect_le_ih(ih)?tb->tb_sb->s_blocksize/UNFM_P_SIZE:1) );
+                    set_le_ih_k_offset( ih, le_ih_k_offset( ih ) + (tb->lbytes >> (is_indirect_le_ih(ih)?tb->tb_sb->s_blocksize_bits - UNFM_P_SHIFT:0)) );
 
 		    put_ih_item_len( ih, new_item_len );
 		    if ( tb->lbytes >  zeros_num ) {
@@ -463,7 +463,7 @@
 					"PAP-12107: items must be of the same file");
 				if (is_indirect_le_ih(B_N_PITEM_HEAD (tb->L[0],
 								      n + item_pos - ret_val)))	{
-				    temp_l = (l_n / UNFM_P_SIZE) * tb->tb_sb->s_blocksize;
+				    temp_l = (l_n / UNFM_P_SIZE) << tb->tb_sb->s_blocksize_bits;
 				}
 				/* update key of first item in S0 */
 				version = ih_version (B_N_PITEM_HEAD (tbS0, 0));
@@ -581,7 +581,7 @@
 		    old_len = ih_item_len(ih);
 
 		    /* Calculate key component and item length to insert into R[0] */
-                    offset = le_ih_k_offset( ih ) + (old_len - tb->rbytes )*(is_indirect_le_ih(ih)?tb->tb_sb->s_blocksize/UNFM_P_SIZE:1);
+                    offset = le_ih_k_offset( ih ) + ((old_len - tb->rbytes )>>(is_indirect_le_ih(ih)?tb->tb_sb->s_blocksize_bits - UNFM_P_SHIFT:0));
                     set_le_ih_k_offset( ih, offset );
 		    put_ih_item_len( ih, tb->rbytes);
 		    /* Insert part of the item into R[0] */
@@ -710,8 +710,8 @@
 			  
 			  version = ih_version (B_N_PITEM_HEAD (tb->R[0],0));
 			  if (is_indirect_le_key(version,B_N_PKEY(tb->R[0],0))){
-			      temp_rem = (n_rem / UNFM_P_SIZE) * 
-			                 tb->tb_sb->s_blocksize;
+			      temp_rem = n_rem >> (tb->tb_sb->s_blocksize -
+					 UNFM_P_SHIFT);
 			  }
 			  set_le_key_k_offset (version, B_N_PKEY(tb->R[0],0), 
 					       le_key_k_offset (version, B_N_PKEY(tb->R[0],0)) + temp_rem);
@@ -870,7 +870,7 @@
 
 		    /* Calculate key component and item length to insert into S_new[i] */
                     set_le_ih_k_offset( ih,
-                                le_ih_k_offset(ih) + (old_len - sbytes[i] )*(is_indirect_le_ih(ih)?tb->tb_sb->s_blocksize/UNFM_P_SIZE:1) );
+                                le_ih_k_offset(ih) + ((old_len - sbytes[i] )>>(is_indirect_le_ih(ih)?tb->tb_sb->s_blocksize_bits - UNFM_P_SHIFT:0)) );
 
 		    put_ih_item_len( ih, sbytes[i] );
 
@@ -1009,8 +1009,7 @@
 			    if (is_indirect_le_ih (tmp)) {
 				set_ih_free_space (tmp, 0);
 				set_le_ih_k_offset( tmp, le_ih_k_offset(tmp) + 
-					            (n_rem / UNFM_P_SIZE) *
-						    tb->tb_sb->s_blocksize);
+					            (n_rem >> (tb->tb_sb->s_blocksize_bits - UNFM_P_SHIFT)));
 			    } else {
 				set_le_ih_k_offset( tmp, le_ih_k_offset(tmp) + 
 				                    n_rem );
===== fs/reiserfs/file.c 1.19 vs edited =====
--- 1.19/fs/reiserfs/file.c	Sat Dec  7 17:08:04 2002
+++ edited/fs/reiserfs/file.c	Sat Dec 14 16:19:50 2002
@@ -142,15 +142,11 @@
     return error ;
 }
 
-/* this function from inode.c would be used here, too */
-extern void restart_transaction(struct reiserfs_transaction_handle *th,
-                                struct inode *inode, struct path *path);
-
 /* I really do not want to play with memory shortage right now, so
    to simplify the code, we are not going to write more than this much pages at
    a time. This still should considerably improve performance compared to 4k
-   at a time case. */
-#define REISERFS_WRITE_PAGES_AT_A_TIME 32
+   at a time case. This is 32 pages of 4k size. */
+#define REISERFS_WRITE_PAGES_AT_A_TIME (128 * 1024) / PAGE_CACHE_SIZE
 
 /* Allocates blocks for a file to fulfil write request.
    Maps all unmapped but prepared pages from the list.
@@ -217,7 +213,7 @@
     hint.inode = inode; // Inode is needed by block allocator too.
     hint.search_start = 0; // We have no hint on where to search free blocks for block allocator.
     hint.key = key.on_disk_key; // on disk key of file.
-    hint.block = inode->i_blocks/(inode->i_sb->s_blocksize/512); // Number of disk blocks this file occupies already.
+    hint.block = inode->i_blocks>>(inode->i_sb->s_blocksize_bits-9); // Number of disk blocks this file occupies already.
     hint.formatted_node = 0; // We are allocating blocks for unformatted node.
     hint.preallocate = 0; // We do not do any preallocation for now.
 
@@ -346,7 +342,7 @@
 		    restart_transaction(&th, inode, &path);
 
 		/* Well, need to recalculate path and stuff */
-		set_cpu_key_k_offset( &key, cpu_key_k_offset(&key) + to_paste * inode->i_sb->s_blocksize );
+		set_cpu_key_k_offset( &key, cpu_key_k_offset(&key) + (to_paste << inode->i_blkbits));
 		res = search_for_position_by_key(inode->i_sb, &key, &path);
 		if ( res == IO_ERROR ) {
 		    res = -EIO;
@@ -492,7 +488,7 @@
     }
 
     /* Amount of on-disk blocks used by file have changed, update it */
-    inode->i_blocks += blocks_to_allocate * (inode->i_sb->s_blocksize / 512);
+    inode->i_blocks += blocks_to_allocate << (inode->i_blkbits - 9);
     reiserfs_update_sd(&th, inode); // And update on-disk metadata
     // finish all journal stuff now, We are not going to play with metadata
     // anymore.
@@ -775,18 +771,18 @@
     if ( num_pages > 2 )
 	/* These are full-overwritten pages so we count all the blocks in
 	   these pages are counted as needed to be allocated */
-	blocks = (PAGE_CACHE_SIZE/inode->i_sb->s_blocksize) * (num_pages - 2);
+	blocks = (num_pages - 2) << (PAGE_CACHE_SHIFT - inode->i_blkbits);
 
     /* count blocks needed for first page (possibly partially written) */
-    blocks += ((PAGE_CACHE_SIZE - from) >> inode->i_sb->s_blocksize_bits) +
+    blocks += ((PAGE_CACHE_SIZE - from) >> inode->i_blkbits) +
 	   !!(from & (inode->i_sb->s_blocksize-1)); /* roundup */
 
     /* Now we account for last page. If last page == first page (we
        overwrite only one page), we substract all the blocks past the
        last writing position in a page out of already calculated number
        of blocks */
-    blocks += (PAGE_CACHE_SIZE/inode->i_sb->s_blocksize) * (num_pages > 1) -
-	   ((PAGE_CACHE_SIZE - to) >> inode->i_sb->s_blocksize_bits);
+    blocks += ((num_pages > 1) << (PAGE_CACHE_SHIFT-inode->i_blkbits)) -
+	   ((PAGE_CACHE_SIZE - to) >> inode->i_blkbits);
 	   /* Note how we do not roundup here since partial blocks still
 		   should be allocated */
 
@@ -798,13 +794,11 @@
 	    char *kaddr = kmap_atomic(prepared_pages[0], KM_USER0);
 	    memset(kaddr, 0, from);
 	    kunmap_atomic( kaddr, KM_USER0);
-	    SetPageUptodate(prepared_pages[0]);
 	}
 	if ( to != PAGE_CACHE_SIZE ) { /* Last page needs to be partially zeroed */
 	    char *kaddr = kmap_atomic(prepared_pages[num_pages-1], KM_USER0);
 	    memset(kaddr+to, 0, PAGE_CACHE_SIZE - to);
 	    kunmap_atomic( kaddr, KM_USER0);
-	    SetPageUptodate(prepared_pages[num_pages-1]);
 	}
 
 	/* Since all blocks are new - use already calculated value */
@@ -921,7 +915,7 @@
 			char *kaddr = kmap_atomic(prepared_pages[0], KM_USER0);
 			memset(kaddr+block_start, 0, from-block_start);
 			kunmap_atomic( kaddr, KM_USER0);
-			set_bit(BH_Uptodate, &bh->b_state);
+			set_buffer_uptodate(bh);
 		    }
 		}
 	    }
@@ -953,7 +947,7 @@
 			char *kaddr = kmap_atomic(prepared_pages[num_pages-1], KM_USER0);
 			memset(kaddr+to, 0, block_end-to);
 			kunmap_atomic( kaddr, KM_USER0);
-			set_bit(BH_Uptodate, &bh->b_state);
+			set_buffer_uptodate(bh);
 		    }
 		}
 	    }
@@ -1127,7 +1121,7 @@
 	       for this iteration. */
 	    num_pages = min_t(int, REISERFS_WRITE_PAGES_AT_A_TIME, reiserfs_can_fit_pages(inode->i_sb));
 	    /* Also we should not forget to set size in bytes accordingly */
-	    write_bytes = num_pages * PAGE_CACHE_SIZE - 
+	    write_bytes = (num_pages << PAGE_CACHE_SHIFT) - 
 			    (pos & (PAGE_CACHE_SIZE-1));
 					 /* If position is not on the
 					    start of the page, we need
@@ -1138,7 +1132,7 @@
 
 	/* reserve the blocks to be allocated later, so that later on
 	   we still have the space to write the blocks to */
-	reiserfs_claim_blocks_to_be_allocated(inode->i_sb, num_pages * (PAGE_CACHE_SIZE/inode->i_sb->s_blocksize));
+	reiserfs_claim_blocks_to_be_allocated(inode->i_sb, num_pages << (PAGE_CACHE_SHIFT - inode->i_blkbits));
 	reiserfs_write_unlock(inode->i_sb);
 
 	if ( !num_pages ) { /* If we do not have enough space even for */
@@ -1162,12 +1156,12 @@
 	blocks_to_allocate = reiserfs_prepare_file_region_for_write(inode, pos, num_pages, write_bytes, prepared_pages);
 	if ( blocks_to_allocate < 0 ) {
 	    res = blocks_to_allocate;
-	    reiserfs_release_claimed_blocks(inode->i_sb, num_pages * (PAGE_CACHE_SIZE/inode->i_sb->s_blocksize));
+	    reiserfs_release_claimed_blocks(inode->i_sb, num_pages << (PAGE_CACHE_SHIFT - inode->i_blkbits));
 	    break;
 	}
 
 	/* First we correct our estimate of how many blocks we need */
-	reiserfs_release_claimed_blocks(inode->i_sb, num_pages * (PAGE_CACHE_SIZE>>inode->i_sb->s_blocksize_bits) - blocks_to_allocate );
+	reiserfs_release_claimed_blocks(inode->i_sb, (num_pages << (PAGE_CACHE_SHIFT - inode->i_sb->s_blocksize_bits)) - blocks_to_allocate );
 
 	if ( blocks_to_allocate > 0) {/*We only allocate blocks if we need to*/
 	    /* Fill in all the possible holes and append the file if needed */
===== fs/reiserfs/inode.c 1.70 vs edited =====
--- 1.70/fs/reiserfs/inode.c	Sat Dec  7 17:08:04 2002
+++ edited/fs/reiserfs/inode.c	Sat Dec 14 14:59:00 2002
@@ -816,7 +816,7 @@
 		/* We need to mark new file size in case this function will be
 		   interrupted/aborted later on. And we may do this only for
 		   holes. */
-		inode->i_size += inode->i_sb->s_blocksize * blocks_needed;
+		inode->i_size += blocks_needed << inode->i_blkbits;
 	    }
 	    //mark_tail_converted (inode);
 	}
===== include/linux/reiserfs_fs.h 1.46 vs edited =====
--- 1.46/include/linux/reiserfs_fs.h	Sat Dec  7 17:08:04 2002
+++ edited/include/linux/reiserfs_fs.h	Sat Dec 14 16:08:21 2002
@@ -1268,6 +1268,7 @@
 
 /* Size of pointer to the unformatted node. */
 #define UNFM_P_SIZE (sizeof(unp_t))
+#define UNFM_P_SHIFT 2
 
 // in in-core inode key is stored on le form
 #define INODE_PKEY(inode) ((struct key *)(REISERFS_I(inode)->i_key))
@@ -1838,7 +1839,7 @@
 void padd_item (char * item, int total_length, int length);
 
 /* inode.c */
-
+void restart_transaction(struct reiserfs_transaction_handle *th, struct inode *inode, struct path *path);
 void reiserfs_read_locked_inode(struct inode * inode, struct reiserfs_iget_args *args) ;
 int reiserfs_find_actor(struct inode * inode, void *p) ;
 int reiserfs_init_locked_inode(struct inode * inode, void *p) ;

^ permalink raw reply

* Re: [BK][PATCH] ReiserFS CPU and memory bandwidth efficient large writes
From: Oleg Drokin @ 2002-12-14 11:44 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Hans Reiser, Linux Kernel Mailing List
In-Reply-To: <3DFA53DA.DE6788C1@digeo.com>

Hello!

On Fri, Dec 13, 2002 at 01:40:42PM -0800, Andrew Morton wrote:
> >     These three changesets implement reiserfs_file_write.
> What a big patch.

Yup. Also it was around for half a year or something ;)
Also actually it consists of two parts(changesets).

> I'd be interested in testing it a bit.  Could you please
> describe under what circumstances the new code paths are
> executed?  Is it simply appending to a normal old file?  No
> special mount options?

Well, there are several paths all related to appending.
One path is to seek far beyond end of file and then write some amount of data
(or just do a truncate beyond end of file) therefore creating a hole
(with different code than before).
Also Just appending to a file in chunks bigger than 4k.
Somewhat different code paths if you append to just created file, file
that is smaller than 4k in size and file that is bigger than 4k in size.

> A few little comments, and maybe a security problem....

Hopefuly not a problem.

> > +int reiserfs_can_fit_pages ( struct super_block *sb /* superblock of filesystem
> > +						       to estimate space */ )
> > +{
> > +	unsigned long space;
> > +
> > +	spin_lock(&REISERFS_SB(sb)->bitmap_lock);
> > +	space = (SB_FREE_BLOCKS(sb) - REISERFS_SB(sb)->reserved_blocks) / ( PAGE_CACHE_SIZE/sb->s_blocksize);
> > +	spin_unlock(&REISERFS_SB(sb)->bitmap_lock);
> > +
> > +	return space;
> >  }
> Both of the divisions here can be replaced with shifts.  Divides are expensive.

Well, this can be done of course.

> The locking here is peculiar:
> 
> 	spin_lock(lock);
> 	value = calculation();
> 	spin_unlock(lock);
> 	return value;

The locking is here for different reason. We protect against somebody 
changing REISERFS_SB(sb)->reserved_blocks value while we are calculating.
If you'd look into where we I call reiserfs_can_fit_pages() in file.c,
you'd notice first I am taking BKL. No other codepath increases
REISERFS_SB(sb)->reserved_blocks value (we only increase it in the same region),
also all "old style" allocations are done under BKL as well.
There is only possible decrease of REISERFS_SB(sb)->reserved_blocks that is
not under BKL and is the whole reason I need this additional lock.
Obviously decreasing REISERFS_SB(sb)->reserved_blocks is completely ok
to happen.

> Surely, if the calculation relies on the lock then the returned value is invalidated
> as soon as you drop the lock?

Well, kind of, but we only care if the calcutaion may become less and this
cannot happen.

> > +/* this function from inode.c would be used here, too */
> > +extern void restart_transaction(struct reiserfs_transaction_handle *th,
> > +                                struct inode *inode, struct path *path);
> This decl should be in a header file.

Sure.

> > +/* I really do not want to play with memory shortage right now, so
> > +   to simplify the code, we are not going to write more than this much pages at
> > +   a time. This still should considerably improve performance compared to 4k
> > +   at a time case. */
> > +#define REISERFS_WRITE_PAGES_AT_A_TIME 32
> Page sizes vary.  A better value may be
> 	(128 * 1024) / PAGE_CACHE_SIZE
> so that consistent behaviour is seem on platforms which have page sizes larger
> than 4k.

Ok.

> > +int reiserfs_allocate_blocks_for_region(
> > ...
> > +    b_blocknr_t allocated_blocks[blocks_to_allocate]; // Pointer to a place where allocated blocknumbers would be stored. Right now statically allocated, later that will change.
> This is a variable-sized array (aka: alloca).  It's not a problem IMO, but
> worth pointing out...

Sure.

> > +    reiserfs_blocknr_hint_t hint; // hint structure for block allocator.
> > +    size_t res; // return value of various functions that we call.
> > +    int curr_block; // current block used to keep track of unmapped blocks.
> > +    int i; // loop counter
> > +    int itempos; // position in item
> > +    unsigned int from = (pos & (PAGE_CACHE_SIZE - 1)); // writing position in
> > +						       // first page
> > +    unsigned int to = ((pos + write_bytes - 1) & (PAGE_CACHE_SIZE - 1)) + 1; /* last modified byte offset in last page */
> > +    __u64 hole_size ; // amount of blocks for a file hole, if it needed to be created.
> > +    int modifying_this_item = 0; // Flag for items traversal code to keep track
> > +				 // of the fact that we already prepared
> > +				 // current block for journal
> How much stack is this function using, worst-case?

For 4k blocksize, 4k pages, 32bit arch it will take at most:
sizeof(struct cpu_key)+sizeof(void *)*3+sizeof(struct reiserfs_transaction_handle)+sizeof(struct path)+sizeof(unsigned int)*32+sizeof(reiserfs_blocknr_hint_t)+sizeof(size_t)+sizeof(int)*6+sizeof(__u64) = 340 bytes (only local variables
obviously).

For 1k blocksize, 4k pages, 32bit arch it will take at most:
sizeof(struct cpu_key)+sizeof(void *)*3+sizeof(struct reiserfs_transaction_handle)+sizeof(struct path)+sizeof(unsigned int)*32*4+sizeof(reiserfs_blocknr_hint_t)+sizeof(size_t)+sizeof(int)*6+sizeof(__u64) = 724 bytes (only local variables)

> > +    for ( i = 0; i < num_pages; i++) {
> > +	prepared_pages[i] = grab_cache_page(mapping, index + i); // locks the page
> OK.  But note that locking multiple pages here is only free from AB/BA deadlocks
> because this is the only path which does it, and it is singly-threaded via i_sem.

It just a memo to not forget to release a page later. Also parallel mmap writer
won't be able to touch these pages if these are yet unallocated.

> > +	if ( from != 0 ) {/* First page needs to be partially zeroed */
> > +	    char *kaddr = kmap_atomic(prepared_pages[0], KM_USER0);
> > +	    memset(kaddr, 0, from);
> > +	    kunmap_atomic( kaddr, KM_USER0);
> > +	    SetPageUptodate(prepared_pages[0]);
> > +	}
> > +	if ( to != PAGE_CACHE_SIZE ) { /* Last page needs to be partially zeroed */
> > +	    char *kaddr = kmap_atomic(prepared_pages[num_pages-1], KM_USER0);
> > +	    memset(kaddr+to, 0, PAGE_CACHE_SIZE - to);
> > +	    kunmap_atomic( kaddr, KM_USER0);
> > +	    SetPageUptodate(prepared_pages[num_pages-1]);
> > +	}
> This seems wrong.  This could be a newly-allocated pagecache page.  It is not
> yet fully uptodate.  If (say) the subsequent copy_from_user gets a fault then
> it appears that this now-uptodate pagecache page will leak uninitialised stuff?

No, I do not see it. Even if we have somebody already mmapped this part of file,
and he got enough of luck that subsequent copy_from_user gets a fault and then
this someone gets to CPU and tries to access the page, the SIGBUS should happen
because of access to mmaped area beyond end of file as we have not yet updated
the file size note that we have this check before this code you pointed out:
    if ( (pos & ~(PAGE_CACHE_SIZE - 1)) > inode->i_size ) {

Or am I missing something?
Ok, actually I see how I can move this check to where I do copy_from_user.

I will take care of replacing multiplys and divisions with shifting.
Thanks a lot for your review.

Bye,
    Oleg

^ permalink raw reply

* [RFC] Hardware support notes for the kernel crypto API (2.5+)
From: James Morris @ 2002-12-14 13:51 UTC (permalink / raw)
  To: linux-kernel; +Cc: David S. Miller, cryptoapi-devel

Below are some initial notes on hardware support for the kernel crypto
API, discussing some initial requirements, vendor documentation status,
GPL driver status, and pointers to resources and earlier discussions on
the topic.

The focus at the moment is on gathering the requirements for generic
hardware crypto devices, which can be used to assist kernel components
(e.g. IPsec, CIFS), and userspace applications (e.g. SSL, IKE).  Some work 
has begun on obtaining documentation from vendors and developing clean GPL 
drivers.

Comments welcome, please consider following up to cryptoapi-devel for 
ongoing discussion.

(This document is also maintained at http://samba.org/~jamesm/crypto/)

------------------------------------------------------------------------------
Linux Kernel Crypto API - Hardware Support Notes
Last updated 15 Dec 2002
------------------------------------------------------------------------------

Requirements
  
  - Crypto hardware will require an asynchronous API with callbacks via
    softirq.
    
  - Multiple card support:
      Request dispatcher, needs to ensure requests are balanced
      across cards.
      
      Allow parallel operation for the same session: need to
      reserve session across all boards and dispatch appropriately.

  - Request dispatcher therefore required, and must have knowledge
    of cards: session support, session id format, algorithms, 
    batching capability, SG support etc.
  
  - Driver might be passed a logical request from the dispatcher
    in the form of:
      
      command = {operation, context, source, destination}
    
    How to handle scatter/gather?

      command = { operation, context, source sg, destination sg}
  
    If the card supports batching, multiple commands may be grouped:
    
      { command, command, command, ... }

  - How to handle card / queue full? (top level API change: all operations
    can fail).  Fall back to software? (async api will be required to
    support software implementations as well).

  - Pipeline management (where appropriate).
  
  - How to support IPsec offload to onboard NIC?
  
  - What will the Kernel & Userspace APIs look like?
  
    Kernel:
      crypto_alloc_tfm() - current simple interface
      crypto_alloc_session() - batching of commands, IPsec offload[?] etc.
                               specify algorithm bundle, preferences, then
                               use api helpers to build and send dispatcher
                               requests.

    Userspace:
      cryptoapifs? (see
      http://www.kerneli.org/pipermail/cryptoapi-devel/2002-December/000320.html)
    
  - Asymmetric crypto?

  - Existing kernel APIs with hardware support:
    - OpenBSD crypto queue
    - Cryptolib by Martin Gadbois,
      http://sources.colubris.com/en/projects/FreeSWAN/
      (what license does cryptolib use?)
    
  - Other discussions/proposals/code:
    - Michael Richardson
      http://mail.nl.linux.org/linux-crypto/2002-07/msg00054.html
      (also see followup threads on cryptoapi-devel)
    - Bart Trojanowski's Generic Engine
      http://www.jukie.net/~bart/genericengine/
      

Hardware documentation status:

  HiFn
    Documentation for Hifn cards available via download at their web site.
  
  IBM
    Can provide driver source for the card, and some general documentation is
    available at http://www.ibm.com/security/cryptocards/
    Software development toolkit is export controlled (contact IBM for more
    info).
    
  Motorola
    Unknown (Steve is working on some Linux drivers though).
    
  Intel
    Crypto documentation for NICs unavailable.
    
  3COM
    Crypto documentation for NICs unavailable.
    
  Broadcom
    No response to emails.
    
  AEP/Baltimore
    Unknown (not contacted yet, Linux driver available).
    
  Corrent
    Unknown (not contacted yet).
   
  Eracom
    Contacted some time ago, documentation had to be purchased (expensive).
    Not sure if this has changed.
    
  Safenet
    Unknown (not contacted yet).  
  

GPL Driver status:

  HiFn 7751
    James Morris (in progress).
  
  HiFn 7951
    David Bryson (in progress).
    Also see http://sourceforge.net/projects/hifn7951/
  
  HiFn 7901
    See http://sources.colubris.com/en/projects/FreeSWAN/
    
  Motorola MPC190, MPC184
    Steve (in progress).
    
  IBM 4758
    Available from IBM on request.

  AEP paep
    A dual licensed GPL/BSD driver is available somewhere.


Summary:
   I don't think we have enough documentation yet, notably none for NICs
   with crypto hardware.

------------------------------------------------------------------------------


- James
--
James Morris
<jmorris@intercode.com.au>



^ permalink raw reply

* MFS: possible bad behaviour of the function exists
From: Emmanuel Jeandel @ 2002-12-14 13:38 UTC (permalink / raw)
  To: linux-msdos

Hello,

I encountered the following problem (DOSEMU 1.1.3.4, i'm progressively
updating to 1.1.3.7, but i have not seen anything about this bug in patches
1.1.3.5 through 1.1.3.7)

With lredir, i associated D: with /home/foo, and E: with /home/foo/Games.
Let's say i have a file bar.exe in /home/foo/Games.

Now, in dosemu, if i say : 
PROMPT>D:
PROMPT>cd Games
PROMPT>bar
then bar is executed

However, if i execute :
PROMPT>E:
PROMPT>bar
bar.exe is not found (it is found by "dir", by "type", but i can neither
execute it nor modify it with an editor)

After some debugging, i found that the problem seems to be in mfs.c :
in the function exists, the ENTIRE path is lowercased, whereas the good
behaviour is to lowercase only the DOS part of the path (or rather to
not lowercase anything, cause find_file one line later will do this for us)

That's why i observed this behaviour : in the first case, find_file is
called with /home/foo/games/bar.exe, knowing that the unix part is /home/foo,
and then try any combination of lower and uppercase in games/bar.exe to find
that Games/bar.exe is the good one

In the second case, find_file is called with /home/foo/games/bar.exe,
knowing that the unix part is /home/foo/games (WRONG !), and then find
nothing, cause it will not do anything about the "games" part of the folder.


Then, this bug will cause the failure of any attempt to execute a file 
when the unix part of the path is not lowercase

My suggestion will be to comment/delete the line in exists speaking about
strlowerDOS.


Regards,
Emmanuel








^ permalink raw reply

* Re: Symlink indirection
From: John Bradford @ 2002-12-14 13:55 UTC (permalink / raw)
  To: Andrew Walrond; +Cc: jhf, linux-kernel
In-Reply-To: <3DFB2859.80401@walrond.org>

> >     I don't understand what you are trying to explain.  Do you mean a
> > union mount, or a variation thereof?
> > 
> >     I thought Al Viro was going to do union mount support for 2.5, but
> > I haven't heard about it in a while.  Maybe it went in and no one noticed?

> I'm not familiar with the phrase 'union mount' and although google gives 
> wads of hits, I can't find a good description of it
> 
> What I mean is (contrived example with made-up mount option --overlay)

> mkdir a
> echo "a/x" > a/x
> echo "a/y" > a/y
> echo "a/z" > a/z
> 
> mkdir b
> echo "b/y" > b/y
> 
> mkdir c
> echo "c/z" > c/z
> 
> mkdir d
> mount --bind a d
> mount --bind --overlay b d
> mount --bind --overlay c d
> 
> cat d/x
> "a/x"
> 
> cat d/y
> "b/x"

Shouldn't that be "b/y"?

> cat d/z
> "c/z"

John.

^ permalink raw reply

* Re: segfault with backtrace and information
From: Emmanuel Jeandel @ 2002-12-14 13:23 UTC (permalink / raw)
  To: linux-msdos
In-Reply-To: <20021208203022.GA5036@dirac.org>

Peter Jay Salzman said :
> dosemu consistantly segfaults on one of my machines.
> 
> 
> the area of code:
> 
>    (gdb) l 707
>    702     {STRQUOTELESS}          MAY_BEFORME {
>    703                               yylval->s_value = strdup(yytext);
>    704                               EXPRTYPE(yylval->s_value) = TYPE_STRQUOTELESS;
>    705                               return(STRING); }
> [snip]
Hi,

I encounter the same bug using gcc 3.2.2, bison 1.75 and flex 2.5.4

I found that parser.c calls yylex without arguments, whereas lex.yy.c defines 
yylex to be of type yylex(YYTYPE *yylval).

That means that bison does not build a pure parser, although YYPURE 
was defined.

I do not know exactly whether it is gcc or bison that is behaving wrong,
but inserting the line : 

%pure-parser

in the file parser.y.in (after the line: %start lines, for example)
was sufficient for me to solve this problem.

Regards,
Emmanuel

^ permalink raw reply

* Re: Networking/Becker et al [was Re: pci-skeleton duplex check]
From: Henning P. Schmiedehausen @ 2002-12-14 13:28 UTC (permalink / raw)
  To: linux-kernel
In-Reply-To: <20021213092229.D9973@work.bitmover.com>

Larry McVoy <lm@bitmover.com> writes:

[... many true words ...]

a)
[...]
b)
[...]
c)
[...]
d)
[...]
e) put an alan-cox-like entity between him and the linux kernel developers
   which translates. Worked terrific for Andre Hedrick. :-)

	Regards
		Henning

-- 
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen       -- Geschaeftsfuehrer
INTERMETA - Gesellschaft fuer Mehrwertdienste mbH     hps@intermeta.de

Am Schwabachgrund 22  Fon.: 09131 / 50654-0   info@intermeta.de
D-91054 Buckenhof     Fax.: 09131 / 50654-20   

^ permalink raw reply

* Re: [parisc-linux] problems with PCI IDE controller
From: Matthew Wilcox @ 2002-12-14 13:10 UTC (permalink / raw)
  To: Joerg Steindlberger; +Cc: PARISC-LINUX
In-Reply-To: <courier.3DFB1AEA.0000527C@server01>

On Sat, Dec 14, 2002 at 12:48:43PM +0100, Joerg Steindlberger wrote:
> Here is what I did: Building the kernel - booting the system - doing a 
> modprobe -k ide-disk (from remote) - pressing Transfer Of Control - 
> interrupting boot sequence and typing ser pim. And here is the output of 
> the console: (thank You for helping - Joerg)

Great.  Now...

http://www.parisc-linux.org/faq/kernelbug-howto.html

I notice you have devfs compiled in.  I can't recommend this course
of action, though I coubt it's the root of the problem.

> hp-c240 login:
> Debian GNU/Linux testing/unstable hp-c240 tts/0
> 
> hp-c240 login: Uniform Multi-Platform E-IDE driver Revision: 6.31
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> PDC20268: IDE controller on PCI bus 00 dev 08
> PDC20268: chipset revision 2
> PDC20268: not 100% native mode: will probe irqs later
> 
> 
> Uniform Multi-Platform E-IDE driver Revision: 6.31
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> PDC20268: IDE controller on PCI bus 00 dev 08
> PDC20268: chipset revision 2
> PDC20268: not 100% native mode: will probe irqs later
> 
> Stack Dump:
>   2f1a0900:  00000002 73747576 6f707172 6b6c6d6e
>   2f1a08f0:  6768696a 1010fdec 00000000 0000000f
>   2f1a08e0:  103dee76 10323810 10323b68 00000036
>   2f1a08d0:  00000061 00000000 00000001 10323810
>   2f1a08c0:  00000000 00000002 103df23f 00000010
>   2f1a08b0:  103dee40 0002423c 00000400 1037da4c
> 
> Kernel addresses on the stack:
>   [<1010fdec>]  [<0002423c>]  [<0002ec19>]  [<1024ba78>]
>   [<00034b44>]  [<000204c8>]  [<00034b44>]  [<0002ebe8>]
>   [<0002e898>]  [<1011cd58>]  [<102d0cec>]  [<00034b44>]
>   [<00036010>]  [<1011ce84>]  [<00034b44>]  [<00036010>]
>   [<000300ea>]  [<0002120c>]  [<00036010>]  [<0002ee98>]
>   [<0002e898>]  [<1011cd58>]  [<00036010>]  [<00036010>]
>   [<0002c180>]  [<0002ba01>]  [<000213e8>]  [<00020003>]
>   [<10135ddc>]  [<0000fe30>]  [<0001eac3>]  [<00017af0>]
>   [<0002b9cc>]  [<0002ba04>]  [<00036010>]  [<00010504>]
>   [<1011de54>]  [<0002d000>]  [<0002c5c0>]  [<10104904>]
>   [<0002c5b4>]  [<0002c5b4>]  [<0000a060>]  [<0002c5d0>]
>   [<10108f90>]  [<10108084>]  [<10107cf4>]  [<1013fd44>]
>   [<1013e638>]  [<1014ed24>]  [<0002c5b4>]  [<0001436b>]
>   [<101205a8>]
> 
> High Priority Machine Check (HPMC): Code=1 regs=10313080 (Addr=00000000)
> 
>       YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
> PSW: 00000000000001000000011100001100 Not tainted
> r00-03  00000000 10320010 1010f840 000000ff
> r04-07  0000fd00 0000fd1f 109ab400 0002e898
> r08-11  109ab400 00000061 00000000 00000001
> r12-15  00000000 2fda3ce0 2f1a0550 00000003
> r16-19  00044c08 00045408 00000000 f200006f
> r20-23  0000000e 0000000f 1026bee4 10323810
> r24-27  0000fd1f 00000003 109ac160 10310010
> r28-31  0000006f ffffe003 2f1a0900 1010f840
> sr0-3   00000000 00000265 00000000 00000265
> sr4-7   00000000 00000000 00000000 00000000
> 
> IASQ: 00000000 00000000 IAOQ: 1026bf10 1026bf14
>   IIR: 00141860    ISR: 9227ffc8  IOR: 00000064
>   CPU:        0   CR30: 2f1a0000 CR31: 103d0000
>   ORIG_R28: 00000000
> 
> 
> 
> Firmware Version  5.8
> 
> Duplex Console IO Dependent Code (IODC) revision 1
> 
> ------------------------------------------------------------------------------
>     (c) Copyright 1995-1998, Hewlett-Packard Company, All rights reserved
> ------------------------------------------------------------------------------
> 
>    Processor   Speed            State           Coprocessor State  I/D Cache
>    ---------  --------   ---------------------  ----------------- 
> -------------
>        0      236 MHz    Active                 Functional         2 MB/2 MB
> 
>    Central Bus Speed (in MHz) :        118
> 
>    Available memory (bytes)    : 536870912
>    Good memory required (bytes):   44974080
> 
>    Primary boot path:    LAN.0.0.0.0.0.0
>    Alternate boot path:  FWSCSI.6.0
>    Console path:         GRAPHICS(4)
>    Keyboard path:        PS2
> 
> CPU 0
> WARNING:  Self tests have been disabled as a result of FASTBOOT
>            being enabled.  To enable self tests, use the FASTBOOT
>            command in the CONFIGURATION menu and reboot the system.
> 
> 
> Processor is booting from first available device.
> 
> To discontinue, press any key within 10 seconds.
> 
> Boot terminated.
> 
> 
> ------- Main Menu 
> -------------------------------------------------------------
> 
>          Command                         Description
>          -------                         -----------
>          BOot [PRI|ALT|<path>]           Boot from specified path
>          PAth [PRI|ALT|CON|KEY] [<path>] Display or modify a path
>          SEArch [DIsplay|IPL] [<path>]   Search for boot devices
> 
>          COnfiguration [<command>]       Access Configuration menu/commands
>          INformation [<command>]         Access Information menu/commands
>          SERvice [<command>]             Access Service menu/commands
> 
>          DIsplay                         Redisplay the current menu
>          HElp [<menu>|<command>]         Display help for menu or command
>          RESET                           Restart the system
> -------
> Main Menu: Enter command > ser pim
> 
> PROCESSOR PIM INFORMATION
> 
> -----------------  Processor 0 HPMC Information ------------------
> 
> Timestamp =   Fri Dec  13 23:00:06 GMT 2002    (20:02:12:13:23:00:06)
> 
> HPMC Chassis Codes = 0xcbf0  0x5007  0x5408  0x5508  0xcbfb
> 
> General Registers 0 - 31
> 00-03   0000000000000000  0000000010320010  000000001010f840 
> 00000000000000ff
> 04-07   000000000000fd00  000000000000fd1f  00000000109ab400 
> 000000000002e898
> 08-11   00000000109ab400  0000000000000061  0000000000000000 
> 0000000000000001
> 12-15   0000000000000000  000000002fda3ce0  000000002f1a0550 
> 0000000000000003
> 16-19   0000000000044c08  0000000000045408  0000000000000000 
> 00000000f200006f
> 20-23   000000000000000e  000000000000000f  000000001026bee4 
> 0000000010323810
> 24-27   000000000000fd1f  0000000000000003  00000000109ac160 
> 0000000010310010
> 28-31   000000000000006f  00000000ffffe003  000000002f1a0900 
> 000000001010f840
> 
> <Press any key to continue (q to quit)>
> 
> Control Registers 0 - 31
> 00-03   0000000000000000  0000000000000000  0000000000000000 
> 0000000000000000
> 04-07   0000000000000000  0000000000000000  0000000000000000 
> 0000000000000000
> 08-11   00000000000004ca  0000000000000000  00000000000000c0 
> 000000000000001f
> 12-15   0000000000000000  0000000000000000  0000000000107000 
> 00000000f0000000
> 16-19   000000195c1e11d2  0000000000000000  000000001026bf10 
> 0000000000141860
> 20-23   000000009227ffc8  c000000000000064  000000000004070c 
> 0000000080000000
> 24-27   000000000032d000  000000001f208000  00000000ffffffff 
> 00000000ffffffff
> 28-31   00000000ffffffff  00000000ffffffff  000000002f1a0000 
> 00000000103d0000
> 
> Space Registers 0 - 7
> 00-03   00000000          00000265          00000000          00000265
> 04-07   00000000          00000000          00000000          00000000
> 
> <Press any key to continue (q to quit)>
> 
> IIA Space                    = 0x0000000000000000
> IIA Offset                   = 0x000000001026bf14
> Check Type                   = 0x20000000
> CPU State                    = 0x9e000004
> Cache Check                  = 0x00000000
> TLB Check                    = 0x00000000
> Bus Check                    = 0x0020000c
> Assists Check                = 0x00000000
> Assist State                 = 0x00000000
> Path Info                    = 0x00000000
> System Responder Address     = 0xfffffffffffa0000
> System Requestor Address     = 0x0000000000000000
> Check Summary                = 0x8002000040004000
> Available Memory             = 0x0000000000000000
> CPU Diagnose Register 2      = 0x0501000000000004
> CPU Status Register 0        = 0x4420c20000000000
> CPU Status Register 1        = 0x8002000000000000
> SADD LOG                     = 0x0800000000000000
> Read Short LOG               = 0xc10010fff200006f
> 
> <Press any key to continue (q to quit)>
> 
> Memory Error Log Information:
> 
> Timestamp =   Fri Dec  13 23:00:07 GMT 2002    (20:02:12:13:23:00:07)
> 
>     No memory errors logged
> 
> 
> I/O Module Error Log Information:
> 
> Timestamp =   Fri Dec  13 23:00:08 GMT 2002    (20:02:12:13:23:00:08)
> 
> Bus    HPA       Module Type      Path  Slt Md Sev  Estat Requestor 
> Responder
> --- ---------- ---------------- -------- -- -- ---- ----- ---------- 
> ----------
>   0  0xfff88000 I/O Adapter      8         2  0  he   0x0d 0x00000000 
> 0x00000000
>   1  0xf203f000 Bus Converter    8/63     15  3  se   0x07 0xfffa0800 
> 0xf200006f
>   1  0xf2000000 Bus Bridge (PCI)                      0x07 0xf2000000 
> 0x0000fd1f
> 
> PCI Device Failure Information
> 
> Physical Slot   Logical   Path
> -------------  ----------------------------
>     1            0/255/255/255/8/0/1/0
> 
> 
> 
> PCI Error Summary
> 
> A Processer IO error occurred. The GSC-PCI bridge was
> the requestor. Error bit indicates a master timeout
> or master Abort was received during a PCI transaction.
> 
> Bus    HPA       Module Type      Path  Slt Md Sev  Estat Requestor 
> Responder
> --- ---------- ---------------- -------- -- -- ---- ----- ---------- 
> ----------
>   0  0xfff8a000 I/O Adapter      10        2  2  he   0x0d 0x00000000 
> 0x00000000
> 
> <Press any key to continue (q to quit)>
> Main Menu: Enter command >
> 
> _______________________________________________
> parisc-linux mailing list
> parisc-linux@lists.parisc-linux.org
> http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

-- 
"It's not Hollywood.  War is real, war is primarily not about defeat or
victory, it is about death.  I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk

^ permalink raw reply

* Re: pci-skeleton duplex check
From: Henning P. Schmiedehausen @ 2002-12-14 13:17 UTC (permalink / raw)
  To: linux-kernel
In-Reply-To: <20021213.102918.102902274.davem@redhat.com>

"David S. Miller" <davem@redhat.com> writes:

>   From: Donald Becker <becker@scyld.com>
>   Date: Fri, 13 Dec 2002 11:56:17 -0500 (EST)
>   
>   The development criteria used to be technically based, and that is still
>   the public statement.  Now, as your statement makes clear, working code
>   is an irrelevant criteria.

>No, working code is only part of the equation.  If you're a total and
>complete asshole, your work is likely to get lost to the sands of
>time.  In such a case nobody wants to deal with you.

The IDE code and one of its current maintainers disproves your point.

I did notice that it was you and not Donald who started using swear
words. Ego problem?

	Regards
		Henning
-- 
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen       -- Geschaeftsfuehrer
INTERMETA - Gesellschaft fuer Mehrwertdienste mbH     hps@intermeta.de

Am Schwabachgrund 22  Fon.: 09131 / 50654-0   info@intermeta.de
D-91054 Buckenhof     Fax.: 09131 / 50654-20   

^ permalink raw reply

* Re: Time Patch on 1.2.6a
From: Torsten Puls @ 2002-12-14 12:55 UTC (permalink / raw)
  To: netfilter

Hello,

I work with Debian/GNU Linux Woody 3.0
Anyway.

download patch-o-matic.tar.gz from netfilter.org

cd /usr/src
tar -xzvf patch-o-matic.tar.gz

cd patch-o-matic

KERNEL_DIR=/usr/src/linux ./runme pending

or/and

KERNEL_DIR=/usr/src/linux ./runme base

and/or

KERNEL_DIR=/usr/src/linux ./runme extra

so that's it.

Now you can recompile your new Kernel.

Greetz Torsten


^ permalink raw reply

* Re: Time Patch on 1.2.6a
From: Torsten Puls @ 2002-12-14 12:44 UTC (permalink / raw)
  To: netfilter
In-Reply-To: <F81QkQiHR9dIzQZt9KA0000ca21@hotmail.com>

Hello,

I work with Debian/GNU Linux Woody 3.0
Anyway.

download patch-o-matic.tar.gz from netfilter.org

cd /usr/src
tar -xzvf patch-o-matic.tar.gz

cd patch-o-matic

KERNEL_DIR=/usr/src/linux ./runme pending

or/and

KERNEL_DIR=/usr/src/linux ./runme base

and/or

KERNEL_DIR=/usr/src/linux ./runme extra

so that's it.

Now you can recompile your new Kernel.

Greetz Torsten


^ permalink raw reply

* Re: Symlink indirection
From: Andrew Walrond @ 2002-12-14 12:47 UTC (permalink / raw)
  To: Joseph Fannin, linux-kernel
In-Reply-To: <20021214055716.GA14721@zion.rivenstone.net>


Joseph Fannin wrote:
> 
>     I don't understand what you are trying to explain.  Do you mean a
> union mount, or a variation thereof?
> 
>     I thought Al Viro was going to do union mount support for 2.5, but
> I haven't heard about it in a while.  Maybe it went in and no one noticed?
> 

Hi Joseph

I'm not familiar with the phrase 'union mount' and although google gives 
wads of hits, I can't find a good description of it

What I mean is (contrived example with made-up mount option --overlay)

mkdir a
echo "a/x" > a/x
echo "a/y" > a/y
echo "a/z" > a/z

mkdir b
echo "b/y" > b/y

mkdir c
echo "c/z" > c/z

mkdir d
mount --bind a d
mount --bind --overlay b d
mount --bind --overlay c d

cat d/x
"a/x"

cat d/y
"b/x"

cat d/z
"c/z"

This would be *really* useful and nice. I currently emulate this 
behavior with a bash script which creates hard or soft links, but the 
mounting system would be much nicer, easier to unwind etc.

I assume this isn't possible now (man mount gives no hint), but how 
feasible is it? Has anybody tried to implement this? If yes and No 
perhaps I could (with some initial guidance) have a look at implementing 
this.

I don't use HD's much anymore, so it would need to work for tmpfs.


^ permalink raw reply

* Ali5451 problem with mixer
From: Rafal Dejewski @ 2002-12-14 12:04 UTC (permalink / raw)
  To: alsa-devel

Hi,
I have a problem with alsa mixer on kernel 2.5.51 and alsa-lib, alsa-utils 
0.6rc6. Whenerver I try to run alsamixer the following message appers in 
console and alsamixer would not start:
$ alsamixer
ALSA lib simple.c:944:(simple_add1) helem (MIXER,'IEC958 Playback 
Switch',0,0,0) appears twice or more
alsamixer: function snd_mixer_load failed: Invalid argument

I found out that disabling this check in simple.c in alsa-lib allows alsamixer 
to run and work (well, for me). 
Unfortunatelly I can't test spdif connection. Oss emullation mixer works ok. 
This happens also with ali5451.c rev.1.23 from cvs.
This problem was also reported here: 
http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg05094.html

Help appreciated,
Rafal

----------------------------------------------------------------------
Narysuj swoje wlasne logo na komorke! >>> http://link.interia.pl/f16a7




-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/

^ permalink raw reply

* Re: Not able to compile modutils-2.4.21-7.src.rpm
From: Paolo Ciarrocchi @ 2002-12-14 12:05 UTC (permalink / raw)
  To: greg, rusty; +Cc: linux-kernel

From: Rusty Russell <rusty@rustcorp.com.au>
[...]
> > /usr/bin/ld: cannot find -lc
> > collect2: ld returned 1 exit status
> > make[1]: *** [insmod.static] Error 1
> > make[1]: Leaving directory `/usr/src/RPM/BUILD/modutils-2.4.21/insmod'
> > make: *** [all] Error 2
> > error: Bad exit status from /var/tmp/rpm-tmp.76637 (%build)
>
>It looks like you don't have the ability to make static binaries.
>Does this fail for you, too?
>
>	echo 'int main(){return 0;}' > /tmp/foo.c && gcc -static -o foo foo.c
>
>Perhaps there is some RH devel package you need to install to allow
>this to work?

Yes, you are correct and I am a stupid guy ;-)
Gregoire told me what the package is,
glibc-static-devel...

Ok, now rpm --rebuild --target i686 blabla.src.rpm
works perfectly.

No problem with modules, thank you very much!

             Paolo

From: Gregoire Favre <greg@ulima.unil.ch>
[...]
> > /usr/bin/ld: cannot find -lc
> > collect2: ld returned 1 exit status
> > make[1]: *** [insmod.static] Error 1
> 
> Just install glibc-static-devel...

Ahh... you are correct! Now it compiles,
sorry for the silly report and thank you!

               Paolo
-- 
______________________________________________
http://www.linuxmail.org/
Now with POP3/IMAP access for only US$19.95/yr

Powered by Outblaze

^ permalink raw reply

* Re: Why does C3 CPU downgrade in kernel 2.4.20?
From: Denis Vlasenko @ 2002-12-14 16:46 UTC (permalink / raw)
  To: Pavel Machek
  Cc: Daniel Egger, Dave Jones, Joseph, linux-kernel@vger.kernel.org
In-Reply-To: <20021212180957.GA184@elf.ucw.cz>

On 12 December 2002 18:09, Pavel Machek wrote:
> Hi!
>
> > > > I believe someone (Jeff Garzik?) benchmarked gcc code
> > > > generation, and the C3 executed code scheduled for a 486 faster
> > > > than it did for -m586
> > > > I'm not sure about the alignment flags. I've been meaning to
> > > > look into that myself...
> > >
> > > Interesting. I have no clue about which C3 you're talking about
> > > here but a VIA Ezra has all 686 instructions including cmov and
> > > thus optimising for PPro works best for me.
> > >
> > > Prolly I would have to do more benchmarking to find out about
> > > aligment advantages.
> >
> > I heard cmovs are microcoded in Centaurs.
> >
> > s...l...o...w...
>
> It still might be faster then a branch... or not if centaurs are
> really that simple.
> 								Pavel

I did not measure it myself, but rumors were they took tens of cycles.

Well, a IFcc prefix meaning 'execute next instruction if' would be
way more cool that CMOVcc. Because I want CADDcc, CTESTcc, CBSWAPcc too ;)

But since all 1 byte opcodes are taken and

	Jcc	skip		# <- 2 byte opcode
	opcode	op1,op2
skip:

I think some CPU magic can detect such short jumps and handle'em just like
they were such a prefix, saving potential branch (mis-)prediction.
--
vda

^ 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.