From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm64: allow late use of early_ioremap
Date: Mon, 12 Jan 2015 17:25:34 +0000 [thread overview]
Message-ID: <20150112172534.GJ13360@arm.com> (raw)
In-Reply-To: <1421081711-1128-1-git-send-email-msalter@redhat.com>
On Mon, Jan 12, 2015 at 04:55:11PM +0000, Mark Salter wrote:
> Commit 0e63ea48b4d8 (arm64/efi: add missing call to early_ioremap_reset())
> added a missing call to early_ioremap_reset(). This triggers a BUG if code
> tries using early_ioremap() after the early_ioremap_reset(). This is a
> problem for some ACPI code which needs short-lived temporary mappings
> after paging_init() but before mm_init(). This patch adds definitions for
> the __late_set_fixmap() and __late_clear_fixmap() which avoids the BUG
> by allowing later use of early_ioremap().
>
> Signed-off-by: Mark Salter <msalter@redhat.com>
> CC: Leif Lindholm <leif.lindholm@linaro.org>
> CC: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
> arch/arm64/include/asm/fixmap.h | 3 +++
> 1 file changed, 3 insertions(+)
Given that we don't support ACPI on arm64 in mainline, I assume this can
wait until at least 3.20?
Will
> diff --git a/arch/arm64/include/asm/fixmap.h b/arch/arm64/include/asm/fixmap.h
> index 9ef6eca..e629c70 100644
> --- a/arch/arm64/include/asm/fixmap.h
> +++ b/arch/arm64/include/asm/fixmap.h
> @@ -61,6 +61,9 @@ void __init early_fixmap_init(void);
>
> #define __early_set_fixmap __set_fixmap
>
> +#define __late_set_fixmap __set_fixmap
> +#define __late_clear_fixmap(idx) __set_fixmap((idx), 0, FIXMAP_PAGE_CLEAR)
> +
> extern void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot);
>
> #include <asm-generic/fixmap.h>
> --
> 1.8.3.1
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Will Deacon <will.deacon@arm.com>
To: Mark Salter <msalter@redhat.com>
Cc: Catalin Marinas <Catalin.Marinas@arm.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Leif Lindholm <leif.lindholm@linaro.org>,
Ard Biesheuvel <ard.biesheuvel@linaro.org>
Subject: Re: [PATCH] arm64: allow late use of early_ioremap
Date: Mon, 12 Jan 2015 17:25:34 +0000 [thread overview]
Message-ID: <20150112172534.GJ13360@arm.com> (raw)
In-Reply-To: <1421081711-1128-1-git-send-email-msalter@redhat.com>
On Mon, Jan 12, 2015 at 04:55:11PM +0000, Mark Salter wrote:
> Commit 0e63ea48b4d8 (arm64/efi: add missing call to early_ioremap_reset())
> added a missing call to early_ioremap_reset(). This triggers a BUG if code
> tries using early_ioremap() after the early_ioremap_reset(). This is a
> problem for some ACPI code which needs short-lived temporary mappings
> after paging_init() but before mm_init(). This patch adds definitions for
> the __late_set_fixmap() and __late_clear_fixmap() which avoids the BUG
> by allowing later use of early_ioremap().
>
> Signed-off-by: Mark Salter <msalter@redhat.com>
> CC: Leif Lindholm <leif.lindholm@linaro.org>
> CC: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
> arch/arm64/include/asm/fixmap.h | 3 +++
> 1 file changed, 3 insertions(+)
Given that we don't support ACPI on arm64 in mainline, I assume this can
wait until at least 3.20?
Will
> diff --git a/arch/arm64/include/asm/fixmap.h b/arch/arm64/include/asm/fixmap.h
> index 9ef6eca..e629c70 100644
> --- a/arch/arm64/include/asm/fixmap.h
> +++ b/arch/arm64/include/asm/fixmap.h
> @@ -61,6 +61,9 @@ void __init early_fixmap_init(void);
>
> #define __early_set_fixmap __set_fixmap
>
> +#define __late_set_fixmap __set_fixmap
> +#define __late_clear_fixmap(idx) __set_fixmap((idx), 0, FIXMAP_PAGE_CLEAR)
> +
> extern void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot);
>
> #include <asm-generic/fixmap.h>
> --
> 1.8.3.1
>
>
next prev parent reply other threads:[~2015-01-12 17:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-12 16:55 [PATCH] arm64: allow late use of early_ioremap Mark Salter
2015-01-12 16:55 ` Mark Salter
2015-01-12 17:25 ` Will Deacon [this message]
2015-01-12 17:25 ` Will Deacon
2015-01-12 19:09 ` Mark Salter
2015-01-12 19:09 ` Mark Salter
2015-01-14 8:22 ` Hanjun Guo
2015-01-14 8:22 ` Hanjun Guo
2015-01-14 15:16 ` Mark Salter
2015-01-14 15:16 ` Mark Salter
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=20150112172534.GJ13360@arm.com \
--to=will.deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.