Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Please login to access the resource
home:michael-chang:tmp
grub2
0008-mkimage-adding-sbat-data-into-sbat-ELF-Not...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0008-mkimage-adding-sbat-data-into-sbat-ELF-Note-on-power.patch of Package grub2
From 32d4823762e5a0e7f8bfc5a878d39e1a019392fe Mon Sep 17 00:00:00 2001 From: Sudhakar Kuppusamy <sudhakar@linux.ibm.com> Date: Thu, 18 Apr 2024 00:00:55 +0530 Subject: [PATCH 8/8] mkimage: adding sbat data into sbat ELF Note on powerpc it reads the SBAT data from sbat.csv and create the ELF Note for it then store the SBAT data on it while generate image with -s option Signed-off-by: Sudhakar Kuppusamy <sudhakar@linux.ibm.com> Co-authored-by: Daniel Axtens <dja@axtens.net> --- util/mkimage.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/util/mkimage.c b/util/mkimage.c index 0737935fd..136e4a90c 100644 --- a/util/mkimage.c +++ b/util/mkimage.c @@ -958,8 +958,9 @@ grub_install_generate_image (const char *dir, const char *prefix, total_module_size += dtb_size + sizeof (struct grub_module_header); } - if (sbat_path != NULL && image_target->id != IMAGE_EFI) - grub_util_error (_(".sbat section can be embedded into EFI images only")); + if (sbat_path != NULL && (image_target->id != IMAGE_EFI && image_target->id != IMAGE_PPC)) + grub_util_error (_(".sbat section can be embedded into EFI images/" + "sbat ELF Note cab be added into powerpc-ieee1275 images only")); if (disable_shim_lock) total_module_size += sizeof (struct grub_module_header); @@ -1835,6 +1836,16 @@ grub_install_generate_image (const char *dir, const char *prefix, case IMAGE_I386_IEEE1275: { grub_uint64_t target_addr; + char *sbat = NULL; + + if (sbat_path != NULL) + { + sbat_size = grub_util_get_image_size (sbat_path); + sbat = xmalloc (sbat_size); + grub_util_load_image (sbat_path, sbat); + layout.sbat_size = sbat_size; + } + if (image_target->id == IMAGE_LOONGSON_ELF) { if (comp == GRUB_COMPRESSION_NONE) @@ -1846,11 +1857,11 @@ grub_install_generate_image (const char *dir, const char *prefix, else target_addr = image_target->link_addr; if (image_target->voidp_sizeof == 4) - grub_mkimage_generate_elf32 (image_target, note, appsig_size, &core_img, - &core_size, target_addr, &layout); + grub_mkimage_generate_elf32 (image_target, note, appsig_size, sbat, &core_img, &core_size, + target_addr, &layout); else - grub_mkimage_generate_elf64 (image_target, note, appsig_size, &core_img, - &core_size, target_addr, &layout); + grub_mkimage_generate_elf64 (image_target, note, appsig_size, sbat, &core_img, &core_size, + target_addr, &layout); } break; } -- 2.47.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor