[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 3/5] x86/mm: make code robust to future PAT changes


  • To: Demi Marie Obenour <demi@xxxxxxxxxxxxxxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Thu, 5 Jan 2023 15:01:17 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • 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=pXqvXHLbXthir5g+J/oME+mWyeNJxBhm5JM/UMSs7BI=; b=aRq0J+LJHeKQRhhtHQ3kv5v+85H53IkyBTqTWkpPeov0iX1F/0R2klcrT6IbY1bPJHggqdyokqiUfzJGiVrAHpRIQS5pxlKFgKunen5jBG0xI7lUcMbmYXWvEACc032gnVzvDvCkcg2I4aRChp0wn35lQ1sKO4B4HQM0pjmUlm+WX9OcW+GALQ79KMjog0q4zRsKLO/T7rOqfWNApiWiLNoDnYctQq3ofcPv3q+A1pektjjs0gqTcvce95j2wS828+3l+8r7jnT0V1Be4mzi/xMlMILmvLEsyxRQRSrbmyZrI/tSsEfODZ3DYkEgmoifiEOQ6LZ5LcuZ75l1RVbJwg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jfYAIrI4wcKltuCEO6ZZUOZztEYPJ9+TqSQd+KEVEsL1yXXgX0YFpTTRmV7FO+NWioJ2us6AnLxg4mYUlVq3NxL9IRMYfZXZBrbuEE6ae6lqZMviIFGM4yueRdwz6N4FyJyh4w8X9no2sFX3DLcZUnFPG5jkPVPhsdUrR+9oeOKAjJhwauwqByEQt1AgUEsJJ9j0/REGscDO7qgWia49P03QsbRR/7rxEm17gG/BCqXFwMzDzZ6eVUmhHZ/FccW/FtfbGTRrM2oO0FK/XyvxWjg/JLYL8ZnhSu1gRhH0t3SpNTmdIJxlbESkNoTq9CDWO+WIMv1bhsdm+1Uuh4n7GQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Tim Deegan <tim@xxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Thu, 05 Jan 2023 14:01:37 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 22.12.2022 23:31, Demi Marie Obenour wrote:
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -6352,6 +6352,11 @@ unsigned long get_upper_mfn_bound(void)
>      return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
>  }
>  
> +
> +/*

Nit: Please avoid introducing double blank lines.

> + * A bunch of static assertions to check that the XEN_MSR_PAT is valid
> + * and consistent with the _PAGE_* macros, and that _PAGE_WB is zero.

This comment is too specific for a function of ...

> + */
>  static void __init __maybe_unused build_assertions(void)

... this name, in this file.

> @@ -6361,6 +6366,71 @@ static void __init __maybe_unused 
> build_assertions(void)
>       * using different PATs will not work.
>       */
>      BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
> +
> +    /*
> +     * _PAGE_WB must be zero for several reasons, not least because Linux
> +     * PV guests assume it.
> +     */
> +    BUILD_BUG_ON(_PAGE_WB);
> +
> +#define PAT_ENTRY(v)                                                         
>   \
> +    (BUILD_BUG_ON_ZERO(((v) < 0) || ((v) > 7)) +                             
>   \
> +     (0xFF & (XEN_MSR_PAT >> (8 * (v)))))
> +
> +    /* Validate at compile-time that v is a valid value for a PAT entry */
> +#define CHECK_PAT_ENTRY_VALUE(v)                                             
>   \
> +    BUILD_BUG_ON((v) < 0 || (v) > 7 ||                                       
>   \

See my v5 comments.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.