[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] kexec: fix some types
commit 66500abc8dd66ec5df71dbf4ac3fd64b2d0cdcf8 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Mon Jan 19 12:01:18 2015 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Mon Jan 19 12:01:18 2015 +0100 kexec: fix some types crashinfo_maxaddr can/will be a 64-bit type, hence passing it to fls() is wrong. crashinfo_maxaddr_bits, otoh, doesn't need to be a paddr_t, and can additionally be __initdata. struct xen_kexec_reserve's start field - representing a physical address - ought to have respective type. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> --- xen/common/kexec.c | 4 ++-- xen/include/asm-x86/bitops.h | 3 +++ xen/include/xen/kexec.h | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/xen/common/kexec.c b/xen/common/kexec.c index 2239ee8..c579ac8 100644 --- a/xen/common/kexec.c +++ b/xen/common/kexec.c @@ -78,7 +78,7 @@ static paddr_t __initdata crashinfo_maxaddr = 4ULL << 30; /* = log base 2 of crashinfo_maxaddr after checking for sanity. Default to * larger than the entire physical address space. */ -paddr_t crashinfo_maxaddr_bits = 64; +unsigned int __initdata crashinfo_maxaddr_bits = 64; /* Pointers to keep track of the crash heap region. */ static void *crash_heap_current = NULL, *crash_heap_end = NULL; @@ -532,7 +532,7 @@ void __init kexec_early_calculations(void) low_crashinfo_mode = LOW_CRASHINFO_NONE; if ( low_crashinfo_mode > LOW_CRASHINFO_NONE ) - crashinfo_maxaddr_bits = fls(crashinfo_maxaddr) - 1; + crashinfo_maxaddr_bits = fls64(crashinfo_maxaddr) - 1; } static int __init kexec_init(void) diff --git a/xen/include/asm-x86/bitops.h b/xen/include/asm-x86/bitops.h index 82a08ee..3e9ca00 100644 --- a/xen/include/asm-x86/bitops.h +++ b/xen/include/asm-x86/bitops.h @@ -429,6 +429,9 @@ static inline int fls(unsigned long x) return (int)r+1; } +#define ffs64 ffs +#define fls64 fls + /** * hweightN - returns the hamming weight of a N-bit word * @x: the word to weigh diff --git a/xen/include/xen/kexec.h b/xen/include/xen/kexec.h index bd17747..b7d121d 100644 --- a/xen/include/xen/kexec.h +++ b/xen/include/xen/kexec.h @@ -10,7 +10,7 @@ typedef struct xen_kexec_reserve { unsigned long size; - unsigned long start; + paddr_t start; } xen_kexec_reserve_t; extern xen_kexec_reserve_t kexec_crash_area; @@ -38,7 +38,7 @@ enum low_crashinfo { /* Low crashinfo mode. Start as INVALID so serveral codepaths can set up * defaults without needing to know the state of the others. */ extern enum low_crashinfo low_crashinfo_mode; -extern paddr_t crashinfo_maxaddr_bits; +extern unsigned int crashinfo_maxaddr_bits; void kexec_early_calculations(void); int machine_kexec_add_page(struct kexec_image *image, unsigned long vaddr, -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |