Subject: port-alpha/15835: alpha sysctl hw.model is inadequate
To: None <gnats-bugs@gnats.netbsd.org>
From: None <kre@munnari.OZ.AU>
List: netbsd-bugs
Date: 03/08/2002 22:01:41
>Number: 15835
>Category: port-alpha
>Synopsis: alpha sysctl hw.model is inadequate
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: port-alpha-maintainer
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Fri Mar 08 03:02:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Robert Elz
>Release: NetBSD-current 2002-03-08
>Organization:
University of Melbourne
>Environment:
System: NetBSD munnnari.cs.mu.OZ.AU 1.5ZA NetBSD 1.5ZA (MUNNARI) #5: Wed Dec 26 02:08:06 EST 2001 kre@munnnari.cs.mu.OZ.AU:/usr/src/sys/arch/alpha/compile/MUNNARI alpha
>Description:
On an alpha, the sysctl variable hw.model gives manufacturer
model brand naming, instead of something useful.
hw.machine = alpha
hw.model = COMPAQ AlphaServer DS10 466 MHz
hw.ncpu = 1
hw.byteorder = 1234
hw.physmem = 533979136
hw.usermem = 528744448
hw.pagesize = 8192
hw.machine_arch = alpha
hw.alignbytes = 7
If you happen to know that a "COMPAQ AlphaServer DS10 466 MHz"
is a 21264 (or ev6) that's fine. But pkgsrc/devel/cpuflags
(in particular) doesn't, and shouldn't need to. Because of
this, cpuflags resorts to grovelling in /var/run/dmesg.boot to
try and find the cpu model number there.
Unfortunately, for me, dmesg.boot starts ...
sing DMA data transfers)
siop0 at pci0 dev 14 function 0: Symbios Logic 53c895 (ultra2-wide scsi)
siop0: using on-board RAM
siop0: interrupting at dec 6600 irq 35
scsibus0 at siop0: 16 targets, 8 luns per target
isp0 at pci0 dev 15 function 0
isp0: interrupting at dec 6600 irq 39
isp0: NVRAM CHAN 0 FTHRSH 3 IID 7 RESETD 1 RETRYC 0 RETRYD 1 ASD 0x9
isp0: NVRAM RAAN 0x1 DLAN 0x1 DDMAB 0x1 CDMAB 0x1 SELTIME 250 MQD 256
isp0: NVRAM CHAN 0 TGT 0 FLAGS 0xfd00 0x8/0xc
That's because there's way more than MSGBUFSIZ bytes of kernel
boot mesages (which is always going to be a possibility with a
fixed size buffer).
[In my case, this is largely caused by lots of verbose raidctl
autoconfig messages, but that's irrelevant]
>How-To-Repeat:
run sysctl on an alpha... (from looking in cpuflags, the
same might be true on a vax).
>Fix:
As a workaround, clearly I can make MSGBUFSIZ bigger (and will).
But while that is a good idea for other reasons, having utilities
grovel in dmesg.boot to extract information (with the possible
exception of something like pkgsrc/sysutils/adjustkernel) is simply
wrong.
So, since the kernel knows the actual hardware model number (it
is printed during the boot sequence...) please include that in the
sysctl hw.model output. Something like
hw.model = ev6 (21264) COMPAQ AlphaServer DS10 466 MHz
would be just fine (as would numerous variations of that).
>Release-Note:
>Audit-Trail:
>Unformatted: