From: Mukesh R <mrathor@linux.microsoft.com>
To: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Cc: linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev,
linux-pci@vger.kernel.org, linux-arch@vger.kernel.org,
kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
decui@microsoft.com, longli@microsoft.com,
catalin.marinas@arm.com, will@kernel.org, tglx@linutronix.de,
mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
hpa@zytor.com, joro@8bytes.org, lpieralisi@kernel.org,
kwilczynski@kernel.org, mani@kernel.org, robh@kernel.org,
bhelgaas@google.com, arnd@arndb.de,
nunodasneves@linux.microsoft.com, mhklinux@outlook.com,
romank@linux.microsoft.com
Subject: Re: [PATCH v0 09/15] mshv: Import data structs around device domains and irq remapping
Date: Fri, 23 Jan 2026 16:38:56 -0800 [thread overview]
Message-ID: <669e56da-e27f-1dd7-e7d0-0323ae7beaae@linux.microsoft.com> (raw)
In-Reply-To: <aW_-9KO2DrVvmvSs@skinsburskii.localdomain>
On 1/20/26 14:17, Stanislav Kinsburskii wrote:
> On Mon, Jan 19, 2026 at 10:42:24PM -0800, Mukesh R wrote:
>> From: Mukesh Rathor <mrathor@linux.microsoft.com>
>>
>> Import/copy from Hyper-V public headers, definitions and declarations that
>> are related to attaching and detaching of device domains and interrupt
>> remapping, and building device ids for those purposes.
>>
>> Signed-off-by: Mukesh Rathor <mrathor@linux.microsoft.com>
>> ---
>> include/hyperv/hvgdk_mini.h | 11 ++++
>> include/hyperv/hvhdk_mini.h | 112 ++++++++++++++++++++++++++++++++++++
>> 2 files changed, 123 insertions(+)
>>
>
> <snip>
>
>> +/* ID for stage 2 default domain and NULL domain */
>> +#define HV_DEVICE_DOMAIN_ID_S2_DEFAULT 0
>> +#define HV_DEVICE_DOMAIN_ID_S2_NULL 0xFFFFFFFFULL
>> +
>> +union hv_device_domain_id {
>> + u64 as_uint64;
>> + struct {
>> + u32 type : 4;
>> + u32 reserved : 28;
>> + u32 id;
>> + };
>> +} __packed;
>
> Shouldn't the inner struct be packed instead?
>
>> +
>> +struct hv_input_device_domain { /* HV_INPUT_DEVICE_DOMAIN */
>> + u64 partition_id;
>> + union hv_input_vtl owner_vtl;
>> + u8 padding[7];
>> + union hv_device_domain_id domain_id;
>> +} __packed;
>> +
>> +union hv_create_device_domain_flags { /* HV_CREATE_DEVICE_DOMAIN_FLAGS */
>> + u32 as_uint32;
>> + struct {
>> + u32 forward_progress_required : 1;
>> + u32 inherit_owning_vtl : 1;
>> + u32 reserved : 30;
>> + } __packed;
>> +} __packed;
>
> Why should the union be packed?
From GCC docs:
Specifying this attribute for struct and union types is equivalent to
specifying the packed attribute on each of the structure or union members.
Thanks,
-Mukesh
> Thanks,
> Stanislav
>
>> +
>> +struct hv_input_create_device_domain { /* HV_INPUT_CREATE_DEVICE_DOMAIN */
>> + struct hv_input_device_domain device_domain;
>> + union hv_create_device_domain_flags create_device_domain_flags;
>> +} __packed;
>> +
>> +struct hv_input_delete_device_domain { /* HV_INPUT_DELETE_DEVICE_DOMAIN */
>> + struct hv_input_device_domain device_domain;
>> +} __packed;
>> +
>> +struct hv_input_attach_device_domain { /* HV_INPUT_ATTACH_DEVICE_DOMAIN */
>> + struct hv_input_device_domain device_domain;
>> + union hv_device_id device_id;
>> +} __packed;
>> +
>> +struct hv_input_detach_device_domain { /* HV_INPUT_DETACH_DEVICE_DOMAIN */
>> + u64 partition_id;
>> + union hv_device_id device_id;
>> +} __packed;
>> +
>> +struct hv_input_map_device_gpa_pages { /* HV_INPUT_MAP_DEVICE_GPA_PAGES */
>> + struct hv_input_device_domain device_domain;
>> + union hv_input_vtl target_vtl;
>> + u8 padding[3];
>> + u32 map_flags;
>> + u64 target_device_va_base;
>> + u64 gpa_page_list[];
>> +} __packed;
>> +
>> +struct hv_input_unmap_device_gpa_pages { /* HV_INPUT_UNMAP_DEVICE_GPA_PAGES */
>> + struct hv_input_device_domain device_domain;
>> + u64 target_device_va_base;
>> +} __packed;
>> +
>> #endif /* _HV_HVHDK_MINI_H */
>> --
>> 2.51.2.vfs.0.1
>>
next prev parent reply other threads:[~2026-01-24 0:38 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-20 6:42 [PATCH v0 00/15] PCI passthru on Hyper-V (Part I) Mukesh R
2026-01-20 6:42 ` [PATCH v0 01/15] iommu/hyperv: rename hyperv-iommu.c to hyperv-irq.c Mukesh R
2026-01-20 19:08 ` kernel test robot
2026-01-20 21:09 ` kernel test robot
2026-02-05 18:48 ` Anirudh Rayabharam
2026-01-20 6:42 ` [PATCH v0 02/15] x86/hyperv: cosmetic changes in irqdomain.c for readability Mukesh R
2026-02-05 18:47 ` Anirudh Rayabharam
2026-01-20 6:42 ` [PATCH v0 03/15] x86/hyperv: add insufficient memory support in irqdomain.c Mukesh R
2026-01-21 0:53 ` kernel test robot
2026-01-20 6:42 ` [PATCH v0 04/15] mshv: Provide a way to get partition id if running in a VMM process Mukesh R
2026-01-23 18:23 ` Nuno Das Neves
2026-01-20 6:42 ` [PATCH v0 05/15] mshv: Declarations and definitions for VFIO-MSHV bridge device Mukesh R
2026-01-23 18:25 ` Nuno Das Neves
2026-01-24 0:36 ` Mukesh R
2026-01-20 6:42 ` [PATCH v0 06/15] mshv: Implement mshv bridge device for VFIO Mukesh R
2026-01-20 16:09 ` Stanislav Kinsburskii
2026-04-07 17:41 ` Mukesh R
2026-04-09 14:41 ` Stanislav Kinsburskii
2026-01-23 18:32 ` Nuno Das Neves
2026-01-24 0:37 ` Mukesh R
2026-01-20 6:42 ` [PATCH v0 07/15] mshv: Add ioctl support for MSHV-VFIO bridge device Mukesh R
2026-01-20 16:13 ` Stanislav Kinsburskii
2026-04-18 0:20 ` Mukesh R
2026-01-20 6:42 ` [PATCH v0 08/15] PCI: hv: rename hv_compose_msi_msg to hv_vmbus_compose_msi_msg Mukesh R
2026-01-28 14:03 ` Manivannan Sadhasivam
2026-01-20 6:42 ` [PATCH v0 09/15] mshv: Import data structs around device domains and irq remapping Mukesh R
2026-01-20 22:17 ` Stanislav Kinsburskii
2026-01-24 0:38 ` Mukesh R [this message]
2026-01-20 6:42 ` [PATCH v0 10/15] PCI: hv: Build device id for a VMBus device Mukesh R
2026-01-20 22:22 ` Stanislav Kinsburskii
2026-01-24 0:42 ` Mukesh R
2026-01-26 20:50 ` Stanislav Kinsburskii
2026-01-28 14:36 ` Manivannan Sadhasivam
2026-01-20 6:42 ` [PATCH v0 11/15] x86/hyperv: Build logical device ids for PCI passthru hcalls Mukesh R
2026-01-20 22:27 ` Stanislav Kinsburskii
2026-01-24 0:44 ` Mukesh R
2026-01-20 6:42 ` [PATCH v0 12/15] x86/hyperv: Implement hyperv virtual iommu Mukesh R
2026-01-21 0:12 ` Stanislav Kinsburskii
2026-01-24 1:26 ` Mukesh R
2026-01-26 15:57 ` Stanislav Kinsburskii
2026-01-27 3:02 ` Mukesh R
2026-01-27 18:46 ` Stanislav Kinsburskii
2026-01-30 22:51 ` Mukesh R
2026-02-02 16:20 ` Stanislav Kinsburskii
2026-01-22 5:18 ` Jacob Pan
2026-01-24 2:01 ` Mukesh R
2026-01-27 19:21 ` Jacob Pan
2026-01-27 22:31 ` Jacob Pan
2026-01-30 22:10 ` Mukesh R
2026-01-30 23:44 ` Mukesh R
2026-01-20 6:42 ` [PATCH v0 13/15] x86/hyperv: Basic interrupt support for direct attached devices Mukesh R
2026-01-21 0:47 ` Stanislav Kinsburskii
2026-01-24 2:08 ` Mukesh R
2026-01-20 6:42 ` [PATCH v0 14/15] mshv: Remove mapping of mmio space during map user ioctl Mukesh R
2026-01-21 1:41 ` Stanislav Kinsburskii
2026-01-23 18:34 ` Nuno Das Neves
2026-01-24 2:12 ` Mukesh R
2026-01-20 6:42 ` [PATCH v0 15/15] mshv: Populate mmio mappings for PCI passthru Mukesh R
2026-01-20 19:52 ` kernel test robot
2026-01-21 1:53 ` Stanislav Kinsburskii
2026-01-24 2:19 ` Mukesh R
2026-01-26 18:15 ` Stanislav Kinsburskii
2026-01-27 3:07 ` Mukesh R
2026-01-27 18:57 ` Stanislav Kinsburskii
2026-01-30 22:17 ` Mukesh R
2026-02-02 16:30 ` Stanislav Kinsburskii
2026-02-04 22:52 ` Mukesh R
2026-02-05 16:28 ` Stanislav Kinsburskii
2026-02-05 17:57 ` Mukesh R
2026-02-05 18:31 ` Stanislav Kinsburskii
2026-01-20 21:50 ` [PATCH v0 00/15] PCI passthru on Hyper-V (Part I) Jacob Pan
2026-01-24 2:27 ` Mukesh R
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=669e56da-e27f-1dd7-e7d0-0323ae7beaae@linux.microsoft.com \
--to=mrathor@linux.microsoft.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=dave.hansen@linux.intel.com \
--cc=decui@microsoft.com \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=iommu@lists.linux.dev \
--cc=joro@8bytes.org \
--cc=kwilczynski@kernel.org \
--cc=kys@microsoft.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=longli@microsoft.com \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=mhklinux@outlook.com \
--cc=mingo@redhat.com \
--cc=nunodasneves@linux.microsoft.com \
--cc=robh@kernel.org \
--cc=romank@linux.microsoft.com \
--cc=skinsburskii@linux.microsoft.com \
--cc=tglx@linutronix.de \
--cc=wei.liu@kernel.org \
--cc=will@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.