mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
power: reset: qcom-dload-mode: Store KASLR offset when available
Store KASLR offset in imem property when requested by devicetree. Change-Id: I4f5f359fadab413db6bc5e80799a445218251872 Signed-off-by: Elliot Berman <eberman@codeaurora.org>
This commit is contained in:
parent
f9dc3d38cf
commit
a54b8a7d7d
1 changed files with 22 additions and 0 deletions
|
|
@ -213,6 +213,27 @@ static void __iomem *map_prop_mem(const char *propname)
|
|||
return addr;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_RANDOMIZE_BASE
|
||||
#define KASLR_OFFSET_MASK 0x00000000FFFFFFFF
|
||||
static void store_kaslr_offset(void)
|
||||
{
|
||||
void __iomem *mem = map_prop_mem("qcom,msm-imem-kaslr_offset");
|
||||
|
||||
if (!mem)
|
||||
return;
|
||||
|
||||
__raw_writel(0xdead4ead, mem);
|
||||
__raw_writel((kimage_vaddr - KIMAGE_VADDR) & KASLR_OFFSET_MASK,
|
||||
mem + 4);
|
||||
__raw_writel(((kimage_vaddr - KIMAGE_VADDR) >> 32) & KASLR_OFFSET_MASK,
|
||||
mem + 8);
|
||||
|
||||
iounmap(mem);
|
||||
}
|
||||
#else
|
||||
static void store_kaslr_offset(void) {}
|
||||
#endif /* CONFIG_RANDOMIZE_BASE */
|
||||
|
||||
static int qcom_dload_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct qcom_dload *poweroff;
|
||||
|
|
@ -238,6 +259,7 @@ static int qcom_dload_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
poweroff->dload_dest_addr = map_prop_mem("qcom,msm-imem-dload-type");
|
||||
store_kaslr_offset();
|
||||
|
||||
if (enable_dump)
|
||||
set_download_mode(QCOM_DOWNLOAD_FULLDUMP);
|
||||
|
|
|
|||
Loading…
Reference in a new issue