mirror of https://gitee.com/openkylin/linux.git
of/fdt: factor out assignment of initrd_start/initrd_end
Since architectures may not yet have their linear mapping up and running when the initrd address is discovered from the DT, factor out the assignment of initrd_start and initrd_end, so that an architecture can override it and use the translation it needs. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
270522a04f
commit
369bc9abf2
|
@ -760,6 +760,16 @@ const void * __init of_flat_dt_match_machine(const void *default_match,
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_BLK_DEV_INITRD
|
#ifdef CONFIG_BLK_DEV_INITRD
|
||||||
|
#ifndef __early_init_dt_declare_initrd
|
||||||
|
static void __early_init_dt_declare_initrd(unsigned long start,
|
||||||
|
unsigned long end)
|
||||||
|
{
|
||||||
|
initrd_start = (unsigned long)__va(start);
|
||||||
|
initrd_end = (unsigned long)__va(end);
|
||||||
|
initrd_below_start_ok = 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* early_init_dt_check_for_initrd - Decode initrd location from flat tree
|
* early_init_dt_check_for_initrd - Decode initrd location from flat tree
|
||||||
* @node: reference to node containing initrd location ('chosen')
|
* @node: reference to node containing initrd location ('chosen')
|
||||||
|
@ -782,9 +792,7 @@ static void __init early_init_dt_check_for_initrd(unsigned long node)
|
||||||
return;
|
return;
|
||||||
end = of_read_number(prop, len/4);
|
end = of_read_number(prop, len/4);
|
||||||
|
|
||||||
initrd_start = (unsigned long)__va(start);
|
__early_init_dt_declare_initrd(start, end);
|
||||||
initrd_end = (unsigned long)__va(end);
|
|
||||||
initrd_below_start_ok = 1;
|
|
||||||
|
|
||||||
pr_debug("initrd_start=0x%llx initrd_end=0x%llx\n",
|
pr_debug("initrd_start=0x%llx initrd_end=0x%llx\n",
|
||||||
(unsigned long long)start, (unsigned long long)end);
|
(unsigned long long)start, (unsigned long long)end);
|
||||||
|
|
Loading…
Reference in New Issue