97a0425e04
xen-4.5.1-testing-src.tar.bz2 - Dropped patches now contained in tarball 556c2cf2-x86-don-t-crash-mapping-a-page-using-EFI-rt-page-tables.patch 556d9718-efi-fix-allocation-problems-if-ExitBootServices-fails.patch 556eabf7-x86-apic-Disable-the-LAPIC-later-in-smp_send_stop.patch 556eac15-x86-crash-don-t-use-set_fixmap-in-the-crash-path.patch 55780aaa-efi-avoid-calling-boot-services-after-ExitBootServices.patch 55780aff-x86-EFI-fix-EFI_MEMORY_WP-handling.patch 55780b43-EFI-early-add-mapbs-to-map-EfiBootServices-Code-Data.patch 55780b97-EFI-support-default-attributes-to-map-Runtime-service-areas.patch - Replace 5124efbe-add-qxl-support.patch with the variant that finally made it upstream, 554cc211-libxl-add-qxl.patch - bsc#931627 - VUL-0: CVE-2015-4105: XSA-130: xen: Guest triggerable qemu MSI-X pass-through error messages qemu-MSI-X-latch-writes.patch - bsc#907514 - Bus fatal error & sles12 sudden reboot has been observed - bsc#910258 - SLES12 Xen host crashes with FATAL NMI after shutdown of guest with VT-d NIC - bsc#918984 - Bus fatal error & sles11-SP4 sudden reboot has been observed - bsc#923967 - Partner-L3: Bus fatal error & sles11-SP3 sudden reboot has been observed x86-MSI-X-teardown.patch x86-MSI-X-enable.patch x86-MSI-X-guest-mask.patch x86-MSI-X-maskall.patch qemu-MSI-X-enable-maskall.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=364
63 lines
1.9 KiB
Diff
63 lines
1.9 KiB
Diff
References: bsc#925466
|
|
|
|
# Commit 5cb57f4bddee1f11079e69bf43c193a8b104c476
|
|
# Date 2015-06-09 16:00:24 +0200
|
|
# Author Jan Beulich <jbeulich@suse.com>
|
|
# Committer Jan Beulich <jbeulich@suse.com>
|
|
kexec: add more pages to v1 environment
|
|
|
|
Destination pages need mappings to be added to the page tables in the
|
|
v1 case (where nothing else calls machine_kexec_add_page() for them).
|
|
|
|
Further, without the tools mapping the low 1Mb (expected by at least
|
|
some Linux version), we need to do so in the hypervisor in the v1 case.
|
|
|
|
Suggested-by: David Vrabel <david.vrabel@citrix.com>
|
|
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
|
Tested-by: Alan Robinson <alan.robinson@ts.fujitsu.com>
|
|
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
|
|
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
|
|
|
|
|
|
--- a/xen/common/kexec.c
|
|
+++ b/xen/common/kexec.c
|
|
@@ -1003,6 +1003,24 @@ static int kexec_do_load_v1(xen_kexec_lo
|
|
if ( ret < 0 )
|
|
goto error;
|
|
|
|
+ if ( arch == EM_386 || arch == EM_X86_64 )
|
|
+ {
|
|
+ /*
|
|
+ * Ensure 0 - 1 MiB is mapped and accessible by the image.
|
|
+ *
|
|
+ * This allows access to VGA memory and the region purgatory copies
|
|
+ * in the crash case.
|
|
+ */
|
|
+ unsigned long addr;
|
|
+
|
|
+ for ( addr = 0; addr < MB(1); addr += PAGE_SIZE )
|
|
+ {
|
|
+ ret = machine_kexec_add_page(kimage, addr, addr);
|
|
+ if ( ret < 0 )
|
|
+ goto error;
|
|
+ }
|
|
+ }
|
|
+
|
|
ret = kexec_load_slot(kimage);
|
|
if ( ret < 0 )
|
|
goto error;
|
|
--- a/xen/common/kimage.c
|
|
+++ b/xen/common/kimage.c
|
|
@@ -923,6 +923,11 @@ int kimage_build_ind(struct kexec_image
|
|
ret = kimage_add_page(image, page_to_maddr(xen_page));
|
|
if ( ret < 0 )
|
|
goto done;
|
|
+
|
|
+ ret = machine_kexec_add_page(image, dest, dest);
|
|
+ if ( ret < 0 )
|
|
+ goto done;
|
|
+
|
|
dest += PAGE_SIZE;
|
|
break;
|
|
}
|