From: Jordan Justen <jordan.l.justen@intel.com>
To: Laszlo Ersek <lersek@redhat.com>,
edk2-devel-01 <edk2-devel@lists.01.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Ruiyu Ni <ruiyu.ni@intel.com>
Subject: Re: [PATCH 2/4] OvmfPkg/Sec/Ia32: seed the temporary RAM with PcdInitValueInTempStack
Date: Mon, 13 Nov 2017 10:25:21 -0800 [thread overview]
Message-ID: <151059752091.21010.2353399254871736446@jljusten-skl> (raw)
In-Reply-To: <20171110154908.306-3-lersek@redhat.com>
On 2017-11-10 07:49:06, Laszlo Ersek wrote:
> diff --git a/OvmfPkg/Sec/Ia32/SecEntry.nasm b/OvmfPkg/Sec/Ia32/SecEntry.nasm
> index 54d074e621f6..1d426fafa888 100644
> --- a/OvmfPkg/Sec/Ia32/SecEntry.nasm
> +++ b/OvmfPkg/Sec/Ia32/SecEntry.nasm
> @@ -29,6 +29,7 @@ extern ASM_PFX(SecCoreStartupWithStack)
> ; @param[in] EAX Initial value of the EAX register (BIST: Built-in Self Test)
> ; @param[in] DI 'BP': boot-strap processor, or 'AP': application processor
> ; @param[in] EBP Pointer to the start of the Boot Firmware Volume
> +; @param[in] ES Set to LINEAR_SEL in TransitionFromReal16To32BitFlat
Can you document all the segment registers, and also document them in
UefiCpuPkg/ResetVector/Vtf0/Main.asm?
> ;
> ; @return None This routine does not return
> ;
> @@ -44,6 +45,18 @@ ASM_PFX(_ModuleEntryPoint):
> mov esp, ebx
> nop
>
> + ;
> + ; Fill the temporary RAM with the initial stack value.
> + ; The loop below will seed the heap as well, but that's harmless.
> + ;
> + mov eax, FixedPcdGet32 (PcdInitValueInTempStack) ; dword to store
> + mov edi, FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) ; base address,
> + ; relative to ES
> + mov ecx, FixedPcdGet32 (PcdOvmfSecPeiTempRamSize) ; byte count
> + shr ecx, 2 ; dword count
I'm not sure, but I think NASM might let you do something like:
mov ecx, FixedPcdGet32 (PcdOvmfSecPeiTempRamSize) / 4
> + cld ; store from base up
> + rep stosd
I think if you move this above the code in patch 1, then patch 1 is
not needed. I also think it would be reasonable to merge 2 & 3, but
separate is fine too.
-Jordan
next prev parent reply other threads:[~2017-11-13 18:21 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-10 15:49 [PATCH 0/4] OvmfPkg: measure temp stack usage, restore temp RAM to 64KB Laszlo Ersek
2017-11-10 15:49 ` [PATCH 1/4] OvmfPkg/Sec/Ia32: free up EAX for other uses while setting up the stack Laszlo Ersek
2017-11-13 18:08 ` Jordan Justen
2017-11-13 18:30 ` Laszlo Ersek
2017-11-10 15:49 ` [PATCH 2/4] OvmfPkg/Sec/Ia32: seed the temporary RAM with PcdInitValueInTempStack Laszlo Ersek
2017-11-10 15:56 ` Ard Biesheuvel
2017-11-10 18:11 ` Laszlo Ersek
2017-11-10 18:27 ` Laszlo Ersek
2017-11-11 9:10 ` Ard Biesheuvel
2017-11-13 18:25 ` Jordan Justen [this message]
2017-11-13 18:36 ` Laszlo Ersek
2017-11-13 19:02 ` Jordan Justen
2017-11-13 20:58 ` Laszlo Ersek
2017-11-10 15:49 ` [PATCH 3/4] OvmfPkg/Sec/X64: " Laszlo Ersek
2017-11-10 15:49 ` [PATCH 4/4] OvmfPkg: restore temporary SEC/PEI RAM size to 64KB Laszlo Ersek
2017-11-11 9:14 ` [PATCH 0/4] OvmfPkg: measure temp stack usage, restore temp RAM " Ard Biesheuvel
2017-11-11 20:38 ` Jordan Justen
2017-11-11 22:04 ` Jordan Justen
2017-11-12 10:58 ` Ard Biesheuvel
2017-11-13 9:08 ` Jordan Justen
2017-11-13 10:09 ` Ard Biesheuvel
2017-11-13 12:34 ` Laszlo Ersek
2017-11-13 13:09 ` Laszlo Ersek
2017-11-13 18:05 ` Jordan Justen
2017-11-13 18:04 ` Jordan Justen
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=151059752091.21010.2353399254871736446@jljusten-skl \
--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