All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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: 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.