diff options
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 25 | ||||
-rw-r--r-- | mm_1.patch | 87 | ||||
-rw-r--r-- | mm_2.patch | 89 | ||||
-rw-r--r-- | mm_3.patch | 99 | ||||
-rw-r--r-- | mm_4.patch | 64 | ||||
-rw-r--r-- | mm_5.patch | 57 | ||||
-rw-r--r-- | mm_6.patch | 81 |
8 files changed, 5 insertions, 513 deletions
@@ -1,6 +1,6 @@ pkgbase = grub-improved-luks2-git pkgdesc = GNU GRand Unified Bootloader (2) with Argon2 and better LUKS2 support - pkgver = 2.06.r110.gbe257de00 + pkgver = 2.06.r284.g1b3d97bdf pkgrel = 1 url = https://www.gnu.org/software/grub/ install = grub-improved-luks2-git.install @@ -29,7 +29,7 @@ pkgbase = grub-improved-luks2-git conflicts = grub backup = etc/default/grub backup = etc/grub.d/40_custom - source = grub::git+https://git.savannah.gnu.org/git/grub.git#commit=be257de00c + source = grub::git+https://git.savannah.gnu.org/git/grub.git#commit=1b3d97bdf8b026d1fe43accd14dd190dd47e183f source = grub-extras::git+https://git.savannah.gnu.org/git/grub-extras.git source = gnulib::git+https://git.savannah.gnu.org/git/gnulib.git source = argon_1.patch @@ -38,12 +38,6 @@ pkgbase = grub-improved-luks2-git source = argon_3.patch source = argon_4.patch source = argon_5.patch - source = mm_1.patch - source = mm_2.patch - source = mm_3.patch - source = mm_4.patch - source = mm_5.patch - source = mm_6.patch source = grub-install_luks2.patch source = add-GRUB_COLOR_variables.patch source = detect-archlinux-initramfs.patch @@ -58,12 +52,6 @@ pkgbase = grub-improved-luks2-git sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP - sha256sums = SKIP sha256sums = 5dee6628c48eef79812bb9e86ee772068d85e7fcebbd2b2b8d1e19d24eda9dab sha256sums = 580a81b00088773d554832b0d74c85bf16fec37728802973c45993bcb97cd7d5 sha256sums = 791fadf182edf8d5bee4b45c008b08adce9689a9624971136527891a8f67d206 @@ -19,8 +19,9 @@ _build_platforms="x86_64-efi" # [[ "${_grub_emu_build}" == "1" ]] && _build_platforms+=" ${_target_arch}-emu" _pkgname="grub" +_commit="1b3d97bdf8b026d1fe43accd14dd190dd47e183f" pkgname="${_pkgname}-improved-luks2-git" -pkgver=2.06.r110.gbe257de00 +pkgver=2.06.r284.g1b3d97bdf pkgrel=1 pkgdesc="GNU GRand Unified Bootloader (2) with Argon2 and better LUKS2 support" arch=('x86_64') @@ -41,7 +42,7 @@ conflicts=("${_pkgname}") backup=('etc/default/grub' 'etc/grub.d/40_custom') install="${pkgname}.install" -source=("grub::git+https://git.savannah.gnu.org/git/grub.git#commit=be257de00c" +source=("grub::git+https://git.savannah.gnu.org/git/grub.git#commit=${_commit}" "grub-extras::git+https://git.savannah.gnu.org/git/grub-extras.git" "gnulib::git+https://git.savannah.gnu.org/git/gnulib.git" 'argon_1.patch' @@ -50,12 +51,6 @@ source=("grub::git+https://git.savannah.gnu.org/git/grub.git#commit=be257de00c" 'argon_3.patch' 'argon_4.patch' 'argon_5.patch' - 'mm_1.patch' - 'mm_2.patch' - 'mm_3.patch' - 'mm_4.patch' - 'mm_5.patch' - 'mm_6.patch' 'grub-install_luks2.patch' 'add-GRUB_COLOR_variables.patch' 'detect-archlinux-initramfs.patch' @@ -70,12 +65,6 @@ sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' '5dee6628c48eef79812bb9e86ee772068d85e7fcebbd2b2b8d1e19d24eda9dab' '580a81b00088773d554832b0d74c85bf16fec37728802973c45993bcb97cd7d5' '791fadf182edf8d5bee4b45c008b08adce9689a9624971136527891a8f67d206') @@ -90,14 +79,6 @@ prepare() { # Patch grub-mkconfig to detect Arch Linux initramfs images. patch -Np1 -i "$srcdir"/detect-archlinux-initramfs.patch - # mm - patch -Np1 -i "$srcdir"/mm_1.patch - patch -Np1 -i "$srcdir"/mm_2.patch - patch -Np1 -i "$srcdir"/mm_3.patch - patch -Np1 -i "$srcdir"/mm_4.patch - patch -Np1 -i "$srcdir"/mm_5.patch - patch -Np1 -i "$srcdir"/mm_6.patch - # argon2 patch -Np1 -i "$srcdir"/argon_1.patch patch -Np1 -i "$srcdir"/argon_2.patch diff --git a/mm_1.patch b/mm_1.patch deleted file mode 100644 index 146dcefc911f..000000000000 --- a/mm_1.patch +++ /dev/null @@ -1,87 +0,0 @@ ---- - grub-core/kern/dl.c | 20 -------------------- - grub-core/kern/mm.c | 8 -------- - include/grub/dl.h | 1 - - 3 files changed, 29 deletions(-) - -diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c -index 48f8a7907..a62dbeebb 100644 ---- a/grub-core/kern/dl.c -+++ b/grub-core/kern/dl.c -@@ -803,23 +803,3 @@ grub_dl_unload (grub_dl_t mod) - grub_free (mod); - return 1; - } -- --/* Unload unneeded modules. */ --void --grub_dl_unload_unneeded (void) --{ -- /* Because grub_dl_remove modifies the list of modules, this -- implementation is tricky. */ -- grub_dl_t p = grub_dl_head; -- -- while (p) -- { -- if (grub_dl_unload (p)) -- { -- p = grub_dl_head; -- continue; -- } -- -- p = p->next; -- } --} -diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c -index c070afc62..e0e580270 100644 ---- a/grub-core/kern/mm.c -+++ b/grub-core/kern/mm.c -@@ -360,14 +360,6 @@ grub_memalign (grub_size_t align, grub_size_t size) - count++; - goto again; - --#if 0 -- case 1: -- /* Unload unneeded modules. */ -- grub_dl_unload_unneeded (); -- count++; -- goto again; --#endif -- - default: - break; - } -diff --git a/include/grub/dl.h b/include/grub/dl.h -index b3753c9ca..536717776 100644 ---- a/include/grub/dl.h -+++ b/include/grub/dl.h -@@ -203,7 +203,6 @@ grub_dl_t EXPORT_FUNC(grub_dl_load) (const char *name); - grub_dl_t grub_dl_load_core (void *addr, grub_size_t size); - grub_dl_t EXPORT_FUNC(grub_dl_load_core_noinit) (void *addr, grub_size_t size); - int EXPORT_FUNC(grub_dl_unload) (grub_dl_t mod); --extern void grub_dl_unload_unneeded (void); - extern int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod); - extern int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod); - extern int EXPORT_FUNC(grub_dl_ref_count) (grub_dl_t mod); --- -2.32.0 - - ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAmEY9dUACgkQVbJhu7ck -PpQ9xg/9E2CLh95L+w3TAgbclAkA6/KaVDnOy+woDUwGRv2yVxtTqMWakOSbZruD -JTFCNPQdug+HHjqGFkjsS0nBu9U+DRlb/5RTOSyK+BKEnp3f9/OlaJnvHwy1AKe1 -Vhg4KdkXdmQ99ER8at7JMLs7n0KaetMegpLHVRCOuxr7VbtiGaJD1VcQS8ubIbwh -jkvzJQVmJPt4dyD1I88oB2Xm/QKLimPtMCLNcWh0fXTUBBctOS6vZiacvMlF2/HX -e7tWaNQMMayS1uZJL8B4Bl31iWFF7pm6CEZrPA4LK9Oggj7NUri+W1QLpzjUeBSw -lJ6ZMfZXccUwrdqF7NDpxPuVe7cYUUIgcHmzxHWK028JHicaeA2v7/rZxlBkFqS5 -OF7JSD7ncngu8TAYFzhaHKRFouj9APY3x7q/IV1yuBOgw8yhD8T+hevoekqj8Dvg -jbxIBaWulR/IyPcCEofapIr6xGSpQxPtwQIzTnXa8yTdguf832rUG3wguHeWfHQq -uTiBYjzDMglon/ySlpPnv6z33TRZLHRcyhXeLjc9DJTgQIl3n4XZGLAf+itGTKOL -EUPTs2b30oX7wYTLgBxtPpbmtNRVxEfY1nNxDp3U9ffQHkEaKkvfrtI8Fl3dK1nB -XtjvaGDt/DfYOlWoyT9qwSsSKO7P/GRp2Fjiz5r9kISxwFuPLdA= -=jVOn ------END PGP SIGNATURE----- - - diff --git a/mm_2.patch b/mm_2.patch deleted file mode 100644 index 817b017e2b39..000000000000 --- a/mm_2.patch +++ /dev/null @@ -1,89 +0,0 @@ ---- - grub-core/kern/mm.c | 10 ++++++++++ - include/grub/mm.h | 16 ++++++++++++++++ - 2 files changed, 26 insertions(+) - -diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c -index e0e580270..2df835392 100644 ---- a/grub-core/kern/mm.c -+++ b/grub-core/kern/mm.c -@@ -81,6 +81,7 @@ - - - grub_mm_region_t grub_mm_base; -+grub_mm_add_region_func_t grub_mm_add_region_fn; - - /* Get a header from the pointer PTR, and set *P and *R to a pointer - to the header and a pointer to its region, respectively. PTR must -@@ -360,6 +361,15 @@ grub_memalign (grub_size_t align, grub_size_t size) - count++; - goto again; - -+ case 1: -+ /* Request additional pages. */ -+ count++; -+ -+ if (grub_mm_add_region_fn && grub_mm_add_region_fn (size, GRUB_MM_ADD_REGION_CONSECUTIVE) == GRUB_ERR_NONE) -+ goto again; -+ -+ /* fallthrough */ -+ - default: - break; - } -diff --git a/include/grub/mm.h b/include/grub/mm.h -index 9c38dd3ca..afde57d2e 100644 ---- a/include/grub/mm.h -+++ b/include/grub/mm.h -@@ -20,6 +20,7 @@ - #ifndef GRUB_MM_H - #define GRUB_MM_H 1 - -+#include <grub/err.h> - #include <grub/types.h> - #include <grub/symbol.h> - #include <config.h> -@@ -28,6 +29,21 @@ - # define NULL ((void *) 0) - #endif - -+#define GRUB_MM_ADD_REGION_NONE 0 -+#define GRUB_MM_ADD_REGION_CONSECUTIVE (1 << 0) -+ -+/* -+ * Function used to request memory regions of `grub_size_t` bytes. The second -+ * parameter is a bitfield of `GRUB_MM_ADD_REGION` flags. -+ */ -+typedef grub_err_t (*grub_mm_add_region_func_t) (grub_size_t, unsigned int); -+ -+/* -+ * Set this function pointer to enable adding memory-regions at runtime in case -+ * a memory allocation cannot be satisfied with existing regions. -+ */ -+extern grub_mm_add_region_func_t EXPORT_VAR(grub_mm_add_region_fn); -+ - void grub_mm_init_region (void *addr, grub_size_t size); - void *EXPORT_FUNC(grub_calloc) (grub_size_t nmemb, grub_size_t size); - void *EXPORT_FUNC(grub_malloc) (grub_size_t size); --- -2.32.0 - - ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAmEY9dkACgkQVbJhu7ck -PpScOQ//UbROjKLOAviqmbQoJLJHxwcOKGzpSWDmHI4mjXxc+wafFL6rPOa75//8 -R5QoYbEN1uCSkrK4Mgjn4aqwCHp9PyL+thJXuryzHNVtyPrz96aUi4kwXWfsX6Jw -O6a1JpqTJieJyRcTWG91i6k8SMdtPuNXAt/tsllbRy6jp/fYDz4inJHgtG6p//WI -4ORbW4OcFO7n3FCFa1l4EYqsaWJDSkAuKLk5QUKgpAKn3YEc1uL32TgFt77jIjSi -4RIVZT4kNv6aVhCfwLQQW8g1BZkTYO5ehzDXB6SnI+4CjxeGwVMgeZFF6NbU68LX -B4ZBO+SfTpwMoexHykM3VtVEzAQfmY8idIeS0m0ptC5j8rlz/oxI3TrqHkoTxgSU -ZhyrqNOdMOnYx2jLqnh79qmizEebai1nPA/bl2Jke0lQvWSORH9h/HpfN3vCFTW3 -Vw8nfZS7MgbU0hk/14rFd/1TWV9m+aEgUITYxL1cnOI70V/Ne+HO41O+NJh6fT14 -5yZScrJ3FD8BkvJi/IW4PBZ2Iq8n7u9/UIvhKiNisQuHr13jgaGF2NYm6RYYZANg -1qz7wkf3ora3nN74fu26ohWejlC9hcNGYlIjBI0iRF5E6IJ/mT4jq8PVJ0DJnrUc -8AeLPgnW6BiPgTUevUOODo5jGZQ3oJ6zFumZNLl28wN0Lr9Mqnw= -=+47H ------END PGP SIGNATURE----- - - diff --git a/mm_3.patch b/mm_3.patch deleted file mode 100644 index 8f709d90dd77..000000000000 --- a/mm_3.patch +++ /dev/null @@ -1,99 +0,0 @@ ---- - grub-core/kern/efi/mm.c | 35 +++-------------------------------- - 1 file changed, 3 insertions(+), 32 deletions(-) - -diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c -index 9838fb2f5..4d276bc87 100644 ---- a/grub-core/kern/efi/mm.c -+++ b/grub-core/kern/efi/mm.c -@@ -38,9 +38,8 @@ - a multiplier of 4KB. */ - #define MEMORY_MAP_SIZE 0x3000 - --/* The minimum and maximum heap size for GRUB itself. */ --#define MIN_HEAP_SIZE 0x100000 --#define MAX_HEAP_SIZE (1600 * 0x100000) -+/* The default heap size for GRUB itself in bytes. */ -+#define DEFAULT_HEAP_SIZE 0x100000 - - static void *finish_mmap_buf = 0; - static grub_efi_uintn_t finish_mmap_size = 0; -@@ -478,23 +477,6 @@ filter_memory_map (grub_efi_memory_descriptor_t *memory_map, - return filtered_desc; - } - --/* Return the total number of pages. */ --static grub_efi_uint64_t --get_total_pages (grub_efi_memory_descriptor_t *memory_map, -- grub_efi_uintn_t desc_size, -- grub_efi_memory_descriptor_t *memory_map_end) --{ -- grub_efi_memory_descriptor_t *desc; -- grub_efi_uint64_t total = 0; -- -- for (desc = memory_map; -- desc < memory_map_end; -- desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) -- total += desc->num_pages; -- -- return total; --} -- - /* Add memory regions. */ - static void - add_memory_regions (grub_efi_memory_descriptor_t *memory_map, -@@ -583,8 +565,6 @@ grub_efi_mm_init (void) - grub_efi_memory_descriptor_t *filtered_memory_map_end; - grub_efi_uintn_t map_size; - grub_efi_uintn_t desc_size; -- grub_efi_uint64_t total_pages; -- grub_efi_uint64_t required_pages; - int mm_status; - - /* Prepare a memory region to store two memory maps. */ -@@ -624,22 +604,13 @@ grub_efi_mm_init (void) - filtered_memory_map_end = filter_memory_map (memory_map, filtered_memory_map, - desc_size, memory_map_end); - -- /* By default, request a quarter of the available memory. */ -- total_pages = get_total_pages (filtered_memory_map, desc_size, -- filtered_memory_map_end); -- required_pages = (total_pages >> 2); -- if (required_pages < BYTES_TO_PAGES (MIN_HEAP_SIZE)) -- required_pages = BYTES_TO_PAGES (MIN_HEAP_SIZE); -- else if (required_pages > BYTES_TO_PAGES (MAX_HEAP_SIZE)) -- required_pages = BYTES_TO_PAGES (MAX_HEAP_SIZE); -- - /* Sort the filtered descriptors, so that GRUB can allocate pages - from smaller regions. */ - sort_memory_map (filtered_memory_map, desc_size, filtered_memory_map_end); - - /* Allocate memory regions for GRUB's memory management. */ - add_memory_regions (filtered_memory_map, desc_size, -- filtered_memory_map_end, required_pages); -+ filtered_memory_map_end, BYTES_TO_PAGES (DEFAULT_HEAP_SIZE)); - - #if 0 - /* For debug. */ --- -2.32.0 - - ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAmEY9d0ACgkQVbJhu7ck -PpQn3w//WJu1uNsOVPLPU6TPLWVvEuPApH97bUrMjNnvzNYbPlR82ym+u+zMGoJ7 -Es77CEqgMDhCOxdD3oEi9PMZtXASgnw7uGKJycdGZOObzGBu4IZ4ZWQdWVfwlIZp -4Qlc+ROTQoEWyLWpB/mJwrcXX8ILOdeRSX071zfHhJNcauEWMKEE88M/HH0VxCeT -ZHGrmSzBE9gu3HQ8kir9wibroBeI4siW1feR5PWDmp/3R96z5MKN2xyy6BkH3Z0M -sbl7zrlSu+NSnsmLzcH8oyfCBI+2soXgmGHQ1QCY8v8rbNx77sXKxTZniK7lH70Z -X+0pcRm8aEYaT4ReWAxqJFykMn/9zfX4XRqEUBXTK/vWzSB4/5v0RLiUftvLfl7A -Du8w+mocoOELAwCi4+VydHO9jUMnHJAlR+HAazd2jifi9jWsU7gxkD7FO+zFlble -Eq5XFRgKzYmDHzPbD3udEH1+8792eGa0BjXwmIGpvFYfHpo4Jm24obykVVpH2m6j -be99L+9A7PIxUg3GB6RAerR2Lc6a+nPRC47Jrp63BGtQ7SHPKCY7lzvw7q0nv0d+ -FmlcXQvOoeQeUNUzCaEmHaRP/WKSeeKL86Rp6pUIOXho6ON5llwSexJYEJlWA6rj -p9wPIz8BA0iHFMix/Ch9DmUg1BNIE2vGaf+qhPmPNMF1ZFonbl8= -=L7Ky ------END PGP SIGNATURE----- - - diff --git a/mm_4.patch b/mm_4.patch deleted file mode 100644 index a9e08202fe8b..000000000000 --- a/mm_4.patch +++ /dev/null @@ -1,64 +0,0 @@ ---- a/grub-core/kern/efi/mm.c 2022-03-26 23:38:30.898320806 +0100 -+++ b/grub-core/kern/efi/mm.c 2022-03-26 23:42:11.696424298 +0100 -@@ -556,8 +556,8 @@ - } - #endif - --void --grub_efi_mm_init (void) -+static grub_err_t -+grub_efi_mm_add_regions (grub_efi_uint64_t required_bytes) - { - grub_efi_memory_descriptor_t *memory_map; - grub_efi_memory_descriptor_t *memory_map_end; -@@ -570,7 +570,7 @@ - /* Prepare a memory region to store two memory maps. */ - memory_map = grub_efi_allocate_any_pages (2 * BYTES_TO_PAGES (MEMORY_MAP_SIZE)); - if (! memory_map) -- grub_fatal ("cannot allocate memory"); -+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, "cannot allocate memory"); - - /* Obtain descriptors for available memory. */ - map_size = MEMORY_MAP_SIZE; -@@ -588,14 +588,14 @@ - - memory_map = grub_efi_allocate_any_pages (2 * BYTES_TO_PAGES (map_size)); - if (! memory_map) -- grub_fatal ("cannot allocate memory"); -+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, "cannot allocate memory"); - - mm_status = grub_efi_get_memory_map (&map_size, memory_map, 0, - &desc_size, 0); - } - - if (mm_status < 0) -- grub_fatal ("cannot get memory map"); -+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, "cannot get memory map"); - - memory_map_end = NEXT_MEMORY_DESCRIPTOR (memory_map, map_size); - -@@ -610,7 +610,7 @@ - - /* Allocate memory regions for GRUB's memory management. */ - add_memory_regions (filtered_memory_map, desc_size, -- filtered_memory_map_end, BYTES_TO_PAGES (DEFAULT_HEAP_SIZE)); -+ filtered_memory_map_end, BYTES_TO_PAGES (required_bytes)); - - #if 0 - /* For debug. */ -@@ -628,6 +628,15 @@ - /* Release the memory maps. */ - grub_efi_free_pages ((grub_addr_t) memory_map, - 2 * BYTES_TO_PAGES (MEMORY_MAP_SIZE)); -+ -+ return GRUB_ERR_NONE; -+} -+ -+void -+grub_efi_mm_init (void) -+{ -+ if (grub_efi_mm_add_regions (DEFAULT_HEAP_SIZE) != GRUB_ERR_NONE) -+ grub_fatal ("%s", grub_errmsg); - } - - #if defined (__aarch64__) || defined (__arm__) || defined (__riscv) diff --git a/mm_5.patch b/mm_5.patch deleted file mode 100644 index 7a9ea62e19f2..000000000000 --- a/mm_5.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- a/grub-core/kern/efi/mm.c 2022-03-26 23:51:18.575479411 +0100 -+++ b/grub-core/kern/efi/mm.c 2022-03-26 23:55:01.813184231 +0100 -@@ -478,7 +478,7 @@ - } - - /* Add memory regions. */ --static void -+static grub_err_t - add_memory_regions (grub_efi_memory_descriptor_t *memory_map, - grub_efi_uintn_t desc_size, - grub_efi_memory_descriptor_t *memory_map_end, -@@ -506,9 +506,9 @@ - GRUB_EFI_ALLOCATE_ADDRESS, - GRUB_EFI_LOADER_CODE); - if (! addr) -- grub_fatal ("cannot allocate conventional memory %p with %u pages", -- (void *) ((grub_addr_t) start), -- (unsigned) pages); -+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, -+ "cannot allocate conventional memory %p with %u pages", -+ (void *) ((grub_addr_t) start), (unsigned) pages); - - grub_mm_init_region (addr, PAGES_TO_BYTES (pages)); - -@@ -518,7 +518,9 @@ - } - - if (required_pages > 0) -- grub_fatal ("too little memory"); -+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, "too little memory"); -+ -+ return GRUB_ERR_NONE; - } - - void -@@ -565,6 +567,7 @@ - grub_efi_memory_descriptor_t *filtered_memory_map_end; - grub_efi_uintn_t map_size; - grub_efi_uintn_t desc_size; -+ grub_err_t err; - int mm_status; - - /* Prepare a memory region to store two memory maps. */ -@@ -609,8 +612,11 @@ - sort_memory_map (filtered_memory_map, desc_size, filtered_memory_map_end); - - /* Allocate memory regions for GRUB's memory management. */ -- add_memory_regions (filtered_memory_map, desc_size, -- filtered_memory_map_end, BYTES_TO_PAGES (required_bytes)); -+ err = add_memory_regions (filtered_memory_map, desc_size, -+ filtered_memory_map_end, -+ BYTES_TO_PAGES (required_bytes)); -+ if (err != GRUB_ERR_NONE) -+ return err; - - #if 0 - /* For debug. */ diff --git a/mm_6.patch b/mm_6.patch deleted file mode 100644 index c7b370863461..000000000000 --- a/mm_6.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- - grub-core/kern/efi/mm.c | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - -diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c -index ced3ee5e7..f3d2e2b99 100644 ---- a/grub-core/kern/efi/mm.c -+++ b/grub-core/kern/efi/mm.c -@@ -482,7 +482,8 @@ static grub_err_t - add_memory_regions (grub_efi_memory_descriptor_t *memory_map, - grub_efi_uintn_t desc_size, - grub_efi_memory_descriptor_t *memory_map_end, -- grub_efi_uint64_t required_pages) -+ grub_efi_uint64_t required_pages, -+ unsigned int flags) - { - grub_efi_memory_descriptor_t *desc; - -@@ -496,6 +497,10 @@ add_memory_regions (grub_efi_memory_descriptor_t *memory_map, - - start = desc->physical_start; - pages = desc->num_pages; -+ -+ if (pages < required_pages && (flags & GRUB_MM_ADD_REGION_CONSECUTIVE)) -+ continue; -+ - if (pages > required_pages) - { - start += PAGES_TO_BYTES (pages - required_pages); -@@ -559,7 +564,7 @@ print_memory_map (grub_efi_memory_descriptor_t *memory_map, - #endif - - static grub_err_t --grub_efi_mm_add_regions (grub_efi_uint64_t required_bytes) -+grub_efi_mm_add_regions (grub_efi_uint64_t required_bytes, unsigned int flags) - { - grub_efi_memory_descriptor_t *memory_map; - grub_efi_memory_descriptor_t *memory_map_end; -@@ -614,7 +619,8 @@ grub_efi_mm_add_regions (grub_efi_uint64_t required_bytes) - /* Allocate memory regions for GRUB's memory management. */ - err = add_memory_regions (filtered_memory_map, desc_size, - filtered_memory_map_end, -- BYTES_TO_PAGES (required_bytes)); -+ BYTES_TO_PAGES (required_bytes), -+ flags); - if (err != GRUB_ERR_NONE) - return err; - -@@ -641,8 +647,9 @@ grub_efi_mm_add_regions (grub_efi_uint64_t required_bytes) - void - grub_efi_mm_init (void) - { -- if (grub_efi_mm_add_regions (DEFAULT_HEAP_SIZE) != GRUB_ERR_NONE) -+ if (grub_efi_mm_add_regions (DEFAULT_HEAP_SIZE, GRUB_MM_ADD_REGION_NONE) != GRUB_ERR_NONE) - grub_fatal ("%s", grub_errmsg); -+ grub_mm_add_region_fn = grub_efi_mm_add_regions; - } - - #if defined (__aarch64__) || defined (__arm__) || defined (__riscv) --- -2.32.0 - - ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAmEY9eoACgkQVbJhu7ck -PpSFbQ//Y5G9FkVKWEwCrB7KhbF9pcmTobET1Q7lvrVtK+XArMuZQn/aDTxjoXM/ -87qMkF2OTko79/z1nzveDODPtR1E48jqR41+Qz7CICOH+8oG2Ur+MZt5J2T2M/Gf -JsqJ26Fk36A86IoZHZ73yfHCWgtQo4+jckOLJkGbTmlriOWSOCfvCKIt7aF0Z2Wf -SkfEt0UMV6i81HKkZ6v+nPJJQmZQp+pTpOWr7hrjx/6nUT1QadVQoVL8YYKKxHcX -zMkT7hAg+D6vAVJhfOSt/VoMcBJeBK8Or2OD5gDOKcqZ19nixa1u3r6NnkkG10OH -PyVL35svdUMMiIC2LXy2YCf7hbrOCOuCk10sT8Q05TrDvFpkvOn6QcGhvcSXtzmB -5wju6EVqCtIrrcSYl3Y2bWjrKFZXL3w1vOUnObF3yae2soR2h3Nvgyg98J3Qoee+ -7dNYGs3WmDb3wF9p/0TY54g89ZotKwZUEuaVu7qtcp3y6HpmcZ1XbnA8Y3aWmdmm -EeiUKAMSacyqxt1QBWciQTs7BaXWwxj8hI8xDjpCEMVFCux4nxdw6aXQXqocAaor -mDhjjriqmwTRNpZnUlUkScwczSJuh5WqnLWj5RKC01drUlcbnJjvdsaU1VAvzEju -24KGNqanC+jc1ZqKcx4eeCQHF21x8+xgsmgjYJZ8PGptT0bg/Xc= -=PvkK ------END PGP SIGNATURE----- - - |