mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 14:51:00 +07:00
x86/setup: Do not reserve a crash kernel region if booted on Xen PV
Xen PV domains cannot shut down and start a crash kernel. Instead, the crashing kernel makes a SCHEDOP_shutdown hypercall with the reason code SHUTDOWN_crash, cf. xen_crash_shutdown() machine op in arch/x86/xen/enlighten_pv.c. A crash kernel reservation is merely a waste of RAM in this case. It may also confuse users of kexec_load(2) and/or kexec_file_load(2). When flags include KEXEC_ON_CRASH or KEXEC_FILE_ON_CRASH, respectively, these syscalls return success, which is technically correct, but the crash kexec image will never be actually used. Signed-off-by: Petr Tesarik <ptesarik@suse.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Juergen Gross <jgross@suse.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Dou Liyang <douly.fnst@cn.fujitsu.com> Cc: Mikulas Patocka <mpatocka@redhat.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: xen-devel@lists.xenproject.org Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> Cc: Borislav Petkov <bp@suse.de> Cc: Jean Delvare <jdelvare@suse.de> Link: https://lkml.kernel.org/r/20180425120835.23cef60c@ezekiel.suse.cz
This commit is contained in:
parent
b837913fc2
commit
3db3eb2852
@ -50,6 +50,7 @@
|
|||||||
#include <linux/init_ohci1394_dma.h>
|
#include <linux/init_ohci1394_dma.h>
|
||||||
#include <linux/kvm_para.h>
|
#include <linux/kvm_para.h>
|
||||||
#include <linux/dma-contiguous.h>
|
#include <linux/dma-contiguous.h>
|
||||||
|
#include <xen/xen.h>
|
||||||
|
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
@ -534,6 +535,11 @@ static void __init reserve_crashkernel(void)
|
|||||||
high = true;
|
high = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (xen_pv_domain()) {
|
||||||
|
pr_info("Ignoring crashkernel for a Xen PV domain\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* 0 means: find the address automatically */
|
/* 0 means: find the address automatically */
|
||||||
if (crash_base <= 0) {
|
if (crash_base <= 0) {
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user