Greg Steuck <[email protected]> writes:

> It turns out this is the first time I'm trying to upgrade this machine.
> I installed it from flash drive around Dec 28 and kept running. I tested
> bsd.rd from 7.8 release and it also fails on the machine. Hence I have
> more debugging to do.

I finally go to this. With a custom RAMDISK_CD I see the problem is
in comwrite+0x16

Stopped at      comwrite+0x16:  movq    0x58(%rax),%rdi
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
*148750  40983      0           0          0    0  init
comwrite(804,ffff800039abb650,0) at comwrite+0x16
dosendsyslog(ffff800039a4e538,73d1fd9c7c10,38,2,0) at dosendsyslog+0x196
sys_sendsyslog(ffff800039a4e538,ffff800039abb800,ffff800039abb790) at 
sys_sendsyslog+0x43
syscall(ffff800039abb800) at syscall+0x1fb

This is due to sc == 0

int
comwrite(dev_t dev, struct uio *uio, int flag)
{
        struct com_softc *sc = com_cd.cd_devs[DEVUNIT(dev)];
        printf("dev %d sc %p\n", DEVUNIT(dev), sc);

which prints:
dev 4 sc 0x0

I suspect this is due to puc0 not attaching in RAMDISK_CD:

"Intel C3000 UART" rev 0x11 at pci0 dev 26 function 0 not configured

bsd.mp attaches it as:
...
puc0 at pci0 dev 26 function 0 "Intel C3000 UART" rev 0x11: ports: 16 com
com4 at puc0 port 0 apic 2 int 16: ns16550a, 16 byte fifo
com4: console

To complete this story the /etc/boot.conf is:

machine comaddr 0x0000e060/0x0008
stty com4 9600
set tty com4

This change was made after the machine got installed with a directly
attached monitor.

Something isn't quite the same in RAMDISK causing this magical console
not be recognized.

Thanks
Greg

Reply via email to