[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.