IRQ ISR IDT (DOSX)
> I'd like to install an ISR on the IRQ0 of the PIT timer. I don't want to
> use INT $31 to install it - my ISR has a very high priority and
> should run at a very high frequency and work on very low end
> PC's also - I want to register it in the IDT instead to avoid time waste in
> the DPMI host with all the routing/reflecting/chaining magic.
using the IDT directly instead of DPMI doesn't gain much. I tested DPMI IRQ 0 routing to ring 3 on a P4 1.6 GHz with increasing frequency (reprogramming the timer) and it worked up to 180 kHz. Of course it depends what exactly you want to do inside the ISR.
> What is the
> best way to do ? I don't really know what to write into the 8 bytes of IDT
> entry to call my ISR rather than rise a TripleFault And what IDT
> entry does it use at all ? 8 is a Double Fault
that's indeed a problem when you want to modify the IDT directly. You don't know which INT is indeed used, the DPMI host might have reprogrammed the PIC (WinXP, Win9X and Linux do at least). If the PIC is not reprogrammed, IRQ 0 and Exception 08 use the very same interrupt.
> Also I'd like to prohibit (in
> the main "thread") all interrupts except my IRQ. Should I redirect
> all IDT entries to a dummy IRET or are there better ways to do?
the simplest way is to mask out the other interrupts (OUT 21h, FEh).
---
MS-DOS forever!
Complete thread:
- IRQ ISR IDT - DOS386, 13.08.2007, 07:05 (DOSX)
- IRQ ISR IDT - Japheth, 13.08.2007, 08:18
- IRQ ISR IDT [2] - DOS386, 13.08.2007, 08:34
- IRQ ISR IDT [2] - Japheth, 14.08.2007, 22:24
- IRQ ISR IDT [3] Very weeeird results - DOS386, 16.08.2007, 10:28
- IRQ ISR IDT [3] Very weeeird results - Japheth, 16.08.2007, 14:24
- IRQ ISR IDT [4] Missed the point - DOS386, 17.08.2007, 00:58
- IRQ ISR IDT [4] Missed the point - Japheth, 17.08.2007, 10:50
- IRQ ISR IDT [5] RM ISR vs PM ISR - DOS386, 19.08.2007, 07:46
- IRQ ISR IDT [5] RM ISR vs PM ISR - Rugxulo, 21.08.2007, 03:16
- IRQ ISR IDT [5] RM ISR vs PM ISR - Japheth, 21.08.2007, 08:28
- IRQ ISR IDT [5] RM ISR vs PM ISR - Rugxulo, 22.08.2007, 00:13
- IRQ ISR IDT [5] RM ISR vs PM ISR - Steve, 23.08.2007, 13:42
- IRQ ISR IDT [5] RM ISR vs PM ISR - rr, 23.08.2007, 15:25
- IRQ ISR IDT [5] RM ISR vs PM ISR - Steve, 24.08.2007, 01:11
- IRQ ISR IDT [5] RM ISR vs PM ISR - rr, 23.08.2007, 15:25
- IRQ ISR IDT [5] RM ISR vs PM ISR - Steve, 23.08.2007, 13:42
- IRQ ISR IDT [5] RM ISR vs PM ISR - Rugxulo, 22.08.2007, 00:13
- IRQ ISR IDT [5] RM ISR vs PM ISR - Japheth, 21.08.2007, 08:28
- IRQ ISR IDT [5] RM ISR vs PM ISR - Rugxulo, 21.08.2007, 03:16
- IRQ ISR IDT [5] RM ISR vs PM ISR - DOS386, 19.08.2007, 07:46
- IRQ ISR IDT [4] Missed the point - Japheth, 17.08.2007, 10:50
- IRQ ISR IDT [4] Missed the point - DOS386, 17.08.2007, 00:58
- IRQ ISR IDT [3] Very weeeird results - Japheth, 16.08.2007, 14:24
- IRQ ISR IDT [3] Very weeeird results - DOS386, 16.08.2007, 10:28
- IRQ ISR IDT [2] - Japheth, 14.08.2007, 22:24
- IRQ ISR IDT [2] - DOS386, 13.08.2007, 08:34
- IRQ ISR IDT - Japheth, 13.08.2007, 08:18