aboutsummaryrefslogtreecommitdiffstats
path: root/main/grub/0014-xen-Init-memory-regions-for-PVH.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/grub/0014-xen-Init-memory-regions-for-PVH.patch')
-rw-r--r--main/grub/0014-xen-Init-memory-regions-for-PVH.patch79
1 files changed, 0 insertions, 79 deletions
diff --git a/main/grub/0014-xen-Init-memory-regions-for-PVH.patch b/main/grub/0014-xen-Init-memory-regions-for-PVH.patch
deleted file mode 100644
index 3476868ea2..0000000000
--- a/main/grub/0014-xen-Init-memory-regions-for-PVH.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From c411fd781843b50bfb00b83dd039cdf8eb93d2f6 Mon Sep 17 00:00:00 2001
-From: Juergen Gross <jgross@suse.com>
-Date: Fri, 7 Dec 2018 13:11:42 +0100
-Subject: [PATCH 14/20] xen: Init memory regions for PVH
-
-Add all usable memory regions to grub memory management and add the
-needed mmap iterate code, which will be used by grub core (e.g.
-grub-core/lib/relocator.c or grub-core/mmap/mmap.c).
-
-As we are running in 32-bit mode don't add memory above 4GB.
-
-Signed-off-by: Juergen Gross <jgross@suse.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
-Tested-by: Hans van Kranenburg <hans@knorrie.org>
-(cherry picked from commit 1d2473a024a9e1f46a7caa75d5c8186ed2cdb6e1)
----
- grub-core/kern/i386/xen/pvh.c | 35 +++++++++++++++++++++++++++++++++++
- 1 file changed, 35 insertions(+)
-
-diff --git a/grub-core/kern/i386/xen/pvh.c b/grub-core/kern/i386/xen/pvh.c
-index 472085ed1..91fbca859 100644
---- a/grub-core/kern/i386/xen/pvh.c
-+++ b/grub-core/kern/i386/xen/pvh.c
-@@ -241,6 +241,30 @@ grub_xen_set_mmap (void)
- (grub_uint32_t) (&memmap), 0, 0, 0, 0);
- }
-
-+static void
-+grub_xen_mm_init_regions (void)
-+{
-+ grub_uint64_t modend, from, to;
-+ unsigned int i;
-+
-+ modend = grub_modules_get_end ();
-+
-+ for (i = 0; i < nr_map_entries; i++)
-+ {
-+ if (map[i].type != GRUB_MEMORY_AVAILABLE)
-+ continue;
-+ from = map[i].addr;
-+ to = from + map[i].len;
-+ if (from < modend)
-+ from = modend;
-+ if (from >= to || from >= (1ULL << 32))
-+ continue;
-+ if (to > (1ULL << 32))
-+ to = 1ULL << 32;
-+ grub_mm_init_region ((void *) (grub_addr_t) from, to - from);
-+ }
-+}
-+
- static grub_uint64_t
- grub_xen_find_page (grub_uint64_t start)
- {
-@@ -325,10 +349,21 @@ grub_xen_setup_pvh (void)
- (void *) par);
- grub_xen_set_mmap ();
-
-+ grub_xen_mm_init_regions ();
-+
- grub_rsdp_addr = pvh_start_info->rsdp_paddr;
- }
-
- grub_err_t
- grub_machine_mmap_iterate (grub_memory_hook_t hook, void *hook_data)
- {
-+ unsigned int i;
-+
-+ for (i = 0; i < nr_map_entries; i++)
-+ {
-+ if (map[i].len && hook (map[i].addr, map[i].len, map[i].type, hook_data))
-+ break;
-+ }
-+
-+ return GRUB_ERR_NONE;
- }
---
-2.21.0
-