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 18:42:16 +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. >
It sounds better.
I should have moved the code of pushing pt_regs out of paranoid_entry(), so that I could also have seen this. (and we don't need do_paranoid_entry(), paranoid_entry() itself can be in C)
The \cfunc would need to be marked as entry_text, right?
Thanks Lai
| |