git: 1ca12bd927d7 - main - Remove the riscv64sf architecture.

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Wed, 12 Apr 2023 18:33:20 UTC
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=1ca12bd927d76f5a1b9aad2c72f673a3b01919c0

commit 1ca12bd927d76f5a1b9aad2c72f673a3b01919c0
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2023-04-12 18:09:27 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2023-04-12 18:09:27 +0000

    Remove the riscv64sf architecture.
    
    Reviewed by:    jrtc27, arichardson, br, kp, imp, emaste
    Differential Revision:  https://reviews.freebsd.org/D39496
---
 Makefile                   | 2 +-
 Makefile.inc1              | 3 +--
 share/man/man7/arch.7      | 9 ++-------
 share/mk/local.meta.sys.mk | 2 +-
 share/mk/sys.mk            | 2 +-
 sys/conf/kern.mk           | 1 -
 sys/riscv/include/param.h  | 8 +-------
 tools/boot/universe.sh     | 2 +-
 8 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/Makefile b/Makefile
index 4e474ad04e61..8232041e0a35 100644
--- a/Makefile
+++ b/Makefile
@@ -525,7 +525,7 @@ _UNIVERSE_TARGETS=	${TARGETS}
 TARGET_ARCHES_arm?=	armv6 armv7
 TARGET_ARCHES_arm64?=	aarch64
 TARGET_ARCHES_powerpc?=	powerpc powerpc64 powerpc64le ${EXTRA_ARCHES_powerpc}
-TARGET_ARCHES_riscv?=	riscv64 riscv64sf
+TARGET_ARCHES_riscv?=	riscv64
 .for target in ${TARGETS}
 TARGET_ARCHES_${target}?= ${target}
 .endfor
diff --git a/Makefile.inc1 b/Makefile.inc1
index 471267b3435f..e131cc463bc8 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -148,8 +148,7 @@ KNOWN_ARCHES?=	aarch64/arm64 \
 		powerpc64/powerpc \
 		powerpc64le/powerpc \
 		powerpcspe/powerpc \
-		riscv64/riscv \
-		riscv64sf/riscv
+		riscv64/riscv
 
 .if ${TARGET} == ${TARGET_ARCH}
 _t=		${TARGET}
diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7
index e8d43d185a08..cd341fcd217b 100644
--- a/share/man/man7/arch.7
+++ b/share/man/man7/arch.7
@@ -97,7 +97,6 @@ release to support each architecture.
 .It powerpc64   Ta 9.0
 .It powerpc64le Ta 13.0
 .It riscv64     Ta 12.0
-.It riscv64sf   Ta 12.0
 .El
 .Pp
 Discontinued architectures are shown in the following table.
@@ -117,6 +116,7 @@ Discontinued architectures are shown in the following table.
 .It mips64elhf  Ta 12.0  Ta 13.x
 .It mips64hf    Ta 12.0  Ta 13.x
 .It pc98        Ta 2.2   Ta 11.4
+.It riscv64sf   Ta 12.0  Ta 13.x
 .It sparc64     Ta 5.0   Ta 12.x
 .El
 .Ss Type sizes
@@ -205,7 +205,6 @@ Machine-dependent type sizes:
 .It powerpc64   Ta 8 Ta  8 Ta 8
 .It powerpc64le Ta 8 Ta  8 Ta 8
 .It riscv64     Ta 8 Ta 16 Ta 8
-.It riscv64sf   Ta 8 Ta 16 Ta 8
 .El
 .Pp
 .Sy time_t
@@ -223,7 +222,6 @@ is 8 bytes on all supported architectures except i386.
 .It powerpc64   Ta big    Ta unsigned
 .It powerpc64le Ta little Ta unsigned
 .It riscv64     Ta little Ta   signed
-.It riscv64sf   Ta little Ta   signed
 .El
 .Ss Page Size
 .Bl -column -offset indent "Architecture" "Page Sizes"
@@ -238,7 +236,6 @@ is 8 bytes on all supported architectures except i386.
 .It powerpc64   Ta 4K
 .It powerpc64le Ta 4K
 .It riscv64     Ta 4K, 2M, 1G
-.It riscv64sf   Ta 4K, 2M, 1G
 .El
 .Ss Floating Point
 .Bl -column -offset indent "Architecture" "float, double" "long double"
@@ -253,7 +250,6 @@ is 8 bytes on all supported architectures except i386.
 .It powerpc64   Ta hard Ta hard, double precision
 .It powerpc64le Ta hard Ta hard, double precision
 .It riscv64     Ta hard Ta hard, quad precision
-.It riscv64sf   Ta soft Ta soft, quad precision
 .El
 .Ss Default Tool Chain
 .Fx
@@ -285,7 +281,7 @@ or similar things like boot sequences.
 .It arm Ta arm Ta armv6, armv7
 .It i386 Ta i386 Ta i386
 .It powerpc Ta powerpc Ta powerpc, powerpcspe, powerpc64, powerpc64le
-.It riscv Ta riscv Ta riscv64, riscv64sf
+.It riscv Ta riscv Ta riscv64
 .El
 .Ss Predefined Macros
 The compiler provides a number of predefined macros.
@@ -322,7 +318,6 @@ Architecture-specific macros:
 .It powerpc64   Ta Dv __powerpc__ , Dv __powerpc64__
 .It powerpc64le Ta Dv __powerpc__ , Dv __powerpc64__
 .It riscv64     Ta Dv __riscv , Dv __riscv_xlen == 64
-.It riscv64sf   Ta Dv __riscv , Dv __riscv_xlen == 64 , Dv __riscv_float_abi_soft
 .El
 .Pp
 Compilers may define additional variants of architecture-specific macros.
diff --git a/share/mk/local.meta.sys.mk b/share/mk/local.meta.sys.mk
index fc28b83d82cc..5e477885e1e2 100644
--- a/share/mk/local.meta.sys.mk
+++ b/share/mk/local.meta.sys.mk
@@ -17,7 +17,7 @@ MK_INSTALL_AS_USER= yes
 TARGET_ARCHES_arm?=     arm armv6 armv7
 TARGET_ARCHES_arm64?=   aarch64
 TARGET_ARCHES_powerpc?= powerpc powerpc64 powerpc64le powerpcspe
-TARGET_ARCHES_riscv?=   riscv64 riscv64sf
+TARGET_ARCHES_riscv?=   riscv64
 
 # some corner cases
 BOOT_MACHINE_DIR.amd64 = boot/i386
diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index cddbb0da584c..1ab0022ddc21 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -13,7 +13,7 @@ unix		?=	We run FreeBSD, not UNIX.
 # and/or endian.  This is called MACHINE_CPU in NetBSD, but that's used
 # for something different in FreeBSD.
 #
-__TO_CPUARCH=C/arm(v[67])?/arm/:C/powerpc(64|64le|spe)/powerpc/:C/riscv64(sf)?/riscv/
+__TO_CPUARCH=C/arm(v[67])?/arm/:C/powerpc(64|64le|spe)/powerpc/:C/riscv64/riscv/
 MACHINE_CPUARCH=${MACHINE_ARCH:${__TO_CPUARCH}}
 .endif
 
diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk
index b7f89c78d19d..9040fced6cba 100644
--- a/sys/conf/kern.mk
+++ b/sys/conf/kern.mk
@@ -331,5 +331,4 @@ LD_EMULATION_powerpcspe= elf32ppc_fbsd
 LD_EMULATION_powerpc64= elf64ppc_fbsd
 LD_EMULATION_powerpc64le= elf64lppc_fbsd
 LD_EMULATION_riscv64= elf64lriscv
-LD_EMULATION_riscv64sf= elf64lriscv
 LD_EMULATION=${LD_EMULATION_${MACHINE_ARCH}}
diff --git a/sys/riscv/include/param.h b/sys/riscv/include/param.h
index 70f8ecde971b..56fe9530b76d 100644
--- a/sys/riscv/include/param.h
+++ b/sys/riscv/include/param.h
@@ -48,16 +48,10 @@
 #define	MACHINE		"riscv"
 #endif
 #ifndef MACHINE_ARCH
-
-/* Always use the hard-float arch for the kernel. */
-#if !defined(_KERNEL) && defined(__riscv_float_abi_soft)
-#define	MACHINE_ARCH	"riscv64sf"
-#else
 #define	MACHINE_ARCH	"riscv64"
 #endif
-#endif
 #ifdef _KERNEL
-#define	MACHINE_ARCHES	"riscv64 riscv64sf"
+#define	MACHINE_ARCHES	"riscv64"
 #endif
 
 #ifdef SMP
diff --git a/tools/boot/universe.sh b/tools/boot/universe.sh
index 20b89fb5dfe4..359c9d88d5df 100755
--- a/tools/boot/universe.sh
+++ b/tools/boot/universe.sh
@@ -5,7 +5,7 @@
 #
 # Full list of all arches we don't build.
 #
-#	powerpc/powerpcspe riscv/riscv64sf arm/armv6
+#	powerpc/powerpcspe arm/armv6
 #
 # This script is expected to be run in stand (though you could run it anywhere
 # in the tree). It does a full clean build. For stand you can do all the archs in