Thread (2 messages) 2 messages, 2 authors, 2017-02-13

[PATCH] IP27: Fix spaces.h to prevent a build error

STALE3517d

From: Joshua Kinard <hidden>
Date: 2017-01-29 04:32:45
Subsystem: mips, the rest · Maintainers: Thomas Bogendoerfer, Linus Torvalds

From: Joshua Kinard <redacted>

Fix IP27's spaces.h file to avoid the below build error:

    CC      arch/mips/vdso/gettimeofday-o32.o
  In file included from ./arch/mips/include/asm/mach-ip27/spaces.h:29:0,
                   from ./arch/mips/include/asm/page.h:12,
                   from arch/mips/vdso/vdso.h:26,
                   from arch/mips/vdso/gettimeofday.c:11:
  ./arch/mips/include/asm/mach-generic/spaces.h:28:0: error: "CAC_BASE" redefined [-Werror]
   #define CAC_BASE  _AC(0x80000000, UL)
  
  In file included from ./arch/mips/include/asm/page.h:12:0,
                   from arch/mips/vdso/vdso.h:26,
                   from arch/mips/vdso/gettimeofday.c:11:
  ./arch/mips/include/asm/mach-ip27/spaces.h:22:0: note: this is the location of the previous definition
   #define CAC_BASE  0xa800000000000000
  
  cc1: all warnings being treated as errors
  make[2]: *** [arch/mips/vdso/Makefile:117: arch/mips/vdso/gettimeofday-o32.o] Error 1
  make[1]: *** [scripts/Makefile.build:551: arch/mips/vdso] Error 2
  make[1]: *** Waiting for unfinished jobs....

Fixes include using the _AC() constant to protect addresses if used in
assembly and wrapping the addresses with a CONFIG_64BIT ifdef.

Signed-off-by: Joshua Kinard <redacted>
---
 arch/mips/include/asm/mach-ip27/spaces.h |   15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

linux-mips-4.10-ip27-fix-spaces_h.patch
diff --git a/arch/mips/include/asm/mach-ip27/spaces.h b/arch/mips/include/asm/mach-ip27/spaces.h
index 4775a1136a5b..27d32da8442c 100644
--- a/arch/mips/include/asm/mach-ip27/spaces.h
+++ b/arch/mips/include/asm/mach-ip27/spaces.h
@@ -10,21 +10,24 @@
 #ifndef _ASM_MACH_IP27_SPACES_H
 #define _ASM_MACH_IP27_SPACES_H
 
+#include <linux/const.h>
+
 /*
  * IP27 uses the R10000's uncached attribute feature.  Attribute 3 selects
  * uncached memory addressing.
  */
-
-#define HSPEC_BASE		0x9000000000000000
-#define IO_BASE			0x9200000000000000
-#define MSPEC_BASE		0x9400000000000000
-#define UNCAC_BASE		0x9600000000000000
-#define CAC_BASE		0xa800000000000000
+#ifdef CONFIG_64BIT
+#define HSPEC_BASE		_AC(0x9000000000000000, UL)
+#define IO_BASE			_AC(0x9200000000000000, UL)
+#define MSPEC_BASE		_AC(0x9400000000000000, UL)
+#define UNCAC_BASE		_AC(0x9600000000000000, UL)
+#define CAC_BASE		_AC(0xa800000000000000, UL)
 
 #define TO_MSPEC(x)		(MSPEC_BASE | ((x) & TO_PHYS_MASK))
 #define TO_HSPEC(x)		(HSPEC_BASE | ((x) & TO_PHYS_MASK))
 
 #define HIGHMEM_START		(~0UL)
+#endif /* CONFIG_64BIT */
 
 #include <asm/mach-generic/spaces.h>
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help