efi/peimage: Provide an implementation of load_image, start_image, unload_image
authorJulian Andres Klode <julian.klode@canonical.com>
Mon, 24 Jul 2023 13:26:10 +0000 (15:26 +0200)
committerMate Kukri <mate.kukri@canonical.com>
Tue, 10 Feb 2026 11:27:19 +0000 (11:27 +0000)
commit380f2fe71bd02126e46a029e0492dfca81cb3999
treeaecc36b5fbe27b5719486c448feadfbcedba1c16
parent5cb6d84ca2eace1b460801776beeb8abefcaf0e9
efi/peimage: Provide an implementation of load_image, start_image, unload_image

The code consumes a PE-COFF image loaded into memory. The functions

* check validity of header
* copy the sections
* relocate the code
* set memory attributes
* invalidate the instruction cache
* execute the image
* return to caller

Caveats:

- We do not always check for over and underflows, but at the
  point we reach this loader, the file has been verified by
  shim already, so this is not much of a concern.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Signed-off-by: Julian Andres Klode <julian.klode@canonical.com>
Signed-off-by: Mate Kukri <mate.kukri@canonical.com>
Gbp-Pq: Topic secure-boot
Gbp-Pq: Name efi-peimage.patch
grub-core/Makefile.core.def
grub-core/loader/efi/peimage.c [new file with mode: 0644]
include/grub/efi/peimage.h [new file with mode: 0644]