From: Lai Jiangshan <jiangshanlai@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: x86@kernel.org, Borislav Petkov <bp@alien8.de>,
Peter Zijlstra <peterz@infradead.org>,
Lai Jiangshan <jiangshan.ljs@antgroup.com>
Subject: [PATCH V3 0/7] x86/entry: Clean up entry code
Date: Tue, 15 Mar 2022 15:39:42 +0800 [thread overview]
Message-ID: <20220315073949.7541-1-jiangshanlai@gmail.com> (raw)
From: Lai Jiangshan <jiangshan.ljs@antgroup.com>
This patchset moves the stack-switch code to the place where
error_entry() return, unravels 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.
The patches are the third try to pick patches from the patchset
https://lore.kernel.org/lkml/20211126101209.8613-1-jiangshanlai@gmail.com/
which converts 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 call, and
separates XENpv code with native code without adding new code.
Changed from V2:
Make the patch of folding int80 thing as the first patch
Add more changelog in "Switch the stack after error_entry() returns"
Changed from V1
Squash cleanup patches converting SWAPGS to swapgs into one patch
Use my official email address (Ant Group). The work is backed
by my company and I was incorrectly misunderstood that
XXX@linux.alibaba.com is the only portal for opensource work
in the corporate group.
[V2]: https://lore.kernel.org/lkml/20220303035434.20471-1-jiangshanlai@gmail.com/
[V1]: https://lore.kernel.org/lkml/20211208110833.65366-1-jiangshanlai@gmail.com/
Lai Jiangshan (7):
x86/entry: Use idtentry macro for entry_INT80_compat
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 and remove the definition of
SWAPGS
arch/x86/entry/entry_64.S | 61 +++++++++++++-----
arch/x86/entry/entry_64_compat.S | 105 +------------------------------
arch/x86/include/asm/idtentry.h | 47 ++++++++++++++
arch/x86/include/asm/irqflags.h | 8 ---
arch/x86/include/asm/proto.h | 4 --
arch/x86/include/asm/traps.h | 2 +-
arch/x86/kernel/traps.c | 17 ++---
7 files changed, 100 insertions(+), 144 deletions(-)
--
2.19.1.6.gb485710b
next reply other threads:[~2022-03-15 7:39 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-15 7:39 Lai Jiangshan [this message]
2022-03-15 7:39 ` [PATCH V3 1/7] x86/entry: Use idtentry macro for entry_INT80_compat Lai Jiangshan
2022-03-16 13:48 ` Peter Zijlstra
2022-03-15 7:39 ` [PATCH V3 2/7] x86/traps: Move pt_regs only in fixup_bad_iret() Lai Jiangshan
2022-03-15 7:39 ` [PATCH V3 3/7] x86/entry: Switch the stack after error_entry() returns Lai Jiangshan
2022-03-16 2:37 ` Josh Poimboeuf
2022-03-16 3:02 ` Lai Jiangshan
2022-03-16 15:05 ` Peter Zijlstra
2022-03-16 16:43 ` Lai Jiangshan
2022-03-18 11:12 ` Peter Zijlstra
2022-03-15 7:39 ` [PATCH V3 4/7] x86/entry: move PUSH_AND_CLEAR_REGS out of error_entry Lai Jiangshan
2022-03-16 15:07 ` Peter Zijlstra
2022-03-16 16:18 ` Lai Jiangshan
2022-03-15 7:39 ` [PATCH V3 5/7] x86/entry: Move cld to the start of idtentry Lai Jiangshan
2022-03-15 7:39 ` [PATCH V3 6/7] x86/entry: Don't call error_entry for XENPV Lai Jiangshan
2022-03-16 2:59 ` Josh Poimboeuf
2022-03-16 15:09 ` Peter Zijlstra
2022-03-16 16:48 ` Lai Jiangshan
2022-03-15 7:39 ` [PATCH V3 7/7] x86/entry: Convert SWAPGS to swapgs and remove the definition of SWAPGS Lai Jiangshan
2022-03-16 15:12 ` [PATCH V3 0/7] x86/entry: Clean up entry code Peter Zijlstra
2022-03-16 15:13 ` Peter Zijlstra
2022-03-17 12:58 ` Lai Jiangshan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220315073949.7541-1-jiangshanlai@gmail.com \
--to=jiangshanlai@gmail.com \
--cc=bp@alien8.de \
--cc=jiangshan.ljs@antgroup.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).