[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-msdos
Subject:    Re: Writing plugin code
From:       Stas Sergeev <stssppnn () yahoo ! com>
Date:       2001-11-20 14:45:17
[Download RAW message or body]

Rodrigo Gallardo wrote:
> When receiving commands from the DOS program, the emulation sets a
> timer. After it expires, it tries to raise an interrupt (IRQ 6), so
> the DOS programm will go on. In my timer handler, I call
> pic_request(pic_irq_list[6]).
I beleive you can do pic_request(PIC_IRQ6) instead, which is similar, but looks
better.

> The log output indicates that the IRQ is
> set to be triggered, but it never is!
You have to check if the apropriate bit is set in pic_irr, you can see it in the
PIC log (-D9+r).

> floppy_plugin_dosemu_irq = pic_irq_list[6];
> pic_seti(floppy_plugin_dosemu_irq, floppy_irq_trigger, 0);
> pic_unmaski(floppy_plugin_dosemu_irq);
> So, anyone knows what could be wrong?
Check your bit in the pic_imr and pice_imr. Also check VIF flag.
The function that activates an interrupts is called run_irqs() so you have to
trace this function to find out why it doesn't activate your int.
The problem with this function is that it is written in asm. But there are some
efforts to rewrite it in C. I can mail you a patch that provides a C version if
this is what you need.
-
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic