Messages in this thread | | | Subject | Re: [PATCH 22/24] x86/entry: Implement and use do_paranoid_entry() and paranoid_exit() | From | Lai Jiangshan <> | Date | Thu, 2 Sep 2021 19:58:51 +0800 |
| |
On 2021/9/2 18:33, Peter Zijlstra wrote: > On Wed, Sep 01, 2021 at 01:50:23AM +0800, Lai Jiangshan wrote: > >> + call do_paranoid_entry >> ret > > That's normally spelled like: > > jmp do_paranoid_entry > > But the same comment as for error_entry but more; pretty much all that's > left in asm is things like: > > > call paranoid_entry; > > # setup args > call \cfunc > > call paranoid_exit > > which seems like prime material to also pull into C to avoid the > back-and-forth thing. In fact, why can't you call paranoid_entry/exit > from \cfunc itself? The IDT macros should be able to help. >
Oh, #VC will need to switch stack. I think we need ASM code to switch stack since the original stack need to be "free" for next #VC.
| |