local apic & timer interrupt
Posted: Sun Apr 23, 2006 11:00 pm
hi
I'm configuring local apic and i tried to set up timer interrupt
i wrote:
but even i set that this interrupt should be periodic it's being rised only once
in bochs log could be found:
as i guess i should clear INTR for this interrupt vector
but i've no idea how (i was trying to find answer in intel doc but i couldn't)
thank You in advance for answers
I'm configuring local apic and i tried to set up timer interrupt
i wrote:
Code: Select all
mov eax,0x20050
mov [gs: esi + 0x320],eax ;set apic timer interrupt
mov eax,256
mov [gs:esi + 0380H],eax ;timer
in bochs log could be found:
Code: Select all
00002180135-d-[APIC0] CPU 0: read from APIC address fee000f0 = 000000ff
00002180140-d-[APIC0] CPU 0: write 0x000001ff to APIC address fee000f0
00002180140-d-[APIC0] write 000001ff to spurious interrupt register
00002180140-d-[APIC0] CPU 0: write 0x00020050 to APIC address fee00320
00002180140-d-[APIC0] CPU 0: write 0x00000100 to APIC address fee00380
00002180140-d-[APIC0] APIC: Initial Timer Count Register = 256
00002180396-d-[APIC0] Local apic on CPU 0: trigger interrupt vector=0x50
00002180396-d-[APIC0] triggered vector 0x50
00002180396-d-[APIC0] service_local_apic(): setting INTR=1 for vector 0x50
00002180396-d-[APIC0] CPU 0: local apic timer (periodic) triggered int, reset counter to 0x00000100
00002180400-d-[APIC0] CPU 0: acknowledge_int returning vector 0x50
00002180652-d-[APIC0] Local apic on CPU 0: trigger interrupt vector=0x50
00002180652-d-[APIC0] triggered vector 0x50
00002180652-d-[APIC0] local apic (CPU 0): not delivering int50 because int50 is in service
00002180652-d-[APIC0] CPU 0: local apic timer (periodic) triggered int, reset counter to 0x00000100
00002180908-d-[APIC0] Local apic on CPU 0: trigger interrupt vector=0x50
00002180908-d-[APIC0] triggered vector 0x50
00002180908-d-[APIC0] triggered vector 0x50 not accepted
00002180908-d-[APIC0] CPU 0: local apic timer (periodic) triggered int, reset counter to 0x00000100
00002181164-d-[APIC0] Local apic on CPU 0: trigger interrupt vector=0x50
00002181164-d-[APIC0] triggered vector 0x50
00002181164-d-[APIC0] triggered vector 0x50 not accepted
but i've no idea how (i was trying to find answer in intel doc but i couldn't)
thank You in advance for answers