diff options
author | Russell King <rmk@arm.linux.org.uk> | 2016-06-06 17:59:29 +0100 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2016-06-08 09:21:52 +0900 |
commit | 8d8d2229a3afe6323a737c42c25a101ea104efbe (patch) | |
tree | a023d3057b75ec39ddf776927d9c911d670b6a95 | |
parent | 5450d34a886445e0787c432ff9aaa04b55b0f4c0 (diff) | |
download | kexec-tools-8d8d2229a3afe6323a737c42c25a101ea104efbe.tar.gz |
kexec: phys_to_virt() must take unsigned long long
crashdump-elf.c passes unsigned long long addresses into phys_to_virt()
so make phys_to_virt() accept such addresses without truncating them.
This is important for ARM LPAE systems.
Reviewed-by: Pratyush Anand <panand@redhat.com>
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r-- | kexec/arch/arm/phys_to_virt.c | 2 | ||||
-rw-r--r-- | kexec/crashdump.h | 2 | ||||
-rw-r--r-- | kexec/phys_to_virt.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/kexec/arch/arm/phys_to_virt.c b/kexec/arch/arm/phys_to_virt.c index bcced528..c2fe2ea0 100644 --- a/kexec/arch/arm/phys_to_virt.c +++ b/kexec/arch/arm/phys_to_virt.c @@ -14,7 +14,7 @@ * http://lists.arm.linux.org.uk/lurker/message/20010723.185051.94ce743c.en.html */ unsigned long -phys_to_virt(struct crash_elf_info *elf_info, unsigned long paddr) +phys_to_virt(struct crash_elf_info *elf_info, unsigned long long paddr) { return paddr + elf_info->page_offset - phys_offset; } diff --git a/kexec/crashdump.h b/kexec/crashdump.h index 95f1f0c7..96219a81 100644 --- a/kexec/crashdump.h +++ b/kexec/crashdump.h @@ -55,7 +55,7 @@ int crash_create_elf64_headers(struct kexec_info *info, unsigned long crash_architecture(struct crash_elf_info *elf_info); unsigned long phys_to_virt(struct crash_elf_info *elf_info, - unsigned long paddr); + unsigned long long paddr); unsigned long xen_architecture(struct crash_elf_info *elf_info); int xen_get_nr_phys_cpus(void); diff --git a/kexec/phys_to_virt.c b/kexec/phys_to_virt.c index 91b6d01b..5e8c4e30 100644 --- a/kexec/phys_to_virt.c +++ b/kexec/phys_to_virt.c @@ -10,7 +10,7 @@ * their own implementation. */ unsigned long -phys_to_virt(struct crash_elf_info *elf_info, unsigned long paddr) +phys_to_virt(struct crash_elf_info *elf_info, unsigned long long paddr) { return paddr + elf_info->page_offset; } |