From: "H. Peter Anvin" <hpa@zytor.com>
To: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Andy Lutomirski <luto@kernel.org>,
Borislav Petkov <bp@alien8.de>, "H. Peter Anvin" <hpa@zytor.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [PATCH v3 0/8] x86/irq: trap and interrupt cleanups
Date: Wed, 19 May 2021 14:21:46 -0700 [thread overview]
Message-ID: <20210519212154.511983-1-hpa@zytor.com> (raw)
From: "H. Peter Anvin (Intel)" <hpa@zytor.com>
A collection of trap/interrupt-related patches, almost all
cleanups. It does remove a modest amount of code (39 lines.) The only
patches that should have any possible effect at all are:
7/8 - x86/irq: WARN_ONCE() if irq_move_cleanup is called on a pending interrupt
This condition is believed to be impossible after many
improvements to the IRQ vector allocation code since this
function was written. Per discussion with tglx, add a
WARN_ONCE() if this happens as a first step towards excising
this hack.
8/8 - x86/irq: merge and functonalize common code in DECLARE/DEFINE_IDTENTRY_*
This patch reverses kvm_set_cpu_l1tf_flush_l1d() and
__irq_enter_raw() in DEFINE_IDTENTRY_SYSVEC_SIMPLE() in order
to be able to unify the code with DEFINE_IDTENTRY_SYSVEC().
This replaces a lot of macros with inline functions, which
required some amount of adjusting types in various places,
they should have no effect.
The reason for unification is mainly to avoid the possibility
of inadvertent divergence rather than the rather modest amount
of code, but it does remove 25 lines of code.
Changes from v2:
* 5/8: Use an on-stack rather than a static variable.
* 7/8: Correct the sequence of needed changes in the patch description.
---
1/8 x86/traps: add X86_NR_HW_TRAPS to <asm/trapnr.h>
2/8 x86/irqvector: add NR_EXTERNAL_VECTORS and NR_SYSTEM_VECTORS
3/8 x86/irq: remove unused vectors from <asm/irq_vectors.h>
4/8 x86/idt: remove address argument to idt_invalidate()
5/8 x86/desc: add native_[ig]dt_invalidate() to <asm/desc.h>
6/8 x86/kexec: set_[gi]dt() -> native_[gi]dt_invalidate() in machine_kexec_*.c
7/8 x86/irq: WARN_ONCE() if irq_move_cleanup is called on a pending interrupt
8/8 x86/irq: merge and functionalize common code in DECLARE/DEFINE_IDTENTRY_*
arch/x86/entry/common.c | 5 +-
arch/x86/include/asm/desc.h | 17 ++-
arch/x86/include/asm/idtentry.h | 174 +++++++++++++++----------------
arch/x86/include/asm/irq_stack.h | 73 +++++--------
arch/x86/include/asm/irq_vectors.h | 7 +-
arch/x86/include/asm/trapnr.h | 1 +
arch/x86/kernel/apic/apic.c | 2 +-
arch/x86/kernel/apic/vector.c | 5 +
arch/x86/kernel/idt.c | 5 +-
arch/x86/kernel/irq.c | 1 +
arch/x86/kernel/machine_kexec_32.c | 15 +--
arch/x86/kernel/machine_kexec_64.c | 33 +-----
arch/x86/kernel/reboot.c | 2 +-
arch/x86/kernel/sev-es.c | 6 +-
arch/x86/kernel/traps.c | 2 +-
tools/arch/x86/include/asm/irq_vectors.h | 7 +-
16 files changed, 158 insertions(+), 197 deletions(-)
arch/x86/entry/common.c | 5 +-
arch/x86/include/asm/desc.h | 22 +++-
arch/x86/include/asm/idtentry.h | 174 +++++++++++++++----------------
arch/x86/include/asm/irq_stack.h | 73 +++++--------
arch/x86/include/asm/irq_vectors.h | 7 +-
arch/x86/include/asm/trapnr.h | 1 +
arch/x86/kernel/apic/apic.c | 2 +-
arch/x86/kernel/apic/vector.c | 5 +
arch/x86/kernel/idt.c | 5 +-
arch/x86/kernel/irq.c | 1 +
arch/x86/kernel/machine_kexec_32.c | 15 +--
arch/x86/kernel/machine_kexec_64.c | 33 +-----
arch/x86/kernel/reboot.c | 2 +-
arch/x86/kernel/sev-es.c | 6 +-
arch/x86/kernel/traps.c | 2 +-
tools/arch/x86/include/asm/irq_vectors.h | 7 +-
16 files changed, 163 insertions(+), 197 deletions(-)
next reply other threads:[~2021-05-19 21:22 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-19 21:21 H. Peter Anvin [this message]
2021-05-19 21:21 ` [PATCH v3 1/8] x86/traps: add X86_NR_HW_TRAPS to <asm/trapnr.h> H. Peter Anvin
2021-05-19 22:17 ` Thomas Gleixner
2021-05-19 22:24 ` H. Peter Anvin
2021-05-20 7:10 ` Thomas Gleixner
2021-05-19 21:21 ` [PATCH v3 2/8] x86/irqvector: add NR_EXTERNAL_VECTORS and NR_SYSTEM_VECTORS H. Peter Anvin
2021-05-25 9:29 ` [tip: x86/irq] x86/irq: Add and use " tip-bot2 for H. Peter Anvin (Intel)
2021-05-19 21:21 ` [PATCH v3 3/8] x86/irq: remove unused vectors from <asm/irq_vectors.h> H. Peter Anvin
2021-05-25 9:29 ` [tip: x86/irq] x86/irq: Remove unused vectors defines tip-bot2 for H. Peter Anvin (Intel)
2021-05-19 21:21 ` [PATCH v3 4/8] x86/idt: remove address argument to idt_invalidate() H. Peter Anvin
2021-05-25 9:29 ` [tip: x86/irq] x86/idt: Remove address argument from idt_invalidate() tip-bot2 for H. Peter Anvin (Intel)
2021-05-19 21:21 ` [PATCH v3 5/8] x86/desc: add native_[ig]dt_invalidate() to <asm/desc.h> H. Peter Anvin
2021-05-25 9:29 ` [tip: x86/irq] x86: Add native_[ig]dt_invalidate() tip-bot2 for H. Peter Anvin (Intel)
2021-05-19 21:21 ` [PATCH v3 6/8] x86/kexec: set_[gi]dt() -> native_[gi]dt_invalidate() in machine_kexec_*.c H. Peter Anvin
2021-05-25 9:29 ` [tip: x86/irq] x86/kexec: Set_[gi]dt() " tip-bot2 for H. Peter Anvin (Intel)
2021-05-19 21:21 ` [PATCH v3 7/8] x86/irq: WARN_ONCE() if irq_move_cleanup is called on a pending interrupt H. Peter Anvin
2021-05-20 14:00 ` Thomas Gleixner
2021-05-19 21:21 ` [PATCH v3 8/8] x86/irq: merge and functionalize common code in DECLARE/DEFINE_IDTENTRY_* H. Peter Anvin
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=20210519212154.511983-1-hpa@zytor.com \
--to=hpa@zytor.com \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
/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
all inboxes | Powered by JetHome®