[Crash-utility] Re: [PATCH] Fix compiler warnings on s390(x)

Michael Holzheu holzheu at de.ibm.com
Tue Aug 15 08:13:43 UTC 2006


anderson at redhat.com wrote on 08/14/2006 07:52:40 PM:

> 
> One thing that I noticed, and that I've added to your patch, is this:
> 
> diff -r1.264 defs.h
> 2410c2410
> < #define IS_VMALLOC_ADDR(X) (vt->vmalloc_start && (ulong)(X) >= 
> vt->vmalloc_start)
> ---
> > #define IS_VMALLOC_ADDR(X) s390x_IS_VMALLOC_ADDR(X)
> 
> It seems that s390x_IS_VMALLOC_ADDR() was created but never
> put in place for IS_VMALLOC_ADDR() to use.
> 
> Let me know if that's not correct.
> 

At least that is not wrong. But I  noticed that we do not need
s390(x)_IS_VMALLOC_ADDR() at all.

In memory.c/vm_init(), we set vt->vmalloc_start to:

vt->vmalloc_start = machdep->vmalloc_start();

which leads to a call of s390(x)_vmalloc_start().

Therefore, we can use that for IS_VMALLOC_ADDR() like other architectures
do. I attached a patch, which removes s390(x)_IS_VMALLOC_ADDR().

Michael

---

diff -Naur crash-4.0-3.1-fix-warn/defs.h crash-4.0-3.1-fix-warn-is-valloc/defs.h
--- crash-4.0-3.1-fix-warn/defs.h	2006-08-14 18:32:01.000000000 +0200
+++ crash-4.0-3.1-fix-warn-is-valloc/defs.h	2006-08-15 09:57:35.000000000 +0200
@@ -2383,7 +2383,7 @@
 
 #define PTOV(X)            ((unsigned long)(X)+(machdep->kvbase))
 #define VTOP(X)            ((unsigned long)(X)-(machdep->kvbase))
-#define IS_VMALLOC_ADDR(X) s390_IS_VMALLOC_ADDR(X)
+#define IS_VMALLOC_ADDR(X) (vt->vmalloc_start && (ulong)(X) >= vt->vmalloc_start)
 
 #define PTRS_PER_PTE    1024
 #define PTRS_PER_PMD    1
@@ -3715,7 +3715,6 @@
 #ifdef S390 
 void s390_init(int);
 void s390_dump_machdep_table(ulong);
-int s390_IS_VMALLOC_ADDR(ulong addr);
 #define display_idt_table() \
         error(FATAL, "-d option is not applicable to S390 architecture\n")
 #define KSYMS_START (0x1)
@@ -3741,7 +3740,6 @@
 #ifdef S390X
 void s390x_init(int);
 void s390x_dump_machdep_table(ulong);
-int s390x_IS_VMALLOC_ADDR(ulong addr);
 #define display_idt_table() \
         error(FATAL, "-d option is not applicable to S390X architecture\n")
 #define KSYMS_START (0x1)
diff -Naur crash-4.0-3.1-fix-warn/s390.c crash-4.0-3.1-fix-warn-is-valloc/s390.c
--- crash-4.0-3.1-fix-warn/s390.c	2006-08-14 18:45:37.000000000 +0200
+++ crash-4.0-3.1-fix-warn-is-valloc/s390.c	2006-08-15 09:55:38.000000000 +0200
@@ -228,19 +228,6 @@
 }
 
 /*
- * Check if address is in the vmalloc area
- */
-int
-s390_IS_VMALLOC_ADDR(ulong addr)
-{
-	static unsigned long high_memory = 0;
-	if(!high_memory){
-		high_memory = s390_vmalloc_start();
-	}
-	return (addr > high_memory);
-}
-
-/*
  * Check if address is in context's address space
  */
 static int 
diff -Naur crash-4.0-3.1-fix-warn/s390x.c crash-4.0-3.1-fix-warn-is-valloc/s390x.c
--- crash-4.0-3.1-fix-warn/s390x.c	2006-08-14 18:28:38.000000000 +0200
+++ crash-4.0-3.1-fix-warn-is-valloc/s390x.c	2006-08-15 09:55:36.000000000 +0200
@@ -245,19 +245,6 @@
 }
 
 /*
- * Check if address is in the vmalloc area
- */
-int
-s390x_IS_VMALLOC_ADDR(ulong addr)
-{
-	static unsigned long high_memory = 0;
-	if(!high_memory){
-		high_memory = s390x_vmalloc_start();
-	}
-	return (addr > high_memory);
-}
-
-/*
  * Check if address is in context's address space
  */
 static int 




More information about the Crash-utility mailing list