On Mon, Nov 25, 2013 at 12:09:33PM +0000, Stuart Henderson wrote: > > How come freebsd dynamically detects the correct irq, but openbsd has it > > hardcoded? > > linux and freebsd kernels use acpi to configure isa serial ports, openbsd > uses static allocations.
Ah, ok; now that I know what's going on it's easy enough to fix, but it was kinda confusing until I figured out the OS's that were working were using a different interrupt. > if you're wondering about the behaviour where you get the kernel > messages, and it only stalls later, it just isn't looking at interrupts > from the com port until that point. Hmm, I saw kernel messages even after it stalled. All the initial kernel messages were printed, then the first 16 chars from userspace, then nothing else from userspace, but if I did something that resulted in kernel messages (for example, plugging/unplugging the virtual usb cd) those messages still came. > when enough chars have been sent to fill the buffer, we wait for an > interrupt to say that it's ok to transmit again, but in your case, > it's looking for the interrupt on the wrong pin so that interrupt > it won't be seen. Just userspace uses the interrupt? The kernel just pushes out characters without waiting for a confirmation the fifo cleared? Thanks much for the explanation...