Date: Sat, 26 Apr 1997 18:25:47 +0200 From: Ollivier Robert <roberto@keltia.freenix.fr> To: "FreeBSD Current Users' list" <freebsd-current@freebsd.org>, se@freebsd.org Subject: Size mismatch between kernel and ncrcontrol Message-ID: <19970426182547.39184@keltia.freenix.fr>
next in thread | raw e-mail | index | archive | help
I get struct size mismatch between ncrcontrol and a freshly compiled kernel
(obviously this leads to ncrcontrol being unusable). I don't understand
why... After several kernel/ncrcontrol recompiles, the problem persists.
ncrcontrol think ncr_version (generated in /sys/pci/ncr.c with various
sizes) is 26402 and the kernel has 27186 !
Within /sys/pci/ncr.c:
#define NCR_VERSION (2)
static const u_long ncr_version = NCR_VERSION * 11
+ (u_long) sizeof (struct ncb) * 7
+ (u_long) sizeof (struct ccb) * 5
+ (u_long) sizeof (struct lcb) * 3
+ (u_long) sizeof (struct tcb) * 2;
A test with ncrcontrol leads to:
sizeof ncb=3356 sizeof ccb=500 sizeof lcb=36 sizeof tcb=140
2*11 + 7*3356 + 5*500 + 3*36 + 2*140 = 26402.
Why the kernel is thinking ncr_version is 27186 ?!? I've checked with DDB.
Which structure(s) gets a different size ?
Here are the relevant part of /etc/make.conf:
COPTFLAGS= -O -pipe
CFLAGS= -O -pipe
Here is my kernel config. file
#
# NKELTIA -- the new Keltia with P133, 64 MB & 2x NCR
#
machine "i386"
cpu "I486_CPU"
cpu "I586_CPU"
ident "NKELTIA"
maxusers 20
options INET #InterNETworking
options FFS #Berkeley Fast Filesystem
options MFS #Berkeley Fast Filesystem
options PROCFS #Berkeley proc Filesystem
options "COMPAT_43" #Compatible with BSD 4.3
options UCONSOLE #for xconsole
#
options "SCSI_NCR_DFLT_TAGS=8"
options SYSVSHM
options SYSVSEM
options SYSVMSG
options "SHMMAXPGS=1024" # 4096 KB of sharable memory
#
options "SCSI_2_DEF"
#
options "CLK_USE_I586_CALIBRATION"
#
# Enable the kernel debugger.
#
options DDB
options KTRACE
config kernel root on sd0 swap on sd0 and sd1 and sd2 dumps on sd0
controller isa0
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk fd0 at fdc0 drive 0
controller pci0
controller ncr0
controller ncr1
controller scbus0 at ncr0
controller scbus1 at ncr1
# NCR0: ibm + tandberg + hp
disk sd0 at scbus0 target 0 unit 0
disk sd1 at scbus0 target 1
disk sd2 at scbus0 target 2
disk sd3 at scbus0 target 3
tape st1 at scbus0 target 4
tape st0 at scbus0 target 5
device cd0 at scbus0 target 6
# NCR1: conner + micropolis + cd
disk sd10 at scbus1 target 0
disk sd11 at scbus1 target 1
disk sd12 at scbus1 target 2
disk sd13 at scbus1 target 3
device cd1 at scbus1 target 6
# new sound config.
controller snd0
device sb0 at isa? port 0x220 irq 5 drq 3 vector sbintr
device opl0 at isa? port 0x388
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
device lpt0 at isa? port? tty irq 7 vector lptintr
device fxp0
device ed0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector edintr
pseudo-device loop
pseudo-device ether
pseudo-device log
pseudo-device ppp 1
pseudo-device bpfilter 4 #Berkeley packet filter
pseudo-device pty 64
pseudo-device speaker
pseudo-device vn #Vnode driver (turns a file into a device)
pseudo-device tun 1 #Enable user-level PPP see ppp(8)
pseudo-device snp 3 #Snoop device - to look at pty/vty/etc..
Here are the kernel boot messages:
Copyright (c) 1992-1997 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 3.0-CURRENT #7: Sat Apr 26 17:13:26 CEST 1997
roberto@keltia.freenix.fr:/src/src/sys/compile/NKELTIA
CPU: Pentium (167.06-MHz 586-class CPU)
Origin = "GenuineIntel" Id = 0x52c Stepping=12
Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
real memory = 67108864 (65536K bytes)
avail memory = 63782912 (62288K bytes)
bdevsw_add_generic: adding D_DISK flag for device 15
Probing for devices on PCI bus 0:
chip0 <Intel 82439> rev 3 on pci0:0:0
chip1 <Intel 82371SB PCI-ISA bridge> rev 1 on pci0:7:0
chip2 <Intel 82371SB IDE interface> rev 0 on pci0:7:1
fxp0 <Intel EtherExpress Pro 10/100B Ethernet> rev 1 int a irq 15 on pci0:9:0
fxp0: Ethernet address 08:00:09:dc:23:7e
vga0 <VGA-compatible display device> rev 1 int a irq 9 on pci0:10:0
ncr0 <ncr 53c810a scsi> rev 18 int a irq 12 on pci0:11:0
scbus0 at ncr0 bus 0
sd0 at scbus0 target 0 lun 0
sd0: <IBM DORS-32160 WA6A> type 0 fixed SCSI 2
sd0: Direct-Access
sd0: 10.0 MB/s (100 ns, offset 8)
2063MB (4226725 512 byte sectors)
st1 at scbus0 target 4 lun 0
st1: <TANDBERG TDC 3600 =08:> type 1 removable SCSI 2
st1: Sequential-Access density code 0x0, drive empty
st0 at scbus0 target 5 lun 0
st0: <HP HP35480A 1009> type 1 removable SCSI 2
st0: Sequential-Access
st0: 5.0 MB/s (200 ns, offset 8)
density code 0x13, drive empty
ncr1 <ncr 53c810a scsi> rev 18 int a irq 11 on pci0:12:0
scbus1 at ncr1 bus 0
sd11 at scbus1 target 1 lun 0
sd11: <MICROP 1624-07MZ1077801 HZ2P> type 0 fixed SCSI 2
sd11: Direct-Access
sd11: 10.0 MB/s (100 ns, offset 8)
642MB (1316751 512 byte sectors)
scbus1 target 2 lun 0: phase change 2-3 10@00337b58 resid=4.
sd12 at scbus1 target 2 lun 0
sd12: <CONNER CFP1080S 3939> type 0 fixed SCSI 2
sd12: Direct-Access
sd12: 10.0 MB/s (100 ns, offset 8)
1030MB (2110812 512 byte sectors)
cd1 at scbus1 target 6 lun 0
cd1: <MATSHITA CD-ROM CR-8004 1.1f> type 5 removable SCSI 2
cd1: CD-ROM
cd1: asynchronous.
cd1: M_REJECT sent for 1-3-1-76-8.
can't get the size
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>
ed0 at 0x300-0x31f irq 10 maddr 0xd0000 msize 16384 on isa
ed0: address 00:00:c0:7c:66:48, type WD8013EPC (16 bit)
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: NEC 72065B
fd0: 1.44MB 3.5in
sb0 at 0x220-0x22f irq 5 drq 3 on isa
sb0: <SoundBlaster Pro 3.1>
opl0 at 0x388-0x38b on isa
opl0: <Yamaha OPL-3 FM>
npx0 on motherboard
npx0: INT 16 interface
--
Ollivier ROBERT -=- FreeBSD: There are no limits -=- roberto@keltia.freenix.fr
FreeBSD keltia.freenix.fr 3.0-CURRENT #7: Sat Apr 26 17:13:26 CEST 1997
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970426182547.39184>
