linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: <gregkh@linuxfoundation.org>
To: ardb@kernel.org, bot@kernelci.org, corbet@lwn.net,
	f.fainelli@gmail.com, gregkh@linuxfoundation.org,
	linus.walleij@linaro.org, linux-arm-kernel@lists.infradead.org,
	linux@armlinux.org.uk, nico@fluxnic.net,
	rmk+kernel@armlinux.org.uk, sashal@kernel.org
Cc: <stable-commits@vger.kernel.org>
Subject: Patch "ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section" has been added to the 5.4-stable tree
Date: Mon, 17 May 2021 13:37:38 +0200	[thread overview]
Message-ID: <162125145812755@kroah.com> (raw)
In-Reply-To: <20210510133321.1790243-5-f.fainelli@gmail.com>


This is a note to let you know that I've just added the patch titled

    ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     arm-9027-1-head.s-explicitly-map-dt-even-if-it-lives-in-the-first-physical-section.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


From foo@baz Mon May 17 01:36:09 PM CEST 2021
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Mon, 10 May 2021 06:33:21 -0700
Subject: ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section
To: stable@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, "kernelci.org bot" <bot@kernelci.org>, Linus Walleij <linus.walleij@linaro.org>, Russell King <rmk+kernel@armlinux.org.uk>, Florian Fainelli <f.fainelli@gmail.com>, Jonathan Corbet <corbet@lwn.net>, Russell King <linux@armlinux.org.uk>, Nicolas Pitre <nico@fluxnic.net>, Sasha Levin <sashal@kernel.org>, linux-doc@vger.kernel.org (open list:DOCUMENTATION), linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT), Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Message-ID: <20210510133321.1790243-5-f.fainelli@gmail.com>

From: Ard Biesheuvel <ardb@kernel.org>

commit 10fce53c0ef8f6e79115c3d9e0d7ea1338c3fa37 upstream

The early ATAGS/DT mapping code uses SECTION_SHIFT to mask low order
bits of R2, and decides that no ATAGS/DTB were provided if the resulting
value is 0x0.

This means that on systems where DRAM starts at 0x0 (such as Raspberry
Pi), no explicit mapping of the DT will be created if R2 points into the
first 1 MB section of memory. This was not a problem before, because the
decompressed kernel is loaded at the base of DRAM and mapped using
sections as well, and so as long as the DT is referenced via a virtual
address that uses the same translation (the linear map, in this case),
things work fine.

However, commit 7a1be318f579 ("9012/1: move device tree mapping out of
linear region") changes this, and now the DT is referenced via a virtual
address that is disjoint from the linear mapping of DRAM, and so we need
the early code to create the DT mapping unconditionally.

So let's create the early DT mapping for any value of R2 != 0x0.

Reported-by: "kernelci.org bot" <bot@kernelci.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/arm/kernel/head.S |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -274,10 +274,10 @@ __create_page_tables:
 	 * We map 2 sections in case the ATAGs/DTB crosses a section boundary.
 	 */
 	mov	r0, r2, lsr #SECTION_SHIFT
-	movs	r0, r0, lsl #SECTION_SHIFT
+	cmp	r2, #0
 	ldrne	r3, =FDT_FIXED_BASE >> (SECTION_SHIFT - PMD_ORDER)
 	addne	r3, r3, r4
-	orrne	r6, r7, r0
+	orrne	r6, r7, r0, lsl #SECTION_SHIFT
 	strne	r6, [r3], #1 << PMD_ORDER
 	addne	r6, r6, #1 << SECTION_SHIFT
 	strne	r6, [r3]


Patches currently in stable-queue which might be from f.fainelli@gmail.com are

queue-5.4/arm-9020-1-mm-use-correct-section-size-macro-to-describe-the-fdt-virtual-address.patch
queue-5.4/arm-9011-1-centralize-phys-to-virt-conversion-of-dt-atags-address.patch
queue-5.4/arm-9027-1-head.s-explicitly-map-dt-even-if-it-lives-in-the-first-physical-section.patch
queue-5.4/arm-9012-1-move-device-tree-mapping-out-of-linear-region.patch

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

      reply	other threads:[~2021-05-17 11:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-10 13:33 [PATCH stable 5.4 v2 0/4] ARM FDT relocation backports Florian Fainelli
2021-05-10 13:33 ` [PATCH stable 5.4 v2 1/4] ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address Florian Fainelli
2021-05-17 11:37   ` Patch "ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address" has been added to the 5.4-stable tree gregkh
2021-05-10 13:33 ` [PATCH stable 5.4 v2 2/4] ARM: 9012/1: move device tree mapping out of linear region Florian Fainelli
2021-05-17 11:37   ` Patch "ARM: 9012/1: move device tree mapping out of linear region" has been added to the 5.4-stable tree gregkh
2021-05-10 13:33 ` [PATCH stable 5.4 v2 3/4] ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address Florian Fainelli
2021-05-17 11:37   ` Patch "ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address" has been added to the 5.4-stable tree gregkh
2021-05-10 13:33 ` [PATCH stable 5.4 v2 4/4] ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section Florian Fainelli
2021-05-17 11:37   ` gregkh [this message]

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=162125145812755@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=ardb@kernel.org \
    --cc=bot@kernelci.org \
    --cc=corbet@lwn.net \
    --cc=f.fainelli@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=nico@fluxnic.net \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=sashal@kernel.org \
    --cc=stable-commits@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).