>Synopsis: OpenBSD 5.9 (#914) and 6.0-current (#1094) kernel drops to ddb before boot is finished

>Category: kernel sparc64

>Environment:
System: OpenBSD 5.9 / 6.0 current
Details: OpenBSD 5.9 (GENERIC) #914: Fri Feb 26 04:04:42 MST 2016
[email protected]:/usr/src/sys/arch/sparc64/compile/GENERIC
OpenBSD 6.0 (GENERIC) #1094: Tue Jul 26 16:40:58 MDT 2016
[email protected]:/usr/src/sys/arch/sparc64/compile/GENERIC
Architecture: OpenBSD.sparc64
Machine: sparc64

>Description:
I'm trying to netboot a Sun Enterprise 250 with console input and output redirected to the RSC (using `ofwboot.net` from OpenBSD 5.9). I.e. OBP environment variables configured like that:

```
{0} ok printenv
Variable Name         Value                          Default Value
[...]
output-device         rsc                            screen
input-device          rsc                            keyboard
[...]
```

...or using the defaults, which falls back to `ttyc` (`rsc` is an alias to `ttyc`) if no keyboard or screen is attached. The machine crashes before the boot process is finished.

This is not a show stopper as I can still use it without a problem when using `ttya` as console port. But it would be great to be able to use the E250 machines via RSC, because then only one cable is needed for "full" remote control.

The problem seems to be specific to the E250 and its RSC console but not to its UltraSPARC II CPUs, as the other machines I tested (Sun Ultra 10, 80, Enterprise 4500) didn't show any problems and as already mentioned it works for the E250 if `ttya` is used as console port. It also works for a Sun Fire V445 when using the console via its SC.

BTW I'm using a baud rate of 9600 for both `ttya` and `rsc`.

Here are the boot messages including the crash, the trace output, etc. both for 5.9 and 6.0-current (builddate 1469576034) from the E250. Using the MP kernels makes no difference. Further below some results from testing earlier versions of OpenBSD with this machine and a possible similar issue that seems to be solved in the sab driver of NetBSD 5.1 (I didn't test the machine with NetBSD >= 5.1 though). If you need additional info, please let me know.

OpenBSD 5.9
```
rsc> console

Sun (TM) Enterprise 250 (2 X UltraSPARC-II 296MHz), No Keyboard
OpenBoot 3.30, 2048 MB memory installed, Serial #12345678.
Ethernet address 8:0:20:e2:50:02, Host ID: 80e25002.

{0} ok printenv
Variable Name         Value                          Default Value
[...]
output-device         rsc                            screen
input-device          rsc                            keyboard
[...]

{0} ok boot net -s
Boot device: /pci@1f,4000/network@1,1  File and args: -s
11000 >> OpenBSD BOOT 1.7
Trying bsd...
Using BOOTPARAMS protocol: ip address: 192.168.0.59, hostname: e250-2
root addr=192.168.0.9 path=/srv/nfs/e250-2/root
open /pci@1f,4000/network@1,1/etc/random.seed: No such file or directory
Using BOOTPARAMS protocol: ip address: 192.168.0.59, hostname: e250-2
root addr=192.168.0.9 path=/srv/nfs/e250-2/root
Booting /pci@1f,4000/network@1,1/bsd
8314880@0x1000000+210944@0x1800000+3983360@0x1833800
symbols @ 0xfef44380 136+463584+302696 start=0x1000000
[ using 767312 bytes of bsd ELF symbol table ]
console is /pci@1f,4000/ebus@1/se@14,200000:ssp
Copyright (c) 1982, 1986, 1989, 1991, 1993
         The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2016 OpenBSD. All rights reserved. http://www.OpenBSD.org

OpenBSD 5.9 (GENERIC) #914: Fri Feb 26 04:04:42 MST 2016
     [email protected]:/usr/src/sys/arch/sparc64/compile/GENERIC
real mem = 2147483648 (2048MB)
avail mem = 2095071232 (1998MB)
warning: no entropy supplied by boot loader
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root: Sun (TM) Enterprise 250 (2 X UltraSPARC-II 296MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-II (rev 2.0) @ 296 MHz
cpu0: physical 16K instruction (32 b/l), 16K data (32 b/l), 2048K external (64 b/l)
"SUNW,UltraSPARC-II" at mainbus0 not configured
psycho0 at mainbus0 addr 0xfffbc000: SUNW,psycho, impl 0, version 4, ign 7c0
psycho0: bus range 0-0, PCI bus 0
psycho0: dvma map fe000000-ffffffff, STC0 enabled
pci0 at psycho0
ebus0 at pci0 dev 1 function 0 "Sun PCIO EBus2" rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, 72f000-72f003
power0 at ebus0 addr 724000-724003
"SUNW,pll" at ebus0 addr 504000-504002 not configured
uperf0 at ebus0 addr 500000-500007: model SUNW,sc-mp (0/3) ports 4
sab0 at ebus0 addr 400000-40007f ivec 0x2b: rev 3.2
sabtty0 at sab0 port 0
sabtty1 at sab0 port 1
sab1 at ebus0 addr 200000-20007f ivec 0x23: rev 3.2
sabtty2 at sab1 port 0: console
sabtty3 at sab1 port 1
comkbd0 at ebus0 addr 3083f8-3083ff ivec 0x29: no keyboard
comms0 at ebus0 addr 3062f8-3062ff ivec 0x2a
wsmouse0 at comms0 mux 0
lpt0 at ebus0 addr 3043bc-3043cb, 300398-300399, 700000-70000f ivec 0x22: polled
clock1 at ebus0 addr 0-1fff: mk48t59
"flashprom" at ebus0 addr 0-fffff, 0-fffff not configured
pcfiic0 at ebus0 addr 600000-600003 ivec 0x28 ivec 0x25
iic0 at pcfiic0
ecadc0 at iic0 addr 0x4a
ecadc1 at iic0 addr 0x4f
hme0 at pci0 dev 1 function 1 "Sun HME" rev 0x01: ivec 0x7e1, address 08:00:20:e2:50:02
nsphy0 at hme0 phy 1: DP83840 10/100 PHY, rev. 1
siop0 at pci0 dev 3 function 0 "Symbios Logic 53c875" rev 0x14: ivec 0x7e0, using 4K of on-board RAM
scsibus1 at siop0: 16 targets, initiator 7
cd0 at scsibus1 targ 6 lun 0: <TOSHIBA, XM6201TASUN32XCD, 1103> SCSI2 5/cdrom removable siop1 at pci0 dev 3 function 1 "Symbios Logic 53c875" rev 0x14: ivec 0x7e6, using 4K of on-board RAM
scsibus2 at siop1: 16 targets, initiator 7
cas0 at pci0 dev 5 function 0 "Sun Cassini" rev 0x11: ivec 0x7dc, address 00:03:ba:e2:50:02
gentbi0 at cas0 phy 0: Generic ten-bit interface, rev. 0
psycho1 at mainbus0 addr 0xfffce000: SUNW,psycho, impl 0, version 4, ign 7c0
psycho1: bus range 128-128, PCI bus 128
psycho1: dvma map fe000000-ffffffff, STC0 enabled, STC1 enabled
pci1 at psycho1
timer0 at mainbus0 addr 0xfffa7c00 ivec 0x7ec, 0x7ed
"mc" at mainbus0 not configured
vscsi0 at root
scsibus3 at vscsi0: 256 targets
softraid0 at root
scsibus4 at softraid0: 256 targets
bootpath: /pci@1f,4000/network@1,1
nfs_boot: using interface hme0, with revarp & bootparams
nfs_boot: client_addr=192.168.0.59
nfs_boot: server_addr=192.168.0.5 hostname=e250-2
root on 192.168.0.9:/srv/nfs/e250-2/root
swap on 192.168.0.9:/srv/nfs/e250-2/swap
panic: kernel data fault: pc=153c4bc addr=200000000
Stopped at      Debugger+0x8:   nop
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
*20959  20959      0           0          0    0  init
data_access_fault(40025dc1800, 30, 153c4bc, 200000000, 200000060, 800809) at da
ta_access_fault+0x2ec
trapbase_sun4v(1400, 40025dc1b80, 553, 0, 24, 4) at trapbase_sun4v+0x8790
uvm_fault(2, 40025dc1b80, 0, 0, 39b9c54720, 0) at uvm_fault+0xf98
cnwrite(0, 40025dc1b80, 0, 40025dbe000, 6e, 1fe01802800) at cnwrite+0x64
dosendsyslog(0, fffffffffffbd1f4, 40025dc1b80, 34, 0, 4200) at dosendsyslog+0x2
e0
sys_sendsyslog2(4000c3fe250, 40025dc1db0, 40025dc1df0, fffffffffffbc910, ff, 14
b) at sys_sendsyslog2+0xd8
syscall(40025dc1ed0, 470, 39b9a485f4, 39b9a485f8, 0, 0) at syscall+0x34c
softtrap(fffffffffffbd1f0, 38, 2, fffffffffffbf768, 39b9c54720, 3f0) at softtra
p+0x19c
http://www.openbsd.org/ddb.html describes the minimum info required in bug
reports.  Insufficient info makes it difficult to find and fix bugs.
ddb>
ddb> trace
data_access_fault(40025dc1800, 30, 153c4bc, 200000000, 200000060, 800809) at da
ta_access_fault+0x2ec
trapbase_sun4v(1400, 40025dc1b80, 553, 0, 24, 4) at trapbase_sun4v+0x8790
uvm_fault(2, 40025dc1b80, 0, 0, 39b9c54720, 0) at uvm_fault+0xf98
cnwrite(0, 40025dc1b80, 0, 40025dbe000, 6e, 1fe01802800) at cnwrite+0x64
dosendsyslog(0, fffffffffffbd1f4, 40025dc1b80, 34, 0, 4200) at dosendsyslog+0x2
e0
sys_sendsyslog2(4000c3fe250, 40025dc1db0, 40025dc1df0, fffffffffffbc910, ff, 14
b) at sys_sendsyslog2+0xd8
syscall(40025dc1ed0, 470, 39b9a485f4, 39b9a485f8, 0, 0) at syscall+0x34c
softtrap(fffffffffffbd1f0, 38, 2, fffffffffffbf768, 39b9c54720, 3f0) at softtra
p+0x19c
ddb> ps
    TID   PPID   PGRP    UID  S       FLAGS  WAIT          COMMAND
*20959      1      1      0  7           0                init
  16802      0      0      0  2     0x14200                zerothread
    496      0      0      0  3     0x14200  aiodoned      aiodoned
  14496      0      0      0  3     0x14200  syncer        update
   9341      0      0      0  3     0x14200  cleaner       cleaner
  15466      0      0      0  3     0x14200  reaper        reaper
  12989      0      0      0  3     0x14200  pgdaemon      pagedaemon
  32630      0      0      0  3     0x14200  bored         crypto
  20964      0      0      0  3     0x14200  pftm          pfpurge
   2143      0      0      0  3     0x14200  bored         sensors
   2613      0      0      0  3     0x14200  bored         softnet
   7146      0      0      0  3     0x14200  bored         systqmp
   7184      0      0      0  3     0x14200  bored         systq
  12963      0      0      0  3  0x40014200                idle0
   6410      0      0      0  3     0x14200  kmalloc       kmthread
      1      0      1      0  3        0x82  wait          init
      0     -1      0      0  3     0x10200  scheduler     swapper
```

OpenBSD 6.0-current (builddate 1469576034)
```
{0} ok boot net -s
Boot device: /pci@1f,4000/network@1,1  File and args: -s
11000 >> OpenBSD BOOT 1.7
Trying bsd...
Using BOOTPARAMS protocol: ip address: 192.168.0.59, hostname: e250-2
root addr=192.168.0.9 path=/srv/nfs/e250-2/root
open /pci@1f,4000/network@1,1/etc/random.seed: No such file or directory
Using BOOTPARAMS protocol: ip address: 192.168.0.59, hostname: e250-2
root addr=192.168.0.9 path=/srv/nfs/e250-2/root
Booting /pci@1f,4000/network@1,1/bsd
8264552@0x1000000+1176@0x17e1b68+207832@0x1800000+3986472@0x1832bd8
symbols @ 0xfef1a380 136+567240+367209 start=0x1000000
[ using 935488 bytes of bsd ELF symbol table ]
console is /pci@1f,4000/ebus@1/se@14,200000:ssp
Copyright (c) 1982, 1986, 1989, 1991, 1993
         The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2016 OpenBSD. All rights reserved. http://www.OpenBSD.org

OpenBSD 6.0 (GENERIC) #1094: Tue Jul 26 16:40:58 MDT 2016
     [email protected]:/usr/src/sys/arch/sparc64/compile/GENERIC
real mem = 2147483648 (2048MB)
avail mem = 2094948352 (1997MB)
warning: no entropy supplied by boot loader
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root: Sun (TM) Enterprise 250 (2 X UltraSPARC-II 296MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-II (rev 2.0) @ 296 MHz
cpu0: physical 16K instruction (32 b/l), 16K data (32 b/l), 2048K external (64 b/l)
"SUNW,UltraSPARC-II" at mainbus0 not configured
psycho0 at mainbus0 addr 0xfffbc000: SUNW,psycho, impl 0, version 4, ign 7c0
psycho0: bus range 0-0, PCI bus 0
psycho0: dvma map fe000000-ffffffff, STC0 enabled
pci0 at psycho0
ebus0 at pci0 dev 1 function 0 "Sun PCIO EBus2" rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, 72f000-72f003
power0 at ebus0 addr 724000-724003
"SUNW,pll" at ebus0 addr 504000-504002 not configured
uperf0 at ebus0 addr 500000-500007: model SUNW,sc-mp (0/3) ports 4
sab0 at ebus0 addr 400000-40007f ivec 0x2b: rev 3.2
sabtty0 at sab0 port 0
sabtty1 at sab0 port 1
sab1 at ebus0 addr 200000-20007f ivec 0x23: rev 3.2
sabtty2 at sab1 port 0: console
sabtty3 at sab1 port 1
comkbd0 at ebus0 addr 3083f8-3083ff ivec 0x29: no keyboard
comms0 at ebus0 addr 3062f8-3062ff ivec 0x2a
wsmouse0 at comms0 mux 0
lpt0 at ebus0 addr 3043bc-3043cb, 300398-300399, 700000-70000f ivec 0x22: polled
clock1 at ebus0 addr 0-1fff: mk48t59
"flashprom" at ebus0 addr 0-fffff, 0-fffff not configured
pcfiic0 at ebus0 addr 600000-600003 ivec 0x28 ivec 0x25
iic0 at pcfiic0
ecadc0 at iic0 addr 0x4a
ecadc1 at iic0 addr 0x4f
hme0 at pci0 dev 1 function 1 "Sun HME" rev 0x01: ivec 0x7e1, address 08:00:20:e2:50:02
nsphy0 at hme0 phy 1: DP83840 10/100 PHY, rev. 1
siop0 at pci0 dev 3 function 0 "Symbios Logic 53c875" rev 0x14: ivec 0x7e0, using 4K of on-board RAM
scsibus1 at siop0: 16 targets, initiator 7
cd0 at scsibus1 targ 6 lun 0: <TOSHIBA, XM6201TASUN32XCD, 1103> SCSI2 5/cdrom removable siop1 at pci0 dev 3 function 1 "Symbios Logic 53c875" rev 0x14: ivec 0x7e6, using 4K of on-board RAM
scsibus2 at siop1: 16 targets, initiator 7
cas0 at pci0 dev 5 function 0 "Sun Cassini" rev 0x11: ivec 0x7dc, address 00:03:ba:e2:50:02
gentbi0 at cas0 phy 0: Generic ten-bit interface, rev. 0
psycho1 at mainbus0 addr 0xfffce000: SUNW,psycho, impl 0, version 4, ign 7c0
psycho1: bus range 128-128, PCI bus 128
psycho1: dvma map fe000000-ffffffff, STC0 enabled, STC1 enabled
pci1 at psycho1
timer0 at mainbus0 addr 0xfffa7c00 ivec 0x7ec, 0x7ed
"mc" at mainbus0 not configured
vscsi0 at root
scsibus3 at vscsi0: 256 targets
softraid0 at root
scsibus4 at softraid0: 256 targets
bootpath: /pci@1f,4000/network@1,1
nfs_boot: using interface hme0, with revarp & bootparams
nfs_boot: client_addr=192.168.0.59
nfs_boot: server_addr=192.168.0.5 hostname=e250-2
root on 192.168.0.9:/srv/nfs/e250-2/root
swap on 192.168.0.9:/srv/nfs/e250-2/swap
panic: kernel data fault: pc=15321dc addr=200000000
Stopped at      Debugger+0x8:   nop
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
*62278  62278      0           0          0    0  init
data_access_fault(40025dc5800, 30, 15321dc, 200000000, 200000060, 800809) at da
ta_access_fault+0x2ec
Ldatafault_internal(4000c3f8490, 40025dc5b80, 40025dc5d28, 0, 9a1955e000, 4000c
3e4070) at Ldatafault_internal+0xcc
data_access_fault(2, 40025dc5b80, 0, 9a19560002, 9a19154000, 0) at data_access_
fault+0x210
cnwrite(0, 40025dc5b80, 0, 40025dc2000, 6e, 1fe01802800) at cnwrite+0x64
dosendsyslog(0, fffffffffffe3104, 0, 34, 40025dc5b80, 4200) at dosendsyslog+0x1
c8
sys_sendsyslog(4000c3f8490, 40025dc5db0, 40025dc5df0, fffffffffffe2820, ff, 14b
) at sys_sendsyslog+0xd8
syscall(40025dc5ed0, 470, 9a18f48c74, 9a18f48c78, 0, 0) at syscall+0x14c
syscall_setup(fffffffffffe3100, 38, 2, fffffffffffe5678, 9a19154000, 3f0) at sy
scall_setup+0x134
http://www.openbsd.org/ddb.html describes the minimum info required in bug
reports.  Insufficient info makes it difficult to find and fix bugs.
ddb> trace
data_access_fault(40025dc5800, 30, 15321dc, 200000000, 200000060, 800809) at da
ta_access_fault+0x2ec
Ldatafault_internal(4000c3f8490, 40025dc5b80, 40025dc5d28, 0, 9a1955e000, 4000c
3e4070) at Ldatafault_internal+0xcc
data_access_fault(2, 40025dc5b80, 0, 9a19560002, 9a19154000, 0) at data_access_
fault+0x210
cnwrite(0, 40025dc5b80, 0, 40025dc2000, 6e, 1fe01802800) at cnwrite+0x64
dosendsyslog(0, fffffffffffe3104, 0, 34, 40025dc5b80, 4200) at dosendsyslog+0x1
c8
sys_sendsyslog(4000c3f8490, 40025dc5db0, 40025dc5df0, fffffffffffe2820, ff, 14b
) at sys_sendsyslog+0xd8
syscall(40025dc5ed0, 470, 9a18f48c74, 9a18f48c78, 0, 0) at syscall+0x14c
syscall_setup(fffffffffffe3100, 38, 2, fffffffffffe5678, 9a19154000, 3f0) at sy
scall_setup+0x134
ddb> ps
    TID   PPID   PGRP    UID  S       FLAGS  WAIT          COMMAND
*62278      1      1      0  7           0                init
  26518      0      0      0  2     0x14200                zerothread
  25545      0      0      0  3     0x14200  aiodoned      aiodoned
  80047      0      0      0  3     0x14200  syncer        update
   8479      0      0      0  3     0x14200  cleaner       cleaner
   1833      0      0      0  3     0x14200  reaper        reaper
  99138      0      0      0  3     0x14200  pgdaemon      pagedaemon
  60521      0      0      0  3     0x14200  bored         crynlk
  20984      0      0      0  3     0x14200  bored         crypto
  21380      0      0      0  3     0x14200  pftm          pfpurge
   4996      0      0      0  3     0x14200  bored         sensors
   6409      0      0      0  3     0x14200  bored         softnet
   6919      0      0      0  3     0x14200  bored         systqmp
  37289      0      0      0  3     0x14200  bored         systq
  79489      0      0      0  3  0x40014200                idle0
  76197      0      0      0  3     0x14200  kmalloc       kmthread
      1      0      1      0  3        0x82  wait          init
      0     -1      0      0  3     0x10200  scheduler     swapper
```

Trying to find an OpenBSD version where this works, I netbooted all versions from 5.8 down to 4.1, but couldn't find a single version where the RSC console works without problems. From 5.8 down to 4.3 all versions stop output after the following messages:

```
[...]
bootpath: /pci@1f,4000/network@1,1
nfs_boot: using interface hme0, with revarp & bootparams
nfs_boot: client_addr=192.168.0.59
nfs_boot: server_addr=192.168.0.5 hostname=e250-2
root on 192.168.0.9:/srv/nfs/e250-2/root
swap on 192.168.0.9:/srv/nfs/e250-2/swap
```

...4.2 stops earlier after the `sabtty2` (the port used by the RSC) is detected:

```
{0} ok boot net -s
Boot device: /pci@1f,4000/network@1,1  File and args: -s
11000 >> OpenBSD BOOT 1.7
Trying bsd...
Using BOOTPARAMS protocol: ip address: 192.168.0.59, hostname: e250-2
root addr=192.168.0.9 path=/srv/nfs/e250-2/root
open /pci@1f,4000/network@1,1/etc/random.seed: No such file or directory
Using BOOTPARAMS protocol: ip address: 192.168.0.59, hostname: e250-2
root addr=192.168.0.9 path=/srv/nfs/e250-2/root
Booting /pci@1f,4000/network@1,1/bsd
5043416@0x1000000+2856@0x14cf4d8+184584@0x1800000+4009720@0x182d108
symbols @ 0xfef88240 52+304008+183213 start=0x1000000
[ using 487856 bytes of bsd ELF symbol table ]
prom_get_msgbuf: Cannot recover msgbuf on E250/450
prom_get_msgbuf: allocated new buf at 00000000
prom_get_msgbuf: claiming new buf at 00000000
console is /pci@1f,4000/ebus@1/se@14,200000:ssp
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2007 OpenBSD. All rights reserved. http://www.OpenBSD.org

OpenBSD 4.2 (GENERIC) #1427: Tue Aug 28 10:46:40 MDT 2007
     [email protected]:/usr/src/sys/arch/sparc64/compile/GENERIC
real mem = 18446744071562067968 (2048MB)
avail mem = 2067202048 (1971MB)
mainbus0 at root: Sun (TM) Enterprise 250 (2 X UltraSPARC-II 296MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-II (rev 2.0) @ 296 MHz, version 0 FPU
cpu0: physical 16K instruction (32 b/l), 16K data (32 b/l), 2048K external (64 b/l)
psycho0 at mainbus0 addr 0xfffbc000: SUNW,psycho, impl 0, version 4, ign 7c0
psycho0: bus range 0-0, PCI bus 0
psycho0: dvma map fe000000-ffffffff, iotdb 40de000-40e6000, STC0 enabled
pci0 at psycho0
ebus0 at pci0 dev 1 function 0 "Sun PCIO EBus2" rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, 72f000-72f003
power0 at ebus0 addr 724000-724003
"SUNW,pll" at ebus0 addr 504000-504002 not configured
uperf0 at ebus0 addr 500000-500007: model SUNW,sc-mp (0/3) ports 4
sab0 at ebus0 addr 400000-40007f ipl 43: rev 3.2
sabtty0 at sab0 port 0
sabtty1 at sab0 port 1
sab1 at ebus0 addr 200000-20007f ipl 35: rev 3.2
sabtty2 at sab1 port 0
```

The same happens for 4.1, so I stopped testing at this version, assuming that this never worked correctly for the E250 when redirecting the console to the RSC.

With NetBSD it looks like there could have been a similar problem (although I couldn't find a related problem report). The NetBSD 5.1 release message [1] includes this:

```
[...]
sab(4): Allow the RSC to be the console on an E250, by checking for RSC-specific properties, and by not changing the port baud rate.
[...]
```

...and the man page of its sab driver [2] includes a note specific to the E250:

```
[...]
NOTES
The speed cannot be changed on the ports connected the Remote System
Control (RSC) on a Sun Enterprise[tm] 250 Server (ttyh2 and ttyh3).
These ports are fixed at 115200 baud.
[...]
```

The relevant commits/revisions of the sab driver seem to be 1.43 and 1.44 [3].

[1]: http://www.netbsd.org/releases/formal-5/NetBSD-5.1.html
[2]: http://netbsd.gw.com/cgi-bin/man-cgi?sab+4.sparc64+NetBSD-current
[3]: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sparc64/dev/sab.c?only_with_tag=MAIN#rev1.44

>How-To-Repeat:
(Net)boot the OpenBSD 5.9 (build #914) or 6.0-current (build #1094) kernel on a Sun E250 system with console output redirected to the RSC.

>Fix:
Unknown/Workaround: Use `ttya` for the `input-device` and `output-device` environment variables in OBP and the boot process wents through without a problem both for 5.9 and 6.0-current. Sorry, output is from MP versions of the kernel this time, assuming that if the MP kernels work, the uniprocessor kernels will also.

```
{0} ok printenv input-device
input-device =        ttya
{0} ok printenv output-device
output-device =       ttya
{0} ok boot net -s
Boot device: /pci@1f,4000/network@1,1  File and args: -s
11000 >> OpenBSD BOOT 1.7
Trying bsd...
Using BOOTPARAMS protocol: ip address: 192.168.0.59, hostname: e250-2
root addr=192.168.0.9 path=/srv/nfs/e250-2/root
open /pci@1f,4000/network@1,1/etc/random.seed: No such file or directory
Using BOOTPARAMS protocol: ip address: 192.168.0.59, hostname: e250-2
root addr=192.168.0.9 path=/srv/nfs/e250-2/root
Booting /pci@1f,4000/network@1,1/bsd
8342920@0x1000000+4728@0x17f4d88+211288@0x1800000+3983016@0x1833958
symbols @ 0xfef423c0 155+465240+303812 start=0x1000000
[ using 770176 bytes of bsd ELF symbol table ]
console is /pci@1f,4000/ebus@1/se@14,400000:a
Copyright (c) 1982, 1986, 1989, 1991, 1993
         The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2016 OpenBSD. All rights reserved. http://www.OpenBSD.org

OpenBSD 5.9 (GENERIC.MP) #961: Fri Feb 26 04:26:46 MST 2016
 [email protected]:/usr/src/sys/arch/sparc64/compile/GENERIC.MP
real mem = 2147483648 (2048MB)
avail mem = 2094964736 (1997MB)
warning: no entropy supplied by boot loader
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root: Sun (TM) Enterprise 250 (2 X UltraSPARC-II 296MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-II (rev 2.0) @ 296 MHz
cpu0: physical 16K instruction (32 b/l), 16K data (32 b/l), 2048K external (64 b/l)
cpu1 at mainbus0: SUNW,UltraSPARC-II (rev 2.0) @ 296 MHz
cpu1: physical 16K instruction (32 b/l), 16K data (32 b/l), 2048K external (64 b/l)
psycho0 at mainbus0 addr 0xfffbc000: SUNW,psycho, impl 0, version 4, ign 7c0
psycho0: bus range 0-0, PCI bus 0
psycho0: dvma map fe000000-ffffffff, STC0 enabled
pci0 at psycho0
ebus0 at pci0 dev 1 function 0 "Sun PCIO EBus2" rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, 72f000-72f003
power0 at ebus0 addr 724000-724003
"SUNW,pll" at ebus0 addr 504000-504002 not configured
uperf0 at ebus0 addr 500000-500007: model SUNW,sc-mp (0/3) ports 4
sab0 at ebus0 addr 400000-40007f ivec 0x2b: rev 3.2
sabtty0 at sab0 port 0: console
sabtty1 at sab0 port 1
sab1 at ebus0 addr 200000-20007f ivec 0x23: rev 3.2
sabtty2 at sab1 port 0
sabtty3 at sab1 port 1
comkbd0 at ebus0 addr 3083f8-3083ff ivec 0x29: no keyboard
comms0 at ebus0 addr 3062f8-3062ff ivec 0x2a
wsmouse0 at comms0 mux 0
lpt0 at ebus0 addr 3043bc-3043cb, 300398-300399, 700000-70000f ivec 0x22: polled
clock1 at ebus0 addr 0-1fff: mk48t59
"flashprom" at ebus0 addr 0-fffff, 0-fffff not configured
pcfiic0 at ebus0 addr 600000-600003 ivec 0x28 ivec 0x25
iic0 at pcfiic0
ecadc0 at iic0 addr 0x4a
ecadc1 at iic0 addr 0x4f
hme0 at pci0 dev 1 function 1 "Sun HME" rev 0x01: ivec 0x7e1, address 08:00:20:e2:50:02
nsphy0 at hme0 phy 1: DP83840 10/100 PHY, rev. 1
siop0 at pci0 dev 3 function 0 "Symbios Logic 53c875" rev 0x14: ivec 0x7e0, using 4K of on-board RAM
scsibus1 at siop0: 16 targets, initiator 7
cd0 at scsibus1 targ 6 lun 0: <TOSHIBA, XM6201TASUN32XCD, 1103> SCSI2 5/cdrom removable siop1 at pci0 dev 3 function 1 "Symbios Logic 53c875" rev 0x14: ivec 0x7e6, using 4K of on-board RAM
scsibus2 at siop1: 16 targets, initiator 7
cas0 at pci0 dev 5 function 0 "Sun Cassini" rev 0x11: ivec 0x7dc, address 00:03:ba:e2:50:02
gentbi0 at cas0 phy 0: Generic ten-bit interface, rev. 0
psycho1 at mainbus0 addr 0xfffce000: SUNW,psycho, impl 0, version 4, ign 7c0
psycho1: bus range 128-128, PCI bus 128
psycho1: dvma map fe000000-ffffffff, STC0 enabled, STC1 enabled
pci1 at psycho1
"counter-timer" at mainbus0 addr 0xfffa7c00 not configured
"mc" at mainbus0 not configured
vscsi0 at root
scsibus3 at vscsi0: 256 targets
softraid0 at root
scsibus4 at softraid0: 256 targets
bootpath: /pci@1f,4000/network@1,1
nfs_boot: using interface hme0, with revarp & bootparams
nfs_boot: client_addr=192.168.0.59
nfs_boot: server_addr=192.168.0.5 hostname=e250-2
root on 192.168.0.9:/srv/nfs/e250-2/root
swap on 192.168.0.9:/srv/nfs/e250-2/swap
Enter pathname of shell or RETURN for sh:
sh: No controlling tty (open /dev/tty: No such file or directory)
sh: warning: won't have full job control
# ls -l /dev
total 32
-r-xr-xr-x  1 root  wheel     13251 Feb 26 03:34 MAKEDEV
crw-------  1 root  wheel    0,   0 Jul 30 08:25 console
#
```

OpenBSD 6.0-current (buildate 1469576034)
```
{0} ok printenv input-device
input-device =        ttya
{0} ok printenv output-device
output-device =       ttya
{0} ok boot net -s
Boot device: /pci@1f,4000/network@1,1  File and args: -s
11000 >> OpenBSD BOOT 1.7
Trying bsd...
Using BOOTPARAMS protocol: ip address: 192.168.0.59, hostname: e250-2
root addr=192.168.0.9 path=/srv/nfs/e250-2/root
open /pci@1f,4000/network@1,1/etc/random.seed: No such file or directory
Using BOOTPARAMS protocol: ip address: 192.168.0.59, hostname: e250-2
root addr=192.168.0.9 path=/srv/nfs/e250-2/root
Booting /pci@1f,4000/network@1,1/bsd
8294616@0x1000000+3880@0x17e90d8+208144@0x1800000+3986160@0x1832d10
symbols @ 0xfef1a3c0 155+569112+368512 start=0x1000000
[ using 938744 bytes of bsd ELF symbol table ]
console is /pci@1f,4000/ebus@1/se@14,400000:a
Copyright (c) 1982, 1986, 1989, 1991, 1993
         The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2016 OpenBSD. All rights reserved. http://www.OpenBSD.org

OpenBSD 6.0 (GENERIC.MP) #1171: Tue Jul 26 17:03:19 MDT 2016
 [email protected]:/usr/src/sys/arch/sparc64/compile/GENERIC.MP
real mem = 2147483648 (2048MB)
avail mem = 2094850048 (1997MB)
warning: no entropy supplied by boot loader
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root: Sun (TM) Enterprise 250 (2 X UltraSPARC-II 296MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-II (rev 2.0) @ 296 MHz
cpu0: physical 16K instruction (32 b/l), 16K data (32 b/l), 2048K external (64 b/l)
cpu1 at mainbus0: SUNW,UltraSPARC-II (rev 2.0) @ 296 MHz
cpu1: physical 16K instruction (32 b/l), 16K data (32 b/l), 2048K external (64 b/l)
psycho0 at mainbus0 addr 0xfffbc000: SUNW,psycho, impl 0, version 4, ign 7c0
psycho0: bus range 0-0, PCI bus 0
psycho0: dvma map fe000000-ffffffff, STC0 enabled
pci0 at psycho0
ebus0 at pci0 dev 1 function 0 "Sun PCIO EBus2" rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, 72f000-72f003
power0 at ebus0 addr 724000-724003
"SUNW,pll" at ebus0 addr 504000-504002 not configured
uperf0 at ebus0 addr 500000-500007: model SUNW,sc-mp (0/3) ports 4
sab0 at ebus0 addr 400000-40007f ivec 0x2b: rev 3.2
sabtty0 at sab0 port 0: console
sabtty1 at sab0 port 1
sab1 at ebus0 addr 200000-20007f ivec 0x23: rev 3.2
sabtty2 at sab1 port 0
sabtty3 at sab1 port 1
comkbd0 at ebus0 addr 3083f8-3083ff ivec 0x29: no keyboard
comms0 at ebus0 addr 3062f8-3062ff ivec 0x2a
wsmouse0 at comms0 mux 0
lpt0 at ebus0 addr 3043bc-3043cb, 300398-300399, 700000-70000f ivec 0x22: polled
clock1 at ebus0 addr 0-1fff: mk48t59
"flashprom" at ebus0 addr 0-fffff, 0-fffff not configured
pcfiic0 at ebus0 addr 600000-600003 ivec 0x28 ivec 0x25
iic0 at pcfiic0
ecadc0 at iic0 addr 0x4a
ecadc1 at iic0 addr 0x4f
hme0 at pci0 dev 1 function 1 "Sun HME" rev 0x01: ivec 0x7e1, address 08:00:20:e2:50:02
nsphy0 at hme0 phy 1: DP83840 10/100 PHY, rev. 1
siop0 at pci0 dev 3 function 0 "Symbios Logic 53c875" rev 0x14: ivec 0x7e0, using 4K of on-board RAM
scsibus1 at siop0: 16 targets, initiator 7
cd0 at scsibus1 targ 6 lun 0: <TOSHIBA, XM6201TASUN32XCD, 1103> SCSI2 5/cdrom removable siop1 at pci0 dev 3 function 1 "Symbios Logic 53c875" rev 0x14: ivec 0x7e6, using 4K of on-board RAM
scsibus2 at siop1: 16 targets, initiator 7
cas0 at pci0 dev 5 function 0 "Sun Cassini" rev 0x11: ivec 0x7dc, address 00:03:ba:e2:50:02
gentbi0 at cas0 phy 0: Generic ten-bit interface, rev. 0
psycho1 at mainbus0 addr 0xfffce000: SUNW,psycho, impl 0, version 4, ign 7c0
psycho1: bus range 128-128, PCI bus 128
psycho1: dvma map fe000000-ffffffff, STC0 enabled, STC1 enabled
pci1 at psycho1
"counter-timer" at mainbus0 addr 0xfffa7c00 not configured
"mc" at mainbus0 not configured
vscsi0 at root
scsibus3 at vscsi0: 256 targets
softraid0 at root
scsibus4 at softraid0: 256 targets
bootpath: /pci@1f,4000/network@1,1
nfs_boot: using interface hme0, with revarp & bootparams
nfs_boot: client_addr=192.168.0.59
nfs_boot: server_addr=192.168.0.5 hostname=e250-2
root on 192.168.0.9:/srv/nfs/e250-2/root
swap on 192.168.0.9:/srv/nfs/e250-2/swap
Enter pathname of shell or RETURN for sh:
sh: No controlling tty (open /dev/tty: No such file or directory)
sh: warning: won't have full job control
Terminal type? [vt220]
# ls -l /dev
total 32
-r-xr-xr-x  1 root  wheel     13155 Jul 26 16:11 MAKEDEV
crw-------  1 root  wheel    0,   0 Jul 30 08:11 console
#
```

Reply via email to