From: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
To: <linux-kernel@vger.kernel.org>
Cc: <bp@alien8.de>, <tglx@linutronix.de>, <mingo@redhat.com>,
<dave.hansen@linux.intel.com>, <Thomas.Lendacky@amd.com>,
<nikunj@amd.com>, <Santosh.Shukla@amd.com>,
<Vasant.Hegde@amd.com>, <Suravee.Suthikulpanit@amd.com>,
<David.Kaplan@amd.com>, <x86@kernel.org>, <hpa@zytor.com>,
<peterz@infradead.org>, <seanjc@google.com>,
<pbonzini@redhat.com>, <kvm@vger.kernel.org>,
<kirill.shutemov@linux.intel.com>, <huibo.wang@amd.com>,
<naveen.rao@amd.com>, <kai.huang@intel.com>
Subject: [RFC PATCH v8 05/35] KVM: x86: Change lapic regs base address to void pointer
Date: Wed, 9 Jul 2025 09:02:12 +0530 [thread overview]
Message-ID: <20250709033242.267892-6-Neeraj.Upadhyay@amd.com> (raw)
In-Reply-To: <20250709033242.267892-1-Neeraj.Upadhyay@amd.com>
Change APIC base address from "char *" to "void *" in KVM
lapic's set/get helper functions. Pointer arithmetic for "void *"
and "char *" operate identically. With "void *" there is less
of a chance of doing the wrong thing, e.g. neglecting to cast and
reading a byte instead of the desired APIC register size.
No functional change intended.
Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
---
Changes since v7:
- Commit log update.
arch/x86/kvm/lapic.c | 6 +++---
arch/x86/kvm/lapic.h | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index 1dbc1643c675..3be5f0db892c 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -79,7 +79,7 @@ module_param(lapic_timer_advance, bool, 0444);
static int kvm_lapic_msr_read(struct kvm_lapic *apic, u32 reg, u64 *data);
static int kvm_lapic_msr_write(struct kvm_lapic *apic, u32 reg, u64 data);
-static inline void __kvm_lapic_set_reg(char *regs, int reg_off, u32 val)
+static inline void __kvm_lapic_set_reg(void *regs, int reg_off, u32 val)
{
*((u32 *) (regs + reg_off)) = val;
}
@@ -89,7 +89,7 @@ static inline void kvm_lapic_set_reg(struct kvm_lapic *apic, int reg_off, u32 va
__kvm_lapic_set_reg(apic->regs, reg_off, val);
}
-static __always_inline u64 __kvm_lapic_get_reg64(char *regs, int reg)
+static __always_inline u64 __kvm_lapic_get_reg64(void *regs, int reg)
{
BUILD_BUG_ON(reg != APIC_ICR);
return *((u64 *) (regs + reg));
@@ -100,7 +100,7 @@ static __always_inline u64 kvm_lapic_get_reg64(struct kvm_lapic *apic, int reg)
return __kvm_lapic_get_reg64(apic->regs, reg);
}
-static __always_inline void __kvm_lapic_set_reg64(char *regs, int reg, u64 val)
+static __always_inline void __kvm_lapic_set_reg64(void *regs, int reg, u64 val)
{
BUILD_BUG_ON(reg != APIC_ICR);
*((u64 *) (regs + reg)) = val;
diff --git a/arch/x86/kvm/lapic.h b/arch/x86/kvm/lapic.h
index eb9bda52948c..7ce89bf0b974 100644
--- a/arch/x86/kvm/lapic.h
+++ b/arch/x86/kvm/lapic.h
@@ -165,7 +165,7 @@ static inline void kvm_lapic_set_irr(int vec, struct kvm_lapic *apic)
apic->irr_pending = true;
}
-static inline u32 __kvm_lapic_get_reg(char *regs, int reg_off)
+static inline u32 __kvm_lapic_get_reg(void *regs, int reg_off)
{
return *((u32 *) (regs + reg_off));
}
--
2.34.1
next prev parent reply other threads:[~2025-07-09 3:34 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-09 3:32 [RFC PATCH v8 00/35] AMD: Add Secure AVIC Guest Support Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 01/35] KVM: x86: Open code setting/clearing of bits in the ISR Neeraj Upadhyay
2025-07-09 14:03 ` Sean Christopherson
2025-07-09 3:32 ` [RFC PATCH v8 02/35] KVM: x86: Remove redundant parentheses around 'bitmap' Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 03/35] x86/apic: KVM: Deduplicate APIC vector => register+bit math Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 04/35] KVM: x86: Rename VEC_POS/REG_POS macro usages Neeraj Upadhyay
2025-07-09 14:05 ` Sean Christopherson
2025-07-09 14:09 ` Sean Christopherson
2025-07-10 3:37 ` Neeraj Upadhyay
2025-07-09 3:32 ` Neeraj Upadhyay [this message]
2025-07-09 14:05 ` [RFC PATCH v8 05/35] KVM: x86: Change lapic regs base address to void pointer Sean Christopherson
2025-07-09 3:32 ` [RFC PATCH v8 06/35] KVM: x86: Rename find_highest_vector() Neeraj Upadhyay
2025-07-09 14:05 ` Sean Christopherson
2025-07-09 3:32 ` [RFC PATCH v8 07/35] KVM: x86: Rename lapic get/set_reg() helpers Neeraj Upadhyay
2025-07-09 14:06 ` Sean Christopherson
2025-07-09 3:32 ` [RFC PATCH v8 08/35] KVM: x86: Rename lapic get/set_reg64() helpers Neeraj Upadhyay
2025-07-09 14:06 ` Sean Christopherson
2025-07-09 3:32 ` [RFC PATCH v8 09/35] KVM: x86: Rename lapic set/clear vector helpers Neeraj Upadhyay
2025-07-09 14:06 ` Sean Christopherson
2025-07-09 3:32 ` [RFC PATCH v8 10/35] x86/apic: KVM: Move apic_find_highest_vector() to a common header Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 11/35] x86/apic: KVM: Move lapic get/set helpers to common code Neeraj Upadhyay
2025-07-09 14:06 ` Sean Christopherson
2025-07-09 3:32 ` [RFC PATCH v8 12/35] x86/apic: KVM: Move lapic set/clear_vector() " Neeraj Upadhyay
2025-07-09 14:07 ` Sean Christopherson
2025-07-09 3:32 ` [RFC PATCH v8 13/35] x86/apic: KVM: Move apic_test)vector() " Neeraj Upadhyay
2025-07-09 14:07 ` Sean Christopherson
2025-07-09 3:32 ` [RFC PATCH v8 14/35] x86/apic: Rename 'reg_off' to 'reg' Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 15/35] x86/apic: Unionize apic regs for 32bit/64bit access w/o type casting Neeraj Upadhyay
2025-07-09 14:32 ` Sean Christopherson
2025-07-10 3:43 ` Neeraj Upadhyay
2025-07-12 15:21 ` Borislav Petkov
2025-07-12 17:08 ` Neeraj Upadhyay
2025-07-12 18:46 ` Borislav Petkov
2025-07-13 2:11 ` Neeraj Upadhyay
2025-07-14 13:32 ` Sean Christopherson
2025-07-09 3:32 ` [RFC PATCH v8 16/35] x86/apic: Simplify bitwise operations on APIC bitmap Neeraj Upadhyay
2025-07-09 14:35 ` Sean Christopherson
2025-07-14 10:52 ` Borislav Petkov
2025-07-14 11:06 ` Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 17/35] x86/apic: Move apic_update_irq_cfg() calls to apic_update_vector() Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 18/35] x86/apic: Add new driver for Secure AVIC Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 19/35] x86/apic: Initialize Secure AVIC APIC backing page Neeraj Upadhyay
2025-07-15 4:49 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 20/35] x86/apic: Populate .read()/.write() callbacks of Secure AVIC driver Neeraj Upadhyay
2025-07-15 8:15 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 21/35] x86/apic: Initialize APIC ID for Secure AVIC Neeraj Upadhyay
2025-07-15 8:16 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 22/35] x86/apic: Add update_vector() callback for apic drivers Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 23/35] x86/apic: Add update_vector() callback for Secure AVIC Neeraj Upadhyay
2025-07-15 10:15 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 24/35] x86/apic: Add support to send IPI " Neeraj Upadhyay
2025-07-18 1:45 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 25/35] x86/apic: Support LAPIC timer " Neeraj Upadhyay
2025-07-18 2:14 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 26/35] x86/sev: Initialize VGIF for secondary VCPUs " Neeraj Upadhyay
2025-07-18 2:16 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 27/35] x86/apic: Add support to send NMI IPI " Neeraj Upadhyay
2025-07-18 2:57 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 28/35] x86/apic: Allow NMI to be injected from hypervisor " Neeraj Upadhyay
2025-07-18 2:58 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 29/35] x86/sev: Enable NMI support " Neeraj Upadhyay
2025-07-18 3:00 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 30/35] x86/apic: Read and write LVT* APIC registers from HV for SAVIC guests Neeraj Upadhyay
2025-07-18 3:08 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 31/35] x86/apic: Handle EOI writes for Secure AVIC guests Neeraj Upadhyay
2025-07-20 4:56 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 32/35] x86/apic: Add kexec support for Secure AVIC Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 33/35] x86/apic: Enable Secure AVIC in Control MSR Neeraj Upadhyay
2025-07-20 5:47 ` Tianyu Lan
2025-07-09 3:32 ` [RFC PATCH v8 34/35] x86/sev: Prevent SECURE_AVIC_CONTROL MSR interception for Secure AVIC guests Neeraj Upadhyay
2025-07-09 3:32 ` [RFC PATCH v8 35/35] x86/sev: Indicate SEV-SNP guest supports Secure AVIC Neeraj Upadhyay
2025-07-20 5:49 ` Tianyu Lan
2025-07-09 14:41 ` [RFC PATCH v8 00/35] AMD: Add Secure AVIC Guest Support Sean Christopherson
2025-07-09 21:41 ` Borislav Petkov
2025-07-10 23:08 ` Sean Christopherson
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=20250709033242.267892-6-Neeraj.Upadhyay@amd.com \
--to=neeraj.upadhyay@amd.com \
--cc=David.Kaplan@amd.com \
--cc=Santosh.Shukla@amd.com \
--cc=Suravee.Suthikulpanit@amd.com \
--cc=Thomas.Lendacky@amd.com \
--cc=Vasant.Hegde@amd.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=huibo.wang@amd.com \
--cc=kai.huang@intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=naveen.rao@amd.com \
--cc=nikunj@amd.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--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).