svn commit: r308807 - in head/sys: conf mips/include

Alexander Kabaev kan at FreeBSD.org
Fri Nov 18 16:23:33 UTC 2016


Author: kan
Date: Fri Nov 18 16:23:31 2016
New Revision: 308807
URL: https://svnweb.freebsd.org/changeset/base/308807

Log:
  Subject: [PATCH] Pass MACHINE_ARCH on command line for MIPS kernels.
  
  While there, make param.h guess proper MACHINE_ARCH on hardfloat targets
  correctly as well, so tools like bmake can get their defaults right.
  This does not help the kernel case, since we compile them with forced
  -msoft-float and need to override an incorrect guess by param.h.
  
  Reviewed by: br
  Differential Revision:	https://reviews.freebsd.org/D8574

Modified:
  head/sys/conf/kern.pre.mk
  head/sys/mips/include/param.h

Modified: head/sys/conf/kern.pre.mk
==============================================================================
--- head/sys/conf/kern.pre.mk	Fri Nov 18 16:07:08 2016	(r308806)
+++ head/sys/conf/kern.pre.mk	Fri Nov 18 16:23:31 2016	(r308807)
@@ -74,7 +74,7 @@ CFLAGS+= ${INCLUDES} -D_KERNEL -DHAVE_KE
 CFLAGS_PARAM_INLINE_UNIT_GROWTH?=100
 CFLAGS_PARAM_LARGE_FUNCTION_GROWTH?=1000
 .if ${MACHINE_CPUARCH} == "mips"
-CFLAGS_ARCH_PARAMS?=--param max-inline-insns-single=1000
+CFLAGS_ARCH_PARAMS?=--param max-inline-insns-single=1000 -DMACHINE_ARCH='"${MACHINE_ARCH}"'
 .endif
 CFLAGS.gcc+= -fno-common -fms-extensions -finline-limit=${INLINE_LIMIT}
 CFLAGS.gcc+= --param inline-unit-growth=${CFLAGS_PARAM_INLINE_UNIT_GROWTH}

Modified: head/sys/mips/include/param.h
==============================================================================
--- head/sys/mips/include/param.h	Fri Nov 18 16:07:08 2016	(r308806)
+++ head/sys/mips/include/param.h	Fri Nov 18 16:23:31 2016	(r308807)
@@ -53,33 +53,36 @@
 
 #define __PCI_REROUTE_INTERRUPT
 
-#ifndef MACHINE
-#define	MACHINE		"mips"
-#endif
-#ifndef MACHINE_ARCH
 #if _BYTE_ORDER == _BIG_ENDIAN
-#ifdef __mips_n64
-#define	MACHINE_ARCH	"mips64"
-#ifndef	MACHINE_ARCH32
-#define	MACHINE_ARCH32	"mips"
+# define _EL_SUFFIX ""
+#else
+# define _EL_SUFFIX "el"
 #endif
+
+#ifdef __mips_n64
+# define _N64_SUFFIX "64"
 #elif defined(__mips_n32)
-#define	MACHINE_ARCH	"mipsn32"
+# define _N64_SUFFIX "n32"
 #else
-#define	MACHINE_ARCH	"mips"
+# define _N64_SUFFIX ""
 #endif
+
+#ifdef __mips_hard_float
+# define _HF_SUFFIX "hf"
 #else
-#ifdef __mips_n64
-#define	MACHINE_ARCH	"mips64el"
-#ifndef	MACHINE_ARCH32
-#define	MACHINE_ARCH32	"mipsel"
+# define _HF_SUFFIX ""
 #endif
-#elif defined(__mips_n32)
-#define	MACHINE_ARCH	"mipsn32el"
-#else
-#define	MACHINE_ARCH	"mipsel"
+
+#ifndef MACHINE
+# define MACHINE	"mips"
 #endif
+#ifndef MACHINE_ARCH
+# define MACHINE_ARCH 	"mips" _N64_SUFFIX _EL_SUFFIX _HF_SUFFIX
 #endif
+#ifdef __mips_n64
+# ifndef MACHINE_ARCH32
+#  define MACHINE_ARCH32 "mips" _EL_SUFFIX _HF_SUFFIX
+# endif
 #endif
 
 /*


More information about the svn-src-head mailing list