All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aleksey Makarov <aleksey.makarov@linaro.org>
To: Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>
Cc: "Rafael J . Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>,
	linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Graeme Gregory <graeme.gregory@linaro.org>,
	Jon Masters <jcm@redhat.com>, "Zheng, Lv" <lv.zheng@intel.com>,
	Mark Rutland <mark.rutland@arm.com>
Subject: Re: [PATCH v3 5/5] ACPI: ARM64: support for ACPI_TABLE_UPGRADE
Date: Tue, 14 Jun 2016 18:51:19 +0300	[thread overview]
Message-ID: <02dde480-cc01-6372-5baa-02ecf0037074@linaro.org> (raw)
In-Reply-To: <20160602174910.30428-1-aleksey.makarov@linaro.org>


On 06/02/2016 08:49 PM, Aleksey Makarov wrote:
> From: Jon Masters <jcm@redhat.com>
> 
> This patch adds support for ACPI_TABLE_UPGRADE for ARM64

Hi Catalin, Will,

Can you review this v3 patch please?  I changed PFN_PHYS(max_pfn) to
MEMBLOCK_ALLOC_ACCESSIBLE.

Thank you
Aleksey Makarov

> To access initrd image we need to move initialization
> of linear mapping a bit earlier.
> 
> The implementation of the feature acpi_table_upgrade()
> (drivers/acpi/tables.c) works with initrd data represented as an array
> in virtual memory.  It uses some library utility to find the redefined
> tables in that array and iterates over it to copy the data to new
> allocated memory.  So to access the initrd data via fixmap
> we need to rewrite it considerably.
> 
> In x86 arch, kernel memory is already mapped by the time when
> acpi_table_upgrade() and acpi_boot_table_init() are called so I
> think that we can just move this mapping one function earlier too.
> 
> Signed-off-by: Jon Masters <jcm@redhat.com>
> Signed-off-by: Aleksey Makarov <aleksey.makarov@linaro.org>
> ---
>  arch/arm64/Kconfig            | 1 +
>  arch/arm64/include/asm/acpi.h | 2 ++
>  arch/arm64/kernel/setup.c     | 6 ++++--
>  3 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 87c48ad..baee459 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -5,6 +5,7 @@ config ARM64
>  	select ACPI_REDUCED_HARDWARE_ONLY if ACPI
>  	select ACPI_MCFG if ACPI
>  	select ARCH_HAS_DEVMEM_IS_ALLOWED
> +	select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
>  	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
>  	select ARCH_HAS_ELF_RANDOMIZE
>  	select ARCH_HAS_GCOV_PROFILE_ALL
> diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h
> index aee323b..c7aefc5 100644
> --- a/arch/arm64/include/asm/acpi.h
> +++ b/arch/arm64/include/asm/acpi.h
> @@ -113,4 +113,6 @@ static inline const char *acpi_get_enable_method(int cpu)
>  pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr);
>  #endif
>  
> +#define ACPI_TABLE_UPGRADE_MAX_PHYS MEMBLOCK_ALLOC_ACCESSIBLE
> +
>  #endif /*_ASM_ACPI_H*/
> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
> index feab2ee..4bce811 100644
> --- a/arch/arm64/kernel/setup.c
> +++ b/arch/arm64/kernel/setup.c
> @@ -261,11 +261,13 @@ void __init setup_arch(char **cmdline_p)
>  	efi_init();
>  	arm64_memblock_init();
>  
> +	paging_init();
> +
> +	acpi_table_upgrade();
> +
>  	/* Parse the ACPI tables for possible boot-time configuration */
>  	acpi_boot_table_init();
>  
> -	paging_init();
> -
>  	if (acpi_disabled)
>  		unflatten_device_tree();
>  
> 

WARNING: multiple messages have this Message-ID (diff)
From: aleksey.makarov@linaro.org (Aleksey Makarov)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 5/5] ACPI: ARM64: support for ACPI_TABLE_UPGRADE
Date: Tue, 14 Jun 2016 18:51:19 +0300	[thread overview]
Message-ID: <02dde480-cc01-6372-5baa-02ecf0037074@linaro.org> (raw)
In-Reply-To: <20160602174910.30428-1-aleksey.makarov@linaro.org>


On 06/02/2016 08:49 PM, Aleksey Makarov wrote:
> From: Jon Masters <jcm@redhat.com>
> 
> This patch adds support for ACPI_TABLE_UPGRADE for ARM64

Hi Catalin, Will,

Can you review this v3 patch please?  I changed PFN_PHYS(max_pfn) to
MEMBLOCK_ALLOC_ACCESSIBLE.

Thank you
Aleksey Makarov

> To access initrd image we need to move initialization
> of linear mapping a bit earlier.
> 
> The implementation of the feature acpi_table_upgrade()
> (drivers/acpi/tables.c) works with initrd data represented as an array
> in virtual memory.  It uses some library utility to find the redefined
> tables in that array and iterates over it to copy the data to new
> allocated memory.  So to access the initrd data via fixmap
> we need to rewrite it considerably.
> 
> In x86 arch, kernel memory is already mapped by the time when
> acpi_table_upgrade() and acpi_boot_table_init() are called so I
> think that we can just move this mapping one function earlier too.
> 
> Signed-off-by: Jon Masters <jcm@redhat.com>
> Signed-off-by: Aleksey Makarov <aleksey.makarov@linaro.org>
> ---
>  arch/arm64/Kconfig            | 1 +
>  arch/arm64/include/asm/acpi.h | 2 ++
>  arch/arm64/kernel/setup.c     | 6 ++++--
>  3 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 87c48ad..baee459 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -5,6 +5,7 @@ config ARM64
>  	select ACPI_REDUCED_HARDWARE_ONLY if ACPI
>  	select ACPI_MCFG if ACPI
>  	select ARCH_HAS_DEVMEM_IS_ALLOWED
> +	select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
>  	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
>  	select ARCH_HAS_ELF_RANDOMIZE
>  	select ARCH_HAS_GCOV_PROFILE_ALL
> diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h
> index aee323b..c7aefc5 100644
> --- a/arch/arm64/include/asm/acpi.h
> +++ b/arch/arm64/include/asm/acpi.h
> @@ -113,4 +113,6 @@ static inline const char *acpi_get_enable_method(int cpu)
>  pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr);
>  #endif
>  
> +#define ACPI_TABLE_UPGRADE_MAX_PHYS MEMBLOCK_ALLOC_ACCESSIBLE
> +
>  #endif /*_ASM_ACPI_H*/
> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
> index feab2ee..4bce811 100644
> --- a/arch/arm64/kernel/setup.c
> +++ b/arch/arm64/kernel/setup.c
> @@ -261,11 +261,13 @@ void __init setup_arch(char **cmdline_p)
>  	efi_init();
>  	arm64_memblock_init();
>  
> +	paging_init();
> +
> +	acpi_table_upgrade();
> +
>  	/* Parse the ACPI tables for possible boot-time configuration */
>  	acpi_boot_table_init();
>  
> -	paging_init();
> -
>  	if (acpi_disabled)
>  		unflatten_device_tree();
>  
> 

  reply	other threads:[~2016-06-14 15:51 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-19 16:15 [PATCH v2 0/5] ACPI: ARM64: support for ACPI_TABLE_UPGRADE Aleksey Makarov
2016-05-19 16:15 ` Aleksey Makarov
2016-05-19 16:15 ` [PATCH v2 1/5] ACPI: table upgrade: use cacheable map for tables Aleksey Makarov
2016-05-19 16:15   ` Aleksey Makarov
2016-05-19 16:15 ` [PATCH v2 2/5] ACPI: table upgrade: refactor function definitions Aleksey Makarov
2016-05-19 16:15   ` Aleksey Makarov
2016-05-20  0:52   ` Zheng, Lv
2016-05-20  0:52     ` Zheng, Lv
2016-05-20  0:52     ` Zheng, Lv
2016-05-19 16:15 ` [PATCH v2 3/5] ACPI: table upgrade: move arch-specific symbol to asm/acpi.h Aleksey Makarov
2016-05-19 16:15   ` Aleksey Makarov
2016-05-19 16:15 ` [PATCH v2 4/5] ACPI: table upgrade: introduce ARCH_HAS_ACPI_TABLE_UPGRADE Aleksey Makarov
2016-05-19 16:15   ` Aleksey Makarov
2016-05-19 16:15 ` [PATCH v2 5/5] ACPI: ARM64: support for ACPI_TABLE_UPGRADE Aleksey Makarov
2016-05-19 16:15   ` Aleksey Makarov
2016-05-27 17:14   ` Catalin Marinas
2016-05-27 17:14     ` Catalin Marinas
2016-05-27 17:14     ` Catalin Marinas
2016-06-02 17:49     ` [PATCH v3 " Aleksey Makarov
2016-06-02 17:49       ` Aleksey Makarov
2016-06-14 15:51       ` Aleksey Makarov [this message]
2016-06-14 15:51         ` Aleksey Makarov
2016-06-14 16:41         ` Will Deacon
2016-06-14 16:41           ` Will Deacon
2016-05-19 21:22 ` [PATCH v2 0/5] " Rafael J. Wysocki
2016-05-19 21:22   ` Rafael J. Wysocki
2016-05-19 21:22   ` Rafael J. Wysocki
2016-05-27 13:46   ` Aleksey Makarov
2016-05-27 13:46     ` Aleksey Makarov
2016-05-27 13:46     ` Aleksey Makarov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=02dde480-cc01-6372-5baa-02ecf0037074@linaro.org \
    --to=aleksey.makarov@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=graeme.gregory@linaro.org \
    --cc=jcm@redhat.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lv.zheng@intel.com \
    --cc=mark.rutland@arm.com \
    --cc=rjw@rjwysocki.net \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.