public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] efi_loader: detaching runtime
@ 2019-06-20 21:59 Heinrich Schuchardt
  2019-06-21  1:49 ` AKASHI, Takahiro
  2019-06-21  7:36 ` Alexander Graf
  0 siblings, 2 replies; 5+ messages in thread
From: Heinrich Schuchardt @ 2019-06-20 21:59 UTC (permalink / raw)
  To: u-boot

Hello Alex,

currently we have two code sections in U-Boot:

* __efi_runtime/__efi_runtime_data (mapped to EFI_RUNTIME_SERVICES_CODE)
* all other code (mapped to EFI_LOADER_DATA by add_u_boot_and_runtime())

All code and data that is not marked as __efi_runtime or
__efi_runtime_data lives in a memory area that the EFI application may
reuse after ExitBootServices().

Code that is marked as __efi_runtime is relocated at SetVirtualMemoryMap().

I wonder in which section the relocation code should live.

It cannot be __efi_runtime or it will mess up itself while relocating.
It cannot be in EFI_LOADER_DATA or it may be overwritten after
ExitBootServices().

If this reasoning is right wouldn't we need a third code section living
in EFI_RUNTIME_SERVICES_CODE but which is excluded from the relocation
during SetVirtualMemoryMap()?

Another option of cause would be to put the whole U-Boot code into
EFI_RUNTIME_SERVICES_CODE which will incur a loss of less than 1 MiB for
the operating system.

Best regards

Heinrich

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-06-21  7:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-20 21:59 [U-Boot] efi_loader: detaching runtime Heinrich Schuchardt
2019-06-21  1:49 ` AKASHI, Takahiro
2019-06-21  6:35   ` Heinrich Schuchardt
2019-06-21  7:36 ` Alexander Graf
2019-06-21  7:54   ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox