From: Wei Liu <wei.liu@kernel.org>
To: Linux on Hyper-V List <linux-hyperv@vger.kernel.org>
Cc: virtualization@lists.linux-foundation.org,
Linux Kernel List <linux-kernel@vger.kernel.org>,
Michael Kelley <mikelley@microsoft.com>,
Vineeth Pillai <viremana@linux.microsoft.com>,
Sunil Muthuswamy <sunilmut@microsoft.com>,
Nuno Das Neves <nunodasneves@linux.microsoft.com>,
Wei Liu <wei.liu@kernel.org>,
"K. Y. Srinivasan" <kys@microsoft.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
Stephen Hemminger <sthemmin@microsoft.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
x86@kernel.org (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
"H. Peter Anvin" <hpa@zytor.com>, Arnd Bergmann <arnd@arndb.de>,
linux-arch@vger.kernel.org (open list:GENERIC INCLUDE/ASM HEADER
FILES)
Subject: [PATCH v3 11/17] asm-generic/hyperv: update hv_msi_entry
Date: Tue, 24 Nov 2020 17:07:38 +0000 [thread overview]
Message-ID: <20201124170744.112180-12-wei.liu@kernel.org> (raw)
In-Reply-To: <20201124170744.112180-1-wei.liu@kernel.org>
We will soon need to access fields inside the MSI address and MSI data
fields. Introduce hv_msi_address_register and hv_msi_data_register.
Fix up one user of hv_msi_entry in mshyperv.h.
No functional change expected.
Signed-off-by: Wei Liu <wei.liu@kernel.org>
---
arch/x86/include/asm/mshyperv.h | 4 ++--
include/asm-generic/hyperv-tlfs.h | 28 ++++++++++++++++++++++++++--
2 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 4e590a167160..cbee72550a12 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -257,8 +257,8 @@ static inline void hv_apic_init(void) {}
static inline void hv_set_msi_entry_from_desc(union hv_msi_entry *msi_entry,
struct msi_desc *msi_desc)
{
- msi_entry->address = msi_desc->msg.address_lo;
- msi_entry->data = msi_desc->msg.data;
+ msi_entry->address.as_uint32 = msi_desc->msg.address_lo;
+ msi_entry->data.as_uint32 = msi_desc->msg.data;
}
#else /* CONFIG_HYPERV */
diff --git a/include/asm-generic/hyperv-tlfs.h b/include/asm-generic/hyperv-tlfs.h
index ec53570102f0..7e103be42799 100644
--- a/include/asm-generic/hyperv-tlfs.h
+++ b/include/asm-generic/hyperv-tlfs.h
@@ -480,12 +480,36 @@ struct hv_create_vp {
u64 flags;
} __packed;
+union hv_msi_address_register {
+ u32 as_uint32;
+ struct {
+ u32 reserved1:2;
+ u32 destination_mode:1;
+ u32 redirection_hint:1;
+ u32 reserved2:8;
+ u32 destination_id:8;
+ u32 msi_base:12;
+ };
+} __packed;
+
+union hv_msi_data_register {
+ u32 as_uint32;
+ struct {
+ u32 vector:8;
+ u32 delivery_mode:3;
+ u32 reserved1:3;
+ u32 level_assert:1;
+ u32 trigger_mode:1;
+ u32 reserved2:16;
+ };
+} __packed;
+
/* HvRetargetDeviceInterrupt hypercall */
union hv_msi_entry {
u64 as_uint64;
struct {
- u32 address;
- u32 data;
+ union hv_msi_address_register address;
+ union hv_msi_data_register data;
} __packed;
};
--
2.20.1
next prev parent reply other threads:[~2020-11-24 17:08 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-24 17:07 [PATCH v3 00/17] Introducing Linux root partition support for Microsoft Hypervisor Wei Liu
2020-11-24 17:07 ` [PATCH v3 01/17] asm-generic/hyperv: change HV_CPU_POWER_MANAGEMENT to HV_CPU_MANAGEMENT Wei Liu
2021-01-06 15:45 ` Wei Liu
2020-11-24 17:07 ` [PATCH v3 02/17] x86/hyperv: detect if Linux is the root partition Wei Liu
2020-11-24 17:07 ` [PATCH v3 03/17] Drivers: hv: vmbus: skip VMBus initialization if Linux is root Wei Liu
2020-11-24 17:07 ` [PATCH v3 04/17] iommu/hyperv: don't setup IRQ remapping when running as root Wei Liu
2020-11-24 17:07 ` Wei Liu
2020-11-24 17:07 ` [PATCH v3 05/17] clocksource/hyperv: use MSR-based access if " Wei Liu
2020-11-24 17:07 ` [PATCH v3 06/17] x86/hyperv: allocate output arg pages if required Wei Liu
2020-11-24 17:07 ` [PATCH v3 07/17] x86/hyperv: extract partition ID from Microsoft Hypervisor if necessary Wei Liu
2020-11-24 17:07 ` [PATCH v3 08/17] x86/hyperv: handling hypercall page setup for root Wei Liu
2020-11-24 17:07 ` [PATCH v3 09/17] x86/hyperv: provide a bunch of helper functions Wei Liu
2020-11-24 17:07 ` [PATCH v3 10/17] x86/hyperv: implement and use hv_smp_prepare_cpus Wei Liu
2020-11-24 17:07 ` Wei Liu [this message]
2020-11-24 17:07 ` [PATCH v3 12/17] asm-generic/hyperv: update hv_interrupt_entry Wei Liu
2020-11-24 18:05 ` David Woodhouse
2020-11-24 18:05 ` David Woodhouse
2020-12-02 13:39 ` Wei Liu
2020-11-24 17:07 ` [PATCH v3 13/17] asm-generic/hyperv: introduce hv_device_id and auxiliary structures Wei Liu
2020-11-24 17:07 ` [PATCH v3 14/17] asm-generic/hyperv: import data structures for mapping device interrupts Wei Liu
2020-11-24 17:07 ` [PATCH v3 15/17] x86/hyperv: implement an MSI domain for root partition Wei Liu
2020-11-24 20:10 ` kernel test robot
2020-11-24 20:10 ` kernel test robot
2020-11-24 20:10 ` kernel test robot
2020-11-25 4:01 ` kernel test robot
2020-11-25 4:01 ` kernel test robot
2020-11-25 4:01 ` kernel test robot
2020-11-24 17:07 ` [PATCH v3 16/17] x86/ioapic: export a few functions and data structures via io_apic.h Wei Liu
2020-11-25 10:26 ` Andy Shevchenko
2020-11-25 10:26 ` Andy Shevchenko
2020-12-02 14:11 ` Wei Liu
2020-12-02 15:18 ` Andy Shevchenko
2020-12-02 15:18 ` Andy Shevchenko
2020-11-24 17:07 ` [PATCH v3 17/17] x86/hyperv: handle IO-APIC when running as root Wei Liu
2020-11-25 5:16 ` kernel test robot
2020-11-25 5:16 ` kernel test robot
2020-11-25 5:16 ` kernel test robot
2020-12-02 19:51 ` [PATCH v3 00/17] Introducing Linux root partition support for Microsoft Hypervisor Enrico Weigelt, metux IT consult
2020-12-02 23:22 ` Wei Liu
2020-12-15 15:25 ` Enrico Weigelt, metux IT consult
2020-12-15 16:42 ` Wei Liu
2021-02-02 10:40 ` David Woodhouse
2021-02-02 10:40 ` David Woodhouse
2021-02-02 12:16 ` Wei Liu
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=20201124170744.112180-12-wei.liu@kernel.org \
--to=wei.liu@kernel.org \
--cc=arnd@arndb.de \
--cc=bp@alien8.de \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=kys@microsoft.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mikelley@microsoft.com \
--cc=mingo@redhat.com \
--cc=nunodasneves@linux.microsoft.com \
--cc=sthemmin@microsoft.com \
--cc=sunilmut@microsoft.com \
--cc=tglx@linutronix.de \
--cc=viremana@linux.microsoft.com \
--cc=virtualization@lists.linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.