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