Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d38593f9 authored by Michael Holzheu's avatar Michael Holzheu Committed by Martin Schwidefsky
Browse files

[S390] Export vmcoreinfo note



This patch defines for s390 an ABI defined pointer to the vmcoreinfo note at
a well known address. With this patch tools are able to find this information
in dumps created by stand-alone or hypervisor dump tools.

Signed-off-by: default avatarMichael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent fa8ff292
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -151,10 +151,11 @@ struct _lowcore {
	 */
	 */
	__u32	ipib;				/* 0x0e00 */
	__u32	ipib;				/* 0x0e00 */
	__u32	ipib_checksum;			/* 0x0e04 */
	__u32	ipib_checksum;			/* 0x0e04 */
	__u32	vmcore_info;			/* 0x0e08 */


	/* 64 bit save area */
	/* 64 bit save area */
	__u64	save_area_64;			/* 0x0e08 */
	__u64	save_area_64;			/* 0x0e0c */
	__u8	pad_0x0e10[0x0f00-0x0e10];	/* 0x0e10 */
	__u8	pad_0x0e14[0x0f00-0x0e14];	/* 0x0e14 */


	/* Extended facility list */
	/* Extended facility list */
	__u64	stfle_fac_list[32];		/* 0x0f00 */
	__u64	stfle_fac_list[32];		/* 0x0f00 */
@@ -290,10 +291,11 @@ struct _lowcore {
	 */
	 */
	__u64	ipib;				/* 0x0e00 */
	__u64	ipib;				/* 0x0e00 */
	__u32	ipib_checksum;			/* 0x0e08 */
	__u32	ipib_checksum;			/* 0x0e08 */
	__u64	vmcore_info;			/* 0x0e0c */


	/* 64 bit save area */
	/* 64 bit save area */
	__u64	save_area_64;			/* 0x0e0c */
	__u64	save_area_64;			/* 0x0e14 */
	__u8	pad_0x0e14[0x0f00-0x0e14];	/* 0x0e14 */
	__u8	pad_0x0e1c[0x0f00-0x0e1c];	/* 0x0e1c */


	/* Extended facility list */
	/* Extended facility list */
	__u64	stfle_fac_list[32];		/* 0x0f00 */
	__u64	stfle_fac_list[32];		/* 0x0f00 */
+10 −0
Original line number Original line Diff line number Diff line
@@ -558,6 +558,15 @@ static void __init setup_restart_psw(void)
	copy_to_absolute_zero(&S390_lowcore.restart_psw, &psw, sizeof(psw));
	copy_to_absolute_zero(&S390_lowcore.restart_psw, &psw, sizeof(psw));
}
}


static void __init setup_vmcoreinfo(void)
{
#ifdef CONFIG_KEXEC
	unsigned long ptr = paddr_vmcoreinfo_note();

	copy_to_absolute_zero(&S390_lowcore.vmcore_info, &ptr, sizeof(ptr));
#endif
}

#ifdef CONFIG_CRASH_DUMP
#ifdef CONFIG_CRASH_DUMP


/*
/*
@@ -1022,6 +1031,7 @@ setup_arch(char **cmdline_p)
	reserve_crashkernel();
	reserve_crashkernel();
	setup_memory();
	setup_memory();
	setup_resources();
	setup_resources();
	setup_vmcoreinfo();
	setup_restart_psw();
	setup_restart_psw();
	setup_lowcore();
	setup_lowcore();