Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: (Simulated) console hang?



>> But I've got a peculiar problem: every once in a while, console
>> interaction will lock up.
> Did you find the problem?

Yes.  My console SLU emulation has a small queue of received data
bytes, added because the ROM POST code seems to depend on it.  But the
NetBSD kernel seems unaware of this; rather than draining the entire
queue on a console receive interrupt, it takes only one byte.  This
then interacted badly with the interrupt generation logic, leading to
console input wedging.

Console SLU interrupts - at least for machines with MFPR/MTPR console,
like the MicroVAX-II I'm trying to emulate - is something of an oddity:
unusually for VAX interrupts, the interrupt in question is
edge-triggered rather than level-triggered.  The VARM is reasonably
clear on this point, but it is sufficiently odd as compared to most VAX
peripherals' interrupt generation that I needed to special-case it to
avoid interrupt livelock.

Now, NetBSD mostly runs, but when I try to build the world, I end up
with a .s file containing (in part)

        jgeq L3
        addd2 $0d8.ð0000000000000000001e+09,r0
L3:
        muld2 $0d8.ð0000000000000000001e+09,r0
        subd3 r0,r2,r0

which leads me to fear I have a bug somewhere in the floating-point
code.  I have a full trace of that cc run; I need to find the write and
trace back to see where the bogus byte is coming from.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index