From: Michael Zimmermann <sigmaepsilon92@gmail.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Laszlo Ersek <lersek@redhat.com>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
Jens Wiklander <jens.wiklander@linaro.org>
Subject: Re: [PATCH] ArmVirtPkg/ArmVirtQemuKernel: increase slack space for DTB
Date: Fri, 14 Apr 2017 08:19:06 +0200 [thread overview]
Message-ID: <CAN9vWDJM0jhHrrLcd7Cu0ruNFA7TvBf7X5g+9eA6q8up9hbU6g@mail.gmail.com> (raw)
In-Reply-To: <CAN9vWD+f65B-mm-F4qm1ahuEAHMMTRQR5K69NGvcaCt0pYQ0jg@mail.gmail.com>
Ok I've found it in "RelocatableVirtHelper.S".
Thanks
Michael
On Fri, Apr 14, 2017 at 8:04 AM, Michael Zimmermann
<sigmaepsilon92@gmail.com> wrote:
> "contains some scratch memory at the start of the image to use as a
> stack very early on"
> When does this happen? I didn't see any edk2-code which sets SP to the
> slack space.
>
> Thanks
> Michael
>
> On Tue, Apr 4, 2017 at 5:02 PM, Ard Biesheuvel
> <ard.biesheuvel@linaro.org> wrote:
>> On 4 April 2017 at 15:59, Laszlo Ersek <lersek@redhat.com> wrote:
>>> On 04/04/17 16:45, Ard Biesheuvel wrote:
>>>> The relocatable build of ArmVirtQemuKernel is designed to be executed
>>>> from RAM, and contains some scratch memory at the start of the image
>>>> to use as a stack very early on, and to preserve the DTB image received
>>>> from QEMU while it discovers and initializes memory.
>>>>
>>>> It turns out that 8 KB is a bit on the small side here, especially when
>>>> executing with secure world emulation enabled, in which case there are
>>>> additional nodes present.
>>>>
>>>> So increase the slack space to 32 KB.
>>>>
>>>> While at it, remove a stale Xen reference that was copy/pasted when this
>>>> file was created.
>>>>
>>>> Contributed-under: TianoCore Contribution Agreement 1.0
>>>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>>>> ---
>>>> ArmVirtPkg/ArmVirtQemuKernel.fdf | 12 ++++++------
>>>> 1 file changed, 6 insertions(+), 6 deletions(-)
>>>>
>>>> diff --git a/ArmVirtPkg/ArmVirtQemuKernel.fdf b/ArmVirtPkg/ArmVirtQemuKernel.fdf
>>>> index 7bc62f6b0b48..55541a1075d8 100644
>>>> --- a/ArmVirtPkg/ArmVirtQemuKernel.fdf
>>>> +++ b/ArmVirtPkg/ArmVirtQemuKernel.fdf
>>>> @@ -52,15 +52,15 @@ [FD.QEMU_EFI]
>>>> ################################################################################
>>>>
>>>> #
>>>> -# Implement the Linux kernel header layout so that the Xen loader will identify
>>>> +# Implement the Linux kernel header layout so that the loader will identify
>>>> # it as something bootable, and execute it with a FDT pointer in x0 or r2.
>>>> -# This area will be reused to store a copy of the FDT so round it up to 8 KB.
>>>> +# This area will be reused to store a copy of the FDT so round it up to 32 KB.
>>>> #
>>>> -0x00000000|0x00002000
>>>> +0x00000000|0x00008000
>>>> DATA = {
>>>> !if $(ARCH) == AARCH64
>>>> 0x01, 0x00, 0x00, 0x10, # code0: adr x1, .
>>>> - 0xff, 0x07, 0x00, 0x14, # code1: b 0x2000
>>>> + 0xff, 0x1f, 0x00, 0x14, # code1: b 0x8000
>>>> 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, # text_offset: 512 KB
>>>> 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, # image_size: 2 MB
>>>> 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # flags
>>>> @@ -79,7 +79,7 @@ [FD.QEMU_EFI]
>>>> 0x00, 0x00, 0xa0, 0xe1, # nop
>>>> 0x00, 0x00, 0xa0, 0xe1, # nop
>>>>
>>>> - 0xf6, 0x07, 0x00, 0xea, # b 0x2000
>>>> + 0xf6, 0x1f, 0x00, 0xea, # b 0x8000
>>>> 0x18, 0x28, 0x6f, 0x01, # magic
>>>> 0x00, 0x00, 0x00, 0x00, # start
>>>> 0x00, 0x00, 0x20, 0x00, # image size: 2 MB
>>>> @@ -87,7 +87,7 @@ [FD.QEMU_EFI]
>>>> !endif
>>>> }
>>>>
>>>> -0x00002000|0x001fe000
>>>> +0x00008000|0x001f8000
>>>> gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize
>>>> FV = FVMAIN_COMPACT
>>>>
>>>>
>>>
>>> Acked-by: Laszlo Ersek <lersek@redhat.com>
>>
>> Thanks. Pushed as 4d2ea2616e94
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel
prev parent reply other threads:[~2017-04-14 6:19 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-04 14:45 [PATCH] ArmVirtPkg/ArmVirtQemuKernel: increase slack space for DTB Ard Biesheuvel
2017-04-04 14:59 ` Laszlo Ersek
2017-04-04 15:02 ` Ard Biesheuvel
2017-04-14 6:04 ` Michael Zimmermann
2017-04-14 6:19 ` Michael Zimmermann [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-list 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=CAN9vWDJM0jhHrrLcd7Cu0ruNFA7TvBf7X5g+9eA6q8up9hbU6g@mail.gmail.com \
--to=devel@edk2.groups.io \
/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