
1 feather12315 2022 年 7 月 20 日 via Android 严格来讲,你口中的这类中断叫 exception 中的 trap ,trap 是 0x80 。 广义的 IRQ ,并非每个都会改变特权等级。 |
2 bybyte OP @feather12315 谢谢大佬回复,我试了下由外部中断引发的调用是会改变 CPL ,但是我想试着用软件中断改变,不知道可不可行 |
3 feather12315 2022 年 7 月 20 日 via Android @bybyte #2 1. 外部触发的中断不一定会改变 CPL ,这个要看出发 IRQ 时候的上下文了。我记得填 idt 的时候会有参数填 CPL 的吧 2. 软件触发的中断(狭义)属于叫 ipi ,能不能改变同 1 。怎么做我回答不了,翻翻手册页吧 |
4 bybyte OP 问题解决了, 1.代码段需要设置为一致性代码 2.要设置好 tr 寄存器 |