Exception handling 将任务门与x86 IDT结合使用是处理内核模式(环0)堆栈故障异常的唯一方法吗?
假设内核总是在环0特权级别执行。对于堆栈故障异常(由于堆栈溢出或限制冲突),x86 IDT(中断描述符表)设置的陷阱门、中断门和任务门应使用哪个门 X86处理器需要堆栈在调用堆栈故障异常处理程序之前将eflags、CS、eip推送到堆栈上。这意味着需要堆栈开关来调用异常处理程序 使用任务门是执行堆栈切换的唯一方法吗 使用任务门是为内核堆栈错误编写堆栈错误处理程序的唯一方法吗 英特尔手动写入- “新tss允许处理程序在处理异常或中断时使用新的特权级别0堆栈。如果当前特权级别0堆栈损坏时发生异常或中断,则通过任务门访问处理程序可以通过向处理程序提供新的特权级别0堆栈来防止系统崩溃。”Exception handling 将任务门与x86 IDT结合使用是处理内核模式(环0)堆栈故障异常的唯一方法吗?,exception-handling,kernel,Exception Handling,Kernel,假设内核总是在环0特权级别执行。对于堆栈故障异常(由于堆栈溢出或限制冲突),x86 IDT(中断描述符表)设置的陷阱门、中断门和任务门应使用哪个门 X86处理器需要堆栈在调用堆栈故障异常处理程序之前将eflags、CS、eip推送到堆栈上。这意味着需要堆栈开关来调用异常处理程序 使用任务门是执行堆栈切换的唯一方法吗 使用任务门是为内核堆栈错误编写堆栈错误处理程序的唯一方法吗 英特尔手动写入- “新tss允许处理程序在处理异常或中断时使用新的特权级别0堆栈。如果当前特权级别0堆栈损坏时发生异常或中
提前感谢您的回复。据我所知,是的。想象一下它是如何工作的: