All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH 2.4] hw/arm/boot: Increase fdt alignment
Date: Mon, 13 Jul 2015 18:32:43 +0200	[thread overview]
Message-ID: <55A3E82B.2080204@suse.de> (raw)
In-Reply-To: <CAFEAcA-Y26xKn9bhPYVWK9+Y0iLd20OEQnLN-uzkqRu0vuMscA@mail.gmail.com>

On 07/13/15 18:27, Peter Maydell wrote:
> On 13 July 2015 at 17:20, Alexander Graf <agraf@suse.de> wrote:
>> On 07/13/15 18:13, Peter Maydell wrote:
>>> On 13 July 2015 at 16:56, Alexander Graf <agraf@suse.de> wrote:
>>>> The Linux kernel on aarch64 creates a page table entry at early bootup
>>>> that spans the 2MB range on memory spanning the fdt start address:
>>>>
>>>>     [ ALIGN_DOWN(fdt, 2MB) ... ALIGN_DOWN(fdt, 2MB) + 2MB ]
>>>>
>>>> This means that when our current 4k alignment happens to fall at the end
>>>> of the aligned region, Linux tries to access memory that is not mapped.
>>>>
>>>> The easy fix is to instead increase the alignment to 2MB, making Linux's
>>>> logic always succeed.
>>> This is a kernel bug and should be fixed there. The booting
>>> protocol document is pretty clear:
>>> https://www.kernel.org/doc/Documentation/arm64/booting.txt
>>>
>>> "The device tree blob (dtb) must be placed on an 8-byte boundary"
>>
>> While I tend to agree, we can't fix old / released kernels. So maybe we
>> should just fix it in both?
> Maybe. The trouble with just bumping up the alignment though is that
> not all boards have so much RAM that they can trivially waste another
> meg or two on alignment padding without noticing it. AArch64 boards
> are probably OK but some of the old 32 bit boards are not anywhere
> near as well supplied with RAM. Picking dtb alignment based on 32/64
> bits might be safer.

How about we just align it to the next log2 of the dtb size? That should 
solve all problems and be good enough for low mem boards too.


Alex

  reply	other threads:[~2015-07-13 16:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-13 15:56 [Qemu-devel] [PATCH 2.4] hw/arm/boot: Increase fdt alignment Alexander Graf
2015-07-13 16:13 ` Peter Maydell
2015-07-13 16:20   ` Alexander Graf
2015-07-13 16:27     ` Peter Maydell
2015-07-13 16:32       ` Alexander Graf [this message]
2015-07-13 16:39       ` Alexander Graf
2015-07-13 16:41         ` Peter Maydell

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=55A3E82B.2080204@suse.de \
    --to=agraf@suse.de \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.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.