Re: Regarding IDT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ULK = Understanding Linux Kernel 3rd edition - Bovet and Cesati

On Mon, Sep 20, 2010 at 10:22 AM, Sri Ram Vemulpali <sri.ram.gmu06@xxxxxxxxx> wrote:
Here is the Intel system programming guide of x86. 
By the way what is ULK haven't come across it.

Thanks,
Sri.


On Mon, Sep 20, 2010 at 12:07 AM, Prabhu nath <gprabhunath@xxxxxxxxx> wrote:
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 <sri.ram.gmu06@xxxxxxxxx> 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 <arshad.super@xxxxxxxxx> 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 ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ




--
Regards,
Sri.





--
Regards,
Sri.



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux