|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [patch] phys_to_machine_mapping alignment on x86_64
Hi,
At x86_64 linux domain, phys_to_machine_mapping,
pfn_to_mfn_frame_list_list, and pfn_to_mfn_frame_list should be
aligned to pagesize, but it can be misaligned now.
If they aren't aligned to pagesize, it will cause fails while saving
the domain.
This patch fixed it.
regards,
Signed-off-by: Kazuo Moriwaka <moriwaka@xxxxxxxxxxxxx>
set phys_to_machine_mapping alignment to pagesize.
diff -r a47951e59cbf -r 3bb0d973dfde
linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c
--- a/linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c Wed
Aug 30 09:47:24 2006 +0100
+++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c Wed
Aug 30 20:31:42 2006 +0900
@@ -846,7 +846,7 @@ void __init setup_arch(char **cmdline_p)
if (!xen_feature(XENFEAT_auto_translated_physmap)) {
/* Make sure we have a large enough P->M table. */
- phys_to_machine_mapping = alloc_bootmem(
+ phys_to_machine_mapping = alloc_bootmem_pages(
end_pfn * sizeof(unsigned long));
memset(phys_to_machine_mapping, ~0,
end_pfn * sizeof(unsigned long));
@@ -863,7 +863,7 @@ void __init setup_arch(char **cmdline_p)
* list of frames that make up the p2m table. Used by
* save/restore.
*/
- pfn_to_mfn_frame_list_list = alloc_bootmem(PAGE_SIZE);
+ pfn_to_mfn_frame_list_list =
alloc_bootmem_pages(PAGE_SIZE);
HYPERVISOR_shared_info->arch.pfn_to_mfn_frame_list_list =
virt_to_mfn(pfn_to_mfn_frame_list_list);
@@ -873,7 +873,7 @@ void __init setup_arch(char **cmdline_p)
k++;
BUG_ON(k>=fpp);
pfn_to_mfn_frame_list[k] =
- alloc_bootmem(PAGE_SIZE);
+ alloc_bootmem_pages(PAGE_SIZE);
pfn_to_mfn_frame_list_list[k] =
virt_to_mfn(pfn_to_mfn_frame_list[k]);
j=0;
--
Kazuo Moriwaka
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [patch] phys_to_machine_mapping alignment on x86_64,
Kazuo Moriwaka <=
|
|
|
|
|