mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
Fix allocation of phys_to_machine_mapping array during
x86/64 linux boot. The original builder-provided array must be made read-only in the initial mapping. Signed-off-by: Keir Fraser <keir@xensource.com>
This commit is contained in:
1 parent
64b6e234d2
commit
73e4aa4e2b
2 files changed
+5
-1
No files matched your search
@@ -519,7 +519,7 @@ void __init setup_memory_region(void)
|
||||
e820_print_map(who);
|
||||
}
|
||||
|
||||
#else /* CONFIX_XEN */
|
||||
#else /* CONFIG_XEN */
|
||||
|
||||
extern unsigned long xen_override_max_pfn;
|
||||
extern union xen_start_info_union xen_start_info_union;
|
||||
|
||||
@@ -733,6 +733,7 @@ void __init setup_arch(char **cmdline_p)
|
||||
#ifdef CONFIG_XEN
|
||||
{
|
||||
int i, j, k, fpp;
|
||||
|
||||
/* Make sure we have a large enough P->M table. */
|
||||
phys_to_machine_mapping = alloc_bootmem(
|
||||
end_pfn * sizeof(unsigned long));
|
||||
@@ -745,6 +746,9 @@ void __init setup_arch(char **cmdline_p)
|
||||
__pa(xen_start_info->mfn_list),
|
||||
PFN_PHYS(PFN_UP(xen_start_info->nr_pages *
|
||||
sizeof(unsigned long))));
|
||||
make_pages_readonly((void *)xen_start_info->mfn_list,
|
||||
PFN_UP(xen_start_info->nr_pages *
|
||||
sizeof(unsigned long)));
|
||||
|
||||
/*
|
||||
* Initialise the list of the frames that specify the list of
|
||||
|
||||