Re: [PATCHv5 01/12] x86/boot/: Centralize __pa()/__va() definitions

From: Mike Rapoport
Date: Mon Apr 25 2022 - 03:53:48 EST


On Mon, Apr 25, 2022 at 06:39:23AM +0300, Kirill A. Shutemov wrote:
> Replace multiple __pa()/__va() definitions with a single one in misc.h.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>

Reviewed-by: Mike Rapoport <rppt@xxxxxxxxxxxxx>

> ---
> arch/x86/boot/compressed/ident_map_64.c | 8 --------
> arch/x86/boot/compressed/misc.h | 9 +++++++++
> arch/x86/boot/compressed/sev.c | 2 --
> 3 files changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/arch/x86/boot/compressed/ident_map_64.c b/arch/x86/boot/compressed/ident_map_64.c
> index f7213d0943b8..fe523ee1a19f 100644
> --- a/arch/x86/boot/compressed/ident_map_64.c
> +++ b/arch/x86/boot/compressed/ident_map_64.c
> @@ -8,14 +8,6 @@
> * Copyright (C) 2016 Kees Cook
> */
>
> -/*
> - * Since we're dealing with identity mappings, physical and virtual
> - * addresses are the same, so override these defines which are ultimately
> - * used by the headers in misc.h.
> - */
> -#define __pa(x) ((unsigned long)(x))
> -#define __va(x) ((void *)((unsigned long)(x)))
> -
> /* No PAGE_TABLE_ISOLATION support needed either: */
> #undef CONFIG_PAGE_TABLE_ISOLATION
>
> diff --git a/arch/x86/boot/compressed/misc.h b/arch/x86/boot/compressed/misc.h
> index ea71cf3d64e1..9f7154a30d37 100644
> --- a/arch/x86/boot/compressed/misc.h
> +++ b/arch/x86/boot/compressed/misc.h
> @@ -19,6 +19,15 @@
> /* cpu_feature_enabled() cannot be used this early */
> #define USE_EARLY_PGTABLE_L5
>
> +/*
> + * Boot stub deals with identity mappings, physical and virtual addresses are
> + * the same, so override these defines.
> + *
> + * <asm/page.h> will not define them if they are already defined.
> + */
> +#define __pa(x) ((unsigned long)(x))
> +#define __va(x) ((void *)((unsigned long)(x)))
> +
> #include <linux/linkage.h>
> #include <linux/screen_info.h>
> #include <linux/elf.h>
> diff --git a/arch/x86/boot/compressed/sev.c b/arch/x86/boot/compressed/sev.c
> index 28bcf04c022e..4dcea0bc4fe4 100644
> --- a/arch/x86/boot/compressed/sev.c
> +++ b/arch/x86/boot/compressed/sev.c
> @@ -106,9 +106,7 @@ static enum es_result vc_read_mem(struct es_em_ctxt *ctxt,
> }
>
> #undef __init
> -#undef __pa
> #define __init
> -#define __pa(x) ((unsigned long)(x))
>
> #define __BOOT_COMPRESSED
>
> --
> 2.35.1
>

--
Sincerely yours,
Mike.