There is a macro called *common_interrupt* which calls do_irq.
"arch/x86/kernel/entry_32.S"

Please refer ULK page 162 for more description.

Can you please share the data sheet of x86.

Regards,
Prabhu


On Mon, Sep 20, 2010 at 7:20 AM, Sri Ram Vemulpali
<[email protected]>wrote:

> Thanks for the replies.
>
> I have another question. Thanks in advance for clarifications.
>
> I was wondering who calls the do_irq function.
> I mean when interrupts occurs processor should handle it by interrupting
> current task.
> So, when interrupts occurs in linux kernel, then, did processor jumps
> directly to do_irq
> or does it executes any other function before entering in to do_irq.
>
> If processor directly jumps to do_irq, then how does processor knows what
> to execute
> when interrupts happens. I mean, Is there anyway to set in linux kernel to
> tell processor
> to jump to this location when an interrupt or exception happens. I am not
> talking about
> interrupt subsystem, which is done in do_irq, checking what interrupt
> occurred by reading bus,
> and calling appropriate handler.
>
> Let me know whether my understanding is right.
>
> Thanks,
> Sri.
>
>
> On Sun, Sep 19, 2010 at 7:27 AM, arshad hussain <[email protected]>wrote:
>
>> On 9/19/2010 4:49 AM, Sri Ram Vemulpali wrote:
>>
>>> Hi all,
>>>
>>>    This question is regarding Interrupt descriptor table. Why is the
>>> IDTR 48-bits wide and
>>>
>>
>> 16Bit Limit + 32 bit Address = 48bits of IDTR.
>>
>>
>> why do we need limit field in the IDTR.
>>
>> Because if we access beyond defined interrupt there will
>> be general protection fault.
>>
>>
>>     Since we know there are 256 interrupts or exceptions possible, can't
>>> we know boundary by deriving it by length of IDT field.
>>>
>>
>> All interrupts are not always defined. There may be fewer
>> interrupts defined depending upon the requirements. Looking
>> up the 'limits' field is faster & less error prone than
>> find the length of the IDT, which i guess could only be
>> done via probing for all slots with has present flag set to 0.
>>
>>
>>     Also, why is the IDT entry is 8 bytes long.
>>>
>> This 8 byte data structure is explained in intel's manual.
>>
>> And how is the interrupt
>>
>>> line sharing is provided. Is sharing provided at OS code level.
>>>
>>
>>     I did not see any explanation of sharing at Intel manual (data sheet
>>> of x86 system programming guide). Any thoughts.
>>>
>>>    Please clarify. Thanks.
>>>
>>>
>>> --
>>> Regards,
>>> Sri.
>>>
>>>
>> Thanks.
>>
>> --
>> To unsubscribe from this list: send an email with
>> "unsubscribe kernelnewbies" to [email protected]
>> Please read the FAQ at http://kernelnewbies.org/FAQ
>>
>>
>
>
> --
> Regards,
> Sri.
>
>

Reply via email to