From: Michael Kelley <mikelley@microsoft.com> To: Wei Liu <wei.liu@kernel.org>, Linux on Hyper-V List <linux-hyperv@vger.kernel.org> Cc: "virtualization@lists.linux-foundation.org" <virtualization@lists.linux-foundation.org>, Linux Kernel List <linux-kernel@vger.kernel.org>, Vineeth Pillai <viremana@linux.microsoft.com>, Sunil Muthuswamy <sunilmut@microsoft.com>, Nuno Das Neves <nunodasneves@linux.microsoft.com>, "pasha.tatashin@soleen.com" <pasha.tatashin@soleen.com>, KY Srinivasan <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger <sthemmin@microsoft.com>, Arnd Bergmann <arnd@arndb.de>, "open list:GENERIC INCLUDE/ASM HEADER FILES" <linux-arch@vger.kernel.org> Subject: RE: [PATCH v5 13/16] asm-generic/hyperv: introduce hv_device_id and auxiliary structures Date: Tue, 26 Jan 2021 01:26:52 +0000 [thread overview] Message-ID: <MWHPR21MB1593959647DA60219E19C25ED7BC9@MWHPR21MB1593.namprd21.prod.outlook.com> (raw) In-Reply-To: <20210120120058.29138-14-wei.liu@kernel.org> From: Wei Liu <wei.liu@kernel.org> Sent: Wednesday, January 20, 2021 4:01 AM > > We will need to identify the device we want Microsoft Hypervisor to > manipulate. Introduce the data structures for that purpose. > > They will be used in a later patch. > > Signed-off-by: Sunil Muthuswamy <sunilmut@microsoft.com> > Co-Developed-by: Sunil Muthuswamy <sunilmut@microsoft.com> > Signed-off-by: Wei Liu <wei.liu@kernel.org> > --- > include/asm-generic/hyperv-tlfs.h | 79 +++++++++++++++++++++++++++++++ > 1 file changed, 79 insertions(+) > > diff --git a/include/asm-generic/hyperv-tlfs.h b/include/asm-generic/hyperv-tlfs.h > index 8423bf53c237..42ff1326c6bd 100644 > --- a/include/asm-generic/hyperv-tlfs.h > +++ b/include/asm-generic/hyperv-tlfs.h > @@ -623,4 +623,83 @@ struct hv_set_vp_registers_input { > } element[]; > } __packed; > > +enum hv_device_type { > + HV_DEVICE_TYPE_LOGICAL = 0, > + HV_DEVICE_TYPE_PCI = 1, > + HV_DEVICE_TYPE_IOAPIC = 2, > + HV_DEVICE_TYPE_ACPI = 3, > +}; > + > +typedef u16 hv_pci_rid; > +typedef u16 hv_pci_segment; > +typedef u64 hv_logical_device_id; > +union hv_pci_bdf { > + u16 as_uint16; > + > + struct { > + u8 function:3; > + u8 device:5; > + u8 bus; > + }; > +} __packed; > + > +union hv_pci_bus_range { > + u16 as_uint16; > + > + struct { > + u8 subordinate_bus; > + u8 secondary_bus; > + }; > +} __packed; > + > +union hv_device_id { > + u64 as_uint64; > + > + struct { > + u64 :62; > + u64 device_type:2; > + }; Are the above 4 lines extraneous junk? If not, a comment would be helpful. And we would normally label the 62 bit field as "reserved0" or something similar. > + > + /* HV_DEVICE_TYPE_LOGICAL */ > + struct { > + u64 id:62; > + u64 device_type:2; > + } logical; > + > + /* HV_DEVICE_TYPE_PCI */ > + struct { > + union { > + hv_pci_rid rid; > + union hv_pci_bdf bdf; > + }; > + > + hv_pci_segment segment; > + union hv_pci_bus_range shadow_bus_range; > + > + u16 phantom_function_bits:2; > + u16 source_shadow:1; > + > + u16 rsvdz0:11; > + u16 device_type:2; > + } pci; > + > + /* HV_DEVICE_TYPE_IOAPIC */ > + struct { > + u8 ioapic_id; > + u8 rsvdz0; > + u16 rsvdz1; > + u16 rsvdz2; > + > + u16 rsvdz3:14; > + u16 device_type:2; > + } ioapic; > + > + /* HV_DEVICE_TYPE_ACPI */ > + struct { > + u32 input_mapping_base; > + u32 input_mapping_count:30; > + u32 device_type:2; > + } acpi; > +} __packed; > + > #endif > -- > 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Michael Kelley via Virtualization <virtualization@lists.linux-foundation.org> To: Wei Liu <wei.liu@kernel.org>, Linux on Hyper-V List <linux-hyperv@vger.kernel.org> Cc: "open list:GENERIC INCLUDE/ASM HEADER FILES" <linux-arch@vger.kernel.org>, Stephen Hemminger <sthemmin@microsoft.com>, "pasha.tatashin@soleen.com" <pasha.tatashin@soleen.com>, Arnd Bergmann <arnd@arndb.de>, Haiyang Zhang <haiyangz@microsoft.com>, Linux Kernel List <linux-kernel@vger.kernel.org>, "virtualization@lists.linux-foundation.org" <virtualization@lists.linux-foundation.org>, Nuno Das Neves <nunodasneves@linux.microsoft.com>, Sunil Muthuswamy <sunilmut@microsoft.com>, Vineeth Pillai <viremana@linux.microsoft.com> Subject: RE: [PATCH v5 13/16] asm-generic/hyperv: introduce hv_device_id and auxiliary structures Date: Tue, 26 Jan 2021 01:26:52 +0000 [thread overview] Message-ID: <MWHPR21MB1593959647DA60219E19C25ED7BC9@MWHPR21MB1593.namprd21.prod.outlook.com> (raw) In-Reply-To: <20210120120058.29138-14-wei.liu@kernel.org> From: Wei Liu <wei.liu@kernel.org> Sent: Wednesday, January 20, 2021 4:01 AM > > We will need to identify the device we want Microsoft Hypervisor to > manipulate. Introduce the data structures for that purpose. > > They will be used in a later patch. > > Signed-off-by: Sunil Muthuswamy <sunilmut@microsoft.com> > Co-Developed-by: Sunil Muthuswamy <sunilmut@microsoft.com> > Signed-off-by: Wei Liu <wei.liu@kernel.org> > --- > include/asm-generic/hyperv-tlfs.h | 79 +++++++++++++++++++++++++++++++ > 1 file changed, 79 insertions(+) > > diff --git a/include/asm-generic/hyperv-tlfs.h b/include/asm-generic/hyperv-tlfs.h > index 8423bf53c237..42ff1326c6bd 100644 > --- a/include/asm-generic/hyperv-tlfs.h > +++ b/include/asm-generic/hyperv-tlfs.h > @@ -623,4 +623,83 @@ struct hv_set_vp_registers_input { > } element[]; > } __packed; > > +enum hv_device_type { > + HV_DEVICE_TYPE_LOGICAL = 0, > + HV_DEVICE_TYPE_PCI = 1, > + HV_DEVICE_TYPE_IOAPIC = 2, > + HV_DEVICE_TYPE_ACPI = 3, > +}; > + > +typedef u16 hv_pci_rid; > +typedef u16 hv_pci_segment; > +typedef u64 hv_logical_device_id; > +union hv_pci_bdf { > + u16 as_uint16; > + > + struct { > + u8 function:3; > + u8 device:5; > + u8 bus; > + }; > +} __packed; > + > +union hv_pci_bus_range { > + u16 as_uint16; > + > + struct { > + u8 subordinate_bus; > + u8 secondary_bus; > + }; > +} __packed; > + > +union hv_device_id { > + u64 as_uint64; > + > + struct { > + u64 :62; > + u64 device_type:2; > + }; Are the above 4 lines extraneous junk? If not, a comment would be helpful. And we would normally label the 62 bit field as "reserved0" or something similar. > + > + /* HV_DEVICE_TYPE_LOGICAL */ > + struct { > + u64 id:62; > + u64 device_type:2; > + } logical; > + > + /* HV_DEVICE_TYPE_PCI */ > + struct { > + union { > + hv_pci_rid rid; > + union hv_pci_bdf bdf; > + }; > + > + hv_pci_segment segment; > + union hv_pci_bus_range shadow_bus_range; > + > + u16 phantom_function_bits:2; > + u16 source_shadow:1; > + > + u16 rsvdz0:11; > + u16 device_type:2; > + } pci; > + > + /* HV_DEVICE_TYPE_IOAPIC */ > + struct { > + u8 ioapic_id; > + u8 rsvdz0; > + u16 rsvdz1; > + u16 rsvdz2; > + > + u16 rsvdz3:14; > + u16 device_type:2; > + } ioapic; > + > + /* HV_DEVICE_TYPE_ACPI */ > + struct { > + u32 input_mapping_base; > + u32 input_mapping_count:30; > + u32 device_type:2; > + } acpi; > +} __packed; > + > #endif > -- > 2.20.1 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
next prev parent reply other threads:[~2021-01-26 1:31 UTC|newest] Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-20 12:00 [PATCH v5 00/16] Introducing Linux root partition support for Microsoft Hypervisor Wei Liu 2021-01-20 12:00 ` [PATCH v5 01/16] asm-generic/hyperv: change HV_CPU_POWER_MANAGEMENT to HV_CPU_MANAGEMENT Wei Liu 2021-01-20 15:57 ` Pavel Tatashin 2021-01-20 15:57 ` Pavel Tatashin 2021-01-26 0:25 ` Michael Kelley 2021-01-26 0:25 ` Michael Kelley via Virtualization 2021-01-20 12:00 ` [PATCH v5 02/16] x86/hyperv: detect if Linux is the root partition Wei Liu 2021-01-20 16:03 ` Pavel Tatashin 2021-01-20 16:03 ` Pavel Tatashin 2021-01-26 15:06 ` Wei Liu 2021-01-26 0:31 ` Michael Kelley 2021-01-26 0:31 ` Michael Kelley via Virtualization 2021-01-26 15:15 ` Wei Liu 2021-01-26 15:24 ` Wei Liu 2021-01-20 12:00 ` [PATCH v5 03/16] Drivers: hv: vmbus: skip VMBus initialization if Linux is root Wei Liu 2021-01-20 16:06 ` Pavel Tatashin 2021-01-20 16:06 ` Pavel Tatashin 2021-01-26 0:32 ` Michael Kelley 2021-01-26 0:32 ` Michael Kelley via Virtualization 2021-01-20 12:00 ` [PATCH v5 04/16] iommu/hyperv: don't setup IRQ remapping when running as root Wei Liu 2021-01-20 12:00 ` Wei Liu 2021-01-20 16:08 ` Pavel Tatashin 2021-01-20 16:08 ` Pavel Tatashin 2021-01-20 16:08 ` Pavel Tatashin 2021-01-26 0:33 ` Michael Kelley 2021-01-26 0:33 ` Michael Kelley via Virtualization 2021-01-26 0:33 ` Michael Kelley via iommu 2021-01-20 12:00 ` [PATCH v5 05/16] clocksource/hyperv: use MSR-based access if " Wei Liu 2021-01-20 16:13 ` Pavel Tatashin 2021-01-20 16:13 ` Pavel Tatashin 2021-01-26 15:19 ` Wei Liu 2021-01-26 0:34 ` Michael Kelley 2021-01-26 0:34 ` Michael Kelley via Virtualization 2021-01-20 12:00 ` [PATCH v5 06/16] x86/hyperv: allocate output arg pages if required Wei Liu 2021-01-20 15:12 ` kernel test robot 2021-01-20 15:12 ` kernel test robot 2021-01-20 15:12 ` kernel test robot 2021-01-20 19:44 ` Pavel Tatashin 2021-01-20 19:44 ` Pavel Tatashin 2021-01-26 0:41 ` Michael Kelley 2021-01-26 0:41 ` Michael Kelley via Virtualization 2021-01-26 18:09 ` Wei Liu 2021-01-20 12:00 ` [PATCH v5 07/16] x86/hyperv: extract partition ID from Microsoft Hypervisor if necessary Wei Liu 2021-01-26 0:48 ` Michael Kelley 2021-01-26 0:48 ` Michael Kelley via Virtualization 2021-02-02 15:03 ` Wei Liu 2021-02-04 16:33 ` Michael Kelley 2021-02-04 16:33 ` Michael Kelley via Virtualization 2021-01-20 12:00 ` [PATCH v5 08/16] x86/hyperv: handling hypercall page setup for root Wei Liu 2021-01-26 0:49 ` Michael Kelley 2021-01-26 0:49 ` Michael Kelley via Virtualization 2021-01-20 12:00 ` [PATCH v5 09/16] x86/hyperv: provide a bunch of helper functions Wei Liu 2021-01-26 1:20 ` Michael Kelley 2021-01-26 1:20 ` Michael Kelley via Virtualization 2021-02-02 16:19 ` Wei Liu 2021-01-20 12:00 ` [PATCH v5 10/16] x86/hyperv: implement and use hv_smp_prepare_cpus Wei Liu 2021-01-26 1:21 ` Michael Kelley 2021-01-26 1:21 ` Michael Kelley via Virtualization 2021-01-20 12:00 ` [PATCH v5 11/16] asm-generic/hyperv: update hv_msi_entry Wei Liu 2021-01-26 1:22 ` Michael Kelley 2021-01-26 1:22 ` Michael Kelley via Virtualization 2021-01-20 12:00 ` [PATCH v5 12/16] asm-generic/hyperv: update hv_interrupt_entry Wei Liu 2021-01-26 1:23 ` Michael Kelley 2021-01-26 1:23 ` Michael Kelley via Virtualization 2021-01-20 12:00 ` [PATCH v5 13/16] asm-generic/hyperv: introduce hv_device_id and auxiliary structures Wei Liu 2021-01-26 1:26 ` Michael Kelley [this message] 2021-01-26 1:26 ` Michael Kelley via Virtualization 2021-02-02 17:02 ` Wei Liu 2021-02-03 13:26 ` Wei Liu 2021-02-03 13:49 ` Arnd Bergmann 2021-02-03 14:09 ` Wei Liu 2021-02-04 16:46 ` Michael Kelley 2021-02-04 16:46 ` Michael Kelley via Virtualization 2021-01-20 12:00 ` [PATCH v5 14/16] asm-generic/hyperv: import data structures for mapping device interrupts Wei Liu 2021-01-26 1:27 ` Michael Kelley 2021-01-26 1:27 ` Michael Kelley via Virtualization 2021-01-20 12:00 ` [PATCH v5 15/16] x86/hyperv: implement an MSI domain for root partition Wei Liu 2021-01-27 5:47 ` Michael Kelley 2021-01-27 5:47 ` Michael Kelley via Virtualization 2021-02-02 17:31 ` Wei Liu 2021-02-02 18:15 ` Michael Kelley 2021-02-02 18:15 ` Michael Kelley via Virtualization 2021-02-02 18:16 ` Wei Liu 2021-01-20 12:00 ` [PATCH v5 16/16] iommu/hyperv: setup an IO-APIC IRQ remapping " Wei Liu 2021-01-20 12:00 ` Wei Liu 2021-01-27 5:47 ` Michael Kelley 2021-01-27 5:47 ` Michael Kelley via Virtualization 2021-01-27 5:47 ` Michael Kelley via iommu 2021-02-03 12:47 ` Wei Liu 2021-02-03 12:47 ` Wei Liu 2021-02-04 16:41 ` Michael Kelley 2021-02-04 16:41 ` Michael Kelley via Virtualization 2021-02-04 16:41 ` Michael Kelley via iommu 2021-02-04 16:48 ` Wei Liu 2021-02-04 16:48 ` 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=MWHPR21MB1593959647DA60219E19C25ED7BC9@MWHPR21MB1593.namprd21.prod.outlook.com \ --to=mikelley@microsoft.com \ --cc=arnd@arndb.de \ --cc=haiyangz@microsoft.com \ --cc=kys@microsoft.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-hyperv@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=nunodasneves@linux.microsoft.com \ --cc=pasha.tatashin@soleen.com \ --cc=sthemmin@microsoft.com \ --cc=sunilmut@microsoft.com \ --cc=viremana@linux.microsoft.com \ --cc=virtualization@lists.linux-foundation.org \ --cc=wei.liu@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: linkBe 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.