public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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


      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