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...

Reply via email to