Re: Linux CM for 2.0.30

Andrew Purtell (apurtell@ieinc.com)
Mon, 26 May 1997 20:23:53 -0400


David:

Firstly, great work!

There is only problem I've encountered. After applying your patch, if I
do a 'cat /proc/cm/devices', I get this oops:

> kernel: general protection: 0000
> kernel: CPU: 0
> kernel: EIP: 0010:[proc_readnet+171/324]
> kernel: EFLAGS: 00010287
> kernel: eax: 000006ee ebx: 03c841f8 ecx: f000e2c3 edx: f00000fd
> kernel: esi: 00000000 edi: 00000000 ebp: 00001000 esp: 03be5f44
> kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
> kernel: Process cat (pid: 150, process nr: 12, stackpage=03be5000)
> kernel: Stack: 03c841f8 03be5f7c f00000fd 03c5d400 03d01000 03d01000 03be5f90 00000000
> kernel: 00000c00 00000000 03c5d400 00000000 00001000 03c841f8 03af8065 00000c00
> kernel: 001e05b8 00000000 03d01000 03d01000 0012a7df 03c841f8 03c5d400 08002b30
> kernel: Call Trace: [sys_read+179/216] [system_call+82/128]
> kernel: Code: ff d2 89 44 24 24 83 c4 14 83 7c 24 10 00 7e 6b 8b 54 24 34

This only happens on our PNP-BIOS Pentiums. I have no problems catting
this
"file" on a circa 1994 486 box with no PNP extensions.

I have included configuration information that may be relevant below. If
you need more information or would like a guinea pig for testing
potential
fixes, please feel free to contact me.

*** From .config:

> CONFIG_EXPERIMENTAL=y
> CONFIG_MODULES=y
> CONFIG_MODVERSIONS=y
> CONFIG_KERNELD=y
> CONFIG_NET=y
> CONFIG_PCI=y
> CONFIG_PCI_OPTIMIZE=y
> CONFIG_CHR_DEV_MSR=m
> CONFIG_SYSVIPC=y
> CONFIG_BINFMT_AOUT=m
> CONFIG_BINFMT_ELF=y
> CONFIG_BINFMT_JAVA=m
> CONFIG_STACKEXEC=y ; Solar Designer's executable stack patch
> CONFIG_STACKEXEC_AUTOENABLE=y
> CONFIG_STACKEXEC_LOG=y
> CONFIG_KERNEL_ELF=y
> CONFIG_M586=y
> CONFIG_CM_PNP_BIOS=y
> CONFIG_CM_PNP_ISA=y
> CONFIG_CM_PCI=y
> CONFIG_BLK_DEV_FD=m
> CONFIG_BLK_DEV_IDE=y
> CONFIG_BLK_DEV_IDECD=y
> CONFIG_BLK_DEV_IDETAPE=y
> CONFIG_BLK_DEV_IDE_PCMCIA=y
> CONFIG_BLK_DEV_CMD640=y
> CONFIG_BLK_DEV_RZ1000=y
> CONFIG_BLK_DEV_TRITON=y
> CONFIG_IDE_CHIPSETS=n
> CONFIG_BLK_DEV_LOOP=m
> CONFIG_BLK_DEV_MD=y ; md 0.36 patch from nucleau.unam.mx
> CONFIG_MD_LINEAR=m
> CONFIG_MD_STRIPED=m
> CONFIG_MD_MIRRORING=m
> CONFIG_BLK_DEV_RAM=m
> CONFIG_BLK_DEV_XD=m
> CONFIG_FIREWALL=y
> CONFIG_NET_ALIAS=y
> CONFIG_INET=y
> CONFIG_IP_FORWARD=y
> CONFIG_SYN_COOKIES=y
> CONFIG_IP_FIREWALL=y
> CONFIG_IP_FIREWALL_VERBOSE=y
> CONFIG_IP_MASQUERADE=y
> CONFIG_IP_MASQUERADE_IPAUTOFW=y
> CONFIG_IP_MASQUERADE_ICMP=y
> CONFIG_IP_TRANSPARENT_PROXY=y
> CONFIG_IP_ALWAYS_DEFRAG=y
> CONFIG_IP_ACCT=y
> CONFIG_NET_IPIP=m
> CONFIG_IP_ALIAS=m
> CONFIG_INET_RARP=m
> CONFIG_IP_NOSR=y
> CONFIG_IPX=m
> CONFIG_IPX_INTERN=y
> CONFIG_ATALK=m
> CONFIG_NETROM=n
> CONFIG_SCSI=n
> CONFIG_NETDEVICES=y
> CONFIG_DUMMY=m
> CONFIG_EQUALIZER=n
> CONFIG_DLCI=n
> CONFIG_SHAPER=m ; Alan Cox's traffic shaper
> CONFIG_PLIP=m
> CONFIG_PPP=m
> CONFIG_SLIP=m
> CONFIG_SLIP_COMPRESSED=y
> CONFIG_SLIP_SMART=y
> CONFIG_SLIP_MODE_SLIP6=y
> CONFIG_NET_RADIO=n
> CONFIG_NET_ETHERNET=n
> CONFIG_TR=y
> CONFIG_IBMTR=m
> CONFIG_CD_NO_IDESCSI=y
> CONFIG_SBPCD=m
> CONFIG_LOCK_MANDATORY=y
> CONFIG_MINIX_FS=y
> CONFIG_EXT_FS=m
> CONFIG_EXT2_FS=y
> CONFIG_EXT2_NOATIME=y
> CONFIG_XIA_FS=n
> CONFIG_FAT_FS=m
> CONFIG_NLS=m
> CONFIG_NLS_CODEPAGE_437=m
> CONFIG_MSDOS_FS=m
> CONFIG_VFAT_FS=m
> CONFIG_DMSDOS_FS=m ; dmsdos fs patch
> CONFIG_DMSDOS_UPON_VFAT=y
> CONFIG_UMSDOS_FS=m
> CONFIG_UMSDOS_UPON_DMSDOS=y
> CONFIG_ISO9660_FS=m
> CONFIG_PROC_FS=y
> CONFIG_PROC_CONF=m
> CONFIG_NFS_FS=m
> CONFIG_SMB_FS=m
> CONFIG_SMB_WIN95=y
> CONFIG_NCP_FS=m
> CONFIG_HFS_FS=m ; r/w Mac (HFS) fs
> CONFIG_HPFS_FS=m
> CONFIG_NTFS_FS=m ; r/o NTFS fs
> CONFIG_SYSV_FS=m
> CONFIG_AUTOFS_FS=m ; autofs from ftp.kernel.org
> CONFIG_AFFS_FS=n
> CONFIG_UFS_FS=m
> CONFIG_BSD_DISKLABEL=y
> CONFIG_SMD_DISKLABEL=y
> CONFIG_SERIAL=y
> CONFIG_CYCLADES=m
> CONFIG_RISCOM8=m
> CONFIG_PRINTER=m
> CONFIG_MOUSE=y
> CONFIG_BUSMOUSE=m
> CONFIG_MS_BUSMOUSE=m
> CONFIG_PSMOUSE=m
> CONFIG_FTAPE=m
> CONFIG_WATCHDOG=y
> CONFIG_WATCHDOG_NOWAYOUT=y
> CONFIG_SOFT_WATCHDOG=m
> CONFIG_RTC=y
> CONFIG_SOUND=m
> CONFIG_SB=y
> CONFIG_ADLIB=y
> CONFIG_AUDIO=y
> CONFIG_MIDI=y
> CONFIG_YM3812=y
> SBC_BASE=220
> SBC_IRQ=5
> SBC_DMA=1
> SB_DMA2=5
> SB_MPU_BASE=0
> SB_MPU_IRQ=-1
> DSP_BUFFSIZE=65536

*** Boot sequence, from syslog:

kernel: Linux v2.0.30 (root@portal) (gcc version 2.7.2) #4 Fri May 23
19:56:42 EDT 1997
kernel: Configuration Manager initialising: 00301fc0
kernel: CMGR: Legacy: init
kernel: CMGR: BIOS: init
kernel: CMGR: BIOS: found PnP bios extensions v1.0 @ 000fa360
kernel: CMGR: BIOS: entry=a460@000f0000 data=@00000400
kernel: CMGR: BIOS: ldt= 3038c0
kernel: CMGR: BIOS: revision=0.1 ncsn=00 rd_port=0213
kernel: CMGR: BIOS: nsysdev=0f
kernel: CMGR: ESCD: minw=2000 escd=0bc0 nvbase=000ec000
kernel: CMGR: BIOS: load
kernel: CMGR: BIOS: device id=pnp0000
kernel: CMGR: BIOS: device id=pnp0201
kernel: CMGR: BIOS: device id=pnp0100
kernel: CMGR: BIOS: device id=pnp0b00
kernel: CMGR: BIOS: device id=pnp0800
kernel: CMGR: BIOS: device id=pnp0c04
kernel: CMGR: BIOS: device id=pnp0303
kernel: CMGR: BIOS: device id=pnp0f13
kernel: CMGR: BIOS: device id=pnp0c01
kernel: CMGR: BIOS: device id=pnp0a03
kernel: CMGR: BIOS: device id=pnp0700
kernel: CMGR: BIOS: device id=pnp0400
kernel: CMGR: BIOS: device id=pnp0501
kernel: CMGR: BIOS: device id=pnp0501
kernel: CMGR: BIOS: device id=pnp0c02
kernel: CMGR: PCI: init
kernel: CMGR: BIOS32: got signature @000fd680
kernel: CMGR: BIOS32: found BIOS32 ServiceDir struct @000fd680
kernel: CMGR: BIOS32: entry=000fd690
kernel: CMGR: BIOS32/PCI service: base=000f0000 entry=0000d6b1
size=10000
kernel: CMGR: PCI: revision=2.10 mechanism=01 lastbus=0
kernel: CMGR: PCI: end init
kernel: CMGR: ISA: init
kernel: CMGR: added driver: ISA_PnP
kernel: CMGR: leg device isa-pnp linked to driver ISA_PnP
kernel: CMGR: added driver: dma
kernel: CMGR: leg device *dma linked to driver dma
kernel: Configuration Manager initialised: 00303f58
kernel: CMGR: added driver: i386_pic
kernel: CMGR: bio device pnp0000 linked to driver i386_pic
kernel: CMGR: added driver: i386_fpu
kernel: CMGR: bio device pnp0c04 linked to driver i386_fpu
kernel: CMGR: added driver: timer
kernel: CMGR: bio device pnp0100 linked to driver timer
kernel: Console: 16 point font, 400 scans, colour VGA+ 80x25, 1 virtual
console (max 63)
kernel: pcibios_init : BIOS32 Service Directory structure at 0x000fd680
kernel: pcibios_init : BIOS32 Service Directory entry at 0xfd690
kernel: pcibios_init : PCI BIOS revision 2.10 entry at 0xfd6b1
kernel: Probing PCI hardware.
kernel: Calibrating delay loop: 79.67 BogoMIPS
kernel: Memory: 63072k/65536k available (776k kernel code, 384k
reserved, 1304k data)
kernel: Swansea University Computer Society TCP/IP for NET3.034
kernel: IP Protocols: ICMP, UDP, TCP
kernel: Checking 386/387 coupling: exception 16 error reporting
kernel: Checking 'hlt' instruction: Ok.
kernel: Configuration Manager loading
kernel: CMGR: ISA: readport=0213
kernel: CMGR: PCI device [p53338811]: VGA compatible controller: S3 Inc.
Trio32/Trio64
kernel: CMGR: PCI device [p80867010]: IDE interface: Intel 82371SB
Natoma/Triton II PIIX3
kernel: CMGR: PCI device [p80867000]: ISA bridge: Intel 82371SB
Natoma/Triton II PIIX3
kernel: CMGR: PCI device [p80861250]: Host bridge: Intel 82439HX Triton
II
kernel: Configuration Manager loaded
kernel: CMGR: added driver: serial
kernel: Real Time Clock Driver v1.07
kernel: ide: i82371 PIIX (Triton) on PCI bus 0 function 57
kernel: ide0: BM-DMA at 0xffa0-0xffa7
kernel: ide1: BM-DMA at 0xffa8-0xffaf
kernel: hda: QUANTUM BIGFOOT2550A, 2457MB w/87kB Cache, LBA,
CHS=624/128/63, DMA
kernel: hdc: GCD-R580B, ATAPI CDROM drive
kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
kernel: ide1 at 0x170-0x177,0x376 on irq 15
kernel: md driver 0.36.0 MAX_MD_DEV=4, MAX_REAL=8
kernel: scsi : 0 hosts.
kernel: scsi : detected total.
kernel: Partition check:
kernel: hda:
kernel: hda1 hda2
kernel: Started kswapd v 1.4.2.2
kernel: VFS: Mounted root (ext2 filesystem) readonly.
kernel: Adding Swap: 130748k swap-space (priority 2144)

[ insmod -o ibmtr0 ibmtr.o happens here ]

kernel: ibmtr: v1.3.57 08/07/93 Peter De Schrijver and Mark Swanson
kernel: v2.0.30 04/09/97 Andrew Purtell (apurtell@ieinc.com)
kernel: tr0: maximum open fail count is 8
kernel: tr0: ISA P&P adapter found: irq 10 pio a20 sram 16K
kernel: tr0: universal address : 00:04:AC:FD:00:54

[ insmod -o ibmtr1 ibmtr.o happens here ]

kernel: ibmtr: v1.3.57 08/07/93 Peter De Schrijver and Mark Swanson
kernel: v2.0.30 04/09/97 Andrew Purtell (apurtell@ieinc.com)
kernel: tr1: maximum open fail count is 8
kernel: tr1: ISA P&P adapter found: irq 3 pio a24 sram 16K
kernel: tr1: universal address : 00:04:AC:FD:00:61
kernel: hdc: media changed
kernel: hdc: media changed
kernel: ISO9660 Extensions: Microsoft Joliet Level 1
kernel: tr0: shared RAM located at 000C82DC.
kernel: tr1: shared RAM located at 000D82DC.
kernel: tr0: adapter initialized and opened
kernel: tr1: adapter initialized and opened

---
Andrew Purtell phone: (617) 272-9700
Network Administrator fax : (617) 272-9300
Intelligent Environments email: apurtell@ieinc.com
http://www.ieinc.com/ akp@tiac.net