IRQs & interrupts, amazing work...
Posted: Fri Sep 03, 2004 11:40 am
Can someone give me some information about the
keyword interrupt in C?
I have to send the EOI (End of interrupt) word to the PIC
in my interrupt service routine or not? Documents I read
seems not have the same opinion about that...
any real good doc about PIC & IRQs?
last but not least: my code seems to catch interrupts but
my handler it's called continuosly, after some seconds bochs
terminate my os after some lines like theese:
....
00008864809e[CPU0 ] seg->selector.value = 0000
00008864830e[CPU0 ] seg = DS
00008864830e[CPU0 ] seg->selector.value = 0000
00008864851e[CPU0 ] seg = DS
00008864851e[CPU0 ] seg->selector.value = 0000
00008864868e[CPU0 ] seg = DS
00008864868e[CPU0 ] seg->selector.value = 0000
...at this point lines change...
00008864868e[CPU0 ] write_virtual_checks: valid bit = 0
00008864868e[CPU0 ] CS: 0010
00008864868e[CPU0 ] IP: 8566
00008864877e[CPU0 ] seg = DS
00008864877e[CPU0 ] seg->selector.value = 0000
00008864877e[CPU0 ] write_virtual_checks: valid bit = 0
00008864877e[CPU0 ] CS: 0010
00008864877e[CPU0 ] IP: 84e6
00008864885e[CPU0 ] seg = DS
00008864885e[CPU0 ] seg->selector.value = 0000
....
00008864934e[CPU0 ] seg = DS
00008864934e[CPU0 ] seg->selector.value = 0000
00008864934e[CPU0 ] write_virtual_checks: valid bit = 0
00008864934e[CPU0 ] CS: 0010
00008864934e[CPU0 ] IP: 8259
00008864934e[CPU0 ] seg = DS
00008864934e[CPU0 ] seg->selector.value = 0000
00008864934e[CPU0 ] write_virtual_checks: valid bit = 0
00008864934e[CPU0 ] CS: 0010
00008864934e[CPU0 ] IP: 8259
00008864934e[CPU0 ] exception(): 3rd (13) exception with no resolution, shutdown status is 00h, resetting
00008869259i[BIOS ] rombios.c,v 1.103.2.2 2004/02/02 22:39:22 cbothamy Exp $
Any ideas about that?
keyword interrupt in C?
I have to send the EOI (End of interrupt) word to the PIC
in my interrupt service routine or not? Documents I read
seems not have the same opinion about that...
any real good doc about PIC & IRQs?
last but not least: my code seems to catch interrupts but
my handler it's called continuosly, after some seconds bochs
terminate my os after some lines like theese:
....
00008864809e[CPU0 ] seg->selector.value = 0000
00008864830e[CPU0 ] seg = DS
00008864830e[CPU0 ] seg->selector.value = 0000
00008864851e[CPU0 ] seg = DS
00008864851e[CPU0 ] seg->selector.value = 0000
00008864868e[CPU0 ] seg = DS
00008864868e[CPU0 ] seg->selector.value = 0000
...at this point lines change...
00008864868e[CPU0 ] write_virtual_checks: valid bit = 0
00008864868e[CPU0 ] CS: 0010
00008864868e[CPU0 ] IP: 8566
00008864877e[CPU0 ] seg = DS
00008864877e[CPU0 ] seg->selector.value = 0000
00008864877e[CPU0 ] write_virtual_checks: valid bit = 0
00008864877e[CPU0 ] CS: 0010
00008864877e[CPU0 ] IP: 84e6
00008864885e[CPU0 ] seg = DS
00008864885e[CPU0 ] seg->selector.value = 0000
....
00008864934e[CPU0 ] seg = DS
00008864934e[CPU0 ] seg->selector.value = 0000
00008864934e[CPU0 ] write_virtual_checks: valid bit = 0
00008864934e[CPU0 ] CS: 0010
00008864934e[CPU0 ] IP: 8259
00008864934e[CPU0 ] seg = DS
00008864934e[CPU0 ] seg->selector.value = 0000
00008864934e[CPU0 ] write_virtual_checks: valid bit = 0
00008864934e[CPU0 ] CS: 0010
00008864934e[CPU0 ] IP: 8259
00008864934e[CPU0 ] exception(): 3rd (13) exception with no resolution, shutdown status is 00h, resetting
00008869259i[BIOS ] rombios.c,v 1.103.2.2 2004/02/02 22:39:22 cbothamy Exp $
Any ideas about that?