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

Commit 4aeaa223 authored by Magnus Damm's avatar Magnus Damm Committed by Paul Mundt
Browse files

sh: add dynamic crash base address support



Add support for dynamic crash kernel base address.

Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent a30c89ad
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -147,6 +147,7 @@ static void __init reserve_crashkernel(void)
{
	unsigned long long free_mem;
	unsigned long long crash_size, crash_base;
	void *vp;
	int ret;

	free_mem = ((unsigned long long)max_low_pfn - min_low_pfn) << PAGE_SHIFT;
@@ -155,12 +156,14 @@ static void __init reserve_crashkernel(void)
			&crash_size, &crash_base);
	if (ret == 0 && crash_size) {
		if (crash_base <= 0) {
			printk(KERN_INFO "crashkernel reservation failed - "
					"you have to specify a base address\n");
			vp = alloc_bootmem_nopanic(crash_size); 
			if (!vp) {
				printk(KERN_INFO "crashkernel allocation "
				       "failed\n");
				return;
			}

		if (reserve_bootmem(crash_base, crash_size,
			crash_base = __pa(vp);
		} else if (reserve_bootmem(crash_base, crash_size,
					BOOTMEM_EXCLUSIVE) < 0) {
			printk(KERN_INFO "crashkernel reservation failed - "
					"memory is in use\n");