git: a3e817fe491f - stable/15 - padlock(4)/nehemiah: move i386-only entropy source to MD files

From: David E. O'Brien <obrien_at_FreeBSD.org>
Date: Wed, 29 Oct 2025 08:11:02 UTC
The branch stable/15 has been updated by obrien:

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

commit a3e817fe491f4739103b7a04c39bb90a00709b3c
Author:     David E. O'Brien <obrien@FreeBSD.org>
AuthorDate: 2025-10-29 00:26:00 +0000
Commit:     David E. O'Brien <obrien@FreeBSD.org>
CommitDate: 2025-10-29 08:07:37 +0000

    padlock(4)/nehemiah: move i386-only entropy source to MD files
    
    Reviewed by: khng
    Differential Revision:  https://reviews.freebsd.org/D53309
    (cherry picked from commit d1ca01059d5d756a4aef09d955e98aa59a284344)
    (cherry picked from commit 88a53301e198b043e9b046b1c824eae5a24064f9)
---
 share/man/man4/Makefile | 5 ++++-
 sys/amd64/conf/GENERIC  | 1 -
 sys/amd64/conf/MINIMAL  | 1 -
 sys/conf/files.i386     | 1 +
 sys/conf/files.x86      | 1 -
 sys/i386/conf/NOTES     | 7 +++++++
 sys/modules/Makefile    | 4 +++-
 sys/x86/conf/NOTES      | 1 -
 8 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index c51136f18ed5..d4d39005a044 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -892,7 +892,6 @@ _ntb_hw_intel.4=	ntb_hw_intel.4
 _ntb_hw_plx.4=	ntb_hw_plx.4
 _ntb_transport.4=ntb_transport.4
 _nvram.4=	nvram.4
-_padlock.4=	padlock.4
 _pchtherm.4=	pchtherm.4
 _qat.4=		qat.4
 _qat_c2xxx.4=	qat_c2xxx.4
@@ -939,6 +938,10 @@ _vmm.4=		vmm.4
 .endif
 .endif
 
+.if ${MACHINE_CPUARCH} == "i386"
+_padlock.4=	padlock.4
+.endif
+
 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64"
 _hwt.4=		hwt.4
 .if ${MACHINE_CPUARCH} == "amd64"
diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC
index b3d60c6e68d9..9fd35c9569f7 100644
--- a/sys/amd64/conf/GENERIC
+++ b/sys/amd64/conf/GENERIC
@@ -307,7 +307,6 @@ device		wpi			# Intel 3945ABG wireless NICs.
 device		crypto			# core crypto support
 device		aesni			# AES-NI OpenCrypto module
 device		loop			# Network loopback
-device		padlock_rng		# VIA Padlock RNG
 device		rdrand_rng		# Intel Bull Mountain RNG
 device		ether			# Ethernet support
 device		vlan			# 802.1Q VLAN support
diff --git a/sys/amd64/conf/MINIMAL b/sys/amd64/conf/MINIMAL
index ec5ab2fcaee3..93c9aa54f653 100644
--- a/sys/amd64/conf/MINIMAL
+++ b/sys/amd64/conf/MINIMAL
@@ -111,7 +111,6 @@ device		uart			# Generic UART driver
 
 # Pseudo devices.
 device		loop			# Network loopback
-device		padlock_rng		# VIA Padlock RNG
 device		rdrand_rng		# Intel Bull Mountain RNG
 device		ether			# Ethernet support
 
diff --git a/sys/conf/files.i386 b/sys/conf/files.i386
index 41c51a7aa9c5..e6c2089e2c1e 100644
--- a/sys/conf/files.i386
+++ b/sys/conf/files.i386
@@ -33,6 +33,7 @@ dev/hyperv/vmbus/i386/hyperv_machdep.c			optional	hyperv
 dev/le/if_le_isa.c		optional le isa
 dev/ofw/ofw_pcib.c		optional fdt pci
 dev/pcf/pcf_isa.c		optional pcf
+dev/random/nehemiah.c		optional padlock_rng !random_loadable
 dev/sbni/if_sbni.c		optional sbni
 dev/sbni/if_sbni_isa.c		optional sbni isa
 dev/sbni/if_sbni_pci.c		optional sbni pci
diff --git a/sys/conf/files.x86 b/sys/conf/files.x86
index 21a1b8046f12..31b8e88a6951 100644
--- a/sys/conf/files.x86
+++ b/sys/conf/files.x86
@@ -310,7 +310,6 @@ dev/ntb/ntb_hw/ntb_hw_plx.c	optional	ntb_hw_plx | ntb_hw
 dev/ntb/test/ntb_tool.c		optional	ntb_tool
 dev/nvram/nvram.c		optional	nvram isa
 dev/random/ivy.c		optional	rdrand_rng !random_loadable
-dev/random/nehemiah.c		optional	padlock_rng !random_loadable
 dev/random/rdseed.c		optional	rdrand_rng !random_loadable
 dev/qat_c2xxx/qat.c		optional	qat_c2xxx
 dev/qat_c2xxx/qat_ae.c		optional	qat_c2xxx
diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES
index 93dc00634cc0..fbcea76527db 100644
--- a/sys/i386/conf/NOTES
+++ b/sys/i386/conf/NOTES
@@ -302,6 +302,13 @@ envvar		hint.pcf.0.irq="5"
 #
 device		glxsb		# AMD Geode LX Security Block
 
+#
+# padlock is a driver for the cryptographic functions and RNG in
+# VIA C3, C7, and Eden processors.
+# Requires 'device crypto'.
+#
+device		padlock_rng	# VIA Padlock RNG
+
 #####################################################################
 # ABI Emulation
 
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index d877167a7eae..2b41366579bb 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -815,7 +815,6 @@ _nfe=		nfe
 _nvram=		nvram
 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
 _padlock=	padlock
-_padlock_rng=	padlock_rng
 _rdrand_rng=	rdrand_rng
 _rdseed_rng=	rdseed_rng
 .endif
@@ -888,6 +887,9 @@ _glxsb=		glxsb
 _pcfclock=	pcfclock
 _pst=		pst
 _sbni=		sbni
+.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
+_padlock_rng=	padlock_rng
+.endif
 .endif
 
 .if ${MACHINE_ARCH} == "armv7"
diff --git a/sys/x86/conf/NOTES b/sys/x86/conf/NOTES
index 3b3439b519d7..fadaf90d508f 100644
--- a/sys/x86/conf/NOTES
+++ b/sys/x86/conf/NOTES
@@ -541,7 +541,6 @@ device		smbios
 device		vpd
 device		asmc
 device		tpm
-device		padlock_rng	# VIA Padlock RNG
 device		rdrand_rng	# Intel Bull Mountain RNG
 device		aesni		# AES-NI OpenCrypto module
 device		ossl		# OpenSSL OpenCrypto module