mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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@suse.com> Reviewed-by: David Vrabel <david.vrabel@citrix.com>
This commit is contained in:
1 parent
ad34d0656f
commit
66500abc8d
3 files changed
+7
-4
No files matched your search
+2
-2
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||