From win-pv-devel-bounces@lists.xenproject.org Tue Nov 02 10:06:28 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 02 Nov 2021 10:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.219908.380966 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhqgV-0007KI-S8; Tue, 02 Nov 2021 10:06:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 219908.380966; Tue, 02 Nov 2021 10:06:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhqgV-0007KB-PJ; Tue, 02 Nov 2021 10:06:27 +0000
Received: by outflank-mailman (input) for mailman id 219908;
 Tue, 02 Nov 2021 10:06:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yrWK=PV=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1mhqgU-0007K5-C0
 for win-pv-devel@lists.xenproject.org; Tue, 02 Nov 2021 10:06:26 +0000
Received: from mail-wm1-x32b.google.com (unknown [2a00:1450:4864:20::32b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 86614649-d931-4ef3-9f4f-e6a10349a29c;
 Tue, 02 Nov 2021 10:06:25 +0000 (UTC)
Received: by mail-wm1-x32b.google.com with SMTP id v127so15088902wme.5
 for <win-pv-devel@lists.xenproject.org>; Tue, 02 Nov 2021 03:06:25 -0700 (PDT)
Received: from [10.7.237.8] (54-240-197-224.amazon.com. [54.240.197.224])
 by smtp.gmail.com with ESMTPSA id 6sm1979105wma.48.2021.11.02.03.06.24
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Nov 2021 03:06:24 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86614649-d931-4ef3-9f4f-e6a10349a29c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=w+Xl9xitOzj0KiGnB3Io8Dl81r5ANH6sYB326nWmZ2E=;
        b=M2HMIJJBk6Xu4hUnhyLSGu4/aA49anHkP8C/4AQBtIJyFV1vmX+FNTxG7+FxtuWHXv
         gr8qcydV2mTVV1H0yLDSV3uHFLXcKO8MmcO3GAmp69DX587XpWjt2V+W/Je5QA4lDUcw
         nkDHdc7tGNNJlPe4KRJaxTQkFn6+FW0Dg5l5ea9sFdfcDWxbbBsr8GtO3l966hi5O32P
         fgx7pCbwlgvEXYzIA/3xTU1LfOpQpRzP9Z+BKjHT267yDjZP50MKWRy7uSOhlA1YXYOQ
         VaPdub0IyZ+nxQT7QOiH06514duQogCoa9zU8OSdytasyZmKONmKiWKyV6zPoEvA4Rx1
         GpWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=w+Xl9xitOzj0KiGnB3Io8Dl81r5ANH6sYB326nWmZ2E=;
        b=YUjGG+pdc82dnJqrNnwBqI9/hoY7VIIcETjp0ToPtV3kVIHIxgn8Ns6+/xKnnMPYhc
         2fVrbypU7Om3gpxqnP+8T2my4TI5wO/SLU/RNrnZwCGrxtjFKvpVgGjcNpksRdrfMMUq
         TMR1yjqfFRfztjcqXwvVTHf276Be3/nH3aXTRbn92S4smHP9fZWbpnhnw5TvN3irbC1L
         0rJLiCHU6NQkEr3fLCgsMqtPqDbaGf2GUmc/Njp5F/BIzOUgxh6W4BB4fFaoYKp1to0e
         MVY09aqldanuF7haTIuimd3LREIN7/2Wqo2RcxNdCZtciz2iIEwES9m8q3tuRoheVK2T
         +wrA==
X-Gm-Message-State: AOAM533TPqyBKEgcq4eZaVtAiKJ4YWQwdxPxO6HEGFXKDV3R4l1wS7Nl
	mw3bzuShyFRj6BNvERs+c+exjEU/cEH5aQ==
X-Google-Smtp-Source: ABdhPJz7GUuRWOqAVRwWPDeZZJ5Ur8M4eKPbcJazqZFR5lqZ0wg0/M6y1r6jVl/u4tl+84jes6WRJw==
X-Received: by 2002:a05:600c:24c:: with SMTP id 12mr3235955wmj.124.1635847584821;
        Tue, 02 Nov 2021 03:06:24 -0700 (PDT)
Message-ID: <1c9d96da-2a88-cd0e-2769-d58ff7ffda86@gmail.com>
Date: Tue, 2 Nov 2021 10:06:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.2.1
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/4] Add /CETCOMPAT to linker options
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20211026071211.1875-1-owen.smith@citrix.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20211026071211.1875-1-owen.smith@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 26/10/2021 08:12, Owen Smith wrote:
> The "Hardware Enforced Stack Protection Compatability" test introduced with the
> Server 2022 HLK requires drivers to be linked with /CETCOMPAT
> 

Does this patch need applying to all drivers then?

> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>

> ---
>   vs2019/xennet/xennet.vcxproj | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/vs2019/xennet/xennet.vcxproj b/vs2019/xennet/xennet.vcxproj
> index ca89610..d79a691 100644
> --- a/vs2019/xennet/xennet.vcxproj
> +++ b/vs2019/xennet/xennet.vcxproj
> @@ -35,6 +35,7 @@
>         <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
>         <AdditionalDependencies>$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/aux_klib.lib;$(DDK_LIB_PATH)/procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies>
>         <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
> +      <CETCompat>true</CETCompat>
>       </Link>
>       <DriverSign>
>         <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
> 



From win-pv-devel-bounces@lists.xenproject.org Tue Nov 02 10:08:56 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 02 Nov 2021 10:08:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.219922.380984 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhqiu-00082C-Cl; Tue, 02 Nov 2021 10:08:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 219922.380984; Tue, 02 Nov 2021 10:08:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhqiu-000825-9t; Tue, 02 Nov 2021 10:08:56 +0000
Received: by outflank-mailman (input) for mailman id 219922;
 Tue, 02 Nov 2021 10:08:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yrWK=PV=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1mhqit-00081z-Qw
 for win-pv-devel@lists.xenproject.org; Tue, 02 Nov 2021 10:08:55 +0000
Received: from mail-wm1-x335.google.com (unknown [2a00:1450:4864:20::335])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b3b257f7-f0a8-4eb7-9886-275a592a31e3;
 Tue, 02 Nov 2021 10:08:54 +0000 (UTC)
Received: by mail-wm1-x335.google.com with SMTP id
 f7-20020a1c1f07000000b0032ee11917ceso1676038wmf.0
 for <win-pv-devel@lists.xenproject.org>; Tue, 02 Nov 2021 03:08:54 -0700 (PDT)
Received: from [10.7.237.8] (54-240-197-224.amazon.com. [54.240.197.224])
 by smtp.gmail.com with ESMTPSA id y7sm8186734wrw.55.2021.11.02.03.08.52
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Nov 2021 03:08:52 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3b257f7-f0a8-4eb7-9886-275a592a31e3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=leFl1VcaulMJgBMRHXaJr9zhaVl6wkqSEKFtV3m6Mek=;
        b=GNO2bsszO4sJgXp0ZWvlTkIHLkvjFbtXkbYFH52vHt2fW7Zge+ZgGfawH4p6AUereD
         hunnC3oOmqWM45MVWybAXOCynn2a+okGX34NsGYzeDnSLUK1TO3miGUQi2bk8DI5mw+C
         6yDEBeOmw3agKSh5agoCJkBKA1TOW4Renm0NlmQt3PWZ8oHEDQ6lwbcqQM+BmTuXqr2Z
         skKRiFrF9zXjO8PW/J2FDsp12zQ6C6mH31W8Dp8Kz5iB/GZA9OPznVAtgfMMBjIRwjrg
         VLItvZeKBuDv9OwCkm/A58BDkeaQdSZF29n57uMwGZELtz8nELwVxgRpcKk9kP+563ap
         daZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=leFl1VcaulMJgBMRHXaJr9zhaVl6wkqSEKFtV3m6Mek=;
        b=4eckKjm2sykX7lM8ftmGtrhnFAQ5ErKW/BZhKZvRg8gsbTB4/rmnSnNd338rwaW8Yy
         eHL9o6wP+lhgB7KOac1rpQTK95LM7i3moAYFJUOisDvZD3v1D8UnBE88uuz5pTpPKSeq
         XaY43r1h/ORvvswa6DorYJ/FHNLosX9MXF4ASlgSrcHeu86ZWvVLOPWRo6dBxMCn72e8
         0nqlXxHkldyht0xryREjx7ICd77ASibkV7k3nLdiOrB2hjORAorhZzZVpzOHlnzarjOj
         6r+uaXq7uMRcjDaDSgvrwOt37tJddNJTrsOd7yBZI448XreQmmvTww1edDTupNxMVvab
         ZM0w==
X-Gm-Message-State: AOAM530CTsoxUUxzFyObsyGLR+aY9tsyi0+xha7OuxaDyCBKhJ43POWZ
	S1a4Z1uENVzBsZIsoShIhRAuWvC6XqZXMg==
X-Google-Smtp-Source: ABdhPJwu3+BUSu8JWqePIlYFRzAP0fEXgZZoUjtp+SkdtP4ypKLD1IB7TnXhjNvoersdYvJPFkC9lA==
X-Received: by 2002:a1c:8093:: with SMTP id b141mr5811006wmd.129.1635847733290;
        Tue, 02 Nov 2021 03:08:53 -0700 (PDT)
Message-ID: <ecc34ddb-9670-4455-0859-9a8e2c610542@gmail.com>
Date: Tue, 2 Nov 2021 10:08:52 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.2.1
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/4] Update to NDIS 6.30
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20211026071211.1875-1-owen.smith@citrix.com>
 <20211026071211.1875-2-owen.smith@citrix.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20211026071211.1875-2-owen.smith@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 26/10/2021 08:12, Owen Smith wrote:
> NDIS 6.30 was introduced in Server 2012. Update XenNet to use the NDIS 6.30
> interfaces. No additional features of NDIS 6.30 are used.

This doesn't seem to be the case. You've clearly updated RSS in this 
patch. Could you expand the commit comment accordingly?

   Paul

> Also fixes "NDIS 6.5 GlitchFreeDevice" test by correctly reporting XenNet uses
> a WDM lower edge.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>
> ---
>   src/xennet.inf               |  7 +++
>   src/xennet/adapter.c         | 89 +++++++++++++++++++-----------------
>   vs2015/xennet/xennet.vcxproj |  2 +-
>   vs2017/xennet/xennet.vcxproj |  2 +-
>   vs2019/xennet/xennet.vcxproj |  2 +-
>   5 files changed, 56 insertions(+), 46 deletions(-)
> 
> diff --git a/src/xennet.inf b/src/xennet.inf
> index b36b1e3..f93acba 100644
> --- a/src/xennet.inf
> +++ b/src/xennet.inf
> @@ -166,6 +166,12 @@ HKR, Ndi\params\*RSS,                             Optional,   0, "0"
>   HKR, Ndi\params\*RSS\enum,                        "0",        0, %Disabled%
>   HKR, Ndi\params\*RSS\enum,                        "1",        0, %Enabled%
>   
> +HKR, Ndi\params\*NumRSSQueues,                    ParamDesc,  0, %NumRSSQueues%
> +HKR, Ndi\params\*NumRSSQueues,                    Type,       0, "int"
> +HKR, Ndi\params\*NumRSSQueues,                    Default,    0, "8"
> +HKR, Ndi\params\*NumRSSQueues,                    Min,        0, "1"
> +HKR, Ndi\params\*NumRSSQueues,                    Max,        0, "8"
> +
>   [XenNet_Inst.Services]
>   AddService=xennet,0x02,XenNet_Service,XenNet_EventLog
>   
> @@ -211,6 +217,7 @@ LSOV2IPv6="Large Send Offload V2 (IPv6)"
>   LROIPv4="Large Receive Offload (IPv4)"
>   LROIPv6="Large Receive Offload (IPv6)"
>   RSS="Receive Side Scaling"
> +NumRSSQueues="Maximum Number of RSS Queues"
>   HeaderDataSplit="Header Data Split"
>   Disabled="Disabled"
>   Enabled="Enabled"
> diff --git a/src/xennet/adapter.c b/src/xennet/adapter.c
> index eaa2c1b..7bfdc4a 100644
> --- a/src/xennet/adapter.c
> +++ b/src/xennet/adapter.c
> @@ -61,17 +61,18 @@ typedef struct _PROPERTIES {
>       int lrov4;
>       int lrov6;
>       int rss;
> +    int numrssqueues;
>   } PROPERTIES, *PPROPERTIES;
>   
>   typedef struct _XENNET_RSS {
> -    BOOLEAN Supported;
> -    BOOLEAN HashEnabled;
> -    BOOLEAN ScaleEnabled;
> -    ULONG   Types;
> -    UCHAR   Key[NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_1];
> -    ULONG   KeySize;
> -    CCHAR   Table[NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_1];
> -    ULONG   TableSize;
> +    BOOLEAN             Supported;
> +    BOOLEAN             HashEnabled;
> +    BOOLEAN             ScaleEnabled;
> +    ULONG               Types;
> +    UCHAR               Key[NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_2];
> +    ULONG               KeySize;
> +    PROCESSOR_NUMBER    Table[NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_2 / sizeof(PROCESSOR_NUMBER)];
> +    ULONG               TableCount;
>   } XENNET_RSS, *PXENNET_RSS;
>   
>   struct _XENNET_ADAPTER {
> @@ -88,7 +89,7 @@ struct _XENNET_ADAPTER {
>   
>       NDIS_HANDLE                 NdisAdapterHandle;
>       NDIS_HANDLE                 NdisDmaHandle;
> -    NDIS_PNP_CAPABILITIES       Capabilities;
> +    NDIS_PM_CAPABILITIES        Capabilities;
>       NDIS_OFFLOAD                Offload;
>       PROPERTIES                  Properties;
>       XENNET_RSS                  Rss;
> @@ -108,6 +109,7 @@ static NDIS_OID XennetSupportedOids[] =
>       OID_GEN_MEDIA_SUPPORTED,
>       OID_GEN_MEDIA_IN_USE,
>       OID_GEN_PHYSICAL_MEDIUM,
> +    OID_GEN_PHYSICAL_MEDIUM_EX,
>       OID_GEN_CURRENT_LOOKAHEAD,
>       OID_GEN_MAXIMUM_LOOKAHEAD,
>       OID_GEN_MAXIMUM_FRAME_SIZE,
> @@ -150,7 +152,7 @@ static NDIS_OID XennetSupportedOids[] =
>       OID_802_3_XMIT_MORE_COLLISIONS,
>       OID_OFFLOAD_ENCAPSULATION,
>       OID_TCP_OFFLOAD_PARAMETERS,
> -    OID_PNP_CAPABILITIES,
> +    OID_PM_CURRENT_CAPABILITIES,
>       OID_PNP_QUERY_POWER,
>       OID_PNP_SET_POWER,
>       OID_GEN_RECEIVE_SCALE_PARAMETERS,
> @@ -721,14 +723,12 @@ AdapterDisableRSSHash(
>   
>   static NDIS_STATUS
>   AdapterUpdateRSSTable(
> -    IN  PXENNET_ADAPTER Adapter,
> -    IN  PCCHAR          Table,
> -    IN  ULONG           TableSize
> +    IN  PXENNET_ADAPTER     Adapter,
> +    IN  PPROCESSOR_NUMBER   Table,
> +    IN  ULONG               TableSize
>       )
>   {
> -    PROCESSOR_NUMBER    Mapping[NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_1];
> -    ULONG               Index;
> -    NTSTATUS            status;
> +    NTSTATUS                status;
>   
>       if (TableSize == 0) {
>           AdapterDisableRSSHash(Adapter);
> @@ -740,18 +740,12 @@ AdapterUpdateRSSTable(
>   
>       RtlZeroMemory(Adapter->Rss.Table, sizeof (Adapter->Rss.Table)) ;
>       RtlCopyMemory(Adapter->Rss.Table, Table, TableSize);
> -    Adapter->Rss.TableSize = TableSize;
> -
> -    RtlZeroMemory(Mapping, sizeof (Mapping));
> -    for (Index = 0; Index < TableSize; Index++) {
> -        Mapping[Index].Group = 0;
> -        Mapping[Index].Number = Table[Index];
> -    }
> +    Adapter->Rss.TableCount = TableSize / sizeof(PROCESSOR_NUMBER);
>   
>       status = XENVIF_VIF(UpdateHashMapping,
>                           &Adapter->VifInterface,
> -                        Mapping,
> -                        TableSize);
> +                        Table,
> +                        Adapter->Rss.TableCount);
>   
>       return (NT_SUCCESS(status)) ? NDIS_STATUS_SUCCESS : NDIS_STATUS_INVALID_DATA;
>   }
> @@ -900,12 +894,12 @@ DisplayRss(
>           }
>       }
>   
> -    if (Rss->TableSize != 0) {
> +    if (Rss->TableCount != 0) {
>           ULONG   Index;
>   
>           Trace("Table:\n");
>   
> -        for (Index = 0; Index < Rss->TableSize; ) {
> +        for (Index = 0; Index < Rss->TableCount; ) {
>               CHAR    Buffer[80];
>               STRING  String;
>               ULONG   Count;
> @@ -916,8 +910,8 @@ DisplayRss(
>               String.Length = 0;
>   
>               Count = 8;
> -            if (Index + Count >= Rss->TableSize)
> -                Count = Rss->TableSize - Index;
> +            if (Index + Count >= Rss->TableCount)
> +                Count = Rss->TableCount - Index;
>   
>               (VOID) StringPrintf(&String, "[%2u - %2u]: ",
>                                   Index,
> @@ -928,8 +922,9 @@ DisplayRss(
>               String.Length = 0;
>   
>               for (Column = 0; Column < Count; Column++, Index++) {
> -                (VOID) StringPrintf(&String, "%02x ",
> -                                    Rss->Table[Index]);
> +                (VOID) StringPrintf(&String, "%02x:%02x ",
> +                                    Rss->Table[Index].Group,
> +                                    Rss->Table[Index].Number);
>   
>                   String.Buffer += String.Length;
>                   String.MaximumLength -= String.Length;
> @@ -950,8 +945,8 @@ AdapterGetReceiveScaleParameters(
>       NDIS_STATUS                         ndisStatus;
>   
>       ASSERT3U(Parameters->Header.Type, ==, NDIS_OBJECT_TYPE_RSS_PARAMETERS);
> -    ASSERT3U(Parameters->Header.Revision, ==, NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_1);
> -    ASSERT3U(Parameters->Header.Size, >=, NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_1);
> +    ASSERT3U(Parameters->Header.Revision, ==, NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_2);
> +    ASSERT3U(Parameters->Header.Size, >=, NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2);
>   
>       if (!Adapter->Rss.Supported)
>           return NDIS_STATUS_NOT_SUPPORTED;
> @@ -985,7 +980,7 @@ AdapterGetReceiveScaleParameters(
>   
>       if (!(Parameters->Flags & NDIS_RSS_PARAM_FLAG_ITABLE_UNCHANGED)) {
>           ndisStatus = AdapterUpdateRSSTable(Adapter,
> -                                           (PCCHAR)Parameters + Parameters->IndirectionTableOffset,
> +                                           (PPROCESSOR_NUMBER)((PCCHAR)Parameters + Parameters->IndirectionTableOffset),
>                                              Parameters->IndirectionTableSize);
>           if (ndisStatus != NDIS_STATUS_SUCCESS)
>               goto fail;
> @@ -2277,7 +2272,7 @@ AdapterQueryInformation(
>       ndisStatus = NDIS_STATUS_SUCCESS;
>   
>       switch (Request->DATA.QUERY_INFORMATION.Oid) {
> -    case OID_PNP_CAPABILITIES:
> +    case OID_PM_CURRENT_CAPABILITIES:
>           BytesNeeded = sizeof(Adapter->Capabilities);
>           ndisStatus = __CopyBuffer(Buffer,
>                                     BufferLength,
> @@ -2926,6 +2921,7 @@ AdapterGetAdvancedSettings(
>       READ_PROPERTY(Adapter->Properties.lrov6, L"LROIPv6", 1, Handle);
>       READ_PROPERTY(Adapter->Properties.need_csum_value, L"NeedChecksumValue", 1, Handle);
>       READ_PROPERTY(Adapter->Properties.rss, L"*RSS", 1, Handle);
> +    READ_PROPERTY(Adapter->Properties.numrssqueues, L"*NumRSSQueues", 8, Handle);
>   
>       NdisCloseConfiguration(Handle);
>   
> @@ -2949,11 +2945,12 @@ AdapterSetRegistrationAttributes(
>   
>       RtlZeroMemory(&Attribs, sizeof(Attribs));
>       Attribs.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;
> -    Attribs.Header.Revision = NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1;
> -    Attribs.Header.Size = NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1;
> +    Attribs.Header.Revision = NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2;
> +    Attribs.Header.Size = NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2;
>       Attribs.MiniportAdapterContext = (NDIS_HANDLE)Adapter;
>       Attribs.AttributeFlags = NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER |
> -                             NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND;
> +                             NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND |
> +                             NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM;
>       Attribs.CheckForHangTimeInSeconds = 0;
>       Attribs.InterfaceType = XENNET_INTERFACE_TYPE;
>   
> @@ -2976,8 +2973,8 @@ AdapterSetGeneralAttributes(
>   
>       RtlZeroMemory(&Attribs, sizeof(Attribs));
>       Attribs.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES;
> -    Attribs.Header.Revision = NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_1;
> -    Attribs.Header.Size = NDIS_SIZEOF_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_1;
> +    Attribs.Header.Revision = NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_2;
> +    Attribs.Header.Size = NDIS_SIZEOF_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_2;
>       Attribs.MediaType = XENNET_MEDIA_TYPE;
>   
>       XENVIF_VIF(MacQueryMaximumFrameSize,
> @@ -2992,7 +2989,7 @@ AdapterSetGeneralAttributes(
>       Attribs.MediaConnectState = MediaConnectStateConnected;
>       Attribs.MediaDuplexState = MediaDuplexStateFull;
>       Attribs.LookaheadSize = Adapter->MaximumFrameSize;
> -    Attribs.PowerManagementCapabilities = &Adapter->Capabilities;
> +    Attribs.PowerManagementCapabilitiesEx = &Adapter->Capabilities;
>       Attribs.MacOptions = XENNET_MAC_OPTIONS;
>       Attribs.SupportedPacketFilters = XENNET_SUPPORTED_PACKET_FILTERS;
>       Attribs.MaxMulticastListSize = 32;
> @@ -3054,8 +3051,8 @@ AdapterSetGeneralAttributes(
>   
>       RtlZeroMemory(&Rss, sizeof(Rss));
>       Rss.Header.Type = NDIS_OBJECT_TYPE_RSS_CAPABILITIES;
> -    Rss.Header.Revision = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_1;
> -    Rss.Header.Size = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_1;
> +    Rss.Header.Revision = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
> +    Rss.Header.Size = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
>   
>       Rss.CapabilitiesFlags = NDIS_RSS_CAPS_MESSAGE_SIGNALED_INTERRUPTS |
>                               NDIS_RSS_CAPS_CLASSIFICATION_AT_ISR |
> @@ -3073,6 +3070,12 @@ AdapterSetGeneralAttributes(
>                  &Rss.NumberOfReceiveQueues);
>       Rss.NumberOfInterruptMessages = Rss.NumberOfReceiveQueues;
>   
> +    if ((ULONG)Adapter->Properties.numrssqueues < Rss.NumberOfReceiveQueues)
> +        Rss.NumberOfReceiveQueues = Adapter->Properties.numrssqueues;
> +
> +    Rss.NumberOfInterruptMessages = Rss.NumberOfReceiveQueues;
> +    Rss.NumberOfIndirectionTableEntries = 128; // WHQL requirement for NDIS 6.30
> +
>       Info("%ws: RSS ENABLED (%u QUEUES)\n",
>            Adapter->Location,
>            Rss.NumberOfReceiveQueues);
> diff --git a/vs2015/xennet/xennet.vcxproj b/vs2015/xennet/xennet.vcxproj
> index 2d04c4e..b68d734 100644
> --- a/vs2015/xennet/xennet.vcxproj
> +++ b/vs2015/xennet/xennet.vcxproj
> @@ -22,7 +22,7 @@
>     </PropertyGroup>
>     <ItemDefinitionGroup>
>       <ClCompile>
> -      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS61_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
> +      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
>         <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
>         <WarningLevel>EnableAllWarnings</WarningLevel>
>         <DisableSpecificWarnings>4464;4711;4548;4820;4668;4255;6001;6054;28160;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
> diff --git a/vs2017/xennet/xennet.vcxproj b/vs2017/xennet/xennet.vcxproj
> index 0c27304..130b0e6 100644
> --- a/vs2017/xennet/xennet.vcxproj
> +++ b/vs2017/xennet/xennet.vcxproj
> @@ -22,7 +22,7 @@
>     </PropertyGroup>
>     <ItemDefinitionGroup>
>       <ClCompile>
> -      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS61_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
> +      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
>         <IntrinsicFunctions>true</IntrinsicFunctions>
>         <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
>         <WarningLevel>EnableAllWarnings</WarningLevel>
> diff --git a/vs2019/xennet/xennet.vcxproj b/vs2019/xennet/xennet.vcxproj
> index d79a691..1ad5601 100644
> --- a/vs2019/xennet/xennet.vcxproj
> +++ b/vs2019/xennet/xennet.vcxproj
> @@ -21,7 +21,7 @@
>     </PropertyGroup>
>     <ItemDefinitionGroup>
>       <ClCompile>
> -      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS61_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
> +      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
>         <IntrinsicFunctions>true</IntrinsicFunctions>
>         <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
>         <WarningLevel>EnableAllWarnings</WarningLevel>
> 



From win-pv-devel-bounces@lists.xenproject.org Tue Nov 02 10:11:01 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 02 Nov 2021 10:11:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.219930.380988 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhqku-0000SI-Ix; Tue, 02 Nov 2021 10:11:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 219930.380988; Tue, 02 Nov 2021 10:11:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhqku-0000SB-Fq; Tue, 02 Nov 2021 10:11:00 +0000
Received: by outflank-mailman (input) for mailman id 219930;
 Tue, 02 Nov 2021 10:10:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yrWK=PV=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1mhqkt-0000S5-KF
 for win-pv-devel@lists.xenproject.org; Tue, 02 Nov 2021 10:10:59 +0000
Received: from mail-wr1-x42e.google.com (unknown [2a00:1450:4864:20::42e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 94627596-c6e1-42f3-99ba-0627864b8a15;
 Tue, 02 Nov 2021 10:10:57 +0000 (UTC)
Received: by mail-wr1-x42e.google.com with SMTP id t30so7566441wra.10
 for <win-pv-devel@lists.xenproject.org>; Tue, 02 Nov 2021 03:10:57 -0700 (PDT)
Received: from [10.7.237.8] (54-240-197-224.amazon.com. [54.240.197.224])
 by smtp.gmail.com with ESMTPSA id m2sm1975479wml.15.2021.11.02.03.10.56
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Nov 2021 03:10:56 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94627596-c6e1-42f3-99ba-0627864b8a15
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=TxVB25LkH/yF2lo+vsGxm4BmgVMDbWuUeUDk/+xj+XQ=;
        b=fa3+Upbmb0Qj2MbAca9c3YX/Vt+fHXu+kg1St0jQ9aCmoBwj6WrNoSVpkNIWk2MKi3
         tlik1bDLGhojo6yQ0QH6aqawYp7qegU6q0XiBcjvaRc+kg4vvrz4jIQH18n23y436Fyg
         3iwU4iBcvn2P7ucfxxrVrwiSuVlgr77NJg9QskPIBnEzGvSCJr9aYMWDcMtfDyBd4Bgi
         kCmkL8oO7CyGQn/ozofxf9dMOaZh5eqhKdVlA9FLSUTDcPYj1Js4rOOdTU4CTv3D2Qc3
         ZQcpsx0MU1Z46YDs1tEZkmgeURIVK6PJoHdeypnewgnVgUWIZANbuA7kq3+u1NFcX+zx
         Qpjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=TxVB25LkH/yF2lo+vsGxm4BmgVMDbWuUeUDk/+xj+XQ=;
        b=tIoqxwGnLAuESlFBS56PPGa67aiXt/NzdX0fU/PUuebfXhufIB5NNz4pGgr1vmuZTx
         GhCDeb1W7N6OWjVdKl+3WGKJ+JyEMseqHCxJos+DtsrNvx51JI+EfcKC1znjXnM3YI4S
         LPlyxpTD89vQHBNwGR8a0vWajKs+XpS0YiZA/4NqAqIaZO85OtBP1Sc4Xii0hCop6iot
         6fTzHW92KI1EZ1vPYagULISBGwU3IhG5BfOflGBnHPgurFI3VZXvy1K6Kf3bLn9/1+gx
         XqrsTASjzmH/eeSTkkPNArkUVVZ8oSCrxRlf+r7aJW5pPrVn7BvdmtXxim6QQwsWtAw3
         l2JQ==
X-Gm-Message-State: AOAM532c2BqJ9Al0SPnQb6MmZ4BjSCwDSQ32ZnBx2oB8GrN/MSJ9JKAW
	gK2yOPl49Haj7M5jTpDftQms68GpQpdYrQ==
X-Google-Smtp-Source: ABdhPJwYwhkewt5skvHqyLX8AVcBkacd3Tzli+dpzqznxUroH3xGtkhMHVEatYZ/V+ZSzZmH9d66Eg==
X-Received: by 2002:adf:e6c5:: with SMTP id y5mr19522800wrm.79.1635847856847;
        Tue, 02 Nov 2021 03:10:56 -0700 (PDT)
Message-ID: <dc622341-560e-a19d-14cd-504891ddcc58@gmail.com>
Date: Tue, 2 Nov 2021 10:10:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.2.1
Reply-To: paul@xen.org
Subject: Re: [PATCH 3/4] Use NDIS 6.60 interfaces, if supported
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20211026071211.1875-1-owen.smith@citrix.com>
 <20211026071211.1875-3-owen.smith@citrix.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20211026071211.1875-3-owen.smith@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 26/10/2021 08:12, Owen Smith wrote:
> Server 2016 introduced NDIS 6.60, update the interfaces to use NDIS 6.60 if
> the reported NDIS runtime version supports this. No additional features of
> NDIS 6.60 are used.
> Also corrects the PhysicalMediaType property, which would otherwise block
> functionality
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>

> ---
>   src/xennet.inf               |   2 +-
>   src/xennet/adapter.c         | 104 ++++++++++++++++++++++++++---------
>   src/xennet/miniport.c        |  12 +++-
>   vs2015/xennet/xennet.vcxproj |   2 +-
>   vs2017/xennet/xennet.vcxproj |   2 +-
>   vs2019/xennet/xennet.vcxproj |   2 +-
>   6 files changed, 91 insertions(+), 33 deletions(-)
> 
> diff --git a/src/xennet.inf b/src/xennet.inf
> index f93acba..655bac6 100644
> --- a/src/xennet.inf
> +++ b/src/xennet.inf
> @@ -70,7 +70,7 @@ Characteristics=0x84
>   BusType=1
>   *IfType=6             	; IF_TYPE_ETHERNET_CSMACD
>   *MediaType=0          	; NdisMedium802_3
> -*PhysicalMediaType=0	; NdisPhysicalMediumUnspecified
> +*PhysicalMediaType=14	; NdisPhysicalMedium802_3
>   CopyFiles=XenNet_Copyfiles
>   AddReg=Xennet_Inst_AddReg
>   
> diff --git a/src/xennet/adapter.c b/src/xennet/adapter.c
> index 7bfdc4a..b47e5e7 100644
> --- a/src/xennet/adapter.c
> +++ b/src/xennet/adapter.c
> @@ -359,8 +359,14 @@ AdapterIndicateOffloadChanged(
>   
>       RtlZeroMemory(&Current, sizeof(Current));
>       Current.Header.Type = NDIS_OBJECT_TYPE_OFFLOAD;
> -    Current.Header.Revision = NDIS_OFFLOAD_REVISION_2;
> -    Current.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2;
> +
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
> +        Current.Header.Revision = NDIS_OFFLOAD_REVISION_4;
> +        Current.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4;
> +    } else {
> +        Current.Header.Revision = NDIS_OFFLOAD_REVISION_3;
> +        Current.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3;
> +    }
>   
>       Current.Checksum.IPv4Receive.Encapsulation = NDIS_ENCAPSULATION_IEEE_802_3;
>   
> @@ -446,7 +452,11 @@ AdapterIndicateOffloadChanged(
>       Status.Header.Size = NDIS_SIZEOF_STATUS_INDICATION_REVISION_1;
>       Status.StatusCode = NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG;
>       Status.StatusBuffer = &Current;
> -    Status.StatusBufferSize = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2;
> +
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660)
> +        Status.StatusBufferSize = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4;
> +    else
> +        Status.StatusBufferSize = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3;
>   
>       NdisMIndicateStatusEx(Adapter->NdisAdapterHandle, &Status);
>   }
> @@ -939,14 +949,21 @@ DisplayRss(
>   static NDIS_STATUS
>   AdapterGetReceiveScaleParameters(
>       IN  PXENNET_ADAPTER                 Adapter,
> -    IN  PNDIS_RECEIVE_SCALE_PARAMETERS  Parameters
> +    IN  PNDIS_RECEIVE_SCALE_PARAMETERS  Parameters,
> +    OUT PULONG                          BytesRead
>       )
>   {
>       NDIS_STATUS                         ndisStatus;
>   
>       ASSERT3U(Parameters->Header.Type, ==, NDIS_OBJECT_TYPE_RSS_PARAMETERS);
> -    ASSERT3U(Parameters->Header.Revision, ==, NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_2);
> -    ASSERT3U(Parameters->Header.Size, >=, NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2);
> +
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
> +        ASSERT3U(Parameters->Header.Revision, ==, NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_3);
> +        ASSERT3U(Parameters->Header.Size, >=, NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_3);
> +    } else {
> +        ASSERT3U(Parameters->Header.Revision, ==, NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_2);
> +        ASSERT3U(Parameters->Header.Size, >=, NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2);
> +    }
>   
>       if (!Adapter->Rss.Supported)
>           return NDIS_STATUS_NOT_SUPPORTED;
> @@ -957,6 +974,11 @@ AdapterGetReceiveScaleParameters(
>       if (Adapter->Rss.HashEnabled)
>           return NDIS_STATUS_NOT_SUPPORTED;
>   
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660)
> +        *BytesRead = NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_3;
> +    else
> +        *BytesRead = NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2;
> +
>       if (!(Parameters->Flags & NDIS_RSS_PARAM_FLAG_DISABLE_RSS)) {
>           Adapter->Rss.ScaleEnabled = TRUE;
>       } else {
> @@ -976,6 +998,7 @@ AdapterGetReceiveScaleParameters(
>                                            Parameters->HashSecretKeySize);
>           if (ndisStatus != NDIS_STATUS_SUCCESS)
>               goto fail;
> +        *BytesRead += Parameters->HashSecretKeySize;
>       }
>   
>       if (!(Parameters->Flags & NDIS_RSS_PARAM_FLAG_ITABLE_UNCHANGED)) {
> @@ -984,6 +1007,7 @@ AdapterGetReceiveScaleParameters(
>                                              Parameters->IndirectionTableSize);
>           if (ndisStatus != NDIS_STATUS_SUCCESS)
>               goto fail;
> +        *BytesRead += Parameters->IndirectionTableSize;
>       }
>   
>       DisplayRss(&Adapter->Rss);
> @@ -2111,7 +2135,8 @@ AdapterSetInformation(
>           if (BufferLength == BytesNeeded) {
>               ndisStatus = AdapterSetPacketFilter(Adapter,
>                                                   (PULONG)Buffer);
> -            BytesRead = sizeof(ULONG);
> +            if (ndisStatus == NDIS_STATUS_SUCCESS)
> +                BytesRead = sizeof(ULONG);
>           }
>           break;
>   
> @@ -2141,24 +2166,26 @@ AdapterSetInformation(
>           break;
>   
>       case OID_TCP_OFFLOAD_PARAMETERS:
> -        BytesNeeded = NDIS_OFFLOAD_PARAMETERS_REVISION_2;
> +        BytesNeeded = NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3;
>           if (BufferLength >= BytesNeeded) {
>               ndisStatus = AdapterGetTcpOffloadParameters(Adapter,
>                                                           (PNDIS_OFFLOAD_PARAMETERS)Buffer);
>               if (ndisStatus == NDIS_STATUS_SUCCESS)
> -                BytesRead = NDIS_OFFLOAD_PARAMETERS_REVISION_2;
> +                BytesRead = NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3;
>           } else {
>               ndisStatus = NDIS_STATUS_INVALID_LENGTH;
>           }
>           break;
>   
>       case OID_GEN_RECEIVE_SCALE_PARAMETERS:
> -        BytesNeeded = NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_1;
> +        if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660)
> +            BytesNeeded = NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_3;
> +        else
> +            BytesNeeded = NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2;
>           if (BufferLength >= BytesNeeded) {
>               ndisStatus = AdapterGetReceiveScaleParameters(Adapter,
> -                                                          (PNDIS_RECEIVE_SCALE_PARAMETERS)Buffer);
> -            if (ndisStatus == NDIS_STATUS_SUCCESS)
> -                BytesRead = sizeof(NDIS_RECEIVE_SCALE_PARAMETERS);
> +                                                          (PNDIS_RECEIVE_SCALE_PARAMETERS)Buffer,
> +                                                          &BytesRead);
>           } else {
>               ndisStatus = NDIS_STATUS_INVALID_LENGTH;
>           }
> @@ -2183,7 +2210,7 @@ AdapterSetInformation(
>           /*FALLTHRU*/
>       default:
>           if (Warn)
> -            Warning("UNSUPPORTED OID %08x\n", Request->DATA.QUERY_INFORMATION.Oid);
> +            Warning("UNSUPPORTED OID %08x\n", Request->DATA.SET_INFORMATION.Oid);
>   
>           ndisStatus = NDIS_STATUS_NOT_SUPPORTED;
>           break;
> @@ -2384,11 +2411,19 @@ AdapterQueryInformation(
>   
>       case OID_GEN_DRIVER_VERSION:
>           BytesNeeded = sizeof(ULONG);
> -        ndisStatus = __SetUlong(Buffer,
> -                                BufferLength,
> -                                (NDIS_MINIPORT_MAJOR_VERSION << 8) |
> -                                NDIS_MINIPORT_MINOR_VERSION,
> -                                &BytesWritten);
> +        if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
> +            ndisStatus = __SetUlong(Buffer,
> +                                    BufferLength,
> +                                    (NDIS_MINIPORT_MAJOR_VERSION << 8) |
> +                                    NDIS_MINIPORT_MINOR_VERSION,
> +                                    &BytesWritten);
> +        } else {
> +            ndisStatus = __SetUlong(Buffer,
> +                                    BufferLength,
> +                                    (NDIS_MINIPORT_MINIMUM_MAJOR_VERSION << 8) |
> +                                    NDIS_MINIPORT_MINIMUM_MINOR_VERSION,
> +                                    &BytesWritten);
> +        }
>           break;
>   
>       case OID_GEN_MAC_OPTIONS:
> @@ -2729,9 +2764,9 @@ AdapterQueryInformation(
>       case OID_GEN_MAC_ADDRESS:
>       case OID_GEN_MAX_LINK_SPEED:
>           // ignore these common unwanted OIDs
> -	case OID_GEN_INIT_TIME_MS:
> -	case OID_GEN_RESET_COUNTS:
> -	case OID_GEN_MEDIA_SENSE_COUNTS:
> +    case OID_GEN_INIT_TIME_MS:
> +    case OID_GEN_RESET_COUNTS:
> +    case OID_GEN_MEDIA_SENSE_COUNTS:
>           Warn = FALSE;
>           /*FALLTHRU*/
>       default:
> @@ -2971,6 +3006,11 @@ AdapterSetGeneralAttributes(
>       NDIS_STATUS                                 ndisStatus;
>       NTSTATUS                                    status;
>   
> +    RtlZeroMemory(&Adapter->Capabilities, sizeof(Adapter->Capabilities));
> +    Adapter->Capabilities.Header.Type = NDIS_OBJECT_TYPE_DEFAULT;
> +    Adapter->Capabilities.Header.Revision = NDIS_PM_CAPABILITIES_REVISION_2;
> +    Adapter->Capabilities.Header.Size = NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2;
> +
>       RtlZeroMemory(&Attribs, sizeof(Attribs));
>       Attribs.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES;
>       Attribs.Header.Revision = NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_2;
> @@ -3051,8 +3091,14 @@ AdapterSetGeneralAttributes(
>   
>       RtlZeroMemory(&Rss, sizeof(Rss));
>       Rss.Header.Type = NDIS_OBJECT_TYPE_RSS_CAPABILITIES;
> -    Rss.Header.Revision = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
> -    Rss.Header.Size = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
> +
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
> +        Rss.Header.Revision = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_3;
> +        Rss.Header.Size = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_3;
> +    } else {
> +        Rss.Header.Revision = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
> +        Rss.Header.Size = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
> +    }
>   
>       Rss.CapabilitiesFlags = NDIS_RSS_CAPS_MESSAGE_SIGNALED_INTERRUPTS |
>                               NDIS_RSS_CAPS_CLASSIFICATION_AT_ISR |
> @@ -3135,8 +3181,14 @@ AdapterSetOffloadAttributes(
>   
>       RtlZeroMemory(&Supported, sizeof(Supported));
>       Supported.Header.Type = NDIS_OBJECT_TYPE_OFFLOAD;
> -    Supported.Header.Revision = NDIS_OFFLOAD_REVISION_2;
> -    Supported.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2;
> +
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
> +        Supported.Header.Revision = NDIS_OFFLOAD_REVISION_4;
> +        Supported.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4;
> +    } else {
> +        Supported.Header.Revision = NDIS_OFFLOAD_REVISION_3;
> +        Supported.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3;
> +    }
>   
>       Supported.Checksum.IPv4Receive.Encapsulation = NDIS_ENCAPSULATION_IEEE_802_3;
>   
> diff --git a/src/xennet/miniport.c b/src/xennet/miniport.c
> index 5b69315..e24e1ad 100644
> --- a/src/xennet/miniport.c
> +++ b/src/xennet/miniport.c
> @@ -338,12 +338,18 @@ MiniportRegister(
>   
>       NdisZeroMemory(&MiniportDriverCharacteristics, sizeof (MiniportDriverCharacteristics));
>   
> -    MiniportDriverCharacteristics.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS,
> +    MiniportDriverCharacteristics.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS;
>       MiniportDriverCharacteristics.Header.Size = NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;
>       MiniportDriverCharacteristics.Header.Revision = NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;
>   
> -    MiniportDriverCharacteristics.MajorNdisVersion = NDIS_MINIPORT_MAJOR_VERSION;
> -    MiniportDriverCharacteristics.MinorNdisVersion = NDIS_MINIPORT_MINOR_VERSION;
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
> +        MiniportDriverCharacteristics.MajorNdisVersion = NDIS_MINIPORT_MAJOR_VERSION; // 6
> +        MiniportDriverCharacteristics.MinorNdisVersion = NDIS_MINIPORT_MINOR_VERSION; // 60
> +    } else {
> +        MiniportDriverCharacteristics.MajorNdisVersion = NDIS_MINIPORT_MINIMUM_MAJOR_VERSION; // 6
> +        MiniportDriverCharacteristics.MinorNdisVersion = NDIS_MINIPORT_MINIMUM_MINOR_VERSION; // 30
> +    }
> +
>       MiniportDriverCharacteristics.MajorDriverVersion = MAJOR_VERSION;
>       MiniportDriverCharacteristics.MinorDriverVersion = MINOR_VERSION;
>       MiniportDriverCharacteristics.Flags = NDIS_WDM_DRIVER;
> diff --git a/vs2015/xennet/xennet.vcxproj b/vs2015/xennet/xennet.vcxproj
> index b68d734..966de3a 100644
> --- a/vs2015/xennet/xennet.vcxproj
> +++ b/vs2015/xennet/xennet.vcxproj
> @@ -22,7 +22,7 @@
>     </PropertyGroup>
>     <ItemDefinitionGroup>
>       <ClCompile>
> -      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
> +      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;NDIS660_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
>         <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
>         <WarningLevel>EnableAllWarnings</WarningLevel>
>         <DisableSpecificWarnings>4464;4711;4548;4820;4668;4255;6001;6054;28160;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
> diff --git a/vs2017/xennet/xennet.vcxproj b/vs2017/xennet/xennet.vcxproj
> index 130b0e6..8df9840 100644
> --- a/vs2017/xennet/xennet.vcxproj
> +++ b/vs2017/xennet/xennet.vcxproj
> @@ -22,7 +22,7 @@
>     </PropertyGroup>
>     <ItemDefinitionGroup>
>       <ClCompile>
> -      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
> +      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;NDIS660_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
>         <IntrinsicFunctions>true</IntrinsicFunctions>
>         <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
>         <WarningLevel>EnableAllWarnings</WarningLevel>
> diff --git a/vs2019/xennet/xennet.vcxproj b/vs2019/xennet/xennet.vcxproj
> index 1ad5601..2eba039 100644
> --- a/vs2019/xennet/xennet.vcxproj
> +++ b/vs2019/xennet/xennet.vcxproj
> @@ -21,7 +21,7 @@
>     </PropertyGroup>
>     <ItemDefinitionGroup>
>       <ClCompile>
> -      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
> +      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;NDIS660_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
>         <IntrinsicFunctions>true</IntrinsicFunctions>
>         <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
>         <WarningLevel>EnableAllWarnings</WarningLevel>
> 



From win-pv-devel-bounces@lists.xenproject.org Tue Nov 02 10:12:35 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 02 Nov 2021 10:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.219939.380992 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhqmR-0000Xc-On; Tue, 02 Nov 2021 10:12:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 219939.380992; Tue, 02 Nov 2021 10:12:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhqmR-0000XV-M2; Tue, 02 Nov 2021 10:12:35 +0000
Received: by outflank-mailman (input) for mailman id 219939;
 Tue, 02 Nov 2021 10:12:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yrWK=PV=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1mhqmQ-0000XP-BD
 for win-pv-devel@lists.xenproject.org; Tue, 02 Nov 2021 10:12:34 +0000
Received: from mail-wr1-x42c.google.com (unknown [2a00:1450:4864:20::42c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c3043f6a-1ed5-49da-aee1-bf263e600c6e;
 Tue, 02 Nov 2021 10:12:33 +0000 (UTC)
Received: by mail-wr1-x42c.google.com with SMTP id d24so1836196wra.0
 for <win-pv-devel@lists.xenproject.org>; Tue, 02 Nov 2021 03:12:33 -0700 (PDT)
Received: from [10.7.237.8] (54-240-197-224.amazon.com. [54.240.197.224])
 by smtp.gmail.com with ESMTPSA id n7sm15082987wro.68.2021.11.02.03.12.31
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Nov 2021 03:12:32 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3043f6a-1ed5-49da-aee1-bf263e600c6e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=kifoJQ8WUhIGh3mNKRUwhihCfwXo9axirb7M2zQnROI=;
        b=Sgw2+gBVTnKTxlqzhiKKjwHssQ+9XRF88/gtLNTff3WyAaxuCXAzs631uHjDx5Co2K
         1jv6asdZCe2heypJEFXSUUBZsMbLHiSVawlFN2M6bRwJFai7RUKPOooHldqi0XkkWMiY
         wmfdQxZaz3rLNGLrIvsnyLaBk1LvkDN2ErotRVxCHNSmXhAywAv9gAzftUAeWvvYBrB4
         W8wZqh4KnZGNwWJPHHLXCgis36IvNt6kPQxTv8LcG0mGFRL1QAjZBRRW6fTCzPVrtuJk
         VihRlS+Y/fHORniJgn7D5zj8/O1j+aDXmTavlyJI1TVrHvowRnZuQID/m8I/NLmy5PuS
         2Txw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=kifoJQ8WUhIGh3mNKRUwhihCfwXo9axirb7M2zQnROI=;
        b=R+2Jnn/1lKvs5PA5jkQdzw2dIGYGmLS1nSsn3KhLaLna/eHs+JTyYzSayQnFQXhgBV
         bhH/ZX6wdvrLvTekHSm+EXQHtuTmvNYQp0GvyHFs1o9v27te9AK7jXKAzX/VXHGbkspe
         GzDTPTt9UV3LjoqlrES78yYgQMe57wzEkOQVCzOtFUDQPhMrdQiyW23eSrUeSfIb3tzq
         AERipfO61N5RK94ru3fQyko/vSTHnFEI+gUB87ncclhgBT3XnrpjnHLRRaOVd80LuhxS
         QPKWbt9BGBKY/lZ3fpc8n0A33SjFuuTpgJdR9ku5/ynk3R4qd++jOIMeTypUK0yIHbZ/
         67hg==
X-Gm-Message-State: AOAM532BTr9GCoKpI5xFvgxHEiFXn0eNh2UMJgXRD/6QWlzKc5qR8ZjE
	EBDjvfQ3BL/hInpUM5lHu9BxnLQ6IQHJzg==
X-Google-Smtp-Source: ABdhPJy6l6/mEBTJIieuPYlrJVtqZ2cZ2kx+wfAlmtAh4+3Tu4aRXpFS0oh9SA6Q/YH8hYEx61DeEQ==
X-Received: by 2002:a5d:4cd1:: with SMTP id c17mr19661150wrt.31.1635847952335;
        Tue, 02 Nov 2021 03:12:32 -0700 (PDT)
Message-ID: <fcdd4ac2-cb05-f0af-1236-5b4ed55e28ff@gmail.com>
Date: Tue, 2 Nov 2021 10:12:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.2.1
Reply-To: paul@xen.org
Subject: Re: [PATCH 4/4] Use NDIS 6.85 interfaces, if available
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20211026071211.1875-1-owen.smith@citrix.com>
 <20211026071211.1875-4-owen.smith@citrix.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20211026071211.1875-4-owen.smith@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 26/10/2021 08:12, Owen Smith wrote:
> NDIS 6.85 was introduced in Server 2022, and the "NICStrictPropertyValidation"
> test requires that drivers for Server 2022 declare support for NDIS 6.85.
> Conditionally include the minimum NDIS 6.85 support, if available in the WDK,
> in order to pass this test. No additional features of NDIS 6.85 have been
> included.
> NDIS_RUNTIME_VERSION_685 is only defined if the ndis.h header is from WDK 20384
> or later, and NDIS685_MINIPORT is defined by the project.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>

> ---
>   src/xennet/adapter.c         | 46 ++++++++++++++++++++++++++----------
>   src/xennet/miniport.c        | 13 ++++++++--
>   vs2019/xennet/xennet.vcxproj |  2 +-
>   3 files changed, 45 insertions(+), 16 deletions(-)
> 
> diff --git a/src/xennet/adapter.c b/src/xennet/adapter.c
> index b47e5e7..c075f5e 100644
> --- a/src/xennet/adapter.c
> +++ b/src/xennet/adapter.c
> @@ -360,6 +360,12 @@ AdapterIndicateOffloadChanged(
>       RtlZeroMemory(&Current, sizeof(Current));
>       Current.Header.Type = NDIS_OBJECT_TYPE_OFFLOAD;
>   
> +#ifdef NDIS_RUNTIME_VERSION_685
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_685) {
> +        Current.Header.Revision = NDIS_OFFLOAD_REVISION_6;
> +        Current.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_6;
> +    } else
> +#endif
>       if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
>           Current.Header.Revision = NDIS_OFFLOAD_REVISION_4;
>           Current.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4;
> @@ -453,6 +459,11 @@ AdapterIndicateOffloadChanged(
>       Status.StatusCode = NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG;
>       Status.StatusBuffer = &Current;
>   
> +#ifdef NDIS_RUNTIME_VERSION_685
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_685)
> +        Status.StatusBufferSize = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_6;
> +    else
> +#endif
>       if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660)
>           Status.StatusBufferSize = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4;
>       else
> @@ -2411,19 +2422,22 @@ AdapterQueryInformation(
>   
>       case OID_GEN_DRIVER_VERSION:
>           BytesNeeded = sizeof(ULONG);
> -        if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
> -            ndisStatus = __SetUlong(Buffer,
> -                                    BufferLength,
> -                                    (NDIS_MINIPORT_MAJOR_VERSION << 8) |
> -                                    NDIS_MINIPORT_MINOR_VERSION,
> -                                    &BytesWritten);
> -        } else {
> -            ndisStatus = __SetUlong(Buffer,
> -                                    BufferLength,
> -                                    (NDIS_MINIPORT_MINIMUM_MAJOR_VERSION << 8) |
> -                                    NDIS_MINIPORT_MINIMUM_MINOR_VERSION,
> -                                    &BytesWritten);
> -        }
> +#ifdef NDIS_RUNTIME_VERSION_685
> +        if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_685)
> +            Value32 = (NDIS_MINIPORT_MAJOR_VERSION << 8) |
> +                       NDIS_MINIPORT_MINOR_VERSION;
> +        else
> +#endif
> +        if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660)
> +            Value32 = (6 << 8) | 60; // NDIS 6.60
> +        else
> +            Value32 = (NDIS_MINIPORT_MINIMUM_MAJOR_VERSION << 8) |
> +                       NDIS_MINIPORT_MINIMUM_MINOR_VERSION;
> +
> +        ndisStatus = __SetUlong(Buffer,
> +                                BufferLength,
> +                                Value32,
> +                                &BytesWritten);
>           break;
>   
>       case OID_GEN_MAC_OPTIONS:
> @@ -3182,6 +3196,12 @@ AdapterSetOffloadAttributes(
>       RtlZeroMemory(&Supported, sizeof(Supported));
>       Supported.Header.Type = NDIS_OBJECT_TYPE_OFFLOAD;
>   
> +#ifdef NDIS_RUNTIME_VERSION_685
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_685) {
> +        Supported.Header.Revision = NDIS_OFFLOAD_REVISION_6;
> +        Supported.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_6;
> +    } else
> +#endif
>       if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
>           Supported.Header.Revision = NDIS_OFFLOAD_REVISION_4;
>           Supported.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4;
> diff --git a/src/xennet/miniport.c b/src/xennet/miniport.c
> index e24e1ad..f714909 100644
> --- a/src/xennet/miniport.c
> +++ b/src/xennet/miniport.c
> @@ -342,9 +342,18 @@ MiniportRegister(
>       MiniportDriverCharacteristics.Header.Size = NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;
>       MiniportDriverCharacteristics.Header.Revision = NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;
>   
> -    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
> +#ifdef NDIS_RUNTIME_VERSION_685
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_685) {
> +        MiniportDriverCharacteristics.Header.Size = NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3;
> +        MiniportDriverCharacteristics.Header.Revision = NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3;
> +
>           MiniportDriverCharacteristics.MajorNdisVersion = NDIS_MINIPORT_MAJOR_VERSION; // 6
> -        MiniportDriverCharacteristics.MinorNdisVersion = NDIS_MINIPORT_MINOR_VERSION; // 60
> +        MiniportDriverCharacteristics.MinorNdisVersion = NDIS_MINIPORT_MINOR_VERSION; // 85
> +    } else
> +#endif
> +    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
> +        MiniportDriverCharacteristics.MajorNdisVersion = 6;
> +        MiniportDriverCharacteristics.MinorNdisVersion = 60;
>       } else {
>           MiniportDriverCharacteristics.MajorNdisVersion = NDIS_MINIPORT_MINIMUM_MAJOR_VERSION; // 6
>           MiniportDriverCharacteristics.MinorNdisVersion = NDIS_MINIPORT_MINIMUM_MINOR_VERSION; // 30
> diff --git a/vs2019/xennet/xennet.vcxproj b/vs2019/xennet/xennet.vcxproj
> index 2eba039..cee1325 100644
> --- a/vs2019/xennet/xennet.vcxproj
> +++ b/vs2019/xennet/xennet.vcxproj
> @@ -21,7 +21,7 @@
>     </PropertyGroup>
>     <ItemDefinitionGroup>
>       <ClCompile>
> -      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;NDIS660_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
> +      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;NDIS660_MINIPORT=1;NDIS685_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
>         <IntrinsicFunctions>true</IntrinsicFunctions>
>         <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
>         <WarningLevel>EnableAllWarnings</WarningLevel>
> 



From win-pv-devel-bounces@lists.xenproject.org Tue Nov 02 10:28:21 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 02 Nov 2021 10:28:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.219976.381049 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhr1h-00045S-8H; Tue, 02 Nov 2021 10:28:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 219976.381049; Tue, 02 Nov 2021 10:28:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhr1h-00045L-5G; Tue, 02 Nov 2021 10:28:21 +0000
Received: by outflank-mailman (input) for mailman id 219976;
 Tue, 02 Nov 2021 10:28:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+uGW=PV=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1mhr1g-00045D-0u
 for win-pv-devel@lists.xenproject.org; Tue, 02 Nov 2021 10:28:20 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7ef316f3-2d2f-4c15-9d5e-6d4a5ddc1b7b;
 Tue, 02 Nov 2021 10:28:18 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ef316f3-2d2f-4c15-9d5e-6d4a5ddc1b7b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1635848898;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=Ic/ptkykcQBh4DYPjvdDm8kzQLgzGozz/62464SrZ2E=;
  b=BmHVlWUP9GNzYKkiKMw+BFFx8MhAYU7c8DD4yJ+2n2G5goO5cFXfXvs5
   jmCskt1xLPsaRKvU4OhISxuXLXj71Vs092APDkfHj47pEgWUpOssyBwTV
   qp1DqYXGY3nYMWP+W6j0VkCDDc8XxLq7xcFzBZuFZ6M63GMIk4oPmcMX6
   A=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: OQDdPslfM+Qrqq62zaTMlPTt87GA5CckPKuz+87Ho1EYt6DBC4ryPWHOYm6nI4RDXVaIUht38Q
 tLsSly30xpYabwM1hxnMJjvBJfkcsIFiWsRzNsLdzlJ7og3QVnZWXvj0j1uaufP4MaVUDOZ5+D
 m9sgqPPkFQQxNjnNxGZvGpXcgu5Q9uDuyGRqP5SsUazz+ph5K7KmxYrlq3zWfJR6FxV3p6ZBQI
 B3o0mPMAtUYe0oAp6aW6ckn/47Oxdfwm+TirLHaO76rd4tADDdGQlQuBON3VlSRhyytMLFhmCz
 3Bvy8tEYcINX+ybonAo/VGGS
X-SBRS: 5.1
X-MesageID: 56404183
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:nvPE+6ADHu1DqxVW/+Lkw5YqxClBgxIJ4kV8jS/XYbTApGt30GMGz
 WNNWGrUa/qCYWCnetknOYy2pk0Du8fSyt4wQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WLGs1hxZH1c+EX540Ug7wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/2m6Ys+srk
 opxjMbtGQU4H4jJxP5eXEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTTfZhgII4Kcj3PKsUu216zCGfBvEjKXzGa/iUuYcEhWdr7ixINf/9a
 fQAZGZtUD6eOhByAXIbFJURzN790xETdBUH8QnI9MLb+VP70w13laDzddbYZNGObcFUhVqD4
 HLL+XzjBRMXP8DZziCKmlq0j/LLtTP2XsQVDrLQyxJxqATNnCpJUkRQDAbl56ni4qKjZz5BA
 x1P6wYV9/JtyHXxE4n/TjydpSKe/RFJDrK8DNYGwA2Kz6PV5SOQCW4FUiNNZbQaiSMmedA5/
 gTXxo20XFSDpJXQECvArenM8VteLABMdTdaDRLoWzfp9DUKTGsbqhvUBuhuH6eu5jEeMWGhm
 mvaxMTSalh6sCLq60lZ1QyX695PjsKQJuLQ2ukxdjj8hu+eTNX9D7FEEXCBsZ59wH+xFzFtR
 kQslcmE9/wpBpqQjiGLS+hlNOj3vKvaYWeE3gQ1RsVJG9GRF5iLJ9k4DNZWfx8BDyr5UWWxP
 B+7Vf15vcc70ISWgV9fPNvqVpVCIVnIHtX5TPHEBueikbAqHDJrCBpGPBbKt0i0yRBEufhmZ
 f+zLJb9ZV5HWP8P5GfnGI8gPUoDm3lWKZX7HsugkXxKENO2ORaodFvyGALVM71is//c+G04M
 b93bqO39vmWa8WnCgH/+o8PN1Eaa389AJH9sctMceCfZAFhHQkc5zX5m+hJl1VNk/sHm+HW0
 Gu6X0MEmlPziWeecVeBa2x5aaOpVpF69CppMSspNFeu+n4ifYfws/tPK8ppJeEqpL550Pp5b
 /gZYMHcUP5BfSvKpmYGZp7noY08KBny3VCSPzCoaSQUdoJ7Q1Cb4cftewbirXFcDie+ucYkj
 aen0wfXHcgKSwh4VZ6EY/Oz1VKh+3ManbsqDUfPJ9BSfmTq8ZRrdHOt3qNmfZlUJEyalDWA1
 guQDRMJnsX3otc4oIvTmKSJj4a1CO8iTEBUKHbWsOStPi7A82v9nYIZCLSUfSrQXX/f8bm5Y
 bkH1On1NfAKkQoYs4d4FLo3n6sy68G2+u1fxwVgWn7Kc06qGvVrJXzfhZtDsahEx7l4vwqqW
 x3QpokGaOvRYM61QkQMIAcFb/iY0aBGkzbf2v05PUHm6XIl57GAS0hTY0GBhSE1wGGZ62/5L
 TPNYPIr1jE=
IronPort-HdrOrdr: A9a23:pDAep65E4Ge8BdJhEwPXwXmBI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc0AxhJU3I6urwRJVoJkmsuqKdgLNhcYtKOTOGhILGFvAa0WKP+UyDJ8S6zJ8m6U
 4CSdkxNDSTNykDsS+S2mDReLxMoKjlzEnrv5ak854Ed3AzV0gK1XYcNu/vKDwReOAwP+tfKH
 Pz3LsjmxOQPVAsKuirDHgMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlml9yZbdwkK7aYp8G
 DDnQC8zL6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+4gow3TX+0WVjbZaKvi/VQMO0aWSAZER4Z
 7xSiIbToZOArXqDyeISFXWqlDdOX0VmgDfIBej8AXeSIrCNWkH4oN69PNkWwqc5Ew6sN5m1q
 VXm2qfqppMFBvF2D/w/t7SSnhR5wGJSFcZ4KcuZkZkIMMjgX5q3Pki1VIQFI1FEDPx6YghHu
 UrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R369MwU/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+
 jfKKxnmLxHU8dTZ6NgA+UKR9exFwX2MFjxGXPXJU6iGLAMOnrLpZKy6LIp5PuycJhN15c2kI
 SpaiIviYfzQTOYNSSj5uw5zvn9ehTIYd228LAv23FQgMyPeIbW
X-IronPort-AV: E=Sophos;i="5.87,202,1631592000"; 
   d="scan'208";a="56404183"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KlmuLm3B7cQZ4LtDdk6F6iWy3wGgyzrf3TtSy4LnqvFe5Sb+6FQWaBt4urECU5flFP02C4uKlbyoivoeZNdd9iY3h47xR4PlPePmqgFIMUDoNlcFqBnzAq+OTn9p/4vmrNe2jjh08cVBfQOeSiOQZjAnxmbPrRbRlU9PzLGY17I0J/JtVmkXpKvqoVjNXRiTVYZCCl86tpBpDFYXZzTxM/DT64nc7cLR64VnifR42PI68Zj5rdQF6T/fdXHCRLGdJIFvv2mnwcTfsI1TehkiVkLq+MyCguGgFDwevs4TaDrwlA2ZfUNA5xk901VZFvmUlNz1/qiDS/jyaYxtYKuYVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ic/ptkykcQBh4DYPjvdDm8kzQLgzGozz/62464SrZ2E=;
 b=bwMQm8YQuNMb/2xZyNy55rZqpwggNj5Wk5d/dpZ3BwTMvnjaBqnP1vsQ7xGimMPFr7Y9ZpCd+jf8YCG4gpnUEilhASFlsT1JBLcWWP5/wasaggqb0QrNktK9MTCwG5sqzxPfJnw9LYN3Z/Tb0Ug7iNERH9PE6SJ541SlaFrQlWGuyqGUGZH+GWwB+EPaa4EsSkstxPswxcGr9Wkucu5OKNf/NK/UeBtGwdT+e0j1PD9kif9jCto9MmRgtKeWjVOdyXs6FoNohXuK5ci5KzyMhYDG6feKpwqtqduRbexvl1d50URhrqeNfpw9F8CbCTdWy9i91nHZ3xqyIoBu4dvYAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ic/ptkykcQBh4DYPjvdDm8kzQLgzGozz/62464SrZ2E=;
 b=vqXGiDglAkY5hSg0SMqMqkKfqij/n36FwLQIGPH5vLaQJ5t78J1A6/hG2bLNIhTjI/4EAo9EJD+KXjuiZwXzESI8frqg4cf9T9OMIjFxUc9dy/Csv0jWiL/rRS71K1QNBt0/+12FSupDIWNVio/3yFouusEJWqqU3WNusSEjm5Q=
From: Owen Smith <owen.smith@citrix.com>
To: "paul@xen.org" <paul@xen.org>, "win-pv-devel@lists.xenproject.org"
	<win-pv-devel@lists.xenproject.org>
Subject: RE: [PATCH 1/4] Add /CETCOMPAT to linker options
Thread-Topic: [PATCH 1/4] Add /CETCOMPAT to linker options
Thread-Index: AQHXyjjWhxe2oO8bBEWLJURGN2/BD6vwDiKAgAAFwuA=
Date: Tue, 2 Nov 2021 10:28:05 +0000
Message-ID: <DS7PR03MB5477C116CED47B294FA577E6FE8B9@DS7PR03MB5477.namprd03.prod.outlook.com>
References: <20211026071211.1875-1-owen.smith@citrix.com>
 <1c9d96da-2a88-cd0e-2769-d58ff7ffda86@gmail.com>
In-Reply-To: <1c9d96da-2a88-cd0e-2769-d58ff7ffda86@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3240662e-fc34-4500-9bb8-08d99deb7556
x-ms-traffictypediagnostic: DS7PR03MB5573:
x-microsoft-antispam-prvs: <DS7PR03MB5573B5D24338E9575A75A061FE8B9@DS7PR03MB5573.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: A6E9IdNbKQn9PIPtgMGzilziMSUfaglTJ3A92yG/rPYKOT7WWNBiTK2jiGNPuQsj+dqwi6eW3YSvK1PoFH4cckPVL2tn0CHhwkWD2Px36T86rH1pVOtlyFP4bT+WOcFo/ItYjkZHoHWInUGPVA4uWOW2gKiqIsheDsFtoY5AFsaeZU8p0xVzWskCx2eCuIm+IODsZ07QuS8HtpPA3tZizfOWadQoxZfW+xTha1pg0no4Noe0d8zR3mBT6ja0aG/FFjTDs2Y00ux32rGcFWK86piPmpA+pVdW4nW34SgN3Ykg2FIsAs7JFkXnjrO26MW5B8dNuNhlVPNalY/4lUJl02KMxU9av4X76cgZ2h9CL39rDjwgAj58nbHapP37NRPltDuQzjQ2yJcORzGv5UC7+4SxI4yefdB/pjy8uKee/RUmR3TDaEDszmloRuM+lucWG6MzOOECE9ckmH0YCrXuWuS5X3QYP2koKgoy0UBOE0X6TfARJx6iILGaMS/eJghn+ucO1Su0I89zadauu3ZIpH3wiLG5YJeg4nJ+8F0o0tDU3naevzbBaxb7F104AD36c6G0y5QZPazdxsO+Cv7JtTxOs/MeO3kddQXs0p8HpJhnM+pWRlZxj7MZM+xdV7ANZHYgDYnZY1MebAyd3Ei4N9k6J7N1vubm+kSwcpoBUG438TIsF3gEPURRnkfoZf3HusyV47xgm6rLlcihyDUfXQ==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5477.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(38070700005)(38100700002)(86362001)(26005)(7696005)(8936002)(53546011)(83380400001)(186003)(6506007)(508600001)(5660300002)(55016002)(122000001)(9686003)(71200400001)(44832011)(82960400001)(64756008)(8676002)(33656002)(316002)(2906002)(110136005)(52536014)(76116006)(66946007)(66476007)(66446008)(66556008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ekRUdXdkNHhEa2tQVVhvWTAwV0krOW1RQlV2bWM4blptaE1TVmlCSm5KQW9v?=
 =?utf-8?B?VkdnV0F4WkxaUTlNM3R0cklMTjBqc01KRm14Z0lYTW90USs5NUdmWkVDZDMr?=
 =?utf-8?B?U25NZ1F4eVpzTGpEaXF2bSsyVGZ2WFBwbU0wOVNPN1lFVVhwa2J0NFF4ZEhs?=
 =?utf-8?B?bXRTcklxUHFFWDgrR0pQUVNJQVhWQTNDdkpROW11RXYweDJtTFF6bUlWOXlj?=
 =?utf-8?B?MWNXSGpBKzRSQkRteitVN0xDOGRrZURjVmZWNkNvakMyaGNESk84QVRiVWFw?=
 =?utf-8?B?LzdrR29zTHRHcnBFemJyOWxaYlY2Z1R4Umc2N0VJbVFGRkVORTJKNHZwWUts?=
 =?utf-8?B?Sld1K2tXV01RcHowbnQwdVQrQjYvQVVWa0ZaemE2dUR0R1Z2UHhzOW5jdFNv?=
 =?utf-8?B?WXIwb3pVZDlnNnJCMzZUYk9mR3NLQjZ3WG0zaGNXUWhXN292b1BYRk45M2ts?=
 =?utf-8?B?MU5vNnQ0OXFvdlFvR3JBMTRFaWhQR0QyY2VWOGVUM0RscmFtbllJSWRzMnRT?=
 =?utf-8?B?WjZjYlpuRDhQak5pWmN3QzFWeVlTenMxTUt3V3FlYXJVUzUwOVlEaXB3dnRD?=
 =?utf-8?B?Uno0U3ZhUHZtd0hTa0Y0cjc1ak5tVGhGb0VRbEZkZVdGeGh5UlhDTTlaZ0wr?=
 =?utf-8?B?VVJQaEpPTTJIRVM0MzhpazZSZnhSalVmd3ZJRVNwcFZ1Tjd6aHQxZy93VXJa?=
 =?utf-8?B?b3JYQTFHNW5Ra2VxaHc3NWJ4UFZlSzVnb250SDRGWlB1eXAwRTZnaGF1b085?=
 =?utf-8?B?VzhMZGE1UHpMQThvVU9mdk4yNDFhU01DVEJCckdPdXhjTUtXNXQ3ZXQ2WGVt?=
 =?utf-8?B?LzZ4MzljWE5QNCsrelY1ajB6SmliMmppU0xoc0pCYlN4SEZkcGlFVHh2T0JR?=
 =?utf-8?B?TWFQb1pTM1QvS0s4Y2UyQzYrL0VxdnRCQS9jSVhoYm0ya1RjTXhsMCtCUTA1?=
 =?utf-8?B?SEZQTXMxdkliZUU4bkZJazdnKzE5NnBrQ2Y3MXVrZmUvRGFsVk1Sb3hKeGtY?=
 =?utf-8?B?VUMvbjJ1ellzQ29yWkJQTmFtWUN3S3JzWUNaQUlQV2IyM3lQMlc2cnNsMHFN?=
 =?utf-8?B?d092TEs1WlpobENjRGpiYTl0RHZvdlFRRjRoUmNRSGRCU09qcmNibWpueU4r?=
 =?utf-8?B?cVp0SkFNM2E2SHM2Z0IrUGtaaHgzWjVsakJ3WnU5QmdRdjZmUHpyYS9OQzRF?=
 =?utf-8?B?Qkx6MUM4SC9JWko2RUpYdkczMDhpMmR0MjBoUzhpbjczTE85ZHY0bXo2Sk1n?=
 =?utf-8?B?TDZmNVRPT1ozajNrQi8vMkVmZVFoSzhqS0RnQjBnS28xQUZZY0RaZ0lWcHVH?=
 =?utf-8?B?U2hwdUZ3SitVUjhkL2VqMzBjdk9uTFRteGZ3VTBhS2RUSmFOQ0ErenFpeTBD?=
 =?utf-8?B?a05XSUFKZHY3Mk4zZU9RTVFLMlNjUWJ3Z0lvK0I0SW5RalF3S293T05zQkY4?=
 =?utf-8?B?WGFXdU40TDNNVTdUWUw4UmoxUUxBVUJ3eE1CbHo3OFovY2xHMkdUUWpNOEtV?=
 =?utf-8?B?YlEyb1VLNFRnR3pnejh4Ujl4MjZyL3N6TTlXaHZzd1J6a01xSEtMNWRVN0hF?=
 =?utf-8?B?YzhlY04rQUdONHVHTjNjSFZ2WGRDY05rWkxvV0hMQWQxZFJKb0ZxQ0VzZEcz?=
 =?utf-8?B?WWlVMXBWNUtkLzhHenc5dTZndUhOVnhFR0NuMFA4dFBnNE9LV2x2TEdZWFlO?=
 =?utf-8?B?SE85L0pmQ29JeUZTeGFwR3JIT0paREVrOFROdEJEc21oS1Vlek5DUGpscGt3?=
 =?utf-8?B?NmV1MXhIQVFSSm5jd003WVFERlBDb3B3d3dBUnNHTTVHdUU5eDZFYVRuOEJ1?=
 =?utf-8?B?Y3NvTjNIZ3FtRW90NUF0VXFFdzFPaW5EMHBnd1VmN3hwY1FBRlRMc0VEdnlH?=
 =?utf-8?B?R28rK3ZoZHFBVEtONmxnOVVoNjhva2JuTWdWOUVoQ2h3N1pNdmhLVkczdjRn?=
 =?utf-8?B?dndTdjJaSCtuWkhPdjhKQVRRdC90ZjhwWTVOcnlGTGM2SFF5Rk5oc29aUmJJ?=
 =?utf-8?B?eXZtOUZXaE14eWdhTXZLbWdsajYyK2VvVDlRb29GdW9sb3VWRTN0UDZmQm5U?=
 =?utf-8?B?RzIzNXR6dGFoeHhYcG90dTdlU0Y4dXFpL2l2VmNwcVN3ZHlYWVRmdkZibi9C?=
 =?utf-8?B?THNnMFo3a0NDQ1U3QW0rYkRCbFhwNEZMVk4xVFh3WXNZcHh2Q09hS0UvakZh?=
 =?utf-8?B?Snc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5477.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3240662e-fc34-4500-9bb8-08d99deb7556
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2021 10:28:06.0295
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: uJ+lHfFlPG9AOAKLbv1qFVNjt93FF7S7o5Jc65C8SVSk9lIIWzGHPXCCR+X/ZCR1eQOZbJnIub6twNR16EK/Pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5573
X-OriginatorOrg: citrix.com

LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IHdpbi1wdi1kZXZlbCA8d2luLXB2LWRl
dmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBPZiBEdXJyYW50LCBQ
YXVsDQpTZW50OiAwMiBOb3ZlbWJlciAyMDIxIDEwOjA2DQpUbzogd2luLXB2LWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnDQpTdWJqZWN0OiBSZTogW1BBVENIIDEvNF0gQWRkIC9DRVRDT01QQVQg
dG8gbGlua2VyIG9wdGlvbnMNCg0KW0NBVVRJT04gLSBFWFRFUk5BTCBFTUFJTF0gRE8gTk9UIHJl
cGx5LCBjbGljayBsaW5rcywgb3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91IGhhdmUgdmVy
aWZpZWQgdGhlIHNlbmRlciBhbmQga25vdyB0aGUgY29udGVudCBpcyBzYWZlLg0KDQpPbiAyNi8x
MC8yMDIxIDA4OjEyLCBPd2VuIFNtaXRoIHdyb3RlOg0KPiBUaGUgIkhhcmR3YXJlIEVuZm9yY2Vk
IFN0YWNrIFByb3RlY3Rpb24gQ29tcGF0YWJpbGl0eSIgdGVzdCBpbnRyb2R1Y2VkIA0KPiB3aXRo
IHRoZSBTZXJ2ZXIgMjAyMiBITEsgcmVxdWlyZXMgZHJpdmVycyB0byBiZSBsaW5rZWQgd2l0aCAv
Q0VUQ09NUEFUDQo+IA0KDQpEb2VzIHRoaXMgcGF0Y2ggbmVlZCBhcHBseWluZyB0byBhbGwgZHJp
dmVycyB0aGVuPw0KDQpJdCBkb2VzIC0gSSd2ZSBnb3QgYSBwYXRjaCBpbiBvdXIgcXVldWUsIGFu
ZCB3YXMgaW50ZW5kaW5nIG9uIHBvc3RpbmcgdGhlbSBvbmNlIEknZCBjb21wbGV0ZWQgV0hRTCwg
YnV0IGl0IGhhZCBzbGlwcGVkIG15IG1pbmQNCg0KPiBTaWduZWQtb2ZmLWJ5OiBPd2VuIFNtaXRo
IDxvd2VuLnNtaXRoQGNpdHJpeC5jb20+DQoNCkFja2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxA
eGVuLm9yZz4NCg0KPiAtLS0NCj4gICB2czIwMTkveGVubmV0L3hlbm5ldC52Y3hwcm9qIHwgMSAr
DQo+ICAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEv
dnMyMDE5L3hlbm5ldC94ZW5uZXQudmN4cHJvaiANCj4gYi92czIwMTkveGVubmV0L3hlbm5ldC52
Y3hwcm9qIGluZGV4IGNhODk2MTAuLmQ3OWE2OTEgMTAwNjQ0DQo+IC0tLSBhL3ZzMjAxOS94ZW5u
ZXQveGVubmV0LnZjeHByb2oNCj4gKysrIGIvdnMyMDE5L3hlbm5ldC94ZW5uZXQudmN4cHJvag0K
PiBAQCAtMzUsNiArMzUsNyBAQA0KPiAgICAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5k
bGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+DQo+ICAgICAgICAgPEFk
ZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChEREtfTElCX1BBVEgpXG5kaXMubGliOyQoRERLX0xJQl9Q
QVRIKS9saWJjbnRwci5saWI7JChEREtfTElCX1BBVEgpL2F1eF9rbGliLmxpYjskKERES19MSUJf
UEFUSCkvcHJvY2dycC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERl
cGVuZGVuY2llcz4NCj4gICAgICAgICANCj4gPExpbmtUaW1lQ29kZUdlbmVyYXRpb24+VXNlTGlu
a1RpbWVDb2RlR2VuZXJhdGlvbjwvTGlua1RpbWVDb2RlR2VuZXJhdA0KPiBpb24+DQo+ICsgICAg
ICA8Q0VUQ29tcGF0PnRydWU8L0NFVENvbXBhdD4NCj4gICAgICAgPC9MaW5rPg0KPiAgICAgICA8
RHJpdmVyU2lnbj4NCj4gICAgICAgICA8RmlsZURpZ2VzdEFsZ29yaXRobT5zaGEyNTY8L0ZpbGVE
aWdlc3RBbGdvcml0aG0+DQo+IA0KDQoNCg==


From win-pv-devel-bounces@lists.xenproject.org Tue Nov 02 10:36:05 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 02 Nov 2021 10:36:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.220008.381089 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhr9A-0006tS-UM; Tue, 02 Nov 2021 10:36:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 220008.381089; Tue, 02 Nov 2021 10:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mhr9A-0006tL-RN; Tue, 02 Nov 2021 10:36:04 +0000
Received: by outflank-mailman (input) for mailman id 220008;
 Tue, 02 Nov 2021 10:36:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+uGW=PV=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1mhr99-0006tF-9B
 for win-pv-devel@lists.xenproject.org; Tue, 02 Nov 2021 10:36:03 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e3161ebf-6ce4-4ac0-b13f-17c2cfba0f5e;
 Tue, 02 Nov 2021 10:36:01 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3161ebf-6ce4-4ac0-b13f-17c2cfba0f5e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1635849361;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=5tzuDEb+L9S/Ibf74nP5xm1gsi7oNMdPt+y1xtQvxG4=;
  b=OleMkopixm1wdtDVh2NJdWZ8QLDli+I0FFe/gTN83xNgMmspDBNDD3e4
   KJNT5PNDhe5WZ2VsCmpITILziN6Yq19CgNiXJbxD4t3Dvzo0CoBFo8LB+
   NdBJ/OIBsBwJAKL7DJSYdoibwPTzvQhM4vK45RbJXvuxmEPJe6jPWda+0
   o=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: t96J+VAGNR9XktzgvP3iRdS34T4fPYOFv1LIOhc+PPA4rZZ9VI03FH43Jt83XAhaMSKOgZKSbB
 pc64cKkQBKvpepwtdOVz8aUjxkhfT3PCVSwGKYQnTBZUrZp7tjScC/FEC7Jq6F/cpztlOtVHGH
 pr7PhdwQNHhthe8JG5JO1HncP43XuH4x7kgfBGqbKKVlgcAOzlXDNT4tTor9MSDiS7PxEXEQcA
 L4/gh/urU9C/SV4KoFcl4U3z/vLdu5lLH6cs+XqFPQJXuP50CETIGt2QJKYRNPyUsWrsZzgKsd
 dx3ddDF4jB2sqdDR7zAP0iyn
X-SBRS: 5.1
X-MesageID: 56404784
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:MCbhk6tqyowk73ntPEnw+dhCvefnVJ5ZMUV32f8akzHdYApBsoF/q
 tZmKTuAO/feNGr3fNggYdji9hkFusOBzNRkSgVsrHhnFiJA+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHhJZS5LwbZj29cx2YLhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NplsM2gazgsA6r2yfkMaAsEGihMAbV49+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DO5wSvDd7yDDFDd4tQIzZQrWM7thdtNs1rp0QQa6CO
 JpFAdZpRC3uXjxpawkmM6w/wuW1uVzRQg0BqGvA8MLb5ECMlVcsgdABKuH9Zd2MAN1L20qVu
 G/C12D4GQ0BcsySzyKf9XChjfOJmjn0MKoKHaC83u5nhhuU3GN7NfENfQLl+7/j0Bf4Ao8Bb
 RxPksYzkUQs3En6XvvCWiC/mi+ZryUOB9NZIdEi1g7Yn8I4/D2lLmQDSzdAbvkvu8k3WSEm2
 ze1oj/5OdB8mObLECzAr994uRv3YHFIdjFaOUfoWCNcu4G7yLzfmC4jWTqK/ESdqtTuUQ/9z
 DmRxMTVr+VC1JVbv0lXEL2uvt5NmnQrZlJljuk0djj8hu+cWGJDT9bxgbQ8xa0YRLt1tnHb4
 BA5dzG2tYji962lmi2XW/kqF7q0/fuDOzC0qQcxRMR+pm71pCT5JNw4DNRCyKFBaJ9sldjBO
 xe7hO+szMULYCvCgVFfOtrZ5zsWIVjISo2+C6G8gitmaZltbg6XlByClmbLt10BZHMEyPllU
 b/CKJ7EJS9DVcxPkWrnL89AgORD7n1vmgvuqWXTkk3PPUy2PyXOF9/o8TKmM4gE0U9ziFyOr
 osEaJfSk32ykoTWO0HqzGLaFnhTRVATDpHqsc1HMOmFJwttAmY6DPHNh7gmfuRYc259z48kJ
 1mxBR1VzkTRn3rCJVnYY3xvcuq3D51+sWg6LWonOlPxgyovZoOm7aE+cZorfOZ4qLw/nKAsF
 /RVKd+dBvlvSyjc/2hPZ5fKs4E/Jg+gghiDPnT5bWFnLYJgXQHA5vTtYhDrqHsVFiOyuMZn+
 ++g2wrXTIAtXQNnCMqKOvujw0no5SoWmf5oXluOKd5WIR2+/I9vIi33r/k2P8BTdkmTmmrEj
 16bWE5Kq/PMrok59MjyqZqF94r5QfFjGkd6HnXA6erkPyft4Wf+k5RLV/yFfG6BWTqsqrmif
 +hc09r1LOYDwARRq4N5HrtmkfA+6t/oq+MIxwhoBiyWPVGiC7cmKXiax8hf8KZKw+YB6wexX
 0uO/PhcOKmIZ5y5QAJAelJ9Y7TRz+wQlxnT8e8xcRfz6yJA9baaVVlfYkuXgytHIbopaI4oz
 I/NYiLNB9BTXvbyDuu7sw==
IronPort-HdrOrdr: A9a23:HcBdtayGoPN0MOo/UX7BKrPxk+skLtp133Aq2lEZdPULSKOlfp
 GV8MjziyWYtN9IYgBbpTnyAtj8fZq6z+843WBxB8buYOCCggWVxe5ZnO3fKlHbak7DH6tmpN
 xdmstFeZLN5DpB/L/HCWCDer5KqrjmzEnrv5an854Ed3AyV0gK1XYdNu/vKDwQeOAwP+tcKH
 Pz3LskmxOQPVAsKuirDHgMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlal9yZbdwkK7aYp8G
 DDnQC8zL6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+4kow3TX+0aVjbZaKv+/VQMO0aSSAZER4Z
 3xSiIbTodOArXqDyaISFXWqk/dOX0VmgPfIBej8ATeSIrCNWoH4oN69PxkWwqc5Ew6sN5m1q
 VXm2qfqppMFBvF2D/w/t7SSnhR5wKJSFcZ4JguZkZkIMIjgX5q3P4i1VIQFI1FEDPx6YghHu
 UrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R369MwI/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+
 jfKKxnmLxHU8dTZ6NgA+UKR9exFwX2MFnxGXPXJU6iGLAMOnrLpZKy6LIp5PuycJhN15c2kI
 SpaiIuiYfzQTObNSSj5uw6zvn9ehTJYd228LAu23FQgMyOeIbW
X-IronPort-AV: E=Sophos;i="5.87,202,1631592000"; 
   d="scan'208";a="56404784"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LI9hhldKaUIpivi6VC0z/FV5UAvTPVwSur0SZSRpwh/BBMwIKGQjysJp6ABP0ao8/P4eYLKvh44+zzPcEQ7X3khh0/o/+3XyPjFAFD9HjbAKZMGCQuHfgMA1tXmsU6Vs+cPH0FyrXcMKpvpHswu57x/pfFW9O9G6s0V8JUUV5uMs0SDsoGQ/Z/zOZL4awuxrUbFrwp2Ax9+iUVto5KzFNysRFhgNK9kHt5FAed+IPSVWaoWQKrxCOU4r2c+s2ohF3U3MuukfNV7AzhCEXRwzM/+KYxuUfMaxeRueNVvW8j1vuQPOhyNQS+i2oOtLwpbYHguiu8b7SHwyLpVjx+yyhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5tzuDEb+L9S/Ibf74nP5xm1gsi7oNMdPt+y1xtQvxG4=;
 b=KTaJAh6wTlTLgocbesfE4U7FKihBK8vmYjOkFbSZ5F3L/9wAgrI1OKQ4Ei5TQ4gyOADLTPUaF8LEJoC8hBQ6bq5RL7SSWBw3Vi8Vg6WjCZ7wvc5C/NVpD27oHJIZ7c5VjN0fUs/f7fgvZ6TQf2FB/saKz2yY3Iyl7fibJPRO5S6t9z8Kr3GrpY7/OLKdQ/KryE0R9K7Jsi7rFxEIAP8SVNwTl+j+4YFcmdTaeCtjhdtg84fGcE2o2X6VPfFYFRKBYZRKR3MyuT51rGn2lckBYPdP0BWeo6NXDJwt8dbRD3JTNgDsC/8lfJ0OBD16XZ8aerbV+UQLlC8dtNHf4MSnsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5tzuDEb+L9S/Ibf74nP5xm1gsi7oNMdPt+y1xtQvxG4=;
 b=DtDclMIbnsug9iF5LW/Q6M1/2JuIfXtwXraW1nSiMEEtfFrWCOhNRdM0JQPvAMTnu6BSQMqvscKQbTXDhbM+u3iyjgoj+9UCkC5wHc2MAOY0/t+uG5SFtuKDI0g78EOO+f6dGFPccUsauOFJgVwhRFqHCZvQA22dpUSv5n+OmfU=
From: Owen Smith <owen.smith@citrix.com>
To: "paul@xen.org" <paul@xen.org>, "win-pv-devel@lists.xenproject.org"
	<win-pv-devel@lists.xenproject.org>
Subject: RE: [PATCH 2/4] Update to NDIS 6.30
Thread-Topic: [PATCH 2/4] Update to NDIS 6.30
Thread-Index: AQHXyjjTPolPNZWqp0yfvASsNlk1ZqvwDtQAgAAFnYA=
Date: Tue, 2 Nov 2021 10:35:58 +0000
Message-ID: <DS7PR03MB54770B25695CFFB72E58EC93FE8B9@DS7PR03MB5477.namprd03.prod.outlook.com>
References: <20211026071211.1875-1-owen.smith@citrix.com>
 <20211026071211.1875-2-owen.smith@citrix.com>
 <ecc34ddb-9670-4455-0859-9a8e2c610542@gmail.com>
In-Reply-To: <ecc34ddb-9670-4455-0859-9a8e2c610542@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2693d94e-3e1d-4df7-ca21-08d99dec8eb4
x-ms-traffictypediagnostic: DM5PR03MB2810:
x-microsoft-antispam-prvs: <DM5PR03MB2810AA5AEBB3821947BCE930FE8B9@DM5PR03MB2810.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:826;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: jGH+Hr1v30RlMVz3iXU/K7oqoh/S8aSdG8q9/tSzW6H+XO35A33Gh4RpfziEfWaFU5FzbiOPi6lzP/O+HswHjvUi6P3NqduMDc+z8oHnm/P7QMtv2gcGVQKf0EONhJ700VdrnrhQg1QEshsvABqDlv+Pf0GE5bhVxMkL3VNavLLoAx5xo7YRZaMg9A7UQFcuasGEPUbK/+7ipxnnrQ+QDL+d0UUdtzJUKFLtOUNaia5Y1JnoMfOVBdOP4U7Zrv8G3Fc8BcKRju9ZSHoulXtC48pumfLi43rkpVW/N7KKJ75Fpx0Bzf1N5tL0Z7HRZ+Jcrh+KD/kX+59BIucgezHHyNijiVAiqtN0oDg83VTbBFbMWVhkS+DM3PL/HiVJ1CLuHKR5SfUM7N4iyo6HX3OxUrxy2y0d/UKhQiUWkyr9fEOzzhh2Mlqls6U4TzszvZ1xY88uCo60w35eHUynUTUrtGOO26E7oKlsguLSOSRuhIjAjGz9JooCjxR7mMYAUSmSrFDzxwUpXZ56zhTaa6yIiO0hqQG9GwUV0sMcnASo6m3GJsUYRLOLs/DXH6LcLCc/JS2LpjZK2apM+VKih9dSuw0IYmAKpb56IWJWYUIRu62wcBpPzmRFQAydyr8J8em9KtMrCQWZPMjXGiaA4XCpi+iZ4Ehy5prXYFwwgLI7GMlP6nt7AWD1Bzi6hNmWz7f8KwSfGtA719Ia37fVrTU95w==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5477.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(66556008)(83380400001)(9686003)(82960400001)(7696005)(55016002)(8936002)(8676002)(30864003)(186003)(52536014)(64756008)(122000001)(38070700005)(66476007)(38100700002)(71200400001)(44832011)(5660300002)(316002)(86362001)(110136005)(53546011)(66446008)(6506007)(76116006)(15650500001)(26005)(508600001)(2906002)(33656002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SGwrM3BJREFyNWNKcFlkbVhxUlNQaHpzR0c5bkJXRHdTU2hEVlIzRUdpeDA0?=
 =?utf-8?B?NnArakI5SENNem9WVFFRRzRLZmx1cnArMWlnNForZGVENnVQT1pSUk52M0xz?=
 =?utf-8?B?ZGJ1SEFOK2ZJSWg4dDJ1dko0MWs0akJzYkY3a244M2lYelFxVGtwVFhwc2Z2?=
 =?utf-8?B?eVNhNzFRUlU3WHgrd3p2S21GU0ZLSVhscUhpTGwyTlZUMTFqNWl4M2MwKzIy?=
 =?utf-8?B?T2k2a2ZTUWFlNnk0Mmt5WGt1NitwNWdrdW5jYkpWQjJFK0FQcGZLVmxyTWxr?=
 =?utf-8?B?S0JFeElnVFF0UitvYitVWGtwcEZNYkZsRVlUUnRHMENYOVVZWjYwR0NLYkdR?=
 =?utf-8?B?L1BRVUlLK3JkVjVPdldRUzVrVVh6UzRkOFdYRWUxSVcvbHJySUNOM3FlNUQ2?=
 =?utf-8?B?M3J6T0FDUmdDTzRVVTBvWGxBTmxTbjNFR3VWZFdCdDZVSVUyOENvRXNZOEFn?=
 =?utf-8?B?dU1vVk1VdmtPTldaYWpLMEoyUDQ4KzB1N2NWTm9YNm5nZEI2ZW5pRkFRNDJ3?=
 =?utf-8?B?amhValVoU2toUjlUMlcxZU4rL1NwYzlJQUJ4NGZxVktkNENBQnJZSDhLcm1p?=
 =?utf-8?B?aG0rMkhuR3lTRHdJcnZSdE5FcFFoMjY1bVdWTU4rdG56ak9PWUh3YUpEOEpo?=
 =?utf-8?B?TjlKdUMvV2VUaCt3VkdQSk11NDZwWUFjenVOajZTdUxTWFNWRHYwWkhTYkF4?=
 =?utf-8?B?a1c4dWtPZTNqK01VNHR2ZWhrZE5mME9QOEdTWDlOLzBiVXhzU081WkN3RkJm?=
 =?utf-8?B?K1VNQ21oaFh1b3J5d2EydTVjKzFNbm5JZCtEcTBKMEZlRHRMNkpGU3dTc25R?=
 =?utf-8?B?aktZZkpSQXpqNkJ3RnhnOEZhWmlRem1FZTNHZTNBbU5SN3hiM3JMTW9lZzZl?=
 =?utf-8?B?WDBIVE5VWngzbU9CMDNiaHpWWFZRWCs5UEVNNGhyNmc4aWc2bWZVSzVkME0x?=
 =?utf-8?B?MWduR0t3U1c2VTcxM3dwRzlIcVpNMUF1d2pxWDVUUldOWU5tN0Q3c2xuQTZw?=
 =?utf-8?B?Sjd2V0dRdG9sQnhFM3ZuRU5jUzJxdnRTNytkV1FoSGthRDgrZ1B6NU5MRldV?=
 =?utf-8?B?WGkraStTZTkzRmhLTGMvckkrRFJQTFBORFdkSW44V2M5Y0w2OE8xQk9HV3Va?=
 =?utf-8?B?cCs5UE96TmhFOHhjZDU0QzJyTmQxV091S2dVU0ZkaTNTVkpaamxaekRpdTgz?=
 =?utf-8?B?UU52U2NZS2JJZnBOOXhEUitHSFRWOUErVWEyUFVCd2s3WlhlVTZKOEVKK1pl?=
 =?utf-8?B?Q1plTVRrMU1MaEtnb2lrVmkrbXo1ekNFTnF0N1JaQ2EwdUpXY1phanFYNDl2?=
 =?utf-8?B?dVZ4VC8xUm9hb0RvY3NFVWd2b3FHYi96aUxGYVpJL3k2SmNXYjl5UDR0RWQ3?=
 =?utf-8?B?MmdHZ3h4cGlBS1dUTEw5dXdXM2pjM0pCNHZzNlNjYnZYUUtjUCt1b0tLcC95?=
 =?utf-8?B?R2htT1Q1SGczcHJsQ3VRa0VCVXVjckFZL2FlNkdoa255d002b0hsOHpSYmpj?=
 =?utf-8?B?Wkx6WEh0TUF1OUt1c0NkK28rR0pnOUpZei9WNGlIZW0xSHFHeVVDaGY3ejFX?=
 =?utf-8?B?QStPWFA0bkFXVTRqd01jRDU2dDJiS1dITzRpYjR2ZEpONldnUVRMWjRLR0VE?=
 =?utf-8?B?M1lYUG4rUGVKT0VGekl5aFk0NkVLNElsYlQrVFdlRVlnRjlZdFZDT25GVXJk?=
 =?utf-8?B?ZW84aFAzLzBvbG9JL0lKcGw1QU1BMmdoaER4Y0JybDdvTjM3YkpYVDBhcFVr?=
 =?utf-8?B?bngwR0oyMTVEMGwwWnZEK3M0ZmRjSGhsMTVzaDF3NjVSQW5SNlJ3R2NBQmtH?=
 =?utf-8?B?emtlTEx3ZTVKZmdHSlE4TnQxb2FEb09tSHpaWk5hMk02R2tKOVNza1BZTWFi?=
 =?utf-8?B?OWhEOXh3WlRUUzlLRDJKVnBzd1RHMzZuZXdabEs4WXZ3TWR4TlJxYlNaTHI5?=
 =?utf-8?B?Q21ZM1FsVGN5cStYZVR2QWtoSXpPMDV3Z0pxbStoak1URFJsMWJzcVVvZjJW?=
 =?utf-8?B?d1c4VTA4Myt1RGQycENZRFQxK1lkbG9wdnF4emVrUkV0MXloMTBvN1poZXhF?=
 =?utf-8?B?RlJUZFVwNnhKem1seTNZQjBVd1k4NGcxdTByL3FtTHcwV1p5NTUydUw1Qlln?=
 =?utf-8?B?c1NlR25CaldjV2RMd0RUUkh3dTRBYzVWYkpZaU00V1luNzNFeGI3Z296cHZs?=
 =?utf-8?B?dXc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5477.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2693d94e-3e1d-4df7-ca21-08d99dec8eb4
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2021 10:35:58.1113
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: euKlFYLJwm0EscbnQXWVVMjyYeHviBpPkRNEgewKo0GRiXgDkvMQA6bYV801EJgchwQvvTF153ZZ2Bm7Qx2UBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2810
X-OriginatorOrg: citrix.com

LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IHdpbi1wdi1kZXZlbCA8d2luLXB2LWRl
dmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBPZiBEdXJyYW50LCBQ
YXVsDQpTZW50OiAwMiBOb3ZlbWJlciAyMDIxIDEwOjA5DQpUbzogd2luLXB2LWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnDQpTdWJqZWN0OiBSZTogW1BBVENIIDIvNF0gVXBkYXRlIHRvIE5ESVMg
Ni4zMA0KDQpbQ0FVVElPTiAtIEVYVEVSTkFMIEVNQUlMXSBETyBOT1QgcmVwbHksIGNsaWNrIGxp
bmtzLCBvciBvcGVuIGF0dGFjaG1lbnRzIHVubGVzcyB5b3UgaGF2ZSB2ZXJpZmllZCB0aGUgc2Vu
ZGVyIGFuZCBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQoNCk9uIDI2LzEwLzIwMjEgMDg6MTIs
IE93ZW4gU21pdGggd3JvdGU6DQo+IE5ESVMgNi4zMCB3YXMgaW50cm9kdWNlZCBpbiBTZXJ2ZXIg
MjAxMi4gVXBkYXRlIFhlbk5ldCB0byB1c2UgdGhlIE5ESVMgDQo+IDYuMzAgaW50ZXJmYWNlcy4g
Tm8gYWRkaXRpb25hbCBmZWF0dXJlcyBvZiBORElTIDYuMzAgYXJlIHVzZWQuDQoNClRoaXMgZG9l
c24ndCBzZWVtIHRvIGJlIHRoZSBjYXNlLiBZb3UndmUgY2xlYXJseSB1cGRhdGVkIFJTUyBpbiB0
aGlzIHBhdGNoLiBDb3VsZCB5b3UgZXhwYW5kIHRoZSBjb21taXQgY29tbWVudCBhY2NvcmRpbmds
eT8NCg0KICAgUGF1bA0KDQoNCk1vc3Qgb2YgdGhlIGNoYW5nZXMgYXJlIHVwZGF0aW5nIHN0cnVj
dHVyZSB2ZXJzaW9ucywgdGhvdWdoIE5ESVMgNi4yMCAtPiA2LjMwIGhhZCB0byBjaGFuZ2Ugc29t
ZSBzdHJ1Y3R1cmVzIHRvIGZpdCB0aGUgbmV3ZXIgQVBJLg0KVGhlcmUgaXMgYW4gZXh0cmEgcHJv
cGVydHkgcmVxdWlyZWQgYnkgdGhlIHRlc3RzLCBhbmQgaXQgbmVlZHMgdG8gbGltaXQgdGhlIHJl
cG9ydGVkIG51bWJlciBvZiBSU1MgcXVldWVzLg0KVGhlcmUgaXMgYWxzbyBzb21lIGNoYW5nZXMg
dG8gdXNlIHRoZSBORElTIDYuMzAgc3RydWN0dXJlcywgc3BlY2lmaWNhbGx5IHRoZXJlIGlzIGEg
Y2hhbmdlIGZyb20gcHJvY2Vzc29yIGluZGV4ZXMgdG8gUFJPQ0VTU09SX05VTUJFUnMgcGFzc2Vk
IGZvciB0aGUgaW5kaXJlY3Rpb24gdGFibGUgKHdoaWNoIHhlbm5ldCBoYWQgdG8gY29udmVydCB0
byBhIFBST0NFU1NPUl9OVU1CRVIgYXJyYXkgYmVmb3JlIHBhc3NpbmcgdG8geGVudmlmKS4gSSBk
aWQgcmVuYW1lIFRhYmxlU2l6ZSB0byBUYWJsZUNvdW50IGZvciBjbGFyaXR5IChpLmUuIG51bWJl
ciBvZiBlbGVtZW50cywgbm90IG51bWJlciBvZiBieXRlcykNCg0KVGhlc2Ugd2VyZSBiYXJlIG1p
bmltdW0gY2hhbmdlcyB0byBwYXNzIHRoZSBORElTIFdIUUwgdGVzdHMuDQoNCkkgd2lsbCByZS1w
b3N0IHdpdGggYW4gZXhwYW5kZWQgcGF0Y2ggbWVzc2FnZQ0KDQpPd2VuDQoNCj4gQWxzbyBmaXhl
cyAiTkRJUyA2LjUgR2xpdGNoRnJlZURldmljZSIgdGVzdCBieSBjb3JyZWN0bHkgcmVwb3J0aW5n
IA0KPiBYZW5OZXQgdXNlcyBhIFdETSBsb3dlciBlZGdlLg0KPiANCj4gU2lnbmVkLW9mZi1ieTog
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiAtLS0NCj4gICBzcmMveGVubmV0
LmluZiAgICAgICAgICAgICAgIHwgIDcgKysrDQo+ICAgc3JjL3hlbm5ldC9hZGFwdGVyLmMgICAg
ICAgICB8IDg5ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQ0KPiAgIHZzMjAx
NS94ZW5uZXQveGVubmV0LnZjeHByb2ogfCAgMiArLQ0KPiAgIHZzMjAxNy94ZW5uZXQveGVubmV0
LnZjeHByb2ogfCAgMiArLQ0KPiAgIHZzMjAxOS94ZW5uZXQveGVubmV0LnZjeHByb2ogfCAgMiAr
LQ0KPiAgIDUgZmlsZXMgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwgNDYgZGVsZXRpb25zKC0p
DQo+IA0KPiBkaWZmIC0tZ2l0IGEvc3JjL3hlbm5ldC5pbmYgYi9zcmMveGVubmV0LmluZiBpbmRl
eCBiMzZiMWUzLi5mOTNhY2JhIA0KPiAxMDA2NDQNCj4gLS0tIGEvc3JjL3hlbm5ldC5pbmYNCj4g
KysrIGIvc3JjL3hlbm5ldC5pbmYNCj4gQEAgLTE2Niw2ICsxNjYsMTIgQEAgSEtSLCBOZGlccGFy
YW1zXCpSU1MsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbCwgICAwLCAiMCIN
Cj4gICBIS1IsIE5kaVxwYXJhbXNcKlJTU1xlbnVtLCAgICAgICAgICAgICAgICAgICAgICAgICIw
IiwgICAgICAgIDAsICVEaXNhYmxlZCUNCj4gICBIS1IsIE5kaVxwYXJhbXNcKlJTU1xlbnVtLCAg
ICAgICAgICAgICAgICAgICAgICAgICIxIiwgICAgICAgIDAsICVFbmFibGVkJQ0KPiAgIA0KPiAr
SEtSLCBOZGlccGFyYW1zXCpOdW1SU1NRdWV1ZXMsICAgICAgICAgICAgICAgICAgICBQYXJhbURl
c2MsICAwLCAlTnVtUlNTUXVldWVzJQ0KPiArSEtSLCBOZGlccGFyYW1zXCpOdW1SU1NRdWV1ZXMs
ICAgICAgICAgICAgICAgICAgICBUeXBlLCAgICAgICAwLCAiaW50Ig0KPiArSEtSLCBOZGlccGFy
YW1zXCpOdW1SU1NRdWV1ZXMsICAgICAgICAgICAgICAgICAgICBEZWZhdWx0LCAgICAwLCAiOCIN
Cj4gK0hLUiwgTmRpXHBhcmFtc1wqTnVtUlNTUXVldWVzLCAgICAgICAgICAgICAgICAgICAgTWlu
LCAgICAgICAgMCwgIjEiDQo+ICtIS1IsIE5kaVxwYXJhbXNcKk51bVJTU1F1ZXVlcywgICAgICAg
ICAgICAgICAgICAgIE1heCwgICAgICAgIDAsICI4Ig0KPiArDQo+ICAgW1hlbk5ldF9JbnN0LlNl
cnZpY2VzXQ0KPiAgIEFkZFNlcnZpY2U9eGVubmV0LDB4MDIsWGVuTmV0X1NlcnZpY2UsWGVuTmV0
X0V2ZW50TG9nDQo+ICAgDQo+IEBAIC0yMTEsNiArMjE3LDcgQEAgTFNPVjJJUHY2PSJMYXJnZSBT
ZW5kIE9mZmxvYWQgVjIgKElQdjYpIg0KPiAgIExST0lQdjQ9IkxhcmdlIFJlY2VpdmUgT2ZmbG9h
ZCAoSVB2NCkiDQo+ICAgTFJPSVB2Nj0iTGFyZ2UgUmVjZWl2ZSBPZmZsb2FkIChJUHY2KSINCj4g
ICBSU1M9IlJlY2VpdmUgU2lkZSBTY2FsaW5nIg0KPiArTnVtUlNTUXVldWVzPSJNYXhpbXVtIE51
bWJlciBvZiBSU1MgUXVldWVzIg0KPiAgIEhlYWRlckRhdGFTcGxpdD0iSGVhZGVyIERhdGEgU3Bs
aXQiDQo+ICAgRGlzYWJsZWQ9IkRpc2FibGVkIg0KPiAgIEVuYWJsZWQ9IkVuYWJsZWQiDQo+IGRp
ZmYgLS1naXQgYS9zcmMveGVubmV0L2FkYXB0ZXIuYyBiL3NyYy94ZW5uZXQvYWRhcHRlci5jIGlu
ZGV4IA0KPiBlYWEyYzFiLi43YmZkYzRhIDEwMDY0NA0KPiAtLS0gYS9zcmMveGVubmV0L2FkYXB0
ZXIuYw0KPiArKysgYi9zcmMveGVubmV0L2FkYXB0ZXIuYw0KPiBAQCAtNjEsMTcgKzYxLDE4IEBA
IHR5cGVkZWYgc3RydWN0IF9QUk9QRVJUSUVTIHsNCj4gICAgICAgaW50IGxyb3Y0Ow0KPiAgICAg
ICBpbnQgbHJvdjY7DQo+ICAgICAgIGludCByc3M7DQo+ICsgICAgaW50IG51bXJzc3F1ZXVlczsN
Cj4gICB9IFBST1BFUlRJRVMsICpQUFJPUEVSVElFUzsNCj4gICANCj4gICB0eXBlZGVmIHN0cnVj
dCBfWEVOTkVUX1JTUyB7DQo+IC0gICAgQk9PTEVBTiBTdXBwb3J0ZWQ7DQo+IC0gICAgQk9PTEVB
TiBIYXNoRW5hYmxlZDsNCj4gLSAgICBCT09MRUFOIFNjYWxlRW5hYmxlZDsNCj4gLSAgICBVTE9O
RyAgIFR5cGVzOw0KPiAtICAgIFVDSEFSICAgS2V5W05ESVNfUlNTX0hBU0hfU0VDUkVUX0tFWV9N
QVhfU0laRV9SRVZJU0lPTl8xXTsNCj4gLSAgICBVTE9ORyAgIEtleVNpemU7DQo+IC0gICAgQ0NI
QVIgICBUYWJsZVtORElTX1JTU19JTkRJUkVDVElPTl9UQUJMRV9NQVhfU0laRV9SRVZJU0lPTl8x
XTsNCj4gLSAgICBVTE9ORyAgIFRhYmxlU2l6ZTsNCj4gKyAgICBCT09MRUFOICAgICAgICAgICAg
IFN1cHBvcnRlZDsNCj4gKyAgICBCT09MRUFOICAgICAgICAgICAgIEhhc2hFbmFibGVkOw0KPiAr
ICAgIEJPT0xFQU4gICAgICAgICAgICAgU2NhbGVFbmFibGVkOw0KPiArICAgIFVMT05HICAgICAg
ICAgICAgICAgVHlwZXM7DQo+ICsgICAgVUNIQVIgICAgICAgICAgICAgICBLZXlbTkRJU19SU1Nf
SEFTSF9TRUNSRVRfS0VZX01BWF9TSVpFX1JFVklTSU9OXzJdOw0KPiArICAgIFVMT05HICAgICAg
ICAgICAgICAgS2V5U2l6ZTsNCj4gKyAgICBQUk9DRVNTT1JfTlVNQkVSICAgIFRhYmxlW05ESVNf
UlNTX0lORElSRUNUSU9OX1RBQkxFX01BWF9TSVpFX1JFVklTSU9OXzIgLyBzaXplb2YoUFJPQ0VT
U09SX05VTUJFUildOw0KPiArICAgIFVMT05HICAgICAgICAgICAgICAgVGFibGVDb3VudDsNCj4g
ICB9IFhFTk5FVF9SU1MsICpQWEVOTkVUX1JTUzsNCj4gICANCj4gICBzdHJ1Y3QgX1hFTk5FVF9B
REFQVEVSIHsNCj4gQEAgLTg4LDcgKzg5LDcgQEAgc3RydWN0IF9YRU5ORVRfQURBUFRFUiB7DQo+
ICAgDQo+ICAgICAgIE5ESVNfSEFORExFICAgICAgICAgICAgICAgICBOZGlzQWRhcHRlckhhbmRs
ZTsNCj4gICAgICAgTkRJU19IQU5ETEUgICAgICAgICAgICAgICAgIE5kaXNEbWFIYW5kbGU7DQo+
IC0gICAgTkRJU19QTlBfQ0FQQUJJTElUSUVTICAgICAgIENhcGFiaWxpdGllczsNCj4gKyAgICBO
RElTX1BNX0NBUEFCSUxJVElFUyAgICAgICAgQ2FwYWJpbGl0aWVzOw0KPiAgICAgICBORElTX09G
RkxPQUQgICAgICAgICAgICAgICAgT2ZmbG9hZDsNCj4gICAgICAgUFJPUEVSVElFUyAgICAgICAg
ICAgICAgICAgIFByb3BlcnRpZXM7DQo+ICAgICAgIFhFTk5FVF9SU1MgICAgICAgICAgICAgICAg
ICBSc3M7DQo+IEBAIC0xMDgsNiArMTA5LDcgQEAgc3RhdGljIE5ESVNfT0lEIFhlbm5ldFN1cHBv
cnRlZE9pZHNbXSA9DQo+ICAgICAgIE9JRF9HRU5fTUVESUFfU1VQUE9SVEVELA0KPiAgICAgICBP
SURfR0VOX01FRElBX0lOX1VTRSwNCj4gICAgICAgT0lEX0dFTl9QSFlTSUNBTF9NRURJVU0sDQo+
ICsgICAgT0lEX0dFTl9QSFlTSUNBTF9NRURJVU1fRVgsDQo+ICAgICAgIE9JRF9HRU5fQ1VSUkVO
VF9MT09LQUhFQUQsDQo+ICAgICAgIE9JRF9HRU5fTUFYSU1VTV9MT09LQUhFQUQsDQo+ICAgICAg
IE9JRF9HRU5fTUFYSU1VTV9GUkFNRV9TSVpFLA0KPiBAQCAtMTUwLDcgKzE1Miw3IEBAIHN0YXRp
YyBORElTX09JRCBYZW5uZXRTdXBwb3J0ZWRPaWRzW10gPQ0KPiAgICAgICBPSURfODAyXzNfWE1J
VF9NT1JFX0NPTExJU0lPTlMsDQo+ICAgICAgIE9JRF9PRkZMT0FEX0VOQ0FQU1VMQVRJT04sDQo+
ICAgICAgIE9JRF9UQ1BfT0ZGTE9BRF9QQVJBTUVURVJTLA0KPiAtICAgIE9JRF9QTlBfQ0FQQUJJ
TElUSUVTLA0KPiArICAgIE9JRF9QTV9DVVJSRU5UX0NBUEFCSUxJVElFUywNCj4gICAgICAgT0lE
X1BOUF9RVUVSWV9QT1dFUiwNCj4gICAgICAgT0lEX1BOUF9TRVRfUE9XRVIsDQo+ICAgICAgIE9J
RF9HRU5fUkVDRUlWRV9TQ0FMRV9QQVJBTUVURVJTLCBAQCAtNzIxLDE0ICs3MjMsMTIgQEAgDQo+
IEFkYXB0ZXJEaXNhYmxlUlNTSGFzaCgNCj4gICANCj4gICBzdGF0aWMgTkRJU19TVEFUVVMNCj4g
ICBBZGFwdGVyVXBkYXRlUlNTVGFibGUoDQo+IC0gICAgSU4gIFBYRU5ORVRfQURBUFRFUiBBZGFw
dGVyLA0KPiAtICAgIElOICBQQ0NIQVIgICAgICAgICAgVGFibGUsDQo+IC0gICAgSU4gIFVMT05H
ICAgICAgICAgICBUYWJsZVNpemUNCj4gKyAgICBJTiAgUFhFTk5FVF9BREFQVEVSICAgICBBZGFw
dGVyLA0KPiArICAgIElOICBQUFJPQ0VTU09SX05VTUJFUiAgIFRhYmxlLA0KPiArICAgIElOICBV
TE9ORyAgICAgICAgICAgICAgIFRhYmxlU2l6ZQ0KPiAgICAgICApDQo+ICAgew0KPiAtICAgIFBS
T0NFU1NPUl9OVU1CRVIgICAgTWFwcGluZ1tORElTX1JTU19JTkRJUkVDVElPTl9UQUJMRV9NQVhf
U0laRV9SRVZJU0lPTl8xXTsNCj4gLSAgICBVTE9ORyAgICAgICAgICAgICAgIEluZGV4Ow0KPiAt
ICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOw0KPiArICAgIE5UU1RBVFVTICAgICAgICAg
ICAgICAgIHN0YXR1czsNCj4gICANCj4gICAgICAgaWYgKFRhYmxlU2l6ZSA9PSAwKSB7DQo+ICAg
ICAgICAgICBBZGFwdGVyRGlzYWJsZVJTU0hhc2goQWRhcHRlcik7IEBAIC03NDAsMTggKzc0MCwx
MiBAQCANCj4gQWRhcHRlclVwZGF0ZVJTU1RhYmxlKA0KPiAgIA0KPiAgICAgICBSdGxaZXJvTWVt
b3J5KEFkYXB0ZXItPlJzcy5UYWJsZSwgc2l6ZW9mIChBZGFwdGVyLT5Sc3MuVGFibGUpKSA7DQo+
ICAgICAgIFJ0bENvcHlNZW1vcnkoQWRhcHRlci0+UnNzLlRhYmxlLCBUYWJsZSwgVGFibGVTaXpl
KTsNCj4gLSAgICBBZGFwdGVyLT5Sc3MuVGFibGVTaXplID0gVGFibGVTaXplOw0KPiAtDQo+IC0g
ICAgUnRsWmVyb01lbW9yeShNYXBwaW5nLCBzaXplb2YgKE1hcHBpbmcpKTsNCj4gLSAgICBmb3Ig
KEluZGV4ID0gMDsgSW5kZXggPCBUYWJsZVNpemU7IEluZGV4KyspIHsNCj4gLSAgICAgICAgTWFw
cGluZ1tJbmRleF0uR3JvdXAgPSAwOw0KPiAtICAgICAgICBNYXBwaW5nW0luZGV4XS5OdW1iZXIg
PSBUYWJsZVtJbmRleF07DQo+IC0gICAgfQ0KPiArICAgIEFkYXB0ZXItPlJzcy5UYWJsZUNvdW50
ID0gVGFibGVTaXplIC8gc2l6ZW9mKFBST0NFU1NPUl9OVU1CRVIpOw0KPiAgIA0KPiAgICAgICBz
dGF0dXMgPSBYRU5WSUZfVklGKFVwZGF0ZUhhc2hNYXBwaW5nLA0KPiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZBZGFwdGVyLT5WaWZJbnRlcmZhY2UsDQo+IC0gICAgICAgICAgICAgICAgICAg
ICAgICBNYXBwaW5nLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgVGFibGVTaXplKTsNCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgIFRhYmxlLA0KPiArICAgICAgICAgICAgICAgICAgICAg
ICAgQWRhcHRlci0+UnNzLlRhYmxlQ291bnQpOw0KPiAgIA0KPiAgICAgICByZXR1cm4gKE5UX1NV
Q0NFU1Moc3RhdHVzKSkgPyBORElTX1NUQVRVU19TVUNDRVNTIDogTkRJU19TVEFUVVNfSU5WQUxJ
RF9EQVRBOw0KPiAgIH0NCj4gQEAgLTkwMCwxMiArODk0LDEyIEBAIERpc3BsYXlSc3MoDQo+ICAg
ICAgICAgICB9DQo+ICAgICAgIH0NCj4gICANCj4gLSAgICBpZiAoUnNzLT5UYWJsZVNpemUgIT0g
MCkgew0KPiArICAgIGlmIChSc3MtPlRhYmxlQ291bnQgIT0gMCkgew0KPiAgICAgICAgICAgVUxP
TkcgICBJbmRleDsNCj4gICANCj4gICAgICAgICAgIFRyYWNlKCJUYWJsZTpcbiIpOw0KPiAgIA0K
PiAtICAgICAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBSc3MtPlRhYmxlU2l6ZTsgKSB7DQo+
ICsgICAgICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IFJzcy0+VGFibGVDb3VudDsgKSB7DQo+
ICAgICAgICAgICAgICAgQ0hBUiAgICBCdWZmZXJbODBdOw0KPiAgICAgICAgICAgICAgIFNUUklO
RyAgU3RyaW5nOw0KPiAgICAgICAgICAgICAgIFVMT05HICAgQ291bnQ7DQo+IEBAIC05MTYsOCAr
OTEwLDggQEAgRGlzcGxheVJzcygNCj4gICAgICAgICAgICAgICBTdHJpbmcuTGVuZ3RoID0gMDsN
Cj4gICANCj4gICAgICAgICAgICAgICBDb3VudCA9IDg7DQo+IC0gICAgICAgICAgICBpZiAoSW5k
ZXggKyBDb3VudCA+PSBSc3MtPlRhYmxlU2l6ZSkNCj4gLSAgICAgICAgICAgICAgICBDb3VudCA9
IFJzcy0+VGFibGVTaXplIC0gSW5kZXg7DQo+ICsgICAgICAgICAgICBpZiAoSW5kZXggKyBDb3Vu
dCA+PSBSc3MtPlRhYmxlQ291bnQpDQo+ICsgICAgICAgICAgICAgICAgQ291bnQgPSBSc3MtPlRh
YmxlQ291bnQgLSBJbmRleDsNCj4gICANCj4gICAgICAgICAgICAgICAoVk9JRCkgU3RyaW5nUHJp
bnRmKCZTdHJpbmcsICJbJTJ1IC0gJTJ1XTogIiwNCj4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEluZGV4LCBAQCAtOTI4LDggKzkyMiw5IEBAIA0KPiBEaXNwbGF5UnNzKA0KPiAg
ICAgICAgICAgICAgIFN0cmluZy5MZW5ndGggPSAwOw0KPiAgIA0KPiAgICAgICAgICAgICAgIGZv
ciAoQ29sdW1uID0gMDsgQ29sdW1uIDwgQ291bnQ7IENvbHVtbisrLCBJbmRleCsrKSB7DQo+IC0g
ICAgICAgICAgICAgICAgKFZPSUQpIFN0cmluZ1ByaW50ZigmU3RyaW5nLCAiJTAyeCAiLA0KPiAt
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUnNzLT5UYWJsZVtJbmRleF0pOw0K
PiArICAgICAgICAgICAgICAgIChWT0lEKSBTdHJpbmdQcmludGYoJlN0cmluZywgIiUwMng6JTAy
eCAiLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUnNzLT5UYWJsZVtJ
bmRleF0uR3JvdXAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSc3Mt
PlRhYmxlW0luZGV4XS5OdW1iZXIpOw0KPiAgIA0KPiAgICAgICAgICAgICAgICAgICBTdHJpbmcu
QnVmZmVyICs9IFN0cmluZy5MZW5ndGg7DQo+ICAgICAgICAgICAgICAgICAgIFN0cmluZy5NYXhp
bXVtTGVuZ3RoIC09IFN0cmluZy5MZW5ndGg7IEBAIC05NTAsOCANCj4gKzk0NSw4IEBAIEFkYXB0
ZXJHZXRSZWNlaXZlU2NhbGVQYXJhbWV0ZXJzKA0KPiAgICAgICBORElTX1NUQVRVUyAgICAgICAg
ICAgICAgICAgICAgICAgICBuZGlzU3RhdHVzOw0KPiAgIA0KPiAgICAgICBBU1NFUlQzVShQYXJh
bWV0ZXJzLT5IZWFkZXIuVHlwZSwgPT0sIE5ESVNfT0JKRUNUX1RZUEVfUlNTX1BBUkFNRVRFUlMp
Ow0KPiAtICAgIEFTU0VSVDNVKFBhcmFtZXRlcnMtPkhlYWRlci5SZXZpc2lvbiwgPT0sIE5ESVNf
UkVDRUlWRV9TQ0FMRV9QQVJBTUVURVJTX1JFVklTSU9OXzEpOw0KPiAtICAgIEFTU0VSVDNVKFBh
cmFtZXRlcnMtPkhlYWRlci5TaXplLCA+PSwgTkRJU19TSVpFT0ZfUkVDRUlWRV9TQ0FMRV9QQVJB
TUVURVJTX1JFVklTSU9OXzEpOw0KPiArICAgIEFTU0VSVDNVKFBhcmFtZXRlcnMtPkhlYWRlci5S
ZXZpc2lvbiwgPT0sIE5ESVNfUkVDRUlWRV9TQ0FMRV9QQVJBTUVURVJTX1JFVklTSU9OXzIpOw0K
PiArICAgIEFTU0VSVDNVKFBhcmFtZXRlcnMtPkhlYWRlci5TaXplLCA+PSwgDQo+ICsgTkRJU19T
SVpFT0ZfUkVDRUlWRV9TQ0FMRV9QQVJBTUVURVJTX1JFVklTSU9OXzIpOw0KPiAgIA0KPiAgICAg
ICBpZiAoIUFkYXB0ZXItPlJzcy5TdXBwb3J0ZWQpDQo+ICAgICAgICAgICByZXR1cm4gTkRJU19T
VEFUVVNfTk9UX1NVUFBPUlRFRDsgQEAgLTk4NSw3ICs5ODAsNyBAQCANCj4gQWRhcHRlckdldFJl
Y2VpdmVTY2FsZVBhcmFtZXRlcnMoDQo+ICAgDQo+ICAgICAgIGlmICghKFBhcmFtZXRlcnMtPkZs
YWdzICYgTkRJU19SU1NfUEFSQU1fRkxBR19JVEFCTEVfVU5DSEFOR0VEKSkgew0KPiAgICAgICAg
ICAgbmRpc1N0YXR1cyA9IEFkYXB0ZXJVcGRhdGVSU1NUYWJsZShBZGFwdGVyLA0KPiAtICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQQ0NIQVIpUGFyYW1ldGVycyAr
IFBhcmFtZXRlcnMtPkluZGlyZWN0aW9uVGFibGVPZmZzZXQsDQo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgDQo+ICsgKFBQUk9DRVNTT1JfTlVNQkVSKSgoUEND
SEFSKVBhcmFtZXRlcnMgKyANCj4gKyBQYXJhbWV0ZXJzLT5JbmRpcmVjdGlvblRhYmxlT2Zmc2V0
KSwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW1l
dGVycy0+SW5kaXJlY3Rpb25UYWJsZVNpemUpOw0KPiAgICAgICAgICAgaWYgKG5kaXNTdGF0dXMg
IT0gTkRJU19TVEFUVVNfU1VDQ0VTUykNCj4gICAgICAgICAgICAgICBnb3RvIGZhaWw7DQo+IEBA
IC0yMjc3LDcgKzIyNzIsNyBAQCBBZGFwdGVyUXVlcnlJbmZvcm1hdGlvbigNCj4gICAgICAgbmRp
c1N0YXR1cyA9IE5ESVNfU1RBVFVTX1NVQ0NFU1M7DQo+ICAgDQo+ICAgICAgIHN3aXRjaCAoUmVx
dWVzdC0+REFUQS5RVUVSWV9JTkZPUk1BVElPTi5PaWQpIHsNCj4gLSAgICBjYXNlIE9JRF9QTlBf
Q0FQQUJJTElUSUVTOg0KPiArICAgIGNhc2UgT0lEX1BNX0NVUlJFTlRfQ0FQQUJJTElUSUVTOg0K
PiAgICAgICAgICAgQnl0ZXNOZWVkZWQgPSBzaXplb2YoQWRhcHRlci0+Q2FwYWJpbGl0aWVzKTsN
Cj4gICAgICAgICAgIG5kaXNTdGF0dXMgPSBfX0NvcHlCdWZmZXIoQnVmZmVyLA0KPiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJMZW5ndGgsIEBAIC0yOTI2LDYgKzI5
MjEsNyANCj4gQEAgQWRhcHRlckdldEFkdmFuY2VkU2V0dGluZ3MoDQo+ICAgICAgIFJFQURfUFJP
UEVSVFkoQWRhcHRlci0+UHJvcGVydGllcy5scm92NiwgTCJMUk9JUHY2IiwgMSwgSGFuZGxlKTsN
Cj4gICAgICAgUkVBRF9QUk9QRVJUWShBZGFwdGVyLT5Qcm9wZXJ0aWVzLm5lZWRfY3N1bV92YWx1
ZSwgTCJOZWVkQ2hlY2tzdW1WYWx1ZSIsIDEsIEhhbmRsZSk7DQo+ICAgICAgIFJFQURfUFJPUEVS
VFkoQWRhcHRlci0+UHJvcGVydGllcy5yc3MsIEwiKlJTUyIsIDEsIEhhbmRsZSk7DQo+ICsgICAg
UkVBRF9QUk9QRVJUWShBZGFwdGVyLT5Qcm9wZXJ0aWVzLm51bXJzc3F1ZXVlcywgTCIqTnVtUlNT
UXVldWVzIiwgDQo+ICsgOCwgSGFuZGxlKTsNCj4gICANCj4gICAgICAgTmRpc0Nsb3NlQ29uZmln
dXJhdGlvbihIYW5kbGUpOw0KPiAgIA0KPiBAQCAtMjk0OSwxMSArMjk0NSwxMiBAQCBBZGFwdGVy
U2V0UmVnaXN0cmF0aW9uQXR0cmlidXRlcygNCj4gICANCj4gICAgICAgUnRsWmVyb01lbW9yeSgm
QXR0cmlicywgc2l6ZW9mKEF0dHJpYnMpKTsNCj4gICAgICAgQXR0cmlicy5IZWFkZXIuVHlwZSA9
IE5ESVNfT0JKRUNUX1RZUEVfTUlOSVBPUlRfQURBUFRFUl9SRUdJU1RSQVRJT05fQVRUUklCVVRF
UzsNCj4gLSAgICBBdHRyaWJzLkhlYWRlci5SZXZpc2lvbiA9IE5ESVNfTUlOSVBPUlRfQURBUFRF
Ul9SRUdJU1RSQVRJT05fQVRUUklCVVRFU19SRVZJU0lPTl8xOw0KPiAtICAgIEF0dHJpYnMuSGVh
ZGVyLlNpemUgPSBORElTX1NJWkVPRl9NSU5JUE9SVF9BREFQVEVSX1JFR0lTVFJBVElPTl9BVFRS
SUJVVEVTX1JFVklTSU9OXzE7DQo+ICsgICAgQXR0cmlicy5IZWFkZXIuUmV2aXNpb24gPSBORElT
X01JTklQT1JUX0FEQVBURVJfUkVHSVNUUkFUSU9OX0FUVFJJQlVURVNfUkVWSVNJT05fMjsNCj4g
KyAgICBBdHRyaWJzLkhlYWRlci5TaXplID0gDQo+ICsgTkRJU19TSVpFT0ZfTUlOSVBPUlRfQURB
UFRFUl9SRUdJU1RSQVRJT05fQVRUUklCVVRFU19SRVZJU0lPTl8yOw0KPiAgICAgICBBdHRyaWJz
Lk1pbmlwb3J0QWRhcHRlckNvbnRleHQgPSAoTkRJU19IQU5ETEUpQWRhcHRlcjsNCj4gICAgICAg
QXR0cmlicy5BdHRyaWJ1dGVGbGFncyA9IE5ESVNfTUlOSVBPUlRfQVRUUklCVVRFU19CVVNfTUFT
VEVSIHwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkRJU19NSU5JUE9SVF9BVFRS
SUJVVEVTX05PX0hBTFRfT05fU1VTUEVORDsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTkRJU19NSU5JUE9SVF9BVFRSSUJVVEVTX05PX0hBTFRfT05fU1VTUEVORCB8DQo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE5ESVNfTUlOSVBPUlRfQVRUUklCVVRFU19ORElTX1dE
TTsNCj4gICAgICAgQXR0cmlicy5DaGVja0ZvckhhbmdUaW1lSW5TZWNvbmRzID0gMDsNCj4gICAg
ICAgQXR0cmlicy5JbnRlcmZhY2VUeXBlID0gWEVOTkVUX0lOVEVSRkFDRV9UWVBFOw0KPiAgIA0K
PiBAQCAtMjk3Niw4ICsyOTczLDggQEAgQWRhcHRlclNldEdlbmVyYWxBdHRyaWJ1dGVzKA0KPiAg
IA0KPiAgICAgICBSdGxaZXJvTWVtb3J5KCZBdHRyaWJzLCBzaXplb2YoQXR0cmlicykpOw0KPiAg
ICAgICBBdHRyaWJzLkhlYWRlci5UeXBlID0gTkRJU19PQkpFQ1RfVFlQRV9NSU5JUE9SVF9BREFQ
VEVSX0dFTkVSQUxfQVRUUklCVVRFUzsNCj4gLSAgICBBdHRyaWJzLkhlYWRlci5SZXZpc2lvbiA9
IE5ESVNfTUlOSVBPUlRfQURBUFRFUl9HRU5FUkFMX0FUVFJJQlVURVNfUkVWSVNJT05fMTsNCj4g
LSAgICBBdHRyaWJzLkhlYWRlci5TaXplID0gTkRJU19TSVpFT0ZfTUlOSVBPUlRfQURBUFRFUl9H
RU5FUkFMX0FUVFJJQlVURVNfUkVWSVNJT05fMTsNCj4gKyAgICBBdHRyaWJzLkhlYWRlci5SZXZp
c2lvbiA9IE5ESVNfTUlOSVBPUlRfQURBUFRFUl9HRU5FUkFMX0FUVFJJQlVURVNfUkVWSVNJT05f
MjsNCj4gKyAgICBBdHRyaWJzLkhlYWRlci5TaXplID0gDQo+ICsgTkRJU19TSVpFT0ZfTUlOSVBP
UlRfQURBUFRFUl9HRU5FUkFMX0FUVFJJQlVURVNfUkVWSVNJT05fMjsNCj4gICAgICAgQXR0cmli
cy5NZWRpYVR5cGUgPSBYRU5ORVRfTUVESUFfVFlQRTsNCj4gICANCj4gICAgICAgWEVOVklGX1ZJ
RihNYWNRdWVyeU1heGltdW1GcmFtZVNpemUsDQo+IEBAIC0yOTkyLDcgKzI5ODksNyBAQCBBZGFw
dGVyU2V0R2VuZXJhbEF0dHJpYnV0ZXMoDQo+ICAgICAgIEF0dHJpYnMuTWVkaWFDb25uZWN0U3Rh
dGUgPSBNZWRpYUNvbm5lY3RTdGF0ZUNvbm5lY3RlZDsNCj4gICAgICAgQXR0cmlicy5NZWRpYUR1
cGxleFN0YXRlID0gTWVkaWFEdXBsZXhTdGF0ZUZ1bGw7DQo+ICAgICAgIEF0dHJpYnMuTG9va2Fo
ZWFkU2l6ZSA9IEFkYXB0ZXItPk1heGltdW1GcmFtZVNpemU7DQo+IC0gICAgQXR0cmlicy5Qb3dl
ck1hbmFnZW1lbnRDYXBhYmlsaXRpZXMgPSAmQWRhcHRlci0+Q2FwYWJpbGl0aWVzOw0KPiArICAg
IEF0dHJpYnMuUG93ZXJNYW5hZ2VtZW50Q2FwYWJpbGl0aWVzRXggPSAmQWRhcHRlci0+Q2FwYWJp
bGl0aWVzOw0KPiAgICAgICBBdHRyaWJzLk1hY09wdGlvbnMgPSBYRU5ORVRfTUFDX09QVElPTlM7
DQo+ICAgICAgIEF0dHJpYnMuU3VwcG9ydGVkUGFja2V0RmlsdGVycyA9IFhFTk5FVF9TVVBQT1JU
RURfUEFDS0VUX0ZJTFRFUlM7DQo+ICAgICAgIEF0dHJpYnMuTWF4TXVsdGljYXN0TGlzdFNpemUg
PSAzMjsgQEAgLTMwNTQsOCArMzA1MSw4IEBAIA0KPiBBZGFwdGVyU2V0R2VuZXJhbEF0dHJpYnV0
ZXMoDQo+ICAgDQo+ICAgICAgIFJ0bFplcm9NZW1vcnkoJlJzcywgc2l6ZW9mKFJzcykpOw0KPiAg
ICAgICBSc3MuSGVhZGVyLlR5cGUgPSBORElTX09CSkVDVF9UWVBFX1JTU19DQVBBQklMSVRJRVM7
DQo+IC0gICAgUnNzLkhlYWRlci5SZXZpc2lvbiA9IE5ESVNfUkVDRUlWRV9TQ0FMRV9DQVBBQklM
SVRJRVNfUkVWSVNJT05fMTsNCj4gLSAgICBSc3MuSGVhZGVyLlNpemUgPSBORElTX1NJWkVPRl9S
RUNFSVZFX1NDQUxFX0NBUEFCSUxJVElFU19SRVZJU0lPTl8xOw0KPiArICAgIFJzcy5IZWFkZXIu
UmV2aXNpb24gPSBORElTX1JFQ0VJVkVfU0NBTEVfQ0FQQUJJTElUSUVTX1JFVklTSU9OXzI7DQo+
ICsgICAgUnNzLkhlYWRlci5TaXplID0gDQo+ICsgTkRJU19TSVpFT0ZfUkVDRUlWRV9TQ0FMRV9D
QVBBQklMSVRJRVNfUkVWSVNJT05fMjsNCj4gICANCj4gICAgICAgUnNzLkNhcGFiaWxpdGllc0Zs
YWdzID0gTkRJU19SU1NfQ0FQU19NRVNTQUdFX1NJR05BTEVEX0lOVEVSUlVQVFMgfA0KPiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBORElTX1JTU19DQVBTX0NMQVNTSUZJQ0FUSU9OX0FU
X0lTUiB8IEBAIA0KPiAtMzA3Myw2ICszMDcwLDEyIEBAIEFkYXB0ZXJTZXRHZW5lcmFsQXR0cmli
dXRlcygNCj4gICAgICAgICAgICAgICAgICAmUnNzLk51bWJlck9mUmVjZWl2ZVF1ZXVlcyk7DQo+
ICAgICAgIFJzcy5OdW1iZXJPZkludGVycnVwdE1lc3NhZ2VzID0gUnNzLk51bWJlck9mUmVjZWl2
ZVF1ZXVlczsNCj4gICANCj4gKyAgICBpZiAoKFVMT05HKUFkYXB0ZXItPlByb3BlcnRpZXMubnVt
cnNzcXVldWVzIDwgUnNzLk51bWJlck9mUmVjZWl2ZVF1ZXVlcykNCj4gKyAgICAgICAgUnNzLk51
bWJlck9mUmVjZWl2ZVF1ZXVlcyA9IEFkYXB0ZXItPlByb3BlcnRpZXMubnVtcnNzcXVldWVzOw0K
PiArDQo+ICsgICAgUnNzLk51bWJlck9mSW50ZXJydXB0TWVzc2FnZXMgPSBSc3MuTnVtYmVyT2ZS
ZWNlaXZlUXVldWVzOw0KPiArICAgIFJzcy5OdW1iZXJPZkluZGlyZWN0aW9uVGFibGVFbnRyaWVz
ID0gMTI4OyAvLyBXSFFMIHJlcXVpcmVtZW50IA0KPiArIGZvciBORElTIDYuMzANCj4gKw0KPiAg
ICAgICBJbmZvKCIld3M6IFJTUyBFTkFCTEVEICgldSBRVUVVRVMpXG4iLA0KPiAgICAgICAgICAg
IEFkYXB0ZXItPkxvY2F0aW9uLA0KPiAgICAgICAgICAgIFJzcy5OdW1iZXJPZlJlY2VpdmVRdWV1
ZXMpOyBkaWZmIC0tZ2l0IA0KPiBhL3ZzMjAxNS94ZW5uZXQveGVubmV0LnZjeHByb2ogYi92czIw
MTUveGVubmV0L3hlbm5ldC52Y3hwcm9qIGluZGV4IA0KPiAyZDA0YzRlLi5iNjhkNzM0IDEwMDY0
NA0KPiAtLS0gYS92czIwMTUveGVubmV0L3hlbm5ldC52Y3hwcm9qDQo+ICsrKyBiL3ZzMjAxNS94
ZW5uZXQveGVubmV0LnZjeHByb2oNCj4gQEAgLTIyLDcgKzIyLDcgQEANCj4gICAgIDwvUHJvcGVy
dHlHcm91cD4NCj4gICAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPg0KPiAgICAgICA8Q2xDb21waWxl
Pg0KPiAtICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlBST0pFQ1Q9JChQcm9qZWN0TmFt
ZSk7TkRJU19NSU5JUE9SVF9EUklWRVI7TkRJU19XRE09MTtORElTNjFfTUlOSVBPUlQ9MTtQT09M
X05YX09QVElOPTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25z
KTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQo+ICsgICAgICANCj4gKyA8UHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM+UFJPSkVDVD0kKFByb2plY3ROYW1lKTtORElTX01JTklQT1JUX0RSSVZFUg0K
PiArIDtORElTX1dETT0xO05ESVM2MzBfTUlOSVBPUlQ9MTtQT09MX05YX09QVElOPTE7TlRfUFJP
Q0VTU09SX0dST1VQUzslDQo+ICsgKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+DQo+ICAgICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+
JChXaW5kb3dzU2RrRGlyKVxpbmNsdWRlXGttOy4uXC4uXGluY2x1ZGU7Li5cLi5caW5jbHVkZVx4
ZW47PC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KPiAgICAgICAgIDxXYXJuaW5nTGV2
ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4NCj4gICAgICAgICANCj4gPERpc2Fi
bGVTcGVjaWZpY1dhcm5pbmdzPjQ0NjQ7NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1
NDsyODE2MA0KPiA7MjgxOTY7MzAwMzA7MzAwMjk7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8
L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzDQo+ID4gZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5uZXQv
eGVubmV0LnZjeHByb2ogDQo+IGIvdnMyMDE3L3hlbm5ldC94ZW5uZXQudmN4cHJvaiBpbmRleCAw
YzI3MzA0Li4xMzBiMGU2IDEwMDY0NA0KPiAtLS0gYS92czIwMTcveGVubmV0L3hlbm5ldC52Y3hw
cm9qDQo+ICsrKyBiL3ZzMjAxNy94ZW5uZXQveGVubmV0LnZjeHByb2oNCj4gQEAgLTIyLDcgKzIy
LDcgQEANCj4gICAgIDwvUHJvcGVydHlHcm91cD4NCj4gICAgIDxJdGVtRGVmaW5pdGlvbkdyb3Vw
Pg0KPiAgICAgICA8Q2xDb21waWxlPg0KPiAtICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25z
PlBST0pFQ1Q9JChQcm9qZWN0TmFtZSk7TkRJU19NSU5JUE9SVF9EUklWRVI7TkRJU19XRE09MTtO
RElTNjFfTUlOSVBPUlQ9MTtQT09MX05YX09QVElOPTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFBy
ZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQo+ICsgICAg
ICANCj4gKyA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UFJPSkVDVD0kKFByb2plY3ROYW1lKTtO
RElTX01JTklQT1JUX0RSSVZFUg0KPiArIDtORElTX1dETT0xO05ESVM2MzBfTUlOSVBPUlQ9MTtQ
T09MX05YX09QVElOPTE7TlRfUFJPQ0VTU09SX0dST1VQUzslDQo+ICsgKFByZXByb2Nlc3NvckRl
ZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQo+ICAgICAgICAgPEludHJpbnNp
Y0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+DQo+ICAgICAgICAgPEFkZGl0aW9u
YWxJbmNsdWRlRGlyZWN0b3JpZXM+JChXaW5kb3dzU2RrRGlyKVxpbmNsdWRlXGttOy4uXC4uXGlu
Y2x1ZGU7Li5cLi5caW5jbHVkZVx4ZW47PC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0K
PiAgICAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4N
Cj4gZGlmZiAtLWdpdCBhL3ZzMjAxOS94ZW5uZXQveGVubmV0LnZjeHByb2ogDQo+IGIvdnMyMDE5
L3hlbm5ldC94ZW5uZXQudmN4cHJvaiBpbmRleCBkNzlhNjkxLi4xYWQ1NjAxIDEwMDY0NA0KPiAt
LS0gYS92czIwMTkveGVubmV0L3hlbm5ldC52Y3hwcm9qDQo+ICsrKyBiL3ZzMjAxOS94ZW5uZXQv
eGVubmV0LnZjeHByb2oNCj4gQEAgLTIxLDcgKzIxLDcgQEANCj4gICAgIDwvUHJvcGVydHlHcm91
cD4NCj4gICAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPg0KPiAgICAgICA8Q2xDb21waWxlPg0KPiAt
ICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlBST0pFQ1Q9JChQcm9qZWN0TmFtZSk7TkRJ
U19NSU5JUE9SVF9EUklWRVI7TkRJU19XRE09MTtORElTNjFfTUlOSVBPUlQ9MTtQT09MX05YX09Q
VElOPTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM+DQo+ICsgICAgICANCj4gKyA8UHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM+UFJPSkVDVD0kKFByb2plY3ROYW1lKTtORElTX01JTklQT1JUX0RSSVZFUg0KPiArIDtO
RElTX1dETT0xO05ESVM2MzBfTUlOSVBPUlQ9MTtQT09MX05YX09QVElOPTE7TlRfUFJPQ0VTU09S
X0dST1VQUzslDQo+ICsgKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnM+DQo+ICAgICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNG
dW5jdGlvbnM+DQo+ICAgICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChXaW5k
b3dzU2RrRGlyKVxpbmNsdWRlXGttOy4uXC4uXGluY2x1ZGU7Li5cLi5caW5jbHVkZVx4ZW47PC9B
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KPiAgICAgICAgIDxXYXJuaW5nTGV2ZWw+RW5h
YmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4NCj4gDQoNCg0K


From win-pv-devel-bounces@lists.xenproject.org Mon Nov 15 09:32:28 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 Nov 2021 09:32:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.225699.389796 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mmYLj-0006i3-QE; Mon, 15 Nov 2021 09:32:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 225699.389796; Mon, 15 Nov 2021 09:32:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mmYLj-0006hy-NC; Mon, 15 Nov 2021 09:32:27 +0000
Received: by outflank-mailman (input) for mailman id 225699;
 Mon, 15 Nov 2021 09:32:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5gMX=QC=citrix.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1mmYLi-0006Mq-Eq
 for win-pv-devel@lists.xenproject.org; Mon, 15 Nov 2021 09:32:26 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef7deb1a-45f6-11ec-a9d2-d9f7a1cc8784;
 Mon, 15 Nov 2021 10:32:25 +0100 (CET)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef7deb1a-45f6-11ec-a9d2-d9f7a1cc8784
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1636968744;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=pmdHcOSMfysiBo1In9N7wu1anxU2u0dnIbumEm1KT8g=;
  b=TvfKf++Kzzyks9MuBnnbGmbo5AwXo+FcjnNYFFYd56+vob2leeiac6TN
   pJM6UTz4kIKp0Vl2cSPyZYuT1VmblE9K2DMVyko2j6w8Gedoudxl8ehOS
   fjxC3uC4TSYBM1BltG+hko1eCMY0msD/W4qw0upLnyKfPH/sl6JvWhQYK
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: hCmXVHbM2PVLhWIhpaz+ztVgeR4818r+lZh4w4+aXfkCd74qTSiL7TUiSq/JDMdTkzjTUDcD/k
 gjqGDDg/edGxHQWhRQqNvmeih6Vx92dDcfyvCd00BgHpFlOSxv1xKnX2nAgJSH+Xn1ZU2Buprf
 H2kD1JSZZ+xQ2/rIlXOyUJZ0Dw6ILq1YTpP7hxDpES2xOVQD2GjQzQ/RHCrmnB2gyCbzljM2wZ
 Mn9TJebUGLil4EUC2Wy5P91erfvDE/i9du2RX519tRTNRmYoBqqkyecDO49AuPCeemILVHJPn6
 Yi36s3mVUjtLtkMe8ky5lmPd
X-SBRS: 5.1
X-MesageID: 57814146
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:0JGsdK3VoGlAYXbGj/bD5fR2kn2cJEfYwER7XKvMYLTBsI5bp2MOy
 mVODGDVaKuLMzD9fo8ia4uz8xxSupHWn4BqTlBtpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCan8ZqTNMEn970Es6wrNh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhm4F38
 /ZIuYOMQ10YL7zTweQFaDgFOnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1EgdsuKo/wOYIDullrzC3DDOZgSpfGK0nPzYIHjG5s35wQdRrYT
 +ZIYANxXSTGXxNoIXBUBrQ0gcCDmECqJlW0r3rK/PFqsgA/1jdZz7nrdcLLP9CHW8hRtkKZv
 X7duXT0BAkAM96SwibD9Wij7tIjhguiBthUTufhsKc33hvDnQT/FSH6S3O/8P+CqUuyRO5Vc
 X0F6zV3rbAJ1RGCG4yVswKDnFaIuRsVWtx1GuI86R2Qxqe83zt1FlToXRYaNoV46ZZeqSgCk
 wbQwoi3XWAHXKi9ECrFrt+pQSWO1T/5xIPoTQsNVkM77tbqu+nfZTqfH484QMZZYjAYcAwcI
 gxmTgBj393/buZRjs1XGGwrZBr2+fD0ovYdvFm/Y45cxloRiHSZT4Kp80PHyv1LMZyUSFKM1
 FBdxZPAvblSU8zRynDRKAnoIF1Pz6zfWNE7qQQwd6TNChz3oyLzFWyuyGwWyLhV3jYsJmayP
 R67VfJ5755PJnq6BZKbkKrqY/nGOZPITIy/PtiNN4ImSsEoKGevoXE/DWbNjjuFuBV9zskC1
 WKzLJ/E4YAyUv88klJbho41jNcW+8zJ7T+JGM2gkU34ieH2ibz8Ye5tDWZip9sRtMusyDg5O
 f4GXydT4xkAAuD4fAfN9osfcQIDIXQhXMikoM1LbO+TZAFhHTh5WfPWxLogfa1jnrhUybiUr
 i3sBBcAxQqtn2DDJCWLdmtnNOHlU6FgoC9pJicrJ1uphSQuON798KcFepIrVrA77+g/n+VsR
 vwIdpzYUPRCQzjK4RoHapz5oNAwfRinn1vWbSGkfCI+b9hrQAmQoo3oeQ7m9S8vCCurtJRh/
 +38h12DGZdaHlZsFsfbbv6r3midh3lFlbIgRVbML/lSZF7orNpgJRvug6JlOMoLMxjCmGeXj
 l7EHRcCqODRiIYp692V17ucpoKkHuYiTEpXG27XseS/OSXApzfxxIZBVKCDfCzHVXOy86KnP
 L0Hw/b5OfwBvVBLr4sjTOo7kfNgv4Pi9+1A0wBpPHTXdFD6WLpvL06P0dRLqqAQlKRSvhG7W
 x7X99RXUVlT1BgJzLLFyNIZU9m+
IronPort-HdrOrdr: A9a23:nQd66aE++AWagfjBpLqE4seALOsnbusQ8zAXP0AYc3Nom6uj5q
 WTdZUgpHjJYVkqOU3I9ersBEDiewK/yXcW2+ks1N6ZNWGM0ldARLsSibcKqAePJ8SRzIJgPN
 9bAstDNOE=
X-IronPort-AV: E=Sophos;i="5.87,236,1631592000"; 
   d="scan'208";a="57814146"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 2/4] Update to NDIS 6.30
Date: Mon, 15 Nov 2021 09:32:14 +0000
Message-ID: <20211115093214.154-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.33.0.windows.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

NDIS 6.30 was introduced in Server 2012. Update XenNet to use the NDIS 6.30
interfaces, including internal changes required by NDIS 6.30. Any new features
introduced in NDIS 6.30 are not implemented, only changes required to complete
the NDIS version update.
- Updates structure header versions and sizes as required
- Changes the indirection table from CPU index to PROCESSOR_NUMBER array, note
  that XenNet handled a conversion from index to PROCESSOR_NUMBER before passing
  to XenVif. Renames TableSize to TableCount for clarity.
- Adds a new INF property 'NumRSSQueues', which limits the number of RSS queues.
  This is a WHQL test requirement (NDIS 6.5 StandardizedKeywords)
- Fixes "NDIS 6.5 GlitchFreeDevice" test by correctly reporting XenNet uses a
  WDM lower edge.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xennet.inf               |  7 +++
 src/xennet/adapter.c         | 89 +++++++++++++++++++-----------------
 vs2015/xennet/xennet.vcxproj |  2 +-
 vs2017/xennet/xennet.vcxproj |  2 +-
 vs2019/xennet/xennet.vcxproj |  2 +-
 5 files changed, 56 insertions(+), 46 deletions(-)

diff --git a/src/xennet.inf b/src/xennet.inf
index b36b1e3..f93acba 100644
--- a/src/xennet.inf
+++ b/src/xennet.inf
@@ -166,6 +166,12 @@ HKR, Ndi\params\*RSS,                             Optional,   0, "0"
 HKR, Ndi\params\*RSS\enum,                        "0",        0, %Disabled%
 HKR, Ndi\params\*RSS\enum,                        "1",        0, %Enabled%
 
+HKR, Ndi\params\*NumRSSQueues,                    ParamDesc,  0, %NumRSSQueues%
+HKR, Ndi\params\*NumRSSQueues,                    Type,       0, "int"
+HKR, Ndi\params\*NumRSSQueues,                    Default,    0, "8"
+HKR, Ndi\params\*NumRSSQueues,                    Min,        0, "1"
+HKR, Ndi\params\*NumRSSQueues,                    Max,        0, "8"
+
 [XenNet_Inst.Services] 
 AddService=xennet,0x02,XenNet_Service,XenNet_EventLog
 
@@ -211,6 +217,7 @@ LSOV2IPv6="Large Send Offload V2 (IPv6)"
 LROIPv4="Large Receive Offload (IPv4)"
 LROIPv6="Large Receive Offload (IPv6)"
 RSS="Receive Side Scaling"
+NumRSSQueues="Maximum Number of RSS Queues"
 HeaderDataSplit="Header Data Split"
 Disabled="Disabled"
 Enabled="Enabled"
diff --git a/src/xennet/adapter.c b/src/xennet/adapter.c
index eaa2c1b..7bfdc4a 100644
--- a/src/xennet/adapter.c
+++ b/src/xennet/adapter.c
@@ -61,17 +61,18 @@ typedef struct _PROPERTIES {
     int lrov4;
     int lrov6;
     int rss;
+    int numrssqueues;
 } PROPERTIES, *PPROPERTIES;
 
 typedef struct _XENNET_RSS {
-    BOOLEAN Supported;
-    BOOLEAN HashEnabled;
-    BOOLEAN ScaleEnabled;
-    ULONG   Types;
-    UCHAR   Key[NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_1];
-    ULONG   KeySize;
-    CCHAR   Table[NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_1];
-    ULONG   TableSize;
+    BOOLEAN             Supported;
+    BOOLEAN             HashEnabled;
+    BOOLEAN             ScaleEnabled;
+    ULONG               Types;
+    UCHAR               Key[NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_2];
+    ULONG               KeySize;
+    PROCESSOR_NUMBER    Table[NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_2 / sizeof(PROCESSOR_NUMBER)];
+    ULONG               TableCount;
 } XENNET_RSS, *PXENNET_RSS;
 
 struct _XENNET_ADAPTER {
@@ -88,7 +89,7 @@ struct _XENNET_ADAPTER {
 
     NDIS_HANDLE                 NdisAdapterHandle;
     NDIS_HANDLE                 NdisDmaHandle;
-    NDIS_PNP_CAPABILITIES       Capabilities;
+    NDIS_PM_CAPABILITIES        Capabilities;
     NDIS_OFFLOAD                Offload;
     PROPERTIES                  Properties;
     XENNET_RSS                  Rss;
@@ -108,6 +109,7 @@ static NDIS_OID XennetSupportedOids[] =
     OID_GEN_MEDIA_SUPPORTED,
     OID_GEN_MEDIA_IN_USE,
     OID_GEN_PHYSICAL_MEDIUM,
+    OID_GEN_PHYSICAL_MEDIUM_EX,
     OID_GEN_CURRENT_LOOKAHEAD,
     OID_GEN_MAXIMUM_LOOKAHEAD,
     OID_GEN_MAXIMUM_FRAME_SIZE,
@@ -150,7 +152,7 @@ static NDIS_OID XennetSupportedOids[] =
     OID_802_3_XMIT_MORE_COLLISIONS,
     OID_OFFLOAD_ENCAPSULATION,
     OID_TCP_OFFLOAD_PARAMETERS,
-    OID_PNP_CAPABILITIES,
+    OID_PM_CURRENT_CAPABILITIES,
     OID_PNP_QUERY_POWER,
     OID_PNP_SET_POWER,
     OID_GEN_RECEIVE_SCALE_PARAMETERS,
@@ -721,14 +723,12 @@ AdapterDisableRSSHash(
 
 static NDIS_STATUS
 AdapterUpdateRSSTable(
-    IN  PXENNET_ADAPTER Adapter,
-    IN  PCCHAR          Table,
-    IN  ULONG           TableSize
+    IN  PXENNET_ADAPTER     Adapter,
+    IN  PPROCESSOR_NUMBER   Table,
+    IN  ULONG               TableSize
     )
 {
-    PROCESSOR_NUMBER    Mapping[NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_1];
-    ULONG               Index;
-    NTSTATUS            status;
+    NTSTATUS                status;
 
     if (TableSize == 0) {
         AdapterDisableRSSHash(Adapter);
@@ -740,18 +740,12 @@ AdapterUpdateRSSTable(
 
     RtlZeroMemory(Adapter->Rss.Table, sizeof (Adapter->Rss.Table)) ;
     RtlCopyMemory(Adapter->Rss.Table, Table, TableSize);
-    Adapter->Rss.TableSize = TableSize;
-
-    RtlZeroMemory(Mapping, sizeof (Mapping));
-    for (Index = 0; Index < TableSize; Index++) {
-        Mapping[Index].Group = 0;
-        Mapping[Index].Number = Table[Index];
-    }
+    Adapter->Rss.TableCount = TableSize / sizeof(PROCESSOR_NUMBER);
 
     status = XENVIF_VIF(UpdateHashMapping,
                         &Adapter->VifInterface,
-                        Mapping,
-                        TableSize);
+                        Table,
+                        Adapter->Rss.TableCount);
 
     return (NT_SUCCESS(status)) ? NDIS_STATUS_SUCCESS : NDIS_STATUS_INVALID_DATA;
 }
@@ -900,12 +894,12 @@ DisplayRss(
         }
     }
 
-    if (Rss->TableSize != 0) {
+    if (Rss->TableCount != 0) {
         ULONG   Index;
 
         Trace("Table:\n");
 
-        for (Index = 0; Index < Rss->TableSize; ) {
+        for (Index = 0; Index < Rss->TableCount; ) {
             CHAR    Buffer[80];
             STRING  String;
             ULONG   Count;
@@ -916,8 +910,8 @@ DisplayRss(
             String.Length = 0;
 
             Count = 8;
-            if (Index + Count >= Rss->TableSize)
-                Count = Rss->TableSize - Index;
+            if (Index + Count >= Rss->TableCount)
+                Count = Rss->TableCount - Index;
 
             (VOID) StringPrintf(&String, "[%2u - %2u]: ",
                                 Index,
@@ -928,8 +922,9 @@ DisplayRss(
             String.Length = 0;
 
             for (Column = 0; Column < Count; Column++, Index++) {
-                (VOID) StringPrintf(&String, "%02x ",
-                                    Rss->Table[Index]);
+                (VOID) StringPrintf(&String, "%02x:%02x ",
+                                    Rss->Table[Index].Group,
+                                    Rss->Table[Index].Number);
 
                 String.Buffer += String.Length;
                 String.MaximumLength -= String.Length;
@@ -950,8 +945,8 @@ AdapterGetReceiveScaleParameters(
     NDIS_STATUS                         ndisStatus;
 
     ASSERT3U(Parameters->Header.Type, ==, NDIS_OBJECT_TYPE_RSS_PARAMETERS);
-    ASSERT3U(Parameters->Header.Revision, ==, NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_1);
-    ASSERT3U(Parameters->Header.Size, >=, NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_1);
+    ASSERT3U(Parameters->Header.Revision, ==, NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_2);
+    ASSERT3U(Parameters->Header.Size, >=, NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2);
 
     if (!Adapter->Rss.Supported)
         return NDIS_STATUS_NOT_SUPPORTED;
@@ -985,7 +980,7 @@ AdapterGetReceiveScaleParameters(
 
     if (!(Parameters->Flags & NDIS_RSS_PARAM_FLAG_ITABLE_UNCHANGED)) {
         ndisStatus = AdapterUpdateRSSTable(Adapter,
-                                           (PCCHAR)Parameters + Parameters->IndirectionTableOffset,
+                                           (PPROCESSOR_NUMBER)((PCCHAR)Parameters + Parameters->IndirectionTableOffset),
                                            Parameters->IndirectionTableSize);
         if (ndisStatus != NDIS_STATUS_SUCCESS)
             goto fail;
@@ -2277,7 +2272,7 @@ AdapterQueryInformation(
     ndisStatus = NDIS_STATUS_SUCCESS;
 
     switch (Request->DATA.QUERY_INFORMATION.Oid) {
-    case OID_PNP_CAPABILITIES:
+    case OID_PM_CURRENT_CAPABILITIES:
         BytesNeeded = sizeof(Adapter->Capabilities);
         ndisStatus = __CopyBuffer(Buffer,
                                   BufferLength,
@@ -2926,6 +2921,7 @@ AdapterGetAdvancedSettings(
     READ_PROPERTY(Adapter->Properties.lrov6, L"LROIPv6", 1, Handle);
     READ_PROPERTY(Adapter->Properties.need_csum_value, L"NeedChecksumValue", 1, Handle);
     READ_PROPERTY(Adapter->Properties.rss, L"*RSS", 1, Handle);
+    READ_PROPERTY(Adapter->Properties.numrssqueues, L"*NumRSSQueues", 8, Handle);
 
     NdisCloseConfiguration(Handle);
 
@@ -2949,11 +2945,12 @@ AdapterSetRegistrationAttributes(
 
     RtlZeroMemory(&Attribs, sizeof(Attribs));
     Attribs.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;
-    Attribs.Header.Revision = NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1;
-    Attribs.Header.Size = NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1;
+    Attribs.Header.Revision = NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2;
+    Attribs.Header.Size = NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2;
     Attribs.MiniportAdapterContext = (NDIS_HANDLE)Adapter;
     Attribs.AttributeFlags = NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER |
-                             NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND;
+                             NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND |
+                             NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM;
     Attribs.CheckForHangTimeInSeconds = 0;
     Attribs.InterfaceType = XENNET_INTERFACE_TYPE;
 
@@ -2976,8 +2973,8 @@ AdapterSetGeneralAttributes(
 
     RtlZeroMemory(&Attribs, sizeof(Attribs));
     Attribs.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES;
-    Attribs.Header.Revision = NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_1;
-    Attribs.Header.Size = NDIS_SIZEOF_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_1;
+    Attribs.Header.Revision = NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_2;
+    Attribs.Header.Size = NDIS_SIZEOF_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_2;
     Attribs.MediaType = XENNET_MEDIA_TYPE;
 
     XENVIF_VIF(MacQueryMaximumFrameSize,
@@ -2992,7 +2989,7 @@ AdapterSetGeneralAttributes(
     Attribs.MediaConnectState = MediaConnectStateConnected;
     Attribs.MediaDuplexState = MediaDuplexStateFull;
     Attribs.LookaheadSize = Adapter->MaximumFrameSize;
-    Attribs.PowerManagementCapabilities = &Adapter->Capabilities;
+    Attribs.PowerManagementCapabilitiesEx = &Adapter->Capabilities;
     Attribs.MacOptions = XENNET_MAC_OPTIONS;
     Attribs.SupportedPacketFilters = XENNET_SUPPORTED_PACKET_FILTERS;
     Attribs.MaxMulticastListSize = 32;
@@ -3054,8 +3051,8 @@ AdapterSetGeneralAttributes(
 
     RtlZeroMemory(&Rss, sizeof(Rss));
     Rss.Header.Type = NDIS_OBJECT_TYPE_RSS_CAPABILITIES;
-    Rss.Header.Revision = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_1;
-    Rss.Header.Size = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_1;
+    Rss.Header.Revision = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
+    Rss.Header.Size = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
 
     Rss.CapabilitiesFlags = NDIS_RSS_CAPS_MESSAGE_SIGNALED_INTERRUPTS |
                             NDIS_RSS_CAPS_CLASSIFICATION_AT_ISR |
@@ -3073,6 +3070,12 @@ AdapterSetGeneralAttributes(
                &Rss.NumberOfReceiveQueues);
     Rss.NumberOfInterruptMessages = Rss.NumberOfReceiveQueues;
 
+    if ((ULONG)Adapter->Properties.numrssqueues < Rss.NumberOfReceiveQueues)
+        Rss.NumberOfReceiveQueues = Adapter->Properties.numrssqueues;
+
+    Rss.NumberOfInterruptMessages = Rss.NumberOfReceiveQueues;
+    Rss.NumberOfIndirectionTableEntries = 128; // WHQL requirement for NDIS 6.30
+
     Info("%ws: RSS ENABLED (%u QUEUES)\n",
          Adapter->Location,
          Rss.NumberOfReceiveQueues);
diff --git a/vs2015/xennet/xennet.vcxproj b/vs2015/xennet/xennet.vcxproj
index 2d04c4e..b68d734 100644
--- a/vs2015/xennet/xennet.vcxproj
+++ b/vs2015/xennet/xennet.vcxproj
@@ -22,7 +22,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS61_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
       <WarningLevel>EnableAllWarnings</WarningLevel>
       <DisableSpecificWarnings>4464;4711;4548;4820;4668;4255;6001;6054;28160;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
diff --git a/vs2017/xennet/xennet.vcxproj b/vs2017/xennet/xennet.vcxproj
index 0c27304..130b0e6 100644
--- a/vs2017/xennet/xennet.vcxproj
+++ b/vs2017/xennet/xennet.vcxproj
@@ -22,7 +22,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS61_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
       <WarningLevel>EnableAllWarnings</WarningLevel>
diff --git a/vs2019/xennet/xennet.vcxproj b/vs2019/xennet/xennet.vcxproj
index d79a691..1ad5601 100644
--- a/vs2019/xennet/xennet.vcxproj
+++ b/vs2019/xennet/xennet.vcxproj
@@ -21,7 +21,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
-      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS61_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
       <WarningLevel>EnableAllWarnings</WarningLevel>
-- 
2.33.0.windows.2



From win-pv-devel-bounces@lists.xenproject.org Fri Nov 19 11:32:42 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Nov 2021 11:32:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.227774.394082 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mo28H-0006BV-3t; Fri, 19 Nov 2021 11:32:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 227774.394082; Fri, 19 Nov 2021 11:32:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mo28G-0006BK-VU; Fri, 19 Nov 2021 11:32:40 +0000
Received: by outflank-mailman (input) for mailman id 227774;
 Fri, 19 Nov 2021 11:32:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul@xen.org>) id 1mo28F-0006Ap-Dj
 for win-pv-devel@lists.xenproject.org; Fri, 19 Nov 2021 11:32:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul@xen.org>)
 id 1mo28F-0006By-C1; Fri, 19 Nov 2021 11:32:39 +0000
Received: from host86-165-42-146.range86-165.btcentralplus.com
 ([86.165.42.146] helo=CBG-R90WXYV0.home)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <paul@xen.org>)
 id 1mo28F-0004oA-3r; Fri, 19 Nov 2021 11:32:39 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	 bh=fk20MAn1+v5FVJ+EoizZc3EjbEOSQioyDxCzJG1RVvI=; b=mXDm2WymSewL/70CN9U0uXyjz
	vlxooEcr8Zuv+IAkJ57R808IPxapkeOcl5ttRH00rwCt/YJoRpxknckS7CqlzF3yrRgma0c7AMJl6
	VUigz7mObDVekLagSdsj5GtV9VqAY35aI+YxZXXVPQ2Ndr0XfTNDb4YiSpMeD3ODROghY=;
From: Paul Durrant <paul@xen.org>
To: win-pv-devel@lists.xenproject.org
Cc: Paul Durrant <pdurrant@amazon.com>
Subject: [PATCH xenbus 2/4] Separate the code that creates and destroys the memory hole...
Date: Fri, 19 Nov 2021 11:32:33 +0000
Message-Id: <20211119113235.3294-2-paul@xen.org>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20211119113235.3294-1-paul@xen.org>
References: <20211119113235.3294-1-paul@xen.org>

From: Paul Durrant <pdurrant@amazon.com>

... into sub-functions called from FdoCreateHole() and FdoDestroyHole().

This is in preparation for a subsequent patch that will introduce an
alternative hole type.

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
---
 src/xenbus/fdo.c | 124 +++++++++++++++++++++++++++++------------------
 1 file changed, 76 insertions(+), 48 deletions(-)

diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c
index be54167fee7d..d7dc8f722107 100644
--- a/src/xenbus/fdo.c
+++ b/src/xenbus/fdo.c
@@ -92,6 +92,7 @@ typedef struct _XENBUS_VIRQ {
 
 typedef struct _XENBUS_HOLE {
     PXENBUS_RANGE_SET               RangeSet;
+    ULONG                           Count;
     PVOID                           VirtualAddress;
     PHYSICAL_ADDRESS                PhysicalAddress;
 } XENBUS_HOLE, *PXENBUS_HOLE;
@@ -3209,17 +3210,80 @@ FdoSuspendCallbackLate(
     ASSERT(NT_SUCCESS(status));
 }
 
-static NTSTATUS
-FdoCreateHole(
+static FORCEINLINE NTSTATUS
+__FdoCreateMemoryHole(
     IN  PXENBUS_FDO Fdo
     )
 {
     PXENBUS_HOLE    Hole = &Fdo->Hole;
     PMDL            Mdl;
     PFN_NUMBER      Pfn;
-    ULONG           Count;
     NTSTATUS        status;
 
+    Mdl = Fdo->Mdl;
+    Hole->VirtualAddress = MmGetSystemAddressForMdlSafe(Mdl, NormalPagePriority);
+
+    Pfn = MmGetMdlPfnArray(Mdl)[0];
+    Hole->PhysicalAddress.QuadPart = (ULONGLONG)Pfn << PAGE_SHIFT;
+
+    Hole->Count = BYTES_TO_PAGES(Mdl->ByteCount);
+    ASSERT3U(Hole->Count, ==, 1u << PAGE_ORDER_2M);
+
+    status = STATUS_UNSUCCESSFUL;
+    if (MemoryDecreaseReservation(PAGE_ORDER_2M, 1, &Pfn) != 1)
+        goto fail1;
+
+    return STATUS_SUCCESS;
+
+fail1:
+    Error("fail1 (%08x)\n", status);
+
+    Hole->Count = 0;
+    Hole->PhysicalAddress.QuadPart = 0;
+    Hole->VirtualAddress = NULL;
+
+    return status;
+}
+
+static FORCEINLINE VOID
+__FdoDestroyMemoryHole(
+    IN  PXENBUS_FDO Fdo
+    )
+{
+    PXENBUS_HOLE    Hole = &Fdo->Hole;
+    PMDL            Mdl;
+    PFN_NUMBER      Pfn;
+    ULONG           Index;
+
+    Mdl = Fdo->Mdl;
+    Pfn = MmGetMdlPfnArray(Mdl)[0];
+
+    ASSERT3U(Hole->Count, ==, 1u << PAGE_ORDER_2M);
+    if (MemoryPopulatePhysmap(PAGE_ORDER_2M, 1, &Pfn) == 1)
+        goto done;
+
+    for (Index = 0; Index < Hole->Count; Index++) {
+        if (MemoryPopulatePhysmap(PAGE_ORDER_4K, 1, &Pfn) != 1)
+            BUG("FAILED TO RE-POPULATE HOLE");
+
+        Pfn++;
+    }
+
+done:
+    Hole->Count = 0;
+    Hole->PhysicalAddress.QuadPart = 0;
+    Hole->VirtualAddress = NULL;
+}
+
+static NTSTATUS
+FdoCreateHole(
+    IN  PXENBUS_FDO     Fdo
+    )
+{
+    PXENBUS_HOLE        Hole = &Fdo->Hole;
+    PFN_NUMBER          Pfn;
+    NTSTATUS            status;
+
     status = XENBUS_RANGE_SET(Create,
                               &Fdo->RangeSetInterface,
                               "hole",
@@ -3227,46 +3291,31 @@ FdoCreateHole(
     if (!NT_SUCCESS(status))
         goto fail1;
 
-    Mdl = Fdo->Mdl;
-    Hole->VirtualAddress = MmGetSystemAddressForMdlSafe(Mdl, NormalPagePriority);
-
-    Pfn = MmGetMdlPfnArray(Mdl)[0];
-    Hole->PhysicalAddress.QuadPart = (ULONGLONG)Pfn << PAGE_SHIFT;
-
-    Count = BYTES_TO_PAGES(Mdl->ByteCount);
-    ASSERT3U(Count, ==, 1u << PAGE_ORDER_2M);
+    status = __FdoCreateMemoryHole(Fdo);
+    if (!NT_SUCCESS(status))
+        goto fail2;
 
     status = XENBUS_RANGE_SET(Put,
                               &Fdo->RangeSetInterface,
                               Hole->RangeSet,
                               0,
-                              Count);
+                              Hole->Count);
     if (!NT_SUCCESS(status))
-        goto fail2;
-
-    status = STATUS_UNSUCCESSFUL;
-    if (MemoryDecreaseReservation(PAGE_ORDER_2M, 1, &Pfn) != 1)
         goto fail3;
 
-    Info("%08x - %08x\n", Pfn, Pfn + Count - 1);
+    Pfn = (PFN_NUMBER)(Hole->PhysicalAddress.QuadPart >> PAGE_SHIFT);
+    Info("%08x - %08x\n", Pfn, Pfn + Hole->Count - 1);
 
     return STATUS_SUCCESS;
 
 fail3:
     Error("fail3\n");
 
-    XENBUS_RANGE_SET(Get,
-                     &Fdo->RangeSetInterface,
-                     Hole->RangeSet,
-                     0,
-                     Count);
+    __FdoDestroyMemoryHole(Fdo);
 
 fail2:
     Error("fail2\n");
 
-    Hole->PhysicalAddress.QuadPart = 0;
-    Hole->VirtualAddress = NULL;
-
     XENBUS_RANGE_SET(Destroy,
                      &Fdo->RangeSetInterface,
                      Hole->RangeSet);
@@ -3342,37 +3391,16 @@ FdoDestroyHole(
     )
 {
     PXENBUS_HOLE    Hole = &Fdo->Hole;
-    PMDL            Mdl;
-    PFN_NUMBER      Pfn;
-    ULONG           Count;
-    ULONG           Index;
     NTSTATUS        status;
 
-    Mdl = Fdo->Mdl;
-    Pfn = MmGetMdlPfnArray(Mdl)[0];
-    Count = BYTES_TO_PAGES(Mdl->ByteCount);
-    ASSERT3U(Count, ==, 1u << PAGE_ORDER_2M);
-
-    if (MemoryPopulatePhysmap(PAGE_ORDER_2M, 1, &Pfn) == 1)
-        goto done;
-
-    for (Index = 0; Index < Count; Index++) {
-        if (MemoryPopulatePhysmap(PAGE_ORDER_4K, 1, &Pfn) != 1)
-            BUG("FAILED TO RE-POPULATE HOLE");
-
-        Pfn++;
-    }
-
-done:
     status = XENBUS_RANGE_SET(Get,
                               &Fdo->RangeSetInterface,
                               Hole->RangeSet,
                               0,
-                              Count);
+                              Hole->Count);
     ASSERT(NT_SUCCESS(status));
 
-    Hole->PhysicalAddress.QuadPart = 0;
-    Hole->VirtualAddress = NULL;
+    __FdoDestroyMemoryHole(Fdo);
 
     XENBUS_RANGE_SET(Destroy,
                      &Fdo->RangeSetInterface,
-- 
2.17.1



From win-pv-devel-bounces@lists.xenproject.org Fri Nov 19 11:32:42 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Nov 2021 11:32:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.227773.394081 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mo28H-0006BF-1c; Fri, 19 Nov 2021 11:32:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 227773.394081; Fri, 19 Nov 2021 11:32:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mo28G-0006B7-Tv; Fri, 19 Nov 2021 11:32:40 +0000
Received: by outflank-mailman (input) for mailman id 227773;
 Fri, 19 Nov 2021 11:32:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul@xen.org>) id 1mo28E-0006Aj-SI
 for win-pv-devel@lists.xenproject.org; Fri, 19 Nov 2021 11:32:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul@xen.org>)
 id 1mo28E-0006Bs-OL; Fri, 19 Nov 2021 11:32:38 +0000
Received: from host86-165-42-146.range86-165.btcentralplus.com
 ([86.165.42.146] helo=CBG-R90WXYV0.home)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <paul@xen.org>)
 id 1mo28E-0004oA-GG; Fri, 19 Nov 2021 11:32:38 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Message-Id:Date:Subject:Cc:To:From;
	bh=YS6H2VDNY1uPq2TdWlrMONSkKTutk+HMFsMCwMLsTq4=; b=Z29WWqsw8cOyIbb2Y6Rk9VskGy
	W8yX9rZRhisC0PLvtpqGnSyB6jqiPK7rluFPW4xQjtlE04hJ4rabfaCdHC8Zk80q+xFZTN/NhSDx9
	zi0HQ+V7k0GLGUe0keKKOHT4/ArCyf+k70OqAqEhXV+LQEUP+8GFsXWiNEzgyuX3bjCk=;
From: Paul Durrant <paul@xen.org>
To: win-pv-devel@lists.xenproject.org
Cc: Paul Durrant <pdurrant@amazon.com>
Subject: [PATCH xenbus 1/4] Separate parameters associated with the memory hole from XENBUS_FDO...
Date: Fri, 19 Nov 2021 11:32:32 +0000
Message-Id: <20211119113235.3294-1-paul@xen.org>
X-Mailer: git-send-email 2.17.1

From: Paul Durrant <pdurrant@amazon.com>

... into a new XENBUS_HOLE structure.

Also, zero-base the range set used in the allocator. It actually makes the
code more complicated to have the range based on the first PFN of the hole.

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
---
 src/xenbus/fdo.c | 111 +++++++++++++++++++++++++----------------------
 1 file changed, 58 insertions(+), 53 deletions(-)

diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c
index 05a069432790..be54167fee7d 100644
--- a/src/xenbus/fdo.c
+++ b/src/xenbus/fdo.c
@@ -90,6 +90,12 @@ typedef struct _XENBUS_VIRQ {
     ULONG                   Count;
 } XENBUS_VIRQ, *PXENBUS_VIRQ;
 
+typedef struct _XENBUS_HOLE {
+    PXENBUS_RANGE_SET               RangeSet;
+    PVOID                           VirtualAddress;
+    PHYSICAL_ADDRESS                PhysicalAddress;
+} XENBUS_HOLE, *PXENBUS_HOLE;
+
 struct _XENBUS_FDO {
     PXENBUS_DX                      Dx;
     PDEVICE_OBJECT                  LowerDeviceObject;
@@ -148,9 +154,8 @@ struct _XENBUS_FDO {
     XENBUS_RANGE_SET_INTERFACE      RangeSetInterface;
     XENBUS_BALLOON_INTERFACE        BalloonInterface;
 
-    PUCHAR                          Buffer;
     PMDL                            Mdl;
-    PXENBUS_RANGE_SET               RangeSet;
+    XENBUS_HOLE                     Hole;
     LIST_ENTRY                      InterruptList;
 
     LIST_ENTRY                      VirqList;
@@ -3209,30 +3214,32 @@ FdoCreateHole(
     IN  PXENBUS_FDO Fdo
     )
 {
+    PXENBUS_HOLE    Hole = &Fdo->Hole;
     PMDL            Mdl;
     PFN_NUMBER      Pfn;
-    LONGLONG        Start;
     ULONG           Count;
     NTSTATUS        status;
 
     status = XENBUS_RANGE_SET(Create,
                               &Fdo->RangeSetInterface,
                               "hole",
-                              &Fdo->RangeSet);
+                              &Hole->RangeSet);
     if (!NT_SUCCESS(status))
         goto fail1;
 
     Mdl = Fdo->Mdl;
+    Hole->VirtualAddress = MmGetSystemAddressForMdlSafe(Mdl, NormalPagePriority);
 
     Pfn = MmGetMdlPfnArray(Mdl)[0];
+    Hole->PhysicalAddress.QuadPart = (ULONGLONG)Pfn << PAGE_SHIFT;
 
-    Start = Pfn;
     Count = BYTES_TO_PAGES(Mdl->ByteCount);
+    ASSERT3U(Count, ==, 1u << PAGE_ORDER_2M);
 
     status = XENBUS_RANGE_SET(Put,
                               &Fdo->RangeSetInterface,
-                              Fdo->RangeSet,
-                              Start,
+                              Hole->RangeSet,
+                              0,
                               Count);
     if (!NT_SUCCESS(status))
         goto fail2;
@@ -3241,7 +3248,7 @@ FdoCreateHole(
     if (MemoryDecreaseReservation(PAGE_ORDER_2M, 1, &Pfn) != 1)
         goto fail3;
 
-    Trace("%08x - %08x\n", Start, Start + Count - 1);
+    Info("%08x - %08x\n", Pfn, Pfn + Count - 1);
 
     return STATUS_SUCCESS;
 
@@ -3250,17 +3257,20 @@ fail3:
 
     XENBUS_RANGE_SET(Get,
                      &Fdo->RangeSetInterface,
-                     Fdo->RangeSet,
-                     Start,
+                     Hole->RangeSet,
+                     0,
                      Count);
 
 fail2:
     Error("fail2\n");
 
+    Hole->PhysicalAddress.QuadPart = 0;
+    Hole->VirtualAddress = NULL;
+
     XENBUS_RANGE_SET(Destroy,
                      &Fdo->RangeSetInterface,
-                     Fdo->RangeSet);
-    Fdo->RangeSet = NULL;
+                     Hole->RangeSet);
+    Hole->RangeSet = NULL;
 
 fail1:
     Error("fail1 (%08x)\n", status);
@@ -3276,33 +3286,24 @@ FdoAllocateHole(
     OUT PPHYSICAL_ADDRESS   PhysicalAddress
     )
 {
-    LONGLONG                Start;
+    PXENBUS_HOLE            Hole = &Fdo->Hole;
+    LONGLONG                Index;
     NTSTATUS                status;
 
     status = XENBUS_RANGE_SET(Pop,
                               &Fdo->RangeSetInterface,
-                              Fdo->RangeSet,
+                              Hole->RangeSet,
                               Count,
-                              &Start);
+                              &Index);
     if (!NT_SUCCESS(status))
         goto fail1;
 
-    Trace("%08x - %08x\n", Start, Start + Count - 1);
-
-    if (VirtualAddress != NULL) {
-        PUCHAR  StartVa = Fdo->Buffer;
-        PMDL    Mdl = Fdo->Mdl;
-        ULONG   Index;
-        ULONG   ByteOffset;
+    if (VirtualAddress != NULL)
+        *VirtualAddress = (PUCHAR)Hole->VirtualAddress +
+                          (Index << PAGE_SHIFT);
 
-        Index = (ULONG)((PFN_NUMBER)Start - MmGetMdlPfnArray(Mdl)[0]);
-        ByteOffset = Index * PAGE_SIZE;
-        ASSERT3U(ByteOffset, <=, Mdl->ByteCount);
-
-        *VirtualAddress = StartVa + ByteOffset;
-    }
-
-    PhysicalAddress->QuadPart = Start << PAGE_SHIFT;
+    PhysicalAddress->QuadPart = Hole->PhysicalAddress.QuadPart +
+                                (Index << PAGE_SHIFT);
 
     return STATUS_SUCCESS;;
 
@@ -3319,18 +3320,18 @@ FdoFreeHole(
     IN  ULONG               Count
     )
 {
-    LONGLONG                Start;
+    PXENBUS_HOLE            Hole = &Fdo->Hole;
+    LONGLONG                Index;
     NTSTATUS                status;
 
-    ASSERT3U(PhysicalAddress.QuadPart & (PAGE_SIZE - 1), ==, 0);
-    Start = PhysicalAddress.QuadPart >> PAGE_SHIFT;
-
-    Trace("%08x - %08x\n", Start, Start + Count - 1);
+    Index = PhysicalAddress.QuadPart - Hole->PhysicalAddress.QuadPart;
+    ASSERT3U(Index & (PAGE_SIZE - 1), ==, 0);
+    Index >>= PAGE_SHIFT;
 
     status = XENBUS_RANGE_SET(Put,
                               &Fdo->RangeSetInterface,
-                              Fdo->RangeSet,
-                              Start,
+                              Hole->RangeSet,
+                              Index,
                               Count);
     ASSERT(NT_SUCCESS(status));
 }
@@ -3340,23 +3341,18 @@ FdoDestroyHole(
     IN  PXENBUS_FDO Fdo
     )
 {
+    PXENBUS_HOLE    Hole = &Fdo->Hole;
     PMDL            Mdl;
     PFN_NUMBER      Pfn;
-    LONGLONG        Start;
     ULONG           Count;
     ULONG           Index;
     NTSTATUS        status;
 
     Mdl = Fdo->Mdl;
-
     Pfn = MmGetMdlPfnArray(Mdl)[0];
-
-    Start = Pfn;
     Count = BYTES_TO_PAGES(Mdl->ByteCount);
+    ASSERT3U(Count, ==, 1u << PAGE_ORDER_2M);
 
-    Trace("%08x - %08x\n", Start, Start + Count - 1);
-
-    ASSERT3U(Count & ((1u << PAGE_ORDER_2M) - 1), ==, 0);
     if (MemoryPopulatePhysmap(PAGE_ORDER_2M, 1, &Pfn) == 1)
         goto done;
 
@@ -3370,15 +3366,18 @@ FdoDestroyHole(
 done:
     status = XENBUS_RANGE_SET(Get,
                               &Fdo->RangeSetInterface,
-                              Fdo->RangeSet,
-                              Start,
+                              Hole->RangeSet,
+                              0,
                               Count);
     ASSERT(NT_SUCCESS(status));
 
+    Hole->PhysicalAddress.QuadPart = 0;
+    Hole->VirtualAddress = NULL;
+
     XENBUS_RANGE_SET(Destroy,
                      &Fdo->RangeSetInterface,
-                     Fdo->RangeSet);
-    Fdo->RangeSet = NULL;
+                     Hole->RangeSet);
+    Hole->RangeSet = NULL;
 }
 
 static VOID
@@ -5498,6 +5497,7 @@ __FdoAllocateBuffer(
     IN  PXENBUS_FDO     Fdo
     )
 {
+    ULONG               Count;
     ULONG               Size;
     PHYSICAL_ADDRESS    Low;
     PHYSICAL_ADDRESS    High;
@@ -5506,7 +5506,8 @@ __FdoAllocateBuffer(
     PMDL                Mdl;
     NTSTATUS            status;
 
-    Size = 2 << 20;
+    Count = 1u << PAGE_ORDER_2M;
+    Size = Count << PAGE_SHIFT;
 
     Low.QuadPart = 0;
     High = SystemMaximumPhysicalAddress();
@@ -5538,7 +5539,6 @@ __FdoAllocateBuffer(
     ASSERT3U(Mdl->ByteOffset, ==, 0);
     ASSERT3U(Mdl->ByteCount, ==, Size);
 
-    Fdo->Buffer = MmGetSystemAddressForMdlSafe(Mdl, NormalPagePriority);
     Fdo->Mdl = Mdl;
 
     return STATUS_SUCCESS;
@@ -5559,11 +5559,16 @@ __FdoFreeBuffer(
     IN  PXENBUS_FDO Fdo
     )
 {
-    ExFreePool(Fdo->Mdl);
+    PMDL            Mdl;
+    PVOID           Buffer;
+
+    Mdl = Fdo->Mdl;
     Fdo->Mdl = NULL;
 
-    MmFreeContiguousMemory(Fdo->Buffer);
-    Fdo->Buffer = NULL;
+    ExFreePool(Mdl);
+
+    Buffer = MmGetSystemAddressForMdlSafe(Mdl, NormalPagePriority);
+    MmFreeContiguousMemory(Buffer);
 }
 
 static NTSTATUS
-- 
2.17.1



From win-pv-devel-bounces@lists.xenproject.org Fri Nov 19 11:32:42 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Nov 2021 11:32:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.227775.394087 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mo28I-0006EO-40; Fri, 19 Nov 2021 11:32:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 227775.394087; Fri, 19 Nov 2021 11:32:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mo28I-0006EH-0a; Fri, 19 Nov 2021 11:32:42 +0000
Received: by outflank-mailman (input) for mailman id 227775;
 Fri, 19 Nov 2021 11:32:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul@xen.org>) id 1mo28G-0006Av-11
 for win-pv-devel@lists.xenproject.org; Fri, 19 Nov 2021 11:32:40 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul@xen.org>)
 id 1mo28F-0006CK-WF; Fri, 19 Nov 2021 11:32:40 +0000
Received: from host86-165-42-146.range86-165.btcentralplus.com
 ([86.165.42.146] helo=CBG-R90WXYV0.home)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <paul@xen.org>)
 id 1mo28F-0004oA-OR; Fri, 19 Nov 2021 11:32:39 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	 bh=inYXRmiCePlyNfEfkQPUgPTVyAI2kq+2ddXLdAjvav4=; b=JOIfnojcmsf284BV7b584LXpU
	w7/OKCF0DviX6W/6n67ZoM3W4kLyiIIwU9ME2rZ939QvKF5IrX6QtN3zZpywrQmmcISXIsFOrxsP8
	eR6G3OJKqSKuWBG+KSgjm5fBDAmAb1qDior2VhATCqXghegnBha98KneJ2iLi5h32PH6c=;
From: Paul Durrant <paul@xen.org>
To: win-pv-devel@lists.xenproject.org
Cc: Paul Durrant <pdurrant@amazon.com>
Subject: [PATCH xenbus 3/4] Introduce an alternative hole type using the platorm PCI device BAR
Date: Fri, 19 Nov 2021 11:32:34 +0000
Message-Id: <20211119113235.3294-3-paul@xen.org>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20211119113235.3294-1-paul@xen.org>
References: <20211119113235.3294-1-paul@xen.org>

From: Paul Durrant <pdurrant@amazon.com>

Using a memory hole burns 2M of RAM and is only helpful in the case where
the guest has pass-through devices causing Xen to make accesses to all PCI
BARs uncacheable. In the case where guest-visible devices are all emulated
this will not be the case and so we can save the 2M of RAM by using the
platform PCI device BAR as the hole.

This patch adds the necessary code to do that, defaulted off but enabled
by setting the XENBUS registry parameter DWORD:UseMemoryHole to 0.

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
---
 src/xenbus/fdo.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 95 insertions(+), 3 deletions(-)

diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c
index d7dc8f722107..ac86020765d5 100644
--- a/src/xenbus/fdo.c
+++ b/src/xenbus/fdo.c
@@ -3275,6 +3275,71 @@ done:
     Hole->VirtualAddress = NULL;
 }
 
+static FORCEINLINE NTSTATUS
+__FdoCreatePciHole(
+    IN  PXENBUS_FDO                 Fdo
+    )
+{
+    PXENBUS_HOLE                    Hole = &Fdo->Hole;
+    ULONG                           Index;
+    PCM_PARTIAL_RESOURCE_DESCRIPTOR Translated;
+    SIZE_T                          Size;
+    NTSTATUS                        status;
+
+    for (Index = 0; Index < Fdo->TranslatedResourceList->Count; Index++) {
+        Translated = &Fdo->TranslatedResourceList->PartialDescriptors[Index];
+
+        if (Translated->Type == CmResourceTypeMemory)
+            goto found;
+    }
+
+    status = STATUS_OBJECT_NAME_NOT_FOUND;
+    goto fail1;
+
+found:
+    Hole->PhysicalAddress = Translated->u.Memory.Start;
+    Size = Translated->u.Memory.Length;
+    Hole->Count = (ULONG)(Size >> PAGE_SHIFT);
+
+    Hole->VirtualAddress = MmMapIoSpace(Hole->PhysicalAddress,
+                                        Size,
+                                        MmCached);
+
+    status = STATUS_UNSUCCESSFUL;
+    if (Hole->VirtualAddress == NULL)
+        goto fail2;
+
+    return STATUS_SUCCESS;
+
+fail2:
+    Error("fail2\n");
+
+    Hole->VirtualAddress = NULL;
+    Hole->Count = 0;
+    Hole->PhysicalAddress.QuadPart = 0;
+
+fail1:
+    Error("fail1 (%08x)\n", status);
+
+    return status;
+}
+
+static FORCEINLINE VOID
+__FdoDestroyPciHole(
+    IN  PXENBUS_FDO Fdo
+    )
+{
+    PXENBUS_HOLE    Hole = &Fdo->Hole;
+    SIZE_T          Size;
+
+    Size = (ULONGLONG)Hole->Count << PAGE_SHIFT;
+    MmUnmapIoSpace(Hole->VirtualAddress, Size);
+
+    Hole->VirtualAddress = NULL;
+    Hole->Count = 0;
+    Hole->PhysicalAddress.QuadPart = 0;
+}
+
 static NTSTATUS
 FdoCreateHole(
     IN  PXENBUS_FDO     Fdo
@@ -3291,7 +3356,10 @@ FdoCreateHole(
     if (!NT_SUCCESS(status))
         goto fail1;
 
-    status = __FdoCreateMemoryHole(Fdo);
+    status = (Fdo->Mdl != NULL) ?
+             __FdoCreateMemoryHole(Fdo) :
+             __FdoCreatePciHole(Fdo);
+
     if (!NT_SUCCESS(status))
         goto fail2;
 
@@ -3304,7 +3372,10 @@ FdoCreateHole(
         goto fail3;
 
     Pfn = (PFN_NUMBER)(Hole->PhysicalAddress.QuadPart >> PAGE_SHIFT);
-    Info("%08x - %08x\n", Pfn, Pfn + Hole->Count - 1);
+    Info("(%s) %08x - %08x\n",
+         (Fdo->Mdl != NULL) ? "MEMORY" : "PCI",
+         Pfn,
+         Pfn + Hole->Count - 1);
 
     return STATUS_SUCCESS;
 
@@ -3400,7 +3471,10 @@ FdoDestroyHole(
                               Hole->Count);
     ASSERT(NT_SUCCESS(status));
 
-    __FdoDestroyMemoryHole(Fdo);
+    if (Fdo->Mdl != NULL)
+        __FdoDestroyMemoryHole(Fdo);
+    else
+        __FdoDestroyPciHole(Fdo);
 
     XENBUS_RANGE_SET(Destroy,
                      &Fdo->RangeSetInterface,
@@ -5525,6 +5599,8 @@ __FdoAllocateBuffer(
     IN  PXENBUS_FDO     Fdo
     )
 {
+    HANDLE              ParametersKey;
+    ULONG               UseMemoryHole;
     ULONG               Count;
     ULONG               Size;
     PHYSICAL_ADDRESS    Low;
@@ -5534,6 +5610,18 @@ __FdoAllocateBuffer(
     PMDL                Mdl;
     NTSTATUS            status;
 
+    ParametersKey = DriverGetParametersKey();
+
+    status = RegistryQueryDwordValue(ParametersKey,
+                                     "UseMemoryHole",
+                                     &UseMemoryHole);
+    if (!NT_SUCCESS(status))
+        UseMemoryHole = 1;
+
+    ASSERT(Fdo->Mdl == NULL);
+    if (UseMemoryHole == 0)
+        goto done;
+
     Count = 1u << PAGE_ORDER_2M;
     Size = Count << PAGE_SHIFT;
 
@@ -5569,6 +5657,7 @@ __FdoAllocateBuffer(
 
     Fdo->Mdl = Mdl;
 
+done:
     return STATUS_SUCCESS;
 
 fail2:
@@ -5591,6 +5680,9 @@ __FdoFreeBuffer(
     PVOID           Buffer;
 
     Mdl = Fdo->Mdl;
+    if (Mdl == NULL)
+        return;
+
     Fdo->Mdl = NULL;
 
     ExFreePool(Mdl);
-- 
2.17.1



From win-pv-devel-bounces@lists.xenproject.org Fri Nov 19 11:32:42 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Nov 2021 11:32:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.227776.394090 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mo28I-0006Ei-6u; Fri, 19 Nov 2021 11:32:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 227776.394090; Fri, 19 Nov 2021 11:32:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mo28I-0006ET-1q; Fri, 19 Nov 2021 11:32:42 +0000
Received: by outflank-mailman (input) for mailman id 227776;
 Fri, 19 Nov 2021 11:32:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul@xen.org>) id 1mo28G-0006B1-L4
 for win-pv-devel@lists.xenproject.org; Fri, 19 Nov 2021 11:32:40 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul@xen.org>)
 id 1mo28G-0006CP-Jz; Fri, 19 Nov 2021 11:32:40 +0000
Received: from host86-165-42-146.range86-165.btcentralplus.com
 ([86.165.42.146] helo=CBG-R90WXYV0.home)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <paul@xen.org>)
 id 1mo28G-0004oA-C7; Fri, 19 Nov 2021 11:32:40 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	 bh=+/+IpoFBLIcdjTINteZQTK4B/YXjjGh/R3VoNnJlKdg=; b=aJTLY0GGy4Uhy2xmWvqyEqahW
	4O0wABQG1HqcL8SeE/7dmC0+zYm2edXmLrdxvBBu/RpbIouc5VdFuMhAbc2rIC1/y/Cig8T6irvci
	3sQpag3CFD6ENjoqZYCoO/YC0icNKyLOE/SwjB6FVsi9elLgZnXmx0Q8BhBeFhhBZn3cw=;
From: Paul Durrant <paul@xen.org>
To: win-pv-devel@lists.xenproject.org
Cc: Paul Durrant <pdurrant@amazon.com>
Subject: [PATCH xenbus 4/4] The PV console may not always be available
Date: Fri, 19 Nov 2021 11:32:35 +0000
Message-Id: <20211119113235.3294-4-paul@xen.org>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20211119113235.3294-1-paul@xen.org>
References: <20211119113235.3294-1-paul@xen.org>

From: Paul Durrant <pdurrant@amazon.com>

In some Xen deployments the tool-stack may not allocate a PV console ring
and event channel to the guest, so XENBUS should deal with this situation
gracefully.

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
---
 src/xenbus/console.c | 42 ++++++++++++++++++++----------
 src/xenbus/fdo.c     | 62 +++++++++++++++++++++++++-------------------
 2 files changed, 64 insertions(+), 40 deletions(-)

diff --git a/src/xenbus/console.c b/src/xenbus/console.c
index 8573ea77a612..e638b3f4c84a 100644
--- a/src/xenbus/console.c
+++ b/src/xenbus/console.c
@@ -331,7 +331,7 @@ ConsoleDisable(
     Context->Channel = NULL;
 }
 
-static VOID
+static NTSTATUS
 ConsoleEnable(
     IN PXENBUS_CONSOLE_CONTEXT  Context
     )
@@ -340,8 +340,10 @@ ConsoleEnable(
     ULONG                       Port;
     NTSTATUS                    status;
 
+    /* In some Xen deployments the tool-stack may not set up the console */
     status = HvmGetParam(HVM_PARAM_CONSOLE_EVTCHN, &Value);
-    ASSERT(NT_SUCCESS(status));
+    if (!NT_SUCCESS(status))
+        goto fail1;
 
     Port = (ULONG)Value;
 
@@ -369,6 +371,13 @@ ConsoleEnable(
     // Trigger an initial poll
     if (KeInsertQueueDpc(&Context->Dpc, NULL, NULL))
         Context->Dpcs++;
+
+    return STATUS_SUCCESS;
+
+fail1:
+    Error("fail1 (%08x)\n", status);
+
+    return status;
 }
 
 static
@@ -702,11 +711,13 @@ ConsoleAcquire(
     if (!NT_SUCCESS(status))
         goto fail4;
 
-    ConsoleEnable(Context);
+    status = ConsoleEnable(Context);
+    if (!NT_SUCCESS(status))
+        goto fail5;
 
     status = XENBUS_SUSPEND(Acquire, &Context->SuspendInterface);
     if (!NT_SUCCESS(status))
-        goto fail5;
+        goto fail6;
 
     status = XENBUS_SUSPEND(Register,
                             &Context->SuspendInterface,
@@ -715,11 +726,11 @@ ConsoleAcquire(
                             Context,
                             &Context->SuspendCallbackLate);
     if (!NT_SUCCESS(status))
-        goto fail6;
+        goto fail7;
 
     status = XENBUS_DEBUG(Acquire, &Context->DebugInterface);
     if (!NT_SUCCESS(status))
-        goto fail7;
+        goto fail8;
 
     status = XENBUS_DEBUG(Register,
                           &Context->DebugInterface,
@@ -728,7 +739,7 @@ ConsoleAcquire(
                           Context,
                           &Context->DebugCallback);
     if (!NT_SUCCESS(status))
-        goto fail8;
+        goto fail9;
 
     Trace("<====\n");
 
@@ -737,29 +748,32 @@ done:
 
     return STATUS_SUCCESS;
 
-fail8:
-    Error("fail8\n");
+fail9:
+    Error("fail9\n");
 
     XENBUS_DEBUG(Release, &Context->DebugInterface);
 
-fail7:
-    Error("fail7\n");
+fail8:
+    Error("fail8\n");
 
     XENBUS_SUSPEND(Deregister,
                    &Context->SuspendInterface,
                    Context->SuspendCallbackLate);
     Context->SuspendCallbackLate = NULL;
 
+fail7:
+    Error("fail7\n");
+
+    XENBUS_SUSPEND(Release, &Context->SuspendInterface);
+
 fail6:
     Error("fail6\n");
 
-    XENBUS_SUSPEND(Release, &Context->SuspendInterface);
+    ConsoleDisable(Context);
 
 fail5:
     Error("fail5\n");
 
-    ConsoleDisable(Context);
-
     XENBUS_EVTCHN(Release, &Context->EvtchnInterface);
 
 fail4:
diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c
index ac86020765d5..e2b27021ce36 100644
--- a/src/xenbus/fdo.c
+++ b/src/xenbus/fdo.c
@@ -166,6 +166,7 @@ struct _XENBUS_FDO {
 
     PXENBUS_DEBUG_CALLBACK          DebugCallback;
     PXENBUS_SUSPEND_CALLBACK        SuspendCallbackLate;
+    BOOLEAN                         ConsoleAcquired;
     PLOG_DISPOSITION                LogDisposition;
 };
 
@@ -3057,11 +3058,13 @@ __FdoD3ToD0(
     if (!NT_SUCCESS(status))
         goto fail1;
 
-    status = LogAddDisposition(DriverGetConsoleLogLevel(),
-                               FdoOutputBuffer,
-                               Fdo,
-                               &Fdo->LogDisposition);
-    ASSERT(NT_SUCCESS(status));
+    if (Fdo->ConsoleAcquired) {
+        status = LogAddDisposition(DriverGetConsoleLogLevel(),
+                                   FdoOutputBuffer,
+                                   Fdo,
+                                   &Fdo->LogDisposition);
+        ASSERT(NT_SUCCESS(status));
+    }
 
     status = XENBUS_STORE(WatchAdd,
                           &Fdo->StoreInterface,
@@ -3137,8 +3140,10 @@ fail3:
 fail2:
     Error("fail2\n");
 
-    LogRemoveDisposition(Fdo->LogDisposition);
-    Fdo->LogDisposition = NULL;
+    if (Fdo->ConsoleAcquired) {
+        LogRemoveDisposition(Fdo->LogDisposition);
+        Fdo->LogDisposition = NULL;
+    }
 
     FdoVirqTeardown(Fdo);
 
@@ -3186,8 +3191,10 @@ __FdoD0ToD3(
                         Fdo->ScanWatch);
     Fdo->ScanWatch = NULL;
 
-    LogRemoveDisposition(Fdo->LogDisposition);
-    Fdo->LogDisposition = NULL;
+    if (Fdo->ConsoleAcquired) {
+        LogRemoveDisposition(Fdo->LogDisposition);
+        Fdo->LogDisposition = NULL;
+    }
 
     FdoVirqTeardown(Fdo);
 
@@ -3569,18 +3576,18 @@ FdoD3ToD0(
         goto fail6;
 
     status = XENBUS_CONSOLE(Acquire, &Fdo->ConsoleInterface);
-    if (!NT_SUCCESS(status))
-        goto fail7;
+    if (NT_SUCCESS(status))
+        Fdo->ConsoleAcquired = TRUE;
 
     if (Fdo->BalloonInterface.Interface.Context != NULL) {
         status = XENBUS_BALLOON(Acquire, &Fdo->BalloonInterface);
         if (!NT_SUCCESS(status))
-            goto fail8;
+            goto fail7;
     }
 
     status = __FdoD3ToD0(Fdo);
     if (!NT_SUCCESS(status))
-        goto fail9;
+        goto fail8;
 
     status = XENBUS_SUSPEND(Register,
                             &Fdo->SuspendInterface,
@@ -3589,7 +3596,7 @@ FdoD3ToD0(
                             Fdo,
                             &Fdo->SuspendCallbackLate);
     if (!NT_SUCCESS(status))
-        goto fail10;
+        goto fail9;
 
     status = XENBUS_DEBUG(Register,
                           &Fdo->DebugInterface,
@@ -3598,7 +3605,7 @@ FdoD3ToD0(
                           Fdo,
                           &Fdo->DebugCallback);
     if (!NT_SUCCESS(status))
-        goto fail11;
+        goto fail10;
 
     KeLowerIrql(Irql);
 
@@ -3629,33 +3636,33 @@ not_active:
 
     return STATUS_SUCCESS;
 
-fail11:
-    Error("fail11\n");
+fail10:
+    Error("fail10\n");
 
     XENBUS_SUSPEND(Deregister,
                    &Fdo->SuspendInterface,
                    Fdo->SuspendCallbackLate);
     Fdo->SuspendCallbackLate = NULL;
 
-fail10:
-    Error("fail10\n");
-
-    __FdoD0ToD3(Fdo);
-
 fail9:
     Error("fail9\n");
 
-    if (Fdo->BalloonInterface.Interface.Context != NULL)
-        XENBUS_BALLOON(Release, &Fdo->BalloonInterface);
+    __FdoD0ToD3(Fdo);
 
 fail8:
     Error("fail8\n");
 
-    XENBUS_CONSOLE(Release, &Fdo->ConsoleInterface);
+    if (Fdo->BalloonInterface.Interface.Context != NULL)
+        XENBUS_BALLOON(Release, &Fdo->BalloonInterface);
 
 fail7:
     Error("fail7\n");
 
+    if (Fdo->ConsoleAcquired) {
+        XENBUS_CONSOLE(Release, &Fdo->ConsoleInterface);
+        Fdo->ConsoleAcquired = FALSE;
+    }
+
     XENBUS_STORE(Release, &Fdo->StoreInterface);
 
 fail6:
@@ -3780,7 +3787,10 @@ FdoD0ToD3(
     if (Fdo->BalloonInterface.Interface.Context != NULL)
         XENBUS_BALLOON(Release, &Fdo->BalloonInterface);
 
-    XENBUS_CONSOLE(Release, &Fdo->ConsoleInterface);
+    if (Fdo->ConsoleAcquired) {
+        XENBUS_CONSOLE(Release, &Fdo->ConsoleInterface);
+        Fdo->ConsoleAcquired = FALSE;
+    }
 
     XENBUS_STORE(Release, &Fdo->StoreInterface);
 
-- 
2.17.1



From win-pv-devel-bounces@lists.xenproject.org Sun Nov 28 20:27:31 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 28 Nov 2021 20:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234205.406494 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrQlm-0002Av-9a; Sun, 28 Nov 2021 20:27:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234205.406494; Sun, 28 Nov 2021 20:27:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrQlm-0002An-6U; Sun, 28 Nov 2021 20:27:30 +0000
Received: by outflank-mailman (input) for mailman id 234205;
 Sun, 28 Nov 2021 20:27:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FL9v=QP=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1mrQll-0002Ah-8n
 for win-pv-devel@lists.xenproject.org; Sun, 28 Nov 2021 20:27:29 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a090a71-5089-11ec-976b-d102b41d0961;
 Sun, 28 Nov 2021 21:27:28 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id q17so10360947plr.11
 for <win-pv-devel@lists.xenproject.org>; Sun, 28 Nov 2021 12:27:27 -0800 (PST)
Received: from [10.11.22.27] (wsip-24-120-54-60.lv.lv.cox.net. [24.120.54.60])
 by smtp.gmail.com with ESMTPSA id
 13sm13989680pfp.216.2021.11.28.12.27.25
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 28 Nov 2021 12:27:25 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a090a71-5089-11ec-976b-d102b41d0961
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=AE4dE3c0Dv9VftQPtahtv4Y6H3BJEC+qH9TRZ0AyxEg=;
        b=pabDUawahmd46Hw6byxqeqR+w6hHRfDojU84D4Hvm1y1FzK3VcT9mLxU8eQ0jrKmyS
         rkJDyJDaTriSsk852LJs3AyVYG8YyxEDxijKLRHK6WEjFwn3vVcosYZMTwXt/jybW3k3
         1+Zkezb0CBbQh/u5/gXqYEI71XVu6oHPirLTq2zIDT6wn0I0LjhkUiVvLyfOI94/xAvS
         wSMICdhL4DduAVEs10SB6+MzOu0vRM7mtE40cB04w/hLMBo/lEuuHmo0JXcJxNnAD2cI
         AM/payu6LwDSusBcw57htiX2UyclJSJJWjgLRJT48bGpdIIKQku4xGGjV7WU06C6pvFp
         cGhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=AE4dE3c0Dv9VftQPtahtv4Y6H3BJEC+qH9TRZ0AyxEg=;
        b=n4RaXiVAbJSKpVZF/j3fN2HEvkF2aKbYnXscMWUnqjhjykykobK0PKC31ZcJvRGhBX
         Vddy+i1ql4cyRYXwyThkzUCzCCh+r8mmuKJfiY7VBeR8p7z8wAlGrLo5COD/tQDjFyli
         YrpxfeBnoYEJJl2rn9AikqYek7sUZh7BQLQSA8lJL1UZOUEFjOOF2KvwaPUybdIZGuBm
         pi0R1cVPQ6X79YfkkvvgkKH+h0hLD2nylsKImZUTsZBvqPrsO3JX6mwB48brd5NJ+qxi
         15CCe3t5VSI9sxiG8sVuTuURgAAV6Eksa8SjKFS/mV8JGbRfqLFb8F08KYTkeATyUOCy
         hp3Q==
X-Gm-Message-State: AOAM533qLhM01QfXGWuA+DLR6NM2jWq7Nh7ZJ2qKp7jB71LhFdXlx5MJ
	u6J94gJlim9IT5TTa4rBwb+aHvGqX3c=
X-Google-Smtp-Source: ABdhPJyqka6bNoyB2Fi7nW20qiY1z1zb1aimTcy7MId8cC//qXJVMKpkSu3KzLgpMK0hHoFuNlHuRA==
X-Received: by 2002:a17:90b:34b:: with SMTP id fh11mr32932409pjb.14.1638131246198;
        Sun, 28 Nov 2021 12:27:26 -0800 (PST)
Message-ID: <3c6dbbaf-0e3f-59f2-f343-6fe3f4c5d127@gmail.com>
Date: Sun, 28 Nov 2021 12:27:25 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.3.2
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/4] Update to NDIS 6.30
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20211115093214.154-1-owen.smith@citrix.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20211115093214.154-1-owen.smith@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15/11/2021 01:32, Owen Smith wrote:
> NDIS 6.30 was introduced in Server 2012. Update XenNet to use the NDIS 6.30
> interfaces, including internal changes required by NDIS 6.30. Any new features
> introduced in NDIS 6.30 are not implemented, only changes required to complete
> the NDIS version update.
> - Updates structure header versions and sizes as required
> - Changes the indirection table from CPU index to PROCESSOR_NUMBER array, note
>    that XenNet handled a conversion from index to PROCESSOR_NUMBER before passing
>    to XenVif. Renames TableSize to TableCount for clarity.
> - Adds a new INF property 'NumRSSQueues', which limits the number of RSS queues.
>    This is a WHQL test requirement (NDIS 6.5 StandardizedKeywords)
> - Fixes "NDIS 6.5 GlitchFreeDevice" test by correctly reporting XenNet uses a
>    WDM lower edge.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Looks like I missed this...

Acked-by: Paul Durrant <paul@xen.org>


From win-pv-devel-bounces@lists.xenproject.org Sun Nov 28 20:36:32 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 28 Nov 2021 20:36:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234212.406497 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrQuV-00035C-Tq; Sun, 28 Nov 2021 20:36:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234212.406497; Sun, 28 Nov 2021 20:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrQuV-000355-Qy; Sun, 28 Nov 2021 20:36:31 +0000
Received: by outflank-mailman (input) for mailman id 234212;
 Sun, 28 Nov 2021 20:36:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FL9v=QP=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1mrQuU-00034z-HN
 for win-pv-devel@lists.xenproject.org; Sun, 28 Nov 2021 20:36:30 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dcc9b3b2-508a-11ec-976b-d102b41d0961;
 Sun, 28 Nov 2021 21:36:29 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id o14so10394291plg.5
 for <win-pv-devel@lists.xenproject.org>; Sun, 28 Nov 2021 12:36:29 -0800 (PST)
Received: from [10.11.22.27] (wsip-24-120-54-60.lv.lv.cox.net. [24.120.54.60])
 by smtp.gmail.com with ESMTPSA id
 n11sm9989733pgp.15.2021.11.28.12.36.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 28 Nov 2021 12:36:27 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dcc9b3b2-508a-11ec-976b-d102b41d0961
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=enE/SJjWrG54OfDzDprHn+lmjUZId4p4k6UiShlROmM=;
        b=TeFQ9/5bLXCkoRwmrTWqtUc0ZGGOU5WnnFAtUhKQsRA/mF7TnEWQ9KgbC0tm3vE4e5
         Q29MTfW7wmclQpUdYU3FtQtXiXxHMQj9IB2vvP8h5ygPTGWmK4waPCETXrqMsSNBLlus
         a/S5vdiH47Kag86crED0yWoa80yN4/FfyECmZ7dUMUY1rF9VQ5AiPl8dlhya0UPXJ0rt
         knxSuG50ZdaiiMBvxjL2HVuNGY7JToGE15oGDy1/hlYox8HJrcQYRlg52bH8qRb7zvt2
         qTPkhwLTW03z2FWolXneQeJtDOzxcw5z+M6k3YrjLfjbHOj19BWPIsUVMZoUH1vZsPHA
         I7ZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=enE/SJjWrG54OfDzDprHn+lmjUZId4p4k6UiShlROmM=;
        b=HpgmJ3KKBgqCymv78AZNl+TVsv6JMg53BikEeSegWdmJjTg/0PBi82wUCkk5rqbmps
         e/AKJ0b43CX79IOU44sXvR7cJxf8mXLy+cDRES4SS1dPt/7Zx5zyStVKLfa2L+nD6QL2
         s+fN/Dbnskn1pTVQz5io6rADIiQWQEsyJXx+y9eifO7w9s9B1zqF6X7ztXCWOy+CQQZ2
         I/ZFqnVSjTrem+w87BGfBNAnguDC8l4KjD1mdPeLMaEOzgXjJqNfDNHd5xwTaJpn4wtF
         fhAS88DKL8hPVgPiaQf3scDCrt8+6QlC9zKyOGpGqrV/wR419Qn5matui95Aapx4swls
         1Zjw==
X-Gm-Message-State: AOAM530139UxbfSOiWDEbd6ORjJDv/1DiaSJ+zCjdj7bT7lb08dS55GV
	sVc12cagXWt16lWS0bJfl+c=
X-Google-Smtp-Source: ABdhPJxQ1Pym2ZjMQAXgDHKULqowMNaadC6MPRfK2LdQZpgiz3e9YTcaAElkjEMIxzn6oorzSK8bMA==
X-Received: by 2002:a17:902:e5ce:b0:142:780:78db with SMTP id u14-20020a170902e5ce00b00142078078dbmr54517223plf.12.1638131787664;
        Sun, 28 Nov 2021 12:36:27 -0800 (PST)
Message-ID: <f85f8461-a80e-3676-2af8-248df5656c60@gmail.com>
Date: Sun, 28 Nov 2021 12:36:26 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.3.2
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/4] Add /CETCOMPAT to linker options
Content-Language: en-US
To: Owen Smith <owen.smith@citrix.com>, "paul@xen.org" <paul@xen.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
References: <20211026071211.1875-1-owen.smith@citrix.com>
 <1c9d96da-2a88-cd0e-2769-d58ff7ffda86@gmail.com>
 <DS7PR03MB5477C116CED47B294FA577E6FE8B9@DS7PR03MB5477.namprd03.prod.outlook.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <DS7PR03MB5477C116CED47B294FA577E6FE8B9@DS7PR03MB5477.namprd03.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/11/2021 03:28, Owen Smith wrote:
> -----Original Message-----
> From: win-pv-devel <win-pv-devel-bounces@lists.xenproject.org> On Behalf Of Durrant, Paul
> Sent: 02 November 2021 10:06
> To: win-pv-devel@lists.xenproject.org
> Subject: Re: [PATCH 1/4] Add /CETCOMPAT to linker options
> 
> [CAUTION - EXTERNAL EMAIL] DO NOT reply, click links, or open attachments unless you have verified the sender and know the content is safe.
> 
> On 26/10/2021 08:12, Owen Smith wrote:
>> The "Hardware Enforced Stack Protection Compatability" test introduced
>> with the Server 2022 HLK requires drivers to be linked with /CETCOMPAT
>>
> 
> Does this patch need applying to all drivers then?
> 
> It does - I've got a patch in our queue, and was intending on posting them once I'd completed WHQL, but it had slipped my mind
> 

Hi Owen,

   I finally got round to pushing this and the other XENNET patches; 
sorry it took so long.

   Do you have the patches equivalent to this available for the other 
drivers?

   Cheers,

     Paul


From win-pv-devel-bounces@lists.xenproject.org Sun Nov 28 21:20:16 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 28 Nov 2021 21:20:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234249.406557 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrRaq-00022n-ET; Sun, 28 Nov 2021 21:20:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234249.406557; Sun, 28 Nov 2021 21:20:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrRaq-00022f-Bd; Sun, 28 Nov 2021 21:20:16 +0000
Received: by outflank-mailman (input) for mailman id 234249;
 Sun, 28 Nov 2021 21:20:14 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul.durrant@xenproject.org>) id 1mrRao-00022Z-Fu
 for win-pv-devel@lists.xenproject.org; Sun, 28 Nov 2021 21:20:14 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
Date: Sun, 28 Nov 2021 21:20:13 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <15105404.1.1638134415932.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
Subject: XENBUS-master - Build #227 - Successful
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_0_3754228.1638134415166"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS


------=_Part_0_3754228.1638134415166
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #227.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENBUS-master/227/console to view the results.
------=_Part_0_3754228.1638134415166--


From win-pv-devel-bounces@lists.xenproject.org Sun Nov 28 21:50:10 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 28 Nov 2021 21:50:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234257.406560 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrS3l-0004g7-H1; Sun, 28 Nov 2021 21:50:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234257.406560; Sun, 28 Nov 2021 21:50:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrS3l-0004g2-E6; Sun, 28 Nov 2021 21:50:09 +0000
Received: by outflank-mailman (input) for mailman id 234257;
 Sun, 28 Nov 2021 21:50:08 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul.durrant@xenproject.org>) id 1mrS3k-0004ct-Pv
 for win-pv-devel@lists.xenproject.org; Sun, 28 Nov 2021 21:50:08 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
Date: Sun, 28 Nov 2021 21:50:09 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <5582109.3.1638136210089.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
Subject: XENNET-master - Build #118 - Successful
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_2_28508512.1638136209823"
X-Jenkins-Job: XENNET-master
X-Jenkins-Result: SUCCESS


------=_Part_2_28508512.1638136209823
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #118.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENNET-master/118/console to view the results.
------=_Part_2_28508512.1638136209823--


From win-pv-devel-bounces@lists.xenproject.org Mon Nov 29 09:51:37 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Nov 2021 09:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234407.406815 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdJw-0000ix-93; Mon, 29 Nov 2021 09:51:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234407.406815; Mon, 29 Nov 2021 09:51:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdJw-0000iq-5p; Mon, 29 Nov 2021 09:51:36 +0000
Received: by outflank-mailman (input) for mailman id 234407;
 Mon, 29 Nov 2021 09:51:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N4Yo=QQ=citrix.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1mrdJu-0000ik-Vr
 for win-pv-devel@lists.xenproject.org; Mon, 29 Nov 2021 09:51:35 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id edcc81c1-50f9-11ec-976b-d102b41d0961;
 Mon, 29 Nov 2021 10:51:32 +0100 (CET)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edcc81c1-50f9-11ec-976b-d102b41d0961
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1638179493;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=dp3EfYs5NxQ0699wef3l30tP8CeQbbpoGcXUTSOf7Q4=;
  b=SFovoZ7194Csr9tpQprQi/2ZC9ohPRJbbt+kFBQ1276bA2BHNb1jzICq
   QBh5adnTE5EWie7fk+EtVqPyYSG0eAgMl8spfj/9txl8kqoYJ/f8wm6yb
   oyVH/B7Rc7BTVGRtHobENL6fI+Wp/B7zzQT8jLvkwunUQr4lJNxz1Wjgq
   0=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: cHgAxSdU0LEN5PjXinqymilaGnIxhpKLLs+uzqYHQlNhA7TFFEYhtwRhcOEG75XU6seDPNVTZq
 LNN87JZGs1jyh6DkAl9hSdXdPlSgRBDV8qo7IYXWn6a5ZrNRrwC91Pqesv7xH+Lo0RqH2VzBNV
 4Mgl7STl8t1zMBlW9gn19vXXzrdPJPnEQQrLOSreQ0no+0Ivxz/3Tt17fZdAFxvAWOA6QLuJre
 zyyURrei2ezRYDn8mZS4nZRmgFAkChXFxi+XIKd6Iu4SmVQ74bJ4dKKvZsyFOY1yP1bBc7Nvcb
 LEeO7s+cOJBLD/8OlJzqP29t
X-SBRS: 5.1
X-MesageID: 58745635
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:joaRxKAXwiuPRhVW/+vkw5YqxClBgxIJ4kV8jS/XYbTApD9x0zVSz
 jYfWj2AbqqJMWbxf9snPIjg90kG6pCAzdVgQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WLGs1hxZH1c+EX5400I7wIbVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/jTCmmcpT+
 Ih3hb+oFikRNaLcougWXEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTTfZhgII4Kcj3PKsUu216zCGfBvEjKXzGa/iauoMFgmxt7ixINejgP
 MsBaBN/UEnnIFp2ImkeU5k+od790xETdBUH8QnI9MLb+VP70w13laDzddbYZNGObcFUhVqD4
 HLL+XzjBRMXP8DZziCKmlq0j/LLtTP2XsQVDrLQyxJxqATNnCpJUkRQDAbl56ni4qKjZz5BA
 0oR1Sw0j5hvznyIVobTZxa3sESItRFJDrK8DNYGwA2Kz6PV5SOQCW4FUiNNZbQaiSMmedA5/
 gTXxo20XFSDpJXQECvArenM8VteLABMdTdaDRLoWzfp9DUKTGsbqhvUBuhuH6eu5jEeMWGhm
 mvaxMTSalh6sCLq60lZ1Q2f695PjsKQJuLQ2ukwdjj7hj6VnKb/O+SVBaHztJ6s1rqxQFibp
 2QjkMOD9u0IBpzlvHXTG7VURu32va3cYGG0bbtT838JrW7FF5mLJ9443d2DDB0xbpZslcHBP
 Sc/Rj+9FLcMZSD3PMebkqq6CtgwzLiIKDgWfqu8Uza6WbAoLFXv1Hg3PSa4hjmx+GBxwfBXE
 crKKq6EUCdFYZmLORLrHo/xJ5dwnXtgrY4SLLimpymaPU22OCTIFOxbaQTWNYjULsqs+W3oz
 jqWDOPToz13W+zieCjHt4kVKFEBN38gAp7q7cdQc4a+zsBOQQnN0tfdnuEsfZJLhaNQmrua9
 32xQBYAmlH+mWfGOUOBbXU6MOHjWpN2rHQaOy0wPAn3hyh/MNj3tKpPJYEqebQH9fB4yaImR
 fcyZMjdUO9ETS7K+mpBYMCl/pBibhmimSmHIzGhPGokZ5dlSgGQoo3kcwLj+TMgFC2yscdi8
 bSs2hmCGcgIRhh4DdaQY/WqlgvjsX8YkeN0fk3JPtgMJxm8rNk0c3T816ZlLdsNJBPPwiqh+
 zyXWRpI9/PQp4IV8cXSgfzWpYmeDOYjTFFRGHPW7OjqOHCCrHaj24JJTM2BYSvZCDHv4Kyna
 OhYk6P8PfkAkAoYuoZwCe82n6c35t+prL5G1AV0Wn7Mag3zWL9nJ3CH2+hJt7FMmeAF6VfnB
 BrX94kII6iNNePkDEUVdVgsYem03P0JniXfsKYuK0Lg6S4rpLeKXC2+5fVXZPCx+FetDL4Y/
 A==
IronPort-HdrOrdr: A9a23:0ZTY96zJiK2r6iighuJkKrPxk+skLtp133Aq2lEZdPULSKOlfp
 GV8MjziyWYtN9IYgBbpTnyAtj8fZq6z+843WBxB8buYOCCggWVxe5ZnO3fKlHbak7DH6tmpN
 xdmstFeZLN5DpB/L/HCWCDer5KqrjmzEnrv5an854Ed3AyV0gK1XYdNu/vKDwQeOAwP+tcKH
 Pz3LskmxOQPVAsKuirDHgMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlal9yZbdwkK7aYp8G
 DDnQC8zL6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+4kow3TX+0aVjbZaKv+/VQMO0aSSAZER4Z
 3xSiIbTodOArXqDyaISFXWqk/dOX0VmgPfIBej8ATeSIrCNWoH4oN69PxkWwqc5Ew6sN5m1q
 VXm2qfqppMFBvF2D/w/t7SSnhR5wKJSFcZ4JguZkZkIMIjgX5q3P4i1VIQFI1FEDPx6YghHu
 UrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R369MwI/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+
 jfKKxnmLxHU8dTZ6NgA+UKR9exFwX2MFnxGXPXJU6iGLAMOnrLpZKy6LIp5PuycJhN15c2kI
 SpaiIuiYfzQTObNSSj5uw6zvn9ehTJYd228LAu23FQgMyOeIbW
X-IronPort-AV: E=Sophos;i="5.87,272,1631592000"; 
   d="scan'208";a="58745635"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DXmCXc1oZc6HV202x9U8qyHugouHeppXCqd+7iqz/lqw/6vlbAR6JcPnS/G5ZLj/WgtVxtHxFxjEwPObQC5uEKxBlP36k2RYzBpYfOYD6Cjhbrz90DRWtTDARvRxMG2w+xv0Q1Q3+uwD1j2ieGyOiYZueZXybQSr7PUC+noN/5pJHCgQ5fQzcv+1CqjtEJaXOb5GKMPFIisg/a1HISoAR2w8gDTZ/Q79oLhH2YCrokL72YNxAuB4kzaP1dTNNofqu5V5LOAJydLNISoEz/4xG5TWD7NixrwhX+XAmADUdhZNRjYZCxne9sE9xx4sCdlo5J/0tLCHEByYH+wqMWo4Iw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dp3EfYs5NxQ0699wef3l30tP8CeQbbpoGcXUTSOf7Q4=;
 b=f84JSpwv0FHW990s46biEU1kqOx5WNW3s4+ELPu/8lC0p2iz5AwVqz69GUOAx3kcMelur6f/b5Bagja0wWRauRpKPots0BTu17kAD9VvqN5CXd3giBKElcIa6+KFT/zPmUUQp9lbJrzDm7H04qhlyUBYk8Odg3qIKPFtfNkTKMYooRatOqUX0DSaAJ0lGiOn81IY2lLCGPXppWOPgY7NlUingXKZbVqGeFXty/xZodiavrlUnerJa1ZuhTr+GB33hWTGMe8LUMdHLORG4AMoyyFxgv+n39O53whNPXJMdS61AfGvlCnudjqHyCNcEs741CEcZb0O2GokCg1uzUYohw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dp3EfYs5NxQ0699wef3l30tP8CeQbbpoGcXUTSOf7Q4=;
 b=qaRoGB5/oeGz/rfLtqKQHYK4FDuxa1evuWBJOGE5dyXupROJugln/gvHuNQ2H8k1vQJv1clFM+CqNG/Y161ekD6RJKucsIf8OYYDzfEeL3UOVpuIT04/+cpIV3x7WrZF5wOJTaaQT06ivQgKDy5cb/jeSFVqTOlW9tCNPjn/YFs=
From: Owen Smith <owen.smith@citrix.com>
To: "paul@xen.org" <paul@xen.org>, "win-pv-devel@lists.xenproject.org"
	<win-pv-devel@lists.xenproject.org>
Subject: RE: [PATCH 1/4] Add /CETCOMPAT to linker options
Thread-Topic: [PATCH 1/4] Add /CETCOMPAT to linker options
Thread-Index: AQHXyjjWhxe2oO8bBEWLJURGN2/BD6vwDiKAgAAFwuCAKYbkAIAA3fgg
Date: Mon, 29 Nov 2021 09:51:26 +0000
Message-ID: <SJ0PR03MB54883928730F3D8859E9E213FE669@SJ0PR03MB5488.namprd03.prod.outlook.com>
References: <20211026071211.1875-1-owen.smith@citrix.com>
 <1c9d96da-2a88-cd0e-2769-d58ff7ffda86@gmail.com>
 <DS7PR03MB5477C116CED47B294FA577E6FE8B9@DS7PR03MB5477.namprd03.prod.outlook.com>
 <f85f8461-a80e-3676-2af8-248df5656c60@gmail.com>
In-Reply-To: <f85f8461-a80e-3676-2af8-248df5656c60@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b0f609de-02dd-4fca-a18c-08d9b31dcf4e
x-ms-traffictypediagnostic: SJ0PR03MB5392:
x-microsoft-antispam-prvs: <SJ0PR03MB53921BB70656C5B3F97324DDFE669@SJ0PR03MB5392.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Pzsb5kEKF4XN22cmzfxc1GoLTF2/9liUKZ6zuJzib6G3ttqXBk0C5jV9or1qIjMo++kX74pcYhJDXA3bBSUbU1483Z8En+R5SdzZtw69s92O+F567AO85id5HEjakcBQikymCvmOoUhAc4vu5O186tH5EhLRHgi9oMc29mf5c/dRTJKdE2y7ROTFvuVeMn0twIG73PRMHcTcpWevAisEdDtR7ZN2bq1q56M4VIvOrs8AJEDQBm0wjpC5EdwvP2+9QtUAcuPByWZSH9vt2SW4BH7bk8HOTTFge0XnNR+vBUj7trMKyXdXkhS3q1QQn2HTMfMbhrNWFsqKFpZlobMlqSf5Da3MO88kmNDlqPsTvvUMcBexG6Y9LWy6yrxsP5qHtVX3fV8imFbOiVxNS8CScqN6Vhyx9dfQLgOtOIabuW52koB2rQvBDyRrHM1Q3F6MTlx+cwNTbyxXPB+zGIFe0iyy9VLkEersDbxVsPfqYBcQUBjfSAw0cE61ISeUjtMcD7oL28a4diREYWDrAAJPfg7XUioN7vS7AvMwIOXkzO3tSIAvz7fnsbcQnZy3yAxmuL1r1J3Oo4ridqRSIh/PuPWunp5avm7jF5s481p1Do8hcO/20yXpn35Iko1gAIM+65wJqBXpssVLpknPfM0YnyNr45CdLwkQOBlD9ASigIsvczKAnbPpNaKC4Ke97a1DNFpmRB0LQkPQlkGgUGBlgQ==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5488.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(2906002)(71200400001)(82960400001)(9686003)(33656002)(83380400001)(5660300002)(76116006)(8676002)(53546011)(8936002)(110136005)(316002)(26005)(86362001)(186003)(55016003)(38100700002)(66556008)(7696005)(6506007)(52536014)(66446008)(64756008)(66476007)(38070700005)(122000001)(44832011)(508600001)(66946007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RVI1NVVjUUNtS25obHVuUWs2aHBMTmJydSs4M0w1TVVJVmxQWTRWamplSVA2?=
 =?utf-8?B?ZGh3K1o3YjlvQ3dQRW4xendGMHFNNnF6L3E5TVg4VzF4NjNuQUZSVUZTTmRS?=
 =?utf-8?B?Q1lXa1VHanJrMzUwYWxnOXRMWGR1d2svaTllSVdwSURYVjdEUE1lMlE1RWRY?=
 =?utf-8?B?dk9oek1Jc3gxOVVXdXpmc1VnTG56WXZYQWNzZTRvSzl6ZWNkTFVhcVlSSFpE?=
 =?utf-8?B?eDQ3MlRTdHZ4V0I1QWphUGNMaUZrSUhWM05PZDBsdUEyeXB0eVk1TFczMjlN?=
 =?utf-8?B?eHhqVXdpUnVqZWNpdEZWWndxaDVjeWhIWW9kdWdOYlk0c1lMSXNlcFVNd1FT?=
 =?utf-8?B?ckRwV2IxSjRjUGRWeVNtNGFTVmNRVU95MXJNb3dQVmlRVXgxT3hJSHdBYThm?=
 =?utf-8?B?NTBBNEY0MmtqSlI0eDlEMTMxV2hIMVVRWFQvMDd0bUthZDhEM25rNU1oeXN3?=
 =?utf-8?B?VnYrc0RNQ0FHR2MrK0tSS09WVzgvd0JRSnl1NHlrdjJOS2lNN241WGxEK2Np?=
 =?utf-8?B?NGtpNFNZT2xTcnFYSm85bjFoaFBzLzBmM09sQURjb2xmTkl5anpyS1VjSCtW?=
 =?utf-8?B?TG42N2htWU1hTjg3YVJNS2xJK0lLd0g3VkpQUzE2Y3p4TzM1QXQ2SkZnTlpx?=
 =?utf-8?B?dFlsT3doN3UrRi9UTUtIVGdMbVlyZVpYMHhBN3l1dVp6bVVrazZvZVI2TW1y?=
 =?utf-8?B?YndIckovb2RGR2Q3ZUFEd3RHMW4zdGt6QXMweTBGMXYzeVlZTFNZTWppS1Nx?=
 =?utf-8?B?Z0w1Uk5FTURVa2Vlck84elB0SW9kSU45UzJYT2ltZG9GNXBMQnRld09OQlVL?=
 =?utf-8?B?aTQwdUpMZDh6ZWtOYiswNlN4RllLNi9hUFFNdmxFQkZZWVdxMW80VWxMSGc3?=
 =?utf-8?B?d0JvUHZjMHkxeXVqZ1N2Wmd4NEdvVmhKTk9pRzZRaGdITG8xQXJTWnMxTzJL?=
 =?utf-8?B?VlJwdkZaaUdyV21GTUZJQ2pVc2xLQnErbUR4bDNBaGNIK21pSlI2VHlzN0tP?=
 =?utf-8?B?R29IOWZtWGlYRFRoT3ROZ2tkLzhuQVNjVzcya3Z4dit3dE9EVDY3bjg2SmtF?=
 =?utf-8?B?bU0xZWFScmFlQWVaMFVNM3FSaGhzcnJlY1RJVFpKVjhqek43VHlnSkhLS0R2?=
 =?utf-8?B?K2VISmRwcVBTL09DY2dqM0FvcnZQSTN4c2NGQmx5MUs3WkdFbktWWDdieXhw?=
 =?utf-8?B?WEpkMEpHZkt0SVQ1RWZpcjdtbDZLbEVIT0xmZTRrenB4bitTKzdybTFRR3Vm?=
 =?utf-8?B?Q0hPbVl4NjdnRXUxbVNPVm1ERC96c2pRUUFhOXhzN1N3TjZxYmd3dlA0UkNM?=
 =?utf-8?B?bmdIRmh3alFycW5aZ012SllFMCtEK3oyTzlpekd5SEVvZ2VQWjVabCtWcmkx?=
 =?utf-8?B?OTA2YkZNS2phVHRPSWFqWHBhZlo3ZDFOWEhDSHo3SFVNMzZrcjg0c2svNmVP?=
 =?utf-8?B?dGMxSjU1LzcvTlhJUTVRd3dPUmk4UzZzNGw3UVdZT2VlalF2SFk5b2RRSjA4?=
 =?utf-8?B?bHQyODFlUEtleHRranZWU2EybDhydm9pTFlZUjVSVWVYTEJGUGJ5b0xpNFNS?=
 =?utf-8?B?ck8zMldKK0k5ZURmSldJZkE3WTJ3UjNpNkZsUnRLNkw2bFU3V1g5d1dETkF1?=
 =?utf-8?B?NER6MTVqSXpQcWpoSDRSMWgxb2ZnLzNJc0gzdVUzK0RCejNaL2wvVlppT0g1?=
 =?utf-8?B?Y3RsanlYWC9YOTFlSkViOCtwbDAwRUpSNk5iMjlzb1gyM1kwdDFFOWt4SFFu?=
 =?utf-8?B?aFF2a3RkK0QvdFpGSW1iRVZjUVlOZStiKzQ5cXBpTlNHamthWnFjU0RHYlpV?=
 =?utf-8?B?d3ZwUmdsOUplZUlMc0huWjRGZzlHcDFDQWJJc1JZd0ptNTZ0emhtbDFmUjB3?=
 =?utf-8?B?OVE5SXNXUFJkdzBNVmtQRERreFowQktTTnpaK3ZoVkRKNFpMdlF5UWVjcmxl?=
 =?utf-8?B?VVpJUTUraDVwVW9kVlZaTnJpSmpHd0pFYlQrVTA0SXVOcVJPZlV6cGI2Vk9D?=
 =?utf-8?B?MkFETGxRTWRPYnh5ZTJBQVJZNExZaEVuZ2xsa20wSU55bVA5Mjd4Q01MVmdv?=
 =?utf-8?B?bWxGRXpSaktaamFPa2RKQThqSUZ4cE9RQ1hIMDlGUllTRG52aE5ocDFxUlZK?=
 =?utf-8?B?cFNvQTY2QUdkSnN3ekppZUJUajBiWXNTZU95VDArclJMOSt5L2tKYVNxbWhP?=
 =?utf-8?B?VWc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5488.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b0f609de-02dd-4fca-a18c-08d9b31dcf4e
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2021 09:51:26.2369
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 2LX6XylDg+p2WKfuJRYKNzrPHF/LFMFzX5dKBJlO3+VcO9UDFH5qcwnpl6wLNcJKReKPwW6YjlM5jAzCRweRQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5392
X-OriginatorOrg: citrix.com

DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBEdXJyYW50LCBQYXVsIDx4YWRp
bWduaWtAZ21haWwuY29tPiANClNlbnQ6IDI4IE5vdmVtYmVyIDIwMjEgMjA6MzYNClRvOiBPd2Vu
IFNtaXRoIDxvd2VuLnNtaXRoQGNpdHJpeC5jb20+OyBwYXVsQHhlbi5vcmc7IHdpbi1wdi1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KU3ViamVjdDogUmU6IFtQQVRDSCAxLzRdIEFkZCAvQ0VU
Q09NUEFUIHRvIGxpbmtlciBvcHRpb25zDQoNCltDQVVUSU9OIC0gRVhURVJOQUwgRU1BSUxdIERP
IE5PVCByZXBseSwgY2xpY2sgbGlua3MsIG9yIG9wZW4gYXR0YWNobWVudHMgdW5sZXNzIHlvdSBo
YXZlIHZlcmlmaWVkIHRoZSBzZW5kZXIgYW5kIGtub3cgdGhlIGNvbnRlbnQgaXMgc2FmZS4NCg0K
T24gMDIvMTEvMjAyMSAwMzoyOCwgT3dlbiBTbWl0aCB3cm90ZToNCj4gLS0tLS1PcmlnaW5hbCBN
ZXNzYWdlLS0tLS0NCj4gRnJvbTogd2luLXB2LWRldmVsIDx3aW4tcHYtZGV2ZWwtYm91bmNlc0Bs
aXN0cy54ZW5wcm9qZWN0Lm9yZz4gT24gDQo+IEJlaGFsZiBPZiBEdXJyYW50LCBQYXVsDQo+IFNl
bnQ6IDAyIE5vdmVtYmVyIDIwMjEgMTA6MDYNCj4gVG86IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDEvNF0gQWRkIC9DRVRDT01QQVQgdG8g
bGlua2VyIG9wdGlvbnMNCj4gDQo+IFtDQVVUSU9OIC0gRVhURVJOQUwgRU1BSUxdIERPIE5PVCBy
ZXBseSwgY2xpY2sgbGlua3MsIG9yIG9wZW4gYXR0YWNobWVudHMgdW5sZXNzIHlvdSBoYXZlIHZl
cmlmaWVkIHRoZSBzZW5kZXIgYW5kIGtub3cgdGhlIGNvbnRlbnQgaXMgc2FmZS4NCj4gDQo+IE9u
IDI2LzEwLzIwMjEgMDg6MTIsIE93ZW4gU21pdGggd3JvdGU6DQo+PiBUaGUgIkhhcmR3YXJlIEVu
Zm9yY2VkIFN0YWNrIFByb3RlY3Rpb24gQ29tcGF0YWJpbGl0eSIgdGVzdCANCj4+IGludHJvZHVj
ZWQgd2l0aCB0aGUgU2VydmVyIDIwMjIgSExLIHJlcXVpcmVzIGRyaXZlcnMgdG8gYmUgbGlua2Vk
IA0KPj4gd2l0aCAvQ0VUQ09NUEFUDQo+Pg0KPiANCj4gRG9lcyB0aGlzIHBhdGNoIG5lZWQgYXBw
bHlpbmcgdG8gYWxsIGRyaXZlcnMgdGhlbj8NCj4gDQo+IEl0IGRvZXMgLSBJJ3ZlIGdvdCBhIHBh
dGNoIGluIG91ciBxdWV1ZSwgYW5kIHdhcyBpbnRlbmRpbmcgb24gcG9zdGluZyANCj4gdGhlbSBv
bmNlIEknZCBjb21wbGV0ZWQgV0hRTCwgYnV0IGl0IGhhZCBzbGlwcGVkIG15IG1pbmQNCj4gDQoN
CkhpIE93ZW4sDQoNCiAgIEkgZmluYWxseSBnb3Qgcm91bmQgdG8gcHVzaGluZyB0aGlzIGFuZCB0
aGUgb3RoZXIgWEVOTkVUIHBhdGNoZXM7IHNvcnJ5IGl0IHRvb2sgc28gbG9uZy4NCg0KICAgRG8g
eW91IGhhdmUgdGhlIHBhdGNoZXMgZXF1aXZhbGVudCB0byB0aGlzIGF2YWlsYWJsZSBmb3IgdGhl
IG90aGVyIGRyaXZlcnM/DQoNCiAgIENoZWVycywNCg0KICAgICBQYXVsDQoNCg0KSSBoYXZlIHBh
dGNoZXMgdGhhdCBzaXQgaW4gb3VyIHBhdGNoIHF1ZXVlIC0gbGV0IG1lIHF1aWNrbHkgcmViYXNl
IHRoZW0gb24gdXBzdHJlYW0NCg0KT3dlbg0K


From win-pv-devel-bounces@lists.xenproject.org Mon Nov 29 09:53:14 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Nov 2021 09:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234419.406831 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdLW-0001Pk-OU; Mon, 29 Nov 2021 09:53:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234419.406831; Mon, 29 Nov 2021 09:53:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdLW-0001Pd-Ld; Mon, 29 Nov 2021 09:53:14 +0000
Received: by outflank-mailman (input) for mailman id 234419;
 Mon, 29 Nov 2021 09:53:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N4Yo=QQ=citrix.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1mrdLV-0001OB-M5
 for win-pv-devel@lists.xenproject.org; Mon, 29 Nov 2021 09:53:13 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 162b87f4-50fa-11ec-b941-1df2895da90e;
 Mon, 29 Nov 2021 10:52:41 +0100 (CET)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 162b87f4-50fa-11ec-b941-1df2895da90e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1638179592;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=tJhIA1irlSW4y0HjSDgWTkWsmBIIR0SRw789ajGmcN0=;
  b=I+QODFgm8XNWsZED8flrQSgJFjdiwMeFxKV4ZqRq6sI1kkvT4JTWB3YZ
   I0F8ZrX03bMybT8eg+qIgbd73vTe2W/HyeNfB/KHXTiN/c3cVFrGvp7se
   sekGwrqb8HQKNmWgC4rSEDj6GamcXOmAHYLykozQ2Lf0/f5UUeBfEtSKl
   o=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: f9vgWeMADh80GZJdxKpi9LPStg9n+t76irR357Od2bDrKfD2OVd/qsBCJt+PI0uSWnwmT3tocZ
 CIxOgndssYdAGR5S4tGnlfnBH63QVfoAbEyLTdWErVjVk86HW6nj06qU/Sl9Y3oeOHKvZNJYDi
 kCUpO7q+yIvhpswxTyTboCpPrcjAj5ZKa3F3ZJk/4JiOynCH6FpMw7S8ThHCGQCLMi1YhYK77D
 B4SQGFbTqnu+zhHBhAbDLCVtPD04ndzZkSBGX/KjuWVPd473hESVvSi+lNa8DN7mFqfKw1BDag
 e12X2RboULKZXls6kwb9+oB0
X-SBRS: 5.1
X-MesageID: 59179782
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:bF7frK+l5I2aDoGsEq29DrUDp3mTJUtcMsCJ2f8bNWPcYEJGY0x3z
 mJKDD2BOvbYZjGkctglYd6+8klQucfVmtBqHlNtpH88E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhGmeIdA970Ug6wrdj0tYz6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhz2
 cgXkMLobT0wN6byo74WXgtbOgBHaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwkM8Ttepgau21g5TrYEewnUdbIRKCiCdpwgWZp2ZERTay2i
 8wxZQoodyTvRDx2Ol5HT80dm8qXt3uvSmgNwL6SjfVuuDWCpOBr65DyMdyQYsLPSchLk0Kwo
 mPd43+/EhwcLMaYyzeO7jSrnOCnoM/gcNtMTvvirKcs2QDNgDxIYPELabelifuolxSbBYp7E
 VUd8RQV96M/5k+Cb+CoCnVUv0W4lhIbXtNRFcgz5weM1rfY7m6lO4QUctJSQId47ZFrHFTGw
 nfMxoq0XmI37NV5XFrEru/MxQ5eLxT5OoPricUsaQIeq+fur4go5v4kZoYySfXl5jEZ9NyZ/
 txrkMTcr+hL5SLo///ilbwiv95LjsKXJjPZHi2NAgqYAvpRPeZJnbCA51nB9upnJ42EVFSHt
 3Vss5HAt7BXV83SznfUELll8FSVCxCtame0bblHRcdJythQ0yT7IdA4DM9WeS+FzfroiRe2O
 RSO6Gu9FbdYPWewbL8fXm5CI59C8EQULvy8Dqq8RoMXOvBZLVbblAkzNR/49z28yyAEzPBgU
 ap3hO7xVB72/4w8l2HoLwrcuJd2rh0DKZT7Gcqmkk/5iOXGPxZ4i94taTOzUwzw14vcyC29z
 jqVH5fiJ8x3XLKsby/J35QUKFxWf3E3CYqv855cd/KZIxogE2YkUqeDzbQkco1jvqJUiuaXo
 S3tBh4GkALy1S/dNAGHSnF/c7ezD5xxmm02YH43NlGy1nl9PYv2tPUDd4E6dKUM/fB4yaImV
 OEMfsiNW6wdSjnO9zkHQ4P6qYhuKEaiiQ6UZnL3azkjZZ9wAQfO/4a8LAfo8SAPCAuxtNc//
 OL8hl+KH8JbSl07XsjMaf+pw1eghlQnmbp/DxnSP91eWETw64w2eSb/ueA6fpMXIhLZyzrEi
 wvPWUUEpfPAqpMe+cXSgfzWtJ+gFuZzExYIH2Tf6rrqZyDW8nD6nN1FWeeMOzvcSHn16OOpY
 uAMl6PwN/gOnVBrtYtgEuk0kfJitoW3/7IKnB55GHjrbkiwDuIyK3aL6sBDq6lRy+ILogCxQ
 E+OpoFXNLjh1BkJy7LNyN7Jtti+6Mw=
IronPort-HdrOrdr: A9a23:xq5gZKpOQsY7hPleEtW17MYaV5oneYIsimQD101hICG8cqSj+f
 xG+85rsSMc6QxhPk3I9urhBEDtex/hHP1OkOws1NWZLWrbUQKTRekIh+bfKlXbakrDH4VmtJ
 uIHZIQNDSJNykZsfrH
X-IronPort-AV: E=Sophos;i="5.87,272,1631592000"; 
   d="scan'208";a="59179782"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH] Add /CETCOMPAT to linker flags
Date: Mon, 29 Nov 2021 09:53:00 +0000
Message-ID: <20211129095300.1564-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.33.0.windows.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

The "Hardware-enforced Stack Protection Compatibility Test" requires drivers
to be compiled with the /CETCOMPAT flag

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 vs2019/xen/xen.vcxproj         | 1 +
 vs2019/xenbus/xenbus.vcxproj   | 1 +
 vs2019/xenfilt/xenfilt.vcxproj | 1 +
 3 files changed, 3 insertions(+)

diff --git a/vs2019/xen/xen.vcxproj b/vs2019/xen/xen.vcxproj
index 2c4579e..6aaebf5 100644
--- a/vs2019/xen/xen.vcxproj
+++ b/vs2019/xen/xen.vcxproj
@@ -34,6 +34,7 @@
       <AdditionalDependencies>$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/aux_klib.lib;$(DDK_LIB_PATH)/procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
       <ModuleDefinitionFile>../../src/xen/xen.def</ModuleDefinitionFile>
+      <CETCompat>true</CETCompat>
     </Link>
     <DriverSign>
       <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
diff --git a/vs2019/xenbus/xenbus.vcxproj b/vs2019/xenbus/xenbus.vcxproj
index c769599..00b39a9 100644
--- a/vs2019/xenbus/xenbus.vcxproj
+++ b/vs2019/xenbus/xenbus.vcxproj
@@ -33,6 +33,7 @@
       <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
       <AdditionalDependencies>$(ProjectDir)..\$(ConfigurationName)\$(Platform)\xen.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/procgrp.lib;$(DDK_LIB_PATH)/rtlver.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <CETCompat>true</CETCompat>
     </Link>
     <DriverSign>
       <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
diff --git a/vs2019/xenfilt/xenfilt.vcxproj b/vs2019/xenfilt/xenfilt.vcxproj
index a0e54c5..ef53280 100644
--- a/vs2019/xenfilt/xenfilt.vcxproj
+++ b/vs2019/xenfilt/xenfilt.vcxproj
@@ -33,6 +33,7 @@
       <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
       <AdditionalDependencies>$(ProjectDir)..\$(ConfigurationName)\$(Platform)\xen.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <CETCompat>true</CETCompat>
     </Link>
     <DriverSign>
       <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-- 
2.33.0.windows.2



From win-pv-devel-bounces@lists.xenproject.org Mon Nov 29 09:56:29 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Nov 2021 09:56:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234430.406835 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdOf-0001dI-1x; Mon, 29 Nov 2021 09:56:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234430.406835; Mon, 29 Nov 2021 09:56:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdOe-0001dA-V6; Mon, 29 Nov 2021 09:56:28 +0000
Received: by outflank-mailman (input) for mailman id 234430;
 Mon, 29 Nov 2021 09:56:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N4Yo=QQ=citrix.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1mrdOd-0001d4-V6
 for win-pv-devel@lists.xenproject.org; Mon, 29 Nov 2021 09:56:27 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8353553e-50fa-11ec-b941-1df2895da90e;
 Mon, 29 Nov 2021 10:55:43 +0100 (CET)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8353553e-50fa-11ec-b941-1df2895da90e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1638179774;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=p3JYT24buH9mwQrHKjfe7462qkkvrSQR0irsHKq/N7c=;
  b=LciE88QI64ZW16UJ4MOHklGlXazBbhJATvkb4N5y8M4Zpi6a2OBjD9Dt
   MuOr1URk+Gha654IPuvax5RhhYqq530OgkW8QjOpI3iAiO/k89rLJcTKn
   cFh9Hx3Z9MK5an3y4TyDxQfisQiCiRyDGz90Yu2k8smHY4KuoeAZx4DY9
   Q=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: gdmE7dniU+RrMkPrNa5K+BmYEHxq0QIuVivh9XoRL/OUHRn5OBlxC0CY3tyrzitx7VqXXCiw8M
 YIcKWzccIV+wCB7GIb9mzwETaRtrBUiU2caHhFr6+78ohNm+W9aaae4T9+TuKtKPunYPU+Z9Sa
 QWc1WxRVkkqnu51f2OyjBTiPnCYuF0smKnd9dlQ+4gnFPvQJyQ2ayul4nEnB94U4WMAdMNCf++
 uOaRIXg6igBy2m+6GxJqKB4XG/J9Dz2MinF95DlltSiIBMePFZs/izWek/FvU28aBIMXT+B0Gw
 tRFoN8Z43bT4a1QMKWKrbPzm
X-SBRS: 5.1
X-MesageID: 58306279
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:r/32+Kw0BMqVrC4vy816t+cQwSrEfRIJ4+MujC+fZmUNrF6WrkVSx
 2ofDzqPPfrYNzfxe9t1OYuwpEwBsJLUzYBhHgU5rCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAuLeNYYH1500s6wrRp2tUAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt9Fr0
 PFvl7yrczU4Mr2Lw+sHaDJcLQgraMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVorsM8Ic+tJ4YepnFIxjDFF/c2B5vERs0m4PcFjGxo2JoRTJ4yY
 eJFcjNtPST/RiFrBRQUEpYDnNX1qHPgJmgwRFW9+vNsvjm7IBZK+KfsNp/NZJmGSNtYmm6cp
 3na5CLpDxcCLtudxDGZtHW2iYfycTjTAdxIUufir7gz3QPVljd75AAquUWToOOhrmyce8llG
 V0Y6m11orIJ30iVZ4yoN/Gnm0KsshkZUttWNuQ17gCR16bZizqk6ng4oi1pM4J/6pJvLdA+/
 hrQxo6yW2Qz2FGAYSvFru/8kN+kBcQCwYbujwcgRBBN3dTsqZpbYvnnHoc6S/7dYjEY9FjNL
 9G2QMoW2u17YS0jjfzTEbX7b9WE/Mahc+LNzl+LNl9JFysgDGJfW6Sm6ELA8dFLJ5uDQ1+Ks
 RAswpbFvLlUUc7Xz3XdHI3h+Y1FAd7falUwZnY1QfEcG8mFoSb/Lei8HhkjTKuWDir0UWCwO
 xKC0e+gzJRSIGGrfcdKj3GZUKwXIVzbPY29DJj8N4MWCrAoLVPv1Hw+NCa4gjG2+GBxwP5XB
 HtuWZv1ZZrsIf88l2TeqiZ0+eJD+x3SMkuPH82mlEr+juLFDJNXIJ9cWGazgikCxPvsiG3oH
 xx3a6NmEj1TD7/zZDf564kWIQxYJHQ3H8mu+cdWavSCMkxtH2R4U63dxrYoeopEmaVJl7iXo
 iHhCxEAkFev12faLQiqa2x4bO+9V5hIsn9mbzcnOkyl2iZ/bN/3vrsfbZY+YZIu6PdnkaxvV
 /AAdsjZWqZPRz3L9i4zd574qIA+Jh2niRjXZ3iuYSQlfo4mTAvMo4e2cgzq/SgILyy2qcph/
 OHwilKFGcIOHl0wAtzXZfSjy0KKkUIcwO8iDVHVJtRzeVn39NQ4ISLGkfJqcdoHLg/Ox2XG2
 l/OUwsYv+TEv6Q87MLN2fKft46sHuZzQhhaEm3c4erkPCXW5DP+k4pJUeLOdjHBTmLkvq6lY
 LwNnf37NfQGmndMspZ9TOk3nf5vuYO3qu8I1BlgEVXKc0+vW+FpLXSx1MVSsrFAm+1CsgysV
 0PTotRXNN1l4i8+/IL98Ob9Utm+6A==
IronPort-HdrOrdr: A9a23:liLaQqrEFejO89266hFKcH0aV5oneYIsimQD101hICG8cqSj+f
 xG+85rsSMc6QxhPk3I9urhBEDtex/hHP1OkOws1NWZLWrbUQKTRekIh+bfKlXbakrDH4VmtJ
 uIHZIQNDSJNykZsfrH
X-IronPort-AV: E=Sophos;i="5.87,272,1631592000"; 
   d="scan'208";a="58306279"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH] Add /CETCOMPAT linker flag
Date: Mon, 29 Nov 2021 09:55:54 +0000
Message-ID: <20211129095554.1201-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.33.0.windows.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 vs2019/xeniface/xeniface.vcxproj | 1 +
 1 file changed, 1 insertion(+)

diff --git a/vs2019/xeniface/xeniface.vcxproj b/vs2019/xeniface/xeniface.vcxproj
index 0595c39..7e6b79d 100644
--- a/vs2019/xeniface/xeniface.vcxproj
+++ b/vs2019/xeniface/xeniface.vcxproj
@@ -33,6 +33,7 @@
       <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
       <AdditionalDependencies>$(DDK_LIB_PATH)\ntstrsafe.lib;$(DDK_LIB_PATH)\procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <CETCompat>true</CETCompat>
     </Link>
     <DriverSign>
       <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-- 
2.33.0.windows.2



From win-pv-devel-bounces@lists.xenproject.org Mon Nov 29 09:57:41 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Nov 2021 09:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234438.406839 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdPp-0001ju-6Q; Mon, 29 Nov 2021 09:57:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234438.406839; Mon, 29 Nov 2021 09:57:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdPp-0001jm-3C; Mon, 29 Nov 2021 09:57:41 +0000
Received: by outflank-mailman (input) for mailman id 234438;
 Mon, 29 Nov 2021 09:57:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N4Yo=QQ=citrix.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1mrdPn-0001jg-Ne
 for win-pv-devel@lists.xenproject.org; Mon, 29 Nov 2021 09:57:39 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7c719c2-50fa-11ec-976b-d102b41d0961;
 Mon, 29 Nov 2021 10:57:38 +0100 (CET)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7c719c2-50fa-11ec-976b-d102b41d0961
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1638179858;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=4qZSAqP0eJXP2rp2oKMg/4A+65GtNQQpkIntE0xncWo=;
  b=dnx2m1YsP3hWSyhbpnw+YvYiLD3vIxPC5H6lsp2zkFsvxXUFCr5FbJK2
   U16001xghEgxHzSXNKLPFY150i8pmj7yZunXjC9Czc3+ZUyTPLnypTA9N
   bqCmLBvA3stlCQAd7qrhfGwyzgUzcoJtZeXt5hzs8Yk+zIYXj+XoJdFtp
   s=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ysONYflHiYYza5pPAAoDpIqjqQumm39HL9YqsXHDzwHspguBUpxC47Zl434RC9QVodPQjCJXqQ
 V5KteN949bZ72is2ZvjbbsJ3LJjU9xWrr1vPWvKy22CtxINYDazR+gclnXM8/6ZIEjvcG5USpG
 v/G4VYqR1DM3+0pjiKmuh1gzwD1KPTmRBZ4aPLwbc/ntDOfdv6S+8i6inS7UjI10xqbeyqD9YR
 MOHbjaRFjmvOjCpPVrWmX2IwcQtLWcy32z5YxFPTFB9eRcV/Ot2ezqKPxhIWx+Fl6571aAKDEK
 fKFe5YSEovj5K5hiIDCthlNE
X-SBRS: 5.1
X-MesageID: 58808839
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:2E6AsaLYrkuxmp1FFE+R9pIlxSXFcZb7ZxGr2PjKsXjdYENS3jdUn
 DRKWW+PPqqDYjT9ftF+Povl8xwAvcDTx9E2GwplqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUZUideSc+EH140Es5y7Zi6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB21tpcq+
 OR17aW6ciYEO/f8hMggfzthRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFrmcklatLuPZ8fknph0SvYHbAtRpWrr6DiuI8IhGdg3ZEm8fD2O
 skWbCV+UzL6OzJVeQ4XLbUwvfyTiSyqG9FfgA3M/vdmi4TJ9yRu0b6oKMSQdtGUSMF9mkeDu
 nmA72n/GgsdNtGU1XyC6H3EuwPUtXqlAsRITuT+r6M0xg3IroAONPEIfWeS5qKJu3bmYthkC
 mERoBoygZUe1nX+G7ERQCaEiHKDuxcdXf9ZHOs79ByBx8Lo3uqJOoQXZmUfMYJ77afaURRvj
 wbUxI2xWVSDpZXMESrFnop4uw9eLsT8wYUqQSYfBTUI7ND4yG3YpkKeF40zeEJZYzCcJN0R/
 9xohHVm71nwpZRSv0lewbwgq2jyzqUltiZvum3qspuNt2uVnrKNaY2y8kT85v1dNoufRVTpl
 CFawJjHtrxRV8rUxHDlrAAx8FeBvazt3Nr02wAHInXc3271py7LkX54vVmS23uFwu5bIGS0M
 Sc/SCta5YNJPWvCUEOES9nZNije9oC5TY6NfqmNNrJmO8EtHCfarHAGTRPBhAjFzRlz+ZzTz
 L/GKK5A+15BUv85pNd3Ls9AuYIWKtcWmTmOGMullkv/itJzphe9EN84DbdHVchhhIvsnekf2
 4c32xKix0oNXevgTDPQ9IJPf1kGIWJiXcL9qtBNd/7FKQ1jQTlzB/jUyLInWopkg6UKybuYo
 iDjAhdVmAjlmHnKCQSWcXQ/Ornhaoly8CAgNis2MFf2h3V6OdSz7L0SfoccdKU88LAx1uZ9S
 vQIIp3SAvlGRjnd1S4aaJ3x8N5reBix3FrcNCu5ejkvOZVnQlWRqNPjewLu8ggIDza26pRi8
 +HxiFuDTMNaFQp4DcvQZPa+9H+LvCAQyLBoQk/FAthPY0GwooJkHDP8060sKMYWJBSdmjbDj
 1SKAQ0VrPXmqpMu9IWbnriNqoqkHrcsHkdeGGWHv7+6OTODozimyI5EFu2JYSrcRCX//6D7P
 bdZyPT1MfsmmldWstUjT+Y3nPxmv9a/9aVHyglEHWnQawX5A7xtFXCKwM1Tu/Af3bReowa3B
 hqC99Qy1W9l4y85/Ir9/DYYU9k=
IronPort-HdrOrdr: A9a23:C4xKRaFYB1CkEIynpLqE4seALOsnbusQ8zAXP0AYc3Nom6uj5q
 WTdZUgpHjJYVkqOU3I9ersBEDiewK/yXcW2+ks1N6ZNWGM0ldARLsSibcKqAePJ8SRzIJgPN
 9bAstDNOE=
X-IronPort-AV: E=Sophos;i="5.87,272,1631592000"; 
   d="scan'208";a="58808839"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH] Add /CETCOMPAT to linker options
Date: Mon, 29 Nov 2021 09:57:26 +0000
Message-ID: <20211129095726.544-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.33.0.windows.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 vs2019/xencrsh/xencrsh.vcxproj | 1 +
 vs2019/xendisk/xendisk.vcxproj | 1 +
 vs2019/xenvbd/xenvbd.vcxproj   | 1 +
 3 files changed, 3 insertions(+)

diff --git a/vs2019/xencrsh/xencrsh.vcxproj b/vs2019/xencrsh/xencrsh.vcxproj
index 04bd9bf..9f80df3 100644
--- a/vs2019/xencrsh/xencrsh.vcxproj
+++ b/vs2019/xencrsh/xencrsh.vcxproj
@@ -34,6 +34,7 @@
       <ModuleDefinitionFile>../../src/xencrsh/xencrsh.def</ModuleDefinitionFile>
       <AdditionalDependencies>$(DDK_LIB_PATH)/storport.lib;$(DDK_LIB_PATH)/libcntpr.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <CETCompat>true</CETCompat>
     </Link>
     <DriverSign>
       <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
diff --git a/vs2019/xendisk/xendisk.vcxproj b/vs2019/xendisk/xendisk.vcxproj
index 1417eef..c8370ff 100644
--- a/vs2019/xendisk/xendisk.vcxproj
+++ b/vs2019/xendisk/xendisk.vcxproj
@@ -34,6 +34,7 @@
       <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <CETCompat>true</CETCompat>
     </Link>
     <DriverSign>
       <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
diff --git a/vs2019/xenvbd/xenvbd.vcxproj b/vs2019/xenvbd/xenvbd.vcxproj
index 720c7bb..6f68f0c 100644
--- a/vs2019/xenvbd/xenvbd.vcxproj
+++ b/vs2019/xenvbd/xenvbd.vcxproj
@@ -33,6 +33,7 @@
       <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
       <AdditionalDependencies>$(ProjectDir)..\$(ConfigurationName)\$(Platform)\xencrsh.lib;$(DDK_LIB_PATH)/storport.lib;$(DDK_LIB_PATH)/libcntpr.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <CETCompat>true</CETCompat>
     </Link>
     <DriverSign>
       <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-- 
2.33.0.windows.2



From win-pv-devel-bounces@lists.xenproject.org Mon Nov 29 09:58:48 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Nov 2021 09:58:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234445.406842 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdQu-0001q9-A6; Mon, 29 Nov 2021 09:58:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234445.406842; Mon, 29 Nov 2021 09:58:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdQu-0001q2-78; Mon, 29 Nov 2021 09:58:48 +0000
Received: by outflank-mailman (input) for mailman id 234445;
 Mon, 29 Nov 2021 09:58:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N4Yo=QQ=citrix.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1mrdQs-0001jg-EA
 for win-pv-devel@lists.xenproject.org; Mon, 29 Nov 2021 09:58:46 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efc18206-50fa-11ec-976b-d102b41d0961;
 Mon, 29 Nov 2021 10:58:45 +0100 (CET)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efc18206-50fa-11ec-976b-d102b41d0961
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1638179925;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=p/J1APdS1NjpXytM5It007Bs9Qrx1gGi9Au+HxJ9yIY=;
  b=F86IWsRKsUjHUwWbWxAp3AiZw+bEs403uts7JqSu53Y8Wr/l3GitRZtv
   G2xFdgFm05obwQlWjqZ00O6PQFYL5ZEeklxopiaH41MvCq5+2oHxWBdAq
   fYciQhO5GSbBiRHtOKbWyDl1479iCkfh+JbIwYSoYC3oGwn0xHhnKNLAl
   g=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: VlWaslLKCqqqste1DtSkG+PrKZ3i/iokzp8mYhEkcczeekZLUIl/UHcopwgYGxtyH8pY5ZP3SI
 2fUMxSCBPrh0eay038AUXh6OsS80ey2/nN3VHk8i3mck5PVNVlInk/1udXczoqhsoPkaWBMP2y
 by0fPiw0vNVS+bAonERLQ0xUp3HcoJe9lDkfaHrAxNd0F3dILL3lZXD7Als+DmQGSmGSzdBvA1
 ID1O8OpL4y1nVe3tKoAWWIi5IhVxVt31e9i0SZSYpwABg8kvOgdWdqOn7/77gnRKU+pFKuV0Q0
 tbEu0FVI/k0w1NtTa4SghI88
X-SBRS: 5.1
X-MesageID: 59180115
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:reGXxqjXVJwIXdbstJWTfgF/X161RxcKZh0ujC45NGQN5FlHY01je
 htvDTyCPvuOZjOjc99yOYuz8ksHvsDWzNJhTwQ6q3xmFC0b9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0F0/NtTo5w7Rg29cy0YDia++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1H77y+WCc0GJTio+cFbCJyPiUgGKR/reqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHsI44Z/GplzC3ZJf0nXYrCU+PB4towMDIY25EXTa6HP
 pdxhTxHYk3DSVoIClErLcwjhc6RhEDldzZ0pwfAzUYwyzeKl1EguFT3C/LKe9rPXdsQkkuGq
 2bu+2XiHgpcJNGZ0SCC8H+nmqnIhyyTZW4JPOTmrLgw2gTVnzFNTk1NPbemnRWnokTke9xOC
 1EywwQVrrANz2aGSofYViTt9RZooSUgc9ZXFuQ77iSExazV/xuVCwA4c9JRVDA1nJRoHGJ3j
 zdli/usXGUy6+PNFRpx45/N9WvqURX5O1PucsPtoeEtx9D46L8+gRvUJjqIOP7k14alcd0cL
 t3jkcTfu1nxpZNTv0lY1Qqe695JmnQuZlRrjjg7pkr/smtEiHeNPuREE2Tz4/daN5q+RVKcp
 nUCkMX2xLlQVsHUznDSGr5UTO3BCxO53Nv02wQH834JrWrFxpJeVdoIvGEWyLlBb67ohgMFk
 GeM4FgMtfe/zVOhbLNtYpLZNijZ5fOIKDgRbdiNNoAmSsEoLGevpXgyDWbNjzGFuBV9yskXZ
 MbEGftA+F5HUMyLOhLtHLxDuVLqrwhjrV7uqWfTk076jOHAPSHNEt/o8jKmN4gE0U9Nmy2Nm
 /43CidA4043vDTWbnaF/IgNA0oNKHRnV5n6p9YOLryIIxZ8GXFnAPjUmOtzd4tglqVTt+HJ4
 nDiBRMIlAuh3SXKeVeQd3RuSLLzRpIj/3g1CjMhYASz0H85bIfxsKpGL8krfaMq/fBIxOJvS
 6VXYN2JB/lCE2yV+zkUYZTngpZlcRCn2VCHMya/OWBtdJ98XQ3ZvNTje1K3piUJCyO2s+o4o
 qGhiVyHEcZSGVw6AZ+POvy1zl63sXwMo85IXhPFcotJZUHh0Il2MCit3PU5FN4BdEfYzTyA2
 gfIXRpB/bvRo5U4+cXijLyfq9v7CPN3G0dXEjWJ7buyMiWGrGOvzZUZDbSNdDHZEmj15L+jd
 aNeyPSlaK8Lm1NDsoxdFbd3zP1hu4uz9uEClgk0Tm/Wa1mLC697JijU1MZCgaRB27tFtFbkQ
 UmI4NRbZe2ENc6N/IT9/+b5gjBvDc0ppwQ=
IronPort-HdrOrdr: A9a23:7ju7LqkoWJgR52jsdZrI/lvzJE/pDfIm3DAbv31ZSRFFG/Fxl6
 iV88jzsiWE7Qr5OUtQ/uxoV5PgfZqxz/NICOoqTNWftWvd2FdARbsKheCJ/9SJIVybygc378
 ldmsZFZOEYdWIK7vrH3A==
X-IronPort-AV: E=Sophos;i="5.87,272,1631592000"; 
   d="scan'208";a="59180115"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH] Add /CETCOMPAT to linker options
Date: Mon, 29 Nov 2021 09:58:37 +0000
Message-ID: <20211129095837.1424-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.33.0.windows.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 vs2019/xenvif/xenvif.vcxproj | 1 +
 1 file changed, 1 insertion(+)

diff --git a/vs2019/xenvif/xenvif.vcxproj b/vs2019/xenvif/xenvif.vcxproj
index 48b7e10..39427b7 100644
--- a/vs2019/xenvif/xenvif.vcxproj
+++ b/vs2019/xenvif/xenvif.vcxproj
@@ -33,6 +33,7 @@
       <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
       <AdditionalDependencies>$(DDK_LIB_PATH)/Rtlver.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/aux_klib.lib;$(DDK_LIB_PATH)/ksecdd.lib;$(DDK_LIB_PATH)/procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <CETCompat>true</CETCompat>
     </Link>
     <DriverSign>
       <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-- 
2.33.0.windows.2



From win-pv-devel-bounces@lists.xenproject.org Mon Nov 29 10:02:43 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Nov 2021 10:02:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234458.406857 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdUg-0003K2-T3; Mon, 29 Nov 2021 10:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234458.406857; Mon, 29 Nov 2021 10:02:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrdUg-0003Jv-Q8; Mon, 29 Nov 2021 10:02:42 +0000
Received: by outflank-mailman (input) for mailman id 234458;
 Mon, 29 Nov 2021 10:02:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N4Yo=QQ=citrix.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1mrdUf-0003Jl-BD
 for win-pv-devel@lists.xenproject.org; Mon, 29 Nov 2021 10:02:41 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69299545-50fb-11ec-b941-1df2895da90e;
 Mon, 29 Nov 2021 11:02:08 +0100 (CET)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69299545-50fb-11ec-b941-1df2895da90e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1638180160;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=VNO+/w3bJwqN4s7csWhsJb+9ybitfuq7QwxLj0Q0ArE=;
  b=Bwa8mGeeXNUg4BwtigCk7A8NL6S4dcaEB48+Xrxfe7k8tQI0dHzYvrz7
   06ublu8chZ0NgRLTuyJfcVSUMgBIFaAHs+Vk13ClH/IaYdORoj550g3hR
   rtKxF73WFeNSRz+M78hOzMhNErdvnJGAs6HVIEYBawsfj7kmhfZ7j868E
   M=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: pL+GnFth346a71MIhJzYgXb4nuq2rpRxp1AiI/mn7fb/nWcV+HXIC93Xq39PaXzZQIxIfrlGK4
 1SB//GU9hOYwhF9BRFkKNwy+MClPMGqvDT4roEPKWVNpRiIgH062eVCU3Mm5fUYlxaLRF9zta0
 XsID/ZPkuxvk8WITP8S17ZtVJBcHNNXw8M8FSleQ+K/m0NLV0rxmxa2AogS75zHGrKYHbrNp5v
 koMuwwx7F/Zuw0O7Z7XjHKuAdoXkvN1kh19bYF1v5iaw1d7oWWEKnnKSVOz1cqZE/2CRKwMSoH
 gx1FwjzWlSLjaXfrEb7uOiJ9
X-SBRS: 5.1
X-MesageID: 58306665
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ulxTe6I+DK699zCVFE+R95IlxSXFcZb7ZxGr2PjKsXjdYENS0WAGm
 mMdXziGPPaDZmT3fNF2PYqz8U8Ov5GDzN5iSQNlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUZUideSc+EH140Es5y7Zi6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB22p9Zg7
 /BgrKbpSCQuJZLwisYnCRRHRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFrmcklatLuPZ8fknph0SvYHbAtRpWrr6DiuI8DhGlu2J0m8fD2Y
 uk+dmBQYQv7SQAVZVkNNagCwe2nvyyqG9FfgA3M/vdmi4TJ9yRu0b6oKMSQdtGUSMF9mkeDu
 nmA72n/GgsdNtGU1XyC6H3EuwPUtXqlAsRITuT+r6M0xg3IroAONPEIfWSDp+ier2OnYYteC
 EsPxRY8j5Jo+VP+G7ERQCaEiHKDuxcdXf9ZHOs79ByBx8Lo3uqJOoQXZmUfMYJ77afaURRvj
 wbUxI2xWVSDpZXMESrFnop4uw9eLsT8wYUqQSYfBTUI7ND4yG3YpkKeF40zeEJZYzCcJN0R/
 9xohHVm71nwpZRSv0lewbwgq2jyzqUltiZvum3qspuNt2uVnrKNaY2y8kT85v1dNoufRVTpl
 CFawJjHtrxRV8rUxHDlrAAx8FeBvazt3Nr02wAHInXc3271py7LkX54vVmS23uFwu5bIGS0M
 Sc/SCta5YNJPWvCUEOES9nZNije9oC5TY6NfqmNNrJmO8EtHCfarHAGTRPBhAjFzRlz+ZzTz
 L/GKK5A+15BUv85pNd3Ls9AuYIWKtcWmTmOGMullkv/itJzphe9EN84DbdHVchhhIvsnekf2
 48CXydT4xkAAuD4fAfN9osfcQIDIXQhXMikoM1LbO+TZAFhHTh5WfPWxLogfa1jnrhUybiUr
 i3sBBcAxQqtn2DDJCWLdmtnNOHlU6FgoC9pJicrJ1uphSQuON798KcFepIrVrA77+g/n+VsR
 vwIdpzYUPRCQzjK4RoHapz5oNAwfRinn1vWbSGkfCI+b9hrQAmQoo3oeQ7m9S8vCCurtJRh/
 +38h12DGZdaHlZsFsfbbv6r3midh3lFlbIgRVbML/lSZF7orNpgJRvug6JlOMoLMxjCmGeXj
 l7EHRcCqODRiIYp692V17ucpoKkHuYiTEpXG27XseS/OSXApzfxxIZBVKCDfCzHVXOy86KnP
 L0Hw/b5OfwBvVBLr4sjTOo7kfNgv4Pi9+1A0wBpPHTXdFD6WLpvL06P0dRLqqAQlKRSvhG7W
 x7X99RXUVlT1BgJzLLFyNIZU9m+
IronPort-HdrOrdr: A9a23:n5rcNK/0K7uEnQNTJhBuk+DUI+orL9Y04lQ7vn2YSXRuHPBw8P
 re+MjztCWE7gr5N0tBpTntAsW9qBDnhPtICOsqTNSftWDd0QPCRuxfBOPZslrd8kbFl9K1u5
 0OT0EHMqyTMWRH
X-IronPort-AV: E=Sophos;i="5.87,272,1631592000"; 
   d="scan'208";a="58306665"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH] Add /CETCOMPAT to linker options
Date: Mon, 29 Nov 2021 10:02:02 +0000
Message-ID: <20211129100202.1294-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.33.0.windows.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 vs2019/xencons/xencons.vcxproj | 1 +
 1 file changed, 1 insertion(+)

diff --git a/vs2019/xencons/xencons.vcxproj b/vs2019/xencons/xencons.vcxproj
index 41d2d1b..0e24bc1 100644
--- a/vs2019/xencons/xencons.vcxproj
+++ b/vs2019/xencons/xencons.vcxproj
@@ -33,6 +33,7 @@
       <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
       <AdditionalDependencies>$(DDK_LIB_PATH)/Rtlver.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/aux_klib.lib;$(DDK_LIB_PATH)/ksecdd.lib;$(DDK_LIB_PATH)/procgrp.lib;$(DDK_LIB_PATH)/wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <CETCompat>true</CETCompat>
     </Link>
     <DriverSign>
       <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-- 
2.33.0.windows.2



From win-pv-devel-bounces@lists.xenproject.org Mon Nov 29 15:56:50 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Nov 2021 15:56:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234716.407329 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrj1N-0005NQ-83; Mon, 29 Nov 2021 15:56:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234716.407329; Mon, 29 Nov 2021 15:56:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrj1N-0005NI-4v; Mon, 29 Nov 2021 15:56:49 +0000
Received: by outflank-mailman (input) for mailman id 234716;
 Mon, 29 Nov 2021 15:56:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NBMI=QQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1mrj1L-0005NC-DZ
 for win-pv-devel@lists.xenproject.org; Mon, 29 Nov 2021 15:56:47 +0000
Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com
 [2607:f8b0:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3fa1705-512c-11ec-b941-1df2895da90e;
 Mon, 29 Nov 2021 16:56:46 +0100 (CET)
Received: by mail-pg1-x530.google.com with SMTP id f125so3294254pgc.0
 for <win-pv-devel@lists.xenproject.org>; Mon, 29 Nov 2021 07:56:46 -0800 (PST)
Received: from [10.204.135.21] ([161.188.220.58])
 by smtp.gmail.com with ESMTPSA id a22sm16764292pfh.111.2021.11.29.07.56.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Nov 2021 07:56:44 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3fa1705-512c-11ec-b941-1df2895da90e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=wl8hKmt5TRKWiLtWICF5aK4HkWAPqc9r+4dm28WcCOk=;
        b=S81J2jfbBfX7GW2i9Dq8GM1OLgVmg/YMuJ4JXJATixxj7gp0FGAZvLc/R6dSmqMtFP
         oNG45mYrOfgTXMMQHvxC10VkYnZyAbymgj5Q6U7Qc5N/ItHYaIpjuYLeiaXvJdP/OATw
         mqoB6tv9p/tRv02oABpwA5vlnVumWh4EfLE5S4CgXeoheTY6SyuLrP+ZVNKMjVX5RCB/
         NWpEmIGC0qEqbGssyEEH174o/hMcaDiAUwL9gHDL/0iSBUbph2BEPINQtLnEsw4NWSGr
         IzOaJpRkr181YKH1nAFDpJKd1hGIEO4Qh36yqZ8i7pbKEnr1F3IqA1pYIh3P8OTsb4eg
         zFeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=wl8hKmt5TRKWiLtWICF5aK4HkWAPqc9r+4dm28WcCOk=;
        b=uZSzL764xxLIeCmPyQESVRF6KpJ8d6USV1lq44igqTYjnrvYW2zlHltOLuK/0f7vZk
         CVeguykhwK3dITwnm0VbaCsFIHSqLZSHzd3PH285+fNd4DTMwabLxZC7jWkXnpSTQlsl
         rb74ZxV8eWdCcDpWVPa7kWlzYaGa5BfTUnpShIjrkklNkgNs0ThL4cjhqjA38sWVEDDB
         KkYT0uNmfK0XDOaWNibSWRRpyUcFI2YU7KhO7TEH7bcKkPPoCPnaJ8kGTFOkPpM+e7Mx
         pIC9IHI5ezMu4V9OIliK9wJrne6wrQAB2dO9YIpgopvyxEKR0L2CtLvN7Oq4uOVv/KAG
         EYgA==
X-Gm-Message-State: AOAM531p5jIiralLc+xdVgcKmIunmxMMW8A1UW3+0SXkdhMNJ3rtCgRd
	CIkMp/d0YZwMvA/XTkL7h+qOWuGlkjM=
X-Google-Smtp-Source: ABdhPJzrLwjQriVvpVWps3lQqGu0wXqZSVxKMaTdORHrRUauG40DrqB+Nz7TSnhi34EPTulTYl6Rhg==
X-Received: by 2002:a05:6a00:1744:b0:4a4:f4e6:1cc0 with SMTP id j4-20020a056a00174400b004a4f4e61cc0mr39538068pfc.15.1638201404900;
        Mon, 29 Nov 2021 07:56:44 -0800 (PST)
Message-ID: <0dc2d8e0-6755-5ea7-6942-dc2e32316087@gmail.com>
Date: Mon, 29 Nov 2021 07:56:43 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.3.2
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/4] Add /CETCOMPAT to linker options
Content-Language: en-US
To: Owen Smith <owen.smith@citrix.com>, "paul@xen.org" <paul@xen.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
References: <20211026071211.1875-1-owen.smith@citrix.com>
 <1c9d96da-2a88-cd0e-2769-d58ff7ffda86@gmail.com>
 <DS7PR03MB5477C116CED47B294FA577E6FE8B9@DS7PR03MB5477.namprd03.prod.outlook.com>
 <f85f8461-a80e-3676-2af8-248df5656c60@gmail.com>
 <SJ0PR03MB54883928730F3D8859E9E213FE669@SJ0PR03MB5488.namprd03.prod.outlook.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <SJ0PR03MB54883928730F3D8859E9E213FE669@SJ0PR03MB5488.namprd03.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/11/2021 01:51, Owen Smith wrote:
> 
> 
> -----Original Message-----
> From: Durrant, Paul <xadimgnik@gmail.com>
> Sent: 28 November 2021 20:36
> To: Owen Smith <owen.smith@citrix.com>; paul@xen.org; win-pv-devel@lists.xenproject.org
> Subject: Re: [PATCH 1/4] Add /CETCOMPAT to linker options
> 
> [CAUTION - EXTERNAL EMAIL] DO NOT reply, click links, or open attachments unless you have verified the sender and know the content is safe.
> 
> On 02/11/2021 03:28, Owen Smith wrote:
>> -----Original Message-----
>> From: win-pv-devel <win-pv-devel-bounces@lists.xenproject.org> On
>> Behalf Of Durrant, Paul
>> Sent: 02 November 2021 10:06
>> To: win-pv-devel@lists.xenproject.org
>> Subject: Re: [PATCH 1/4] Add /CETCOMPAT to linker options
>>
>> [CAUTION - EXTERNAL EMAIL] DO NOT reply, click links, or open attachments unless you have verified the sender and know the content is safe.
>>
>> On 26/10/2021 08:12, Owen Smith wrote:
>>> The "Hardware Enforced Stack Protection Compatability" test
>>> introduced with the Server 2022 HLK requires drivers to be linked
>>> with /CETCOMPAT
>>>
>>
>> Does this patch need applying to all drivers then?
>>
>> It does - I've got a patch in our queue, and was intending on posting
>> them once I'd completed WHQL, but it had slipped my mind
>>
> 
> Hi Owen,
> 
>     I finally got round to pushing this and the other XENNET patches; sorry it took so long.
> 
>     Do you have the patches equivalent to this available for the other drivers?
> 
>     Cheers,
> 
>       Paul
> 
> 
> I have patches that sit in our patch queue - let me quickly rebase them on upstream
> 

Thanks :-)

   Paul

> Owen
> 



From win-pv-devel-bounces@lists.xenproject.org Mon Nov 29 15:58:00 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Nov 2021 15:58:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.234723.407336 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrj2W-0005Xk-Cq; Mon, 29 Nov 2021 15:58:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 234723.407336; Mon, 29 Nov 2021 15:58:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1mrj2W-0005Xc-9q; Mon, 29 Nov 2021 15:58:00 +0000
Received: by outflank-mailman (input) for mailman id 234723;
 Mon, 29 Nov 2021 15:57:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NBMI=QQ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1mrj2U-0005XU-O6
 for win-pv-devel@lists.xenproject.org; Mon, 29 Nov 2021 15:57:58 +0000
Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com
 [2607:f8b0:4864:20::102a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e92cdf3-512d-11ec-976b-d102b41d0961;
 Mon, 29 Nov 2021 16:57:57 +0100 (CET)
Received: by mail-pj1-x102a.google.com with SMTP id
 j5-20020a17090a318500b001a6c749e697so11992181pjb.1
 for <win-pv-devel@lists.xenproject.org>; Mon, 29 Nov 2021 07:57:57 -0800 (PST)
Received: from [10.204.135.21] ([161.188.220.58])
 by smtp.gmail.com with ESMTPSA id h13sm17077503pfv.84.2021.11.29.07.57.55
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Nov 2021 07:57:56 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e92cdf3-512d-11ec-976b-d102b41d0961
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=E05v/sX1mvYHWCff9CUocwMq8eHW3JU5EilKkdI5veI=;
        b=jbfucKEukhvNoKHHLbZf2hOwXqC+71cfzpDRHJg/zVLiTWdCpCx9jHvohGxdKx61RV
         Co2PD4eGYJdPtUrQsUT6l4X/APcsEG7BRYs6+22LkJ49d7+e903BzvDyq/bXEwQ2WPpO
         iWTIZsAlEtmCx+M56FoRZwrV4sie6hzCSElKrwYOOjgIZB/Euvg71h4KOzJ6qDMhwvhq
         pjtVxJy9M4s8Qk55mIQvoJ8qUYmW3WxyCP1SkFotvV5FooJmlrH7msx12ZSswPPq1nMg
         T0W+yZwj+r5xwQJ7xpln9dh5FQ6T99UwyGKltM7Dx0f6ZMvB5t2eMdmRAuxDDgxAShJy
         9bHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=E05v/sX1mvYHWCff9CUocwMq8eHW3JU5EilKkdI5veI=;
        b=IkxDAlMvGEmeRhrE1DA6V5AvVD19fq5Uz/k2hPmaFS6fNkLQRegkdPbKe0JULIqepo
         lMGVGwszcgtctja9pC/elY3ghOAeNKsePCrRld6E+nPMyOSmLrEtaointtRUBIEbdx3e
         4OZuI3FMEKaQHYUo//PMN5IgyrR74GMQD2IhojlYUzv9v1KutadeglCshA0aK6cWSj8l
         zUujykwbOPImPp8OoU8yfr2P3vK+Ni9TCc42s38JuYA7jvaZM5gmLzZwntt/6CfhHCY5
         eWkhUkkUn0g8PKzI7SehzFultkqBrz5bVcH3pSPET7UrQngv0tiCtozONRGQr5HVhP3m
         ZStg==
X-Gm-Message-State: AOAM530hz7lHacSZBfgkw7t+z7B8/3+Zw+CtqMMYS9K3UFYoYt+G+zt+
	TAdmMav6ex3aHG5K+8DxlQduP4gW3x4=
X-Google-Smtp-Source: ABdhPJwJtl1EGmGlNbwjcu1EzVh0JOLkBG9rQoVKQMgyM+BUrJfoh2jq5GBHCLhzQSZ2tVbhDgJfXw==
X-Received: by 2002:a17:903:124e:b0:143:a388:a5de with SMTP id u14-20020a170903124e00b00143a388a5demr61847091plh.73.1638201476476;
        Mon, 29 Nov 2021 07:57:56 -0800 (PST)
Message-ID: <7c44159f-1518-e935-3db0-a2f468b8565c@gmail.com>
Date: Mon, 29 Nov 2021 07:57:55 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.3.2
Reply-To: paul@xen.org
Subject: Re: [PATCH] Add /CETCOMPAT to linker options
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20211129100202.1294-1-owen.smith@citrix.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20211129100202.1294-1-owen.smith@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/11/2021 02:02, Owen Smith wrote:
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

This and all similar patches...

Acked-by: Paul Durrant <paul@xen.org>

> ---
>   vs2019/xencons/xencons.vcxproj | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/vs2019/xencons/xencons.vcxproj b/vs2019/xencons/xencons.vcxproj
> index 41d2d1b..0e24bc1 100644
> --- a/vs2019/xencons/xencons.vcxproj
> +++ b/vs2019/xencons/xencons.vcxproj
> @@ -33,6 +33,7 @@
>         <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
>         <AdditionalDependencies>$(DDK_LIB_PATH)/Rtlver.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/aux_klib.lib;$(DDK_LIB_PATH)/ksecdd.lib;$(DDK_LIB_PATH)/procgrp.lib;$(DDK_LIB_PATH)/wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
>         <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
> +      <CETCompat>true</CETCompat>
>       </Link>
>       <DriverSign>
>         <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
> 



From win-pv-devel-bounces@lists.xenproject.org Tue Nov 30 16:06:38 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Nov 2021 16:06:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.235284.408266 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ms5eO-0005qm-8L; Tue, 30 Nov 2021 16:06:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 235284.408266; Tue, 30 Nov 2021 16:06:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ms5eO-0005qf-5L; Tue, 30 Nov 2021 16:06:36 +0000
Received: by outflank-mailman (input) for mailman id 235284;
 Tue, 30 Nov 2021 16:06:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WW1H=QR=citrix.com=owen.smith@srs-se1.protection.inumbo.net>)
 id 1ms5eM-0005qZ-PB
 for win-pv-devel@lists.xenproject.org; Tue, 30 Nov 2021 16:06:34 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 78b4ed92-51f7-11ec-b941-1df2895da90e;
 Tue, 30 Nov 2021 17:06:29 +0100 (CET)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78b4ed92-51f7-11ec-b941-1df2895da90e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1638288393;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=2V5IiMVMr3FgPFal4EVmY0oaY38aABEWHY/ITA8iIQY=;
  b=Mv4o1Mdbz5Mq27MnY5dtjAp2IGFafaUMDW58b+KMbaDibmZN4UCojiMX
   2RcA05gK/76vrRJKGMNpS/ylePKKeCxNvgSFCLKiLZGxEZkgNRcqfwS35
   y/QcSK1do8MfDmXg1XWhhBNFmEEe1/tONNwABnpAv2N8ME91b78OyUSz2
   E=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: PbqPHbFDkmeJmPR2Ljc+BYVE8VNUyDxxjF7N/Y5bBWKqh9GLpRtk+8AoCzZqDelYoFUlk7KbtX
 Z80g/hbtH06Bk0c1G3UNvxXctJqD87AXYFJOCn0sEneW3i82Wam44Bf51Yjcwh4W9B5l4JX2zV
 4H9KTZpzW6kfBSq8kY5xyLHaOLZppcA5BdGCf9HnDNrCrM4nFpiBGN22XcDl36bfn+4iIr81BF
 8Wcu2B7mV3qh0X1qMNcRe0SzOZKUHR4w6CPHWgyO53o76Z65i3wFByQczkwNlGOOs2chf5vQoI
 U9mrAOPhrF6urvxt7MbfR5wB
X-SBRS: 5.1
X-MesageID: 60950348
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:56myOa+6ExTuWCGvjvqcDrUDrXmTJUtcMsCJ2f8bNWPcYEJGY0x3m
 mBLWGmFP62LNzb8KN5/aY7k9k0Bv5CEyt9qQFZpq388E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhGmeIdA970Ug6wrdi2tYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhX5
 d9t7a6aTD4RP6yRmLwFA0FcTD5xaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwkM8Ttepgau21g5TrYEewnUdbIRKCiCdpwgm9h25gVQaa2i
 8wxe2p3dAiDcj52NQlLIr4SleizuGXyWmgNwL6SjfVuuDWCpOBr65DyMdyQYsLPSchLk0Kwo
 mPd43+/EhwcLMaYyzeO7jSrnOCnoM/gcNtMTvvirKcs2QDNgDxIYPELabelid+UgG7mafhaE
 nQV+3cu9bBirEj0UdaoCnVUv0W4lhIbXtNRFcgz5weM1rfY7m6lO4QUctJSQId47ZFrHFTGw
 nfMxoq0XmI37NV5XFrEru/MxQ5eLxT5OoPricUsaQIeq+fur4go5v4kZoYySfXl5jEZ9NyZ/
 txrkMTcr+lD5SLo///ilbwiv95KjsOSJuLSzl+KNl9JFisjOOaYi3WAsDA3F8poIoeDVUWmt
 3MZgcWY5+1mJcjTz3zXGbxWR+/zu6zt3NjgbbhHRMJJG9OFoSPLQGytyGsmeBcB3jgsJ1cFn
 3M/SSsOvcQObRNGnId8Yp6rCtRC8EQTPY+NaxwgVfIXOsIZXFbepElGPBfMt0iwwBlEufxuY
 v+zLJfzZUv2/Iw6lVJasc9GiuR1rs3/rEuOLa3GI+OPjeDDOSXLEOhdazNjrIkRtcu5nekcy
 P4HX+Pi9vmVeLeWjvD//dFBIFYUA2I8AJyq+cVbevTaelhtGX07Cu+XyrQkItQ3k6NQn+bO3
 3e8Rk4Hlwav2SyZcV2HOiJ5dbfifZdjtnZnbyYiCkmlhio4aoG14aZBK5ZuJes79PZuxOJfR
 uUef5nSGexGTznKomxPbZT0oIF4Wg6sgAaCY3isbDQlJsYyTA3V4N70OADo8XBWXCawsMI/p
 Zym1x/aHsVfF1gzUp6OZav2nV2rvHUblOZjZGfyI4FeKBf27YxnCy3tlftrccsCHgrOm2mB3
 AGMDBZG+eSU+90p8MPEjLyvppuyF7csBVJTGmTW4OrkNSTe+Wb/k4ZMXPzRIGLYXWLwvq6je
 f9U37f3N/hexARGtI91ErBKy6Mi5oSw++8Gn1o8RHibPU62Dr5AI2Wd2Zgdv6JA8bZVpA+qV
 x/d4dJdI7iIZJvoHVN5yNDJtQhfOSX4QgXv0Mk=
IronPort-HdrOrdr: A9a23:z3xmLaHvZ+sW8sbrpLqE4seALOsnbusQ8zAXP0AYc3Nom6uj5q
 WTdZUgpHjJYVkqOU3I9ersBEDiewK/yXcW2+ks1N6ZNWGM0ldARLsSibcKqAePJ8SRzIJgPN
 9bAstDNOE=
X-IronPort-AV: E=Sophos;i="5.87,276,1631592000"; 
   d="scan'208";a="60950348"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH] Interpret "removable" and "info" flags correctly
Date: Tue, 30 Nov 2021 16:06:22 +0000
Message-ID: <20211130160622.834-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.33.0.windows.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

"removable" relates to the ability to remove the device (not media)

  "removable" = "1" is used to indicate the device can be hot unplugged, as
  PV devices should support hot plug/unplug in the majority of cases.
  "removable" = "0" is used to indicate that the device is being prevented
  from hot unplug by the tool stack. This will allow XenVbd to report the
  correct device capabilities to the OS to indicate that this disk is not
  capable of being removed. This will allow certain policies to be applied
  which restrict access to removable disks (for security and to prevent data
  exfiltration)

"info" contains various flags for the media (not device)

  VDISK_CDROM implies RemovableMedia (a specific case of VDISK_REMOVABLE)
  VDISK_REMOVABLE imples RemovableMedia (underlying disk has GENHD_FL_REMOVABLE)
  VDISK_READONLY implies a READ_ONLY_DIRECT_ACCESS_DEVICE

  'Standard' disks usually set no flags (i.e. media is RW and not removable)
  A CDROM will set VDISK_CDROM | VDISK_READONLY, to indicate the media is RO
  and removable.

STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES must be set, otherwise StorPort will
not use the values provided for EjectSupported and SurpriseRemovalOK in the
STOR_DEVICE_CAPABILITIES_EX structure. Without this, CM_DEVCAP_EJECTSUPPORTED
and CM_DEVCAP_SURPRISEREMOVALOK are left unchanged, and prevents a non-removable
device from identifying correctly as non-removable.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenvbd/adapter.c |  7 ++++---
 src/xenvbd/target.c  | 16 +++++++++++++---
 src/xenvbd/target.h  |  1 +
 3 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/xenvbd/adapter.c b/src/xenvbd/adapter.c
index 5b17a6b..8a13af9 100644
--- a/src/xenvbd/adapter.c
+++ b/src/xenvbd/adapter.c
@@ -1927,10 +1927,10 @@ __AdapterSrbPnp(
 
     switch (Srb->PnPAction) {
     case StorQueryCapabilities: {
-        PSTOR_DEVICE_CAPABILITIES Caps = Srb->DataBuffer;
+        PSTOR_DEVICE_CAPABILITIES_EX Caps = Srb->DataBuffer;
 
-        Caps->Removable = 1;
-        Caps->EjectSupported = 1;
+        Caps->Removable = TargetGetRemovable(Target);
+        Caps->EjectSupported = TargetGetRemovable(Target);
         Caps->SurpriseRemovalOK = 1;
         Caps->UniqueID = 1;
 
@@ -2280,6 +2280,7 @@ AdapterDriverEntry(
     InitData.MultipleRequestPerLu       = TRUE;
     InitData.HwAdapterControl           = AdapterHwAdapterControl;
     InitData.HwBuildIo                  = AdapterHwBuildIo;
+    InitData.FeatureSupport             = STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES;
 
     status = StorPortInitialize(DriverObject,
                                 RegistryPath,
diff --git a/src/xenvbd/target.c b/src/xenvbd/target.c
index 7935fa0..e71200f 100644
--- a/src/xenvbd/target.c
+++ b/src/xenvbd/target.c
@@ -641,7 +641,6 @@ TargetInquiryStd(
     IN  PSCSI_REQUEST_BLOCK Srb
     )
 {
-    PXENVBD_FEATURES        Features =  FrontendGetFeatures(Target->Frontend);
     PXENVBD_DISKINFO        DiskInfo = FrontendGetDiskInfo(Target->Frontend);
     PINQUIRYDATA            Data = Srb->DataBuffer;
     ULONG                   Length = Srb->DataTransferLength;
@@ -656,9 +655,11 @@ TargetInquiryStd(
         return;
 
     RtlZeroMemory(Data, Length);
-    Data->DeviceType            = DIRECT_ACCESS_DEVICE;
+    Data->DeviceType            = (DiskInfo->DiskInfo & VDISK_READONLY) ?
+                                  READ_ONLY_DIRECT_ACCESS_DEVICE :
+                                  DIRECT_ACCESS_DEVICE;
     Data->DeviceTypeQualifier   = DEVICE_CONNECTED;
-    Data->RemovableMedia        = Features->Removable ||
+    Data->RemovableMedia        = (DiskInfo->DiskInfo & VDISK_CDROM) ||
                                   (DiskInfo->DiskInfo & VDISK_REMOVABLE);
     Data->Versions              = 4;
     Data->ResponseDataFormat    = 2;
@@ -1475,6 +1476,15 @@ TargetGetDeviceId(
     return FrontendGetDeviceId(Target->Frontend);
 }
 
+//TARGET_GET_PROPERTY(Removable, BOOLEAN)
+BOOLEAN
+TargetGetRemovable(
+    IN  PXENVBD_TARGET  Target
+    )
+{
+    return FrontendGetFeatures(Target->Frontend)->Removable;
+}
+
 TARGET_GET_PROPERTY(DevicePnpState, DEVICE_PNP_STATE)
 //TARGET_GET_PROPERTY(Missing, BOOLEAN)
 
diff --git a/src/xenvbd/target.h b/src/xenvbd/target.h
index 6feecc1..c6c027a 100644
--- a/src/xenvbd/target.h
+++ b/src/xenvbd/target.h
@@ -132,6 +132,7 @@ TARGET_GET_PROPERTY(Adapter, PXENVBD_ADAPTER)
 TARGET_GET_PROPERTY(DeviceObject, PDEVICE_OBJECT)
 TARGET_GET_PROPERTY(TargetId, ULONG)
 TARGET_GET_PROPERTY(DeviceId, ULONG)
+TARGET_GET_PROPERTY(Removable, BOOLEAN)
 TARGET_GET_PROPERTY(DevicePnpState, DEVICE_PNP_STATE)
 TARGET_GET_PROPERTY(Missing, BOOLEAN)
 
-- 
2.33.0.windows.2



From win-pv-devel-bounces@lists.xenproject.org Tue Nov 30 21:21:09 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Nov 2021 21:21:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.235523.408563 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1msAYm-0001EK-7T; Tue, 30 Nov 2021 21:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 235523.408563; Tue, 30 Nov 2021 21:21:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1msAYm-0001EB-3v; Tue, 30 Nov 2021 21:21:08 +0000
Received: by outflank-mailman (input) for mailman id 235523;
 Tue, 30 Nov 2021 21:21:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bQqM=QR=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1msAYk-0001Cz-Uf
 for win-pv-devel@lists.xenproject.org; Tue, 30 Nov 2021 21:21:07 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d08d3d3-5223-11ec-976b-d102b41d0961;
 Tue, 30 Nov 2021 22:21:06 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 77-20020a1c0450000000b0033123de3425so20647092wme.0
 for <win-pv-devel@lists.xenproject.org>; Tue, 30 Nov 2021 13:21:05 -0800 (PST)
Received: from [10.95.138.41] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id w22sm3272530wmi.27.2021.11.30.13.21.03
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Nov 2021 13:21:04 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d08d3d3-5223-11ec-976b-d102b41d0961
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=raJR1d4TYVP5n+Sch8qrXJ1bv9DucVl3CDxGJxIjVFE=;
        b=ENp5zmx6ZbR2986LHMpUTiAbAaZsXVDkQFa0y4IorRCjo0gL3fV2fDvTDDqVvXbC+7
         AljCWI7/jEdTrWG9rq8LAjICkoE3dqeAwoSQeIEiD5/vINjUAeCcjRNSbM43q3/UPZlj
         ZvZ1FgqdBolyrLYiWECdX+PI3HSIrLaFc+jup/8wIZ4DqoIg1Zu8BPJCXFwxiHixBWLS
         1d02Yr4Zye/X/51pOsSqhwRsvVc1eEJuTa7GOBAuwRimp0XsA83/nOKIcByDKFh1nvpL
         IZOhmMraf1cVr9LyFayE36VRId0QdVtTJvro10ph1L9fl/Oqm3STBiX5XD/wC5TeQrKu
         L5qA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=raJR1d4TYVP5n+Sch8qrXJ1bv9DucVl3CDxGJxIjVFE=;
        b=y0hRn6gxZ4xXhhLDX3WJa9Io3Fw3yEZuwJ80ooiH98zFSUNfqy16y21cpM6bCyE9tq
         1GeNjSBYBjmQ/9T0lWxoAVgTKIXLNcBloGO52afdHMgifqcParegDHcozatbdkRaoU76
         O5l5cvktagErRgcra9qhUMW2EqhOE6ljen0RaxYRZl8zcWDoGNUSgwj1LzcA2z735JKJ
         GPI0YigL2APyxkNo9baTjpKAMunMQAeR8xRHUJKQqksRlWXeeVD2up+ZgJhNAuu6rtnw
         KQs7kx+P4rAZpCnkz+o9TQ3RiURi4zIFVU6xge+AesJEub7AGJCcf1V9KbpjiDlEHmNn
         6hSQ==
X-Gm-Message-State: AOAM530HPORUNCuyAUR+87+B4xKcrgHGtQtRP1r9lFCNhlBh2HTCB4OR
	cszs0hQ33h/mCrhURfDF3qKF8zav2Cs=
X-Google-Smtp-Source: ABdhPJyO1pmOBuZUR4hkYBM2DeYZorzQA2nvij1ZlivGd5QgvvDRLC0s7mJgsZ16L2Ozsrvpm4FA4w==
X-Received: by 2002:a7b:cf10:: with SMTP id l16mr1534931wmg.17.1638307264580;
        Tue, 30 Nov 2021 13:21:04 -0800 (PST)
Message-ID: <0342da6f-94c3-1a89-aeb9-1df7274efafa@gmail.com>
Date: Tue, 30 Nov 2021 13:21:01 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.3.2
Reply-To: paul@xen.org
Subject: Re: [PATCH] Interpret "removable" and "info" flags correctly
Content-Language: en-US
To: win-pv-devel@lists.xenproject.org
References: <20211130160622.834-1-owen.smith@citrix.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20211130160622.834-1-owen.smith@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 30/11/2021 08:06, Owen Smith wrote:
> "removable" relates to the ability to remove the device (not media)
> 
>    "removable" = "1" is used to indicate the device can be hot unplugged, as
>    PV devices should support hot plug/unplug in the majority of cases.
>    "removable" = "0" is used to indicate that the device is being prevented
>    from hot unplug by the tool stack. This will allow XenVbd to report the
>    correct device capabilities to the OS to indicate that this disk is not
>    capable of being removed. This will allow certain policies to be applied
>    which restrict access to removable disks (for security and to prevent data
>    exfiltration)
> 
> "info" contains various flags for the media (not device)
> 
>    VDISK_CDROM implies RemovableMedia (a specific case of VDISK_REMOVABLE)
>    VDISK_REMOVABLE imples RemovableMedia (underlying disk has GENHD_FL_REMOVABLE)
>    VDISK_READONLY implies a READ_ONLY_DIRECT_ACCESS_DEVICE
> 
>    'Standard' disks usually set no flags (i.e. media is RW and not removable)
>    A CDROM will set VDISK_CDROM | VDISK_READONLY, to indicate the media is RO
>    and removable.
> 
> STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES must be set, otherwise StorPort will
> not use the values provided for EjectSupported and SurpriseRemovalOK in the
> STOR_DEVICE_CAPABILITIES_EX structure. Without this, CM_DEVCAP_EJECTSUPPORTED
> and CM_DEVCAP_SURPRISEREMOVALOK are left unchanged, and prevents a non-removable
> device from identifying correctly as non-removable.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>


