What is a Call Gate ?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
modshah

What is a Call Gate ?

Post by modshah »

Hi everybody,

I found a lot of discussion going around about irq(s) and call-gates. Though I understand IRQ's, I know next-to-nothing about call-gates.Could someone please explain ? How is it basically different from IRQ's and how is it implemented(just the idea - no code please - I like breaking my head first by writing code - If it doesn't work I will ask you all for help)

Thanks
modshah
Xenos

RE:What is a Call Gate ?

Post by Xenos »

A call gate is something like a reference to an entry point. Like segment descriptors, it resides in one of the descriptor tables. You can make a far call and use a call gate as destination segment to call the function the call gate points to. Call gates allow calls to more privileged functions and clearly defined entry points - application programs can't jump inside the middle of a kernel function...

Have a look at The Embedded Intel486™ Processor Family Developer’s Manual, Order Number: 273021-001, Chapter 6.3.5 and Intel Architecture Software Developer’s Manual Volume 3: System Programming, Order Number 243192, Chapter 4.8.3 for a detailed description of call gates.
Post Reply