[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 00/11] x86/entry: Clean up entry code
From: Lai Jiangshan <laijs@xxxxxxxxxxxxxxxxx> This patchset moves the stack-switch code to the place where error_entry() return, distangles error_entry() from XENpv and makes entry_INT80_compat use idtentry macro. This patchset is highly related to XENpv, because it does the extra cleanup to convert SWAPGS to swapgs after major cleanup is done. After error_entry() is distangled from XENpv, a branch in sync_regs() is removed to. Patch 1-10 are picked from the patchset https://lore.kernel.org/lkml/20211126101209.8613-1-jiangshanlai@xxxxxxxxx/ which coverts ASM code to C code. These patches are prepared for that purpose. But this patchset has it own value: it simplifies the stack switch, avoids leaving the old stack inside a function, and separates XENpv code with native code without adding new code which can lead to more cleanups. Patch 11 is new in this patchset. Lai Jiangshan (11): x86/entry: Use swapgs and native_iret directly in swapgs_restore_regs_and_return_to_usermode x86/traps: Move pt_regs only in fixup_bad_iret() x86/entry: Switch the stack after error_entry() returns x86/entry: move PUSH_AND_CLEAR_REGS out of error_entry x86/entry: Move cld to the start of idtentry x86/entry: Don't call error_entry for XENPV x86/entry: Convert SWAPGS to swapgs in error_entry() x86/entry: Use idtentry macro for entry_INT80_compat x86/entry: Convert SWAPGS to swapgs in entry_SYSENTER_compat() x86: Remove the definition of SWAPGS x86/entry: Remove the branch in sync_regs() arch/x86/entry/entry_64.S | 65 +++++++++++++------ arch/x86/entry/entry_64_compat.S | 104 +------------------------------ arch/x86/include/asm/idtentry.h | 47 ++++++++++++++ arch/x86/include/asm/irqflags.h | 2 - arch/x86/include/asm/proto.h | 4 -- arch/x86/include/asm/traps.h | 2 +- arch/x86/kernel/traps.c | 25 ++++---- 7 files changed, 107 insertions(+), 142 deletions(-) -- 2.19.1.6.gb485710b
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |