git: 068fea0aa15b - main - random: Have RANDOM_PURE_START be a cross-platform source

From: David E. O'Brien <obrien_at_FreeBSD.org>
Date: Fri, 07 Nov 2025 23:39:31 UTC
The branch main has been updated by obrien:

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

commit 068fea0aa15bceb7b6b01687542b58ee81d1d887
Author:     David E. O'Brien <obrien@FreeBSD.org>
AuthorDate: 2025-10-23 23:20:54 +0000
Commit:     David E. O'Brien <obrien@FreeBSD.org>
CommitDate: 2025-11-07 23:28:16 +0000

    random: Have RANDOM_PURE_START be a cross-platform source
    
    and one that will be with us in the long-term future.
    (this helps reduce diffs in the future and for down-stream users
    that trim entropy sources).  Also, move deprecated (removed in 16.0)
    sources to the bottom of the list to reduce changes to 15.x.
    
    Reviewed by:    glebius
    Obtained from:  Juniper Networks
    Differential Revision:  https://reviews.freebsd.org/D53311
---
 sys/dev/random/fenestrasX/fx_pool.c | 14 +++++++-------
 sys/dev/random/random_harvestq.c    |  6 +++---
 sys/sys/random.h                    |  6 +++---
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/sys/dev/random/fenestrasX/fx_pool.c b/sys/dev/random/fenestrasX/fx_pool.c
index b6ffc202769e..59273a0a3f9d 100644
--- a/sys/dev/random/fenestrasX/fx_pool.c
+++ b/sys/dev/random/fenestrasX/fx_pool.c
@@ -167,10 +167,7 @@ static const struct fxrng_ent_char {
 	[RANDOM_RANDOMDEV] = {
 		.entc_cls = &fxrng_lo_push,
 	},
-	[RANDOM_PURE_SAFE] = {
-		.entc_cls = &fxrng_hi_push,
-	},
-	[RANDOM_PURE_GLXSB] = {
+	[RANDOM_PURE_TPM] = {
 		.entc_cls = &fxrng_hi_push,
 	},
 	[RANDOM_PURE_RDRAND] = {
@@ -197,9 +194,6 @@ static const struct fxrng_ent_char {
 	[RANDOM_PURE_DARN] = {
 		.entc_cls = &fxrng_hi_pull,
 	},
-	[RANDOM_PURE_TPM] = {
-		.entc_cls = &fxrng_hi_push,
-	},
 	[RANDOM_PURE_VMGENID] = {
 		.entc_cls = &fxrng_hi_push,
 	},
@@ -212,6 +206,12 @@ static const struct fxrng_ent_char {
 	[RANDOM_PURE_ARM_TRNG] = {
 		.entc_cls = &fxrng_hi_pull,
 	},
+	[RANDOM_PURE_SAFE] = {
+		.entc_cls = &fxrng_hi_push,
+	},
+	[RANDOM_PURE_GLXSB] = {
+		.entc_cls = &fxrng_hi_push,
+	},
 };
 CTASSERT(nitems(fxrng_ent_char) == ENTROPYSOURCE);
 
diff --git a/sys/dev/random/random_harvestq.c b/sys/dev/random/random_harvestq.c
index b591ffd3b544..296721d2c4e9 100644
--- a/sys/dev/random/random_harvestq.c
+++ b/sys/dev/random/random_harvestq.c
@@ -662,8 +662,7 @@ static const char *random_source_descr[/*ENTROPYSOURCE*/] = {
 	[RANDOM_UMA] = "UMA",
 	[RANDOM_CALLOUT] = "CALLOUT",
 	[RANDOM_RANDOMDEV] = "RANDOMDEV", /* ENVIRONMENTAL_END */
-	[RANDOM_PURE_SAFE] = "PURE_SAFE", /* PURE_START */
-	[RANDOM_PURE_GLXSB] = "PURE_GLXSB",
+	[RANDOM_PURE_TPM] = "PURE_TPM", /* PURE_START */
 	[RANDOM_PURE_RDRAND] = "PURE_RDRAND",
 	[RANDOM_PURE_RDSEED] = "PURE_RDSEED",
 	[RANDOM_PURE_NEHEMIAH] = "PURE_NEHEMIAH",
@@ -672,11 +671,12 @@ static const char *random_source_descr[/*ENTROPYSOURCE*/] = {
 	[RANDOM_PURE_BROADCOM] = "PURE_BROADCOM",
 	[RANDOM_PURE_CCP] = "PURE_CCP",
 	[RANDOM_PURE_DARN] = "PURE_DARN",
-	[RANDOM_PURE_TPM] = "PURE_TPM",
 	[RANDOM_PURE_VMGENID] = "PURE_VMGENID",
 	[RANDOM_PURE_QUALCOMM] = "PURE_QUALCOMM",
 	[RANDOM_PURE_ARMV8] = "PURE_ARMV8",
 	[RANDOM_PURE_ARM_TRNG] = "PURE_ARM_TRNG",
+	[RANDOM_PURE_SAFE] = "PURE_SAFE",
+	[RANDOM_PURE_GLXSB] = "PURE_GLXSB",
 	/* "ENTROPYSOURCE" */
 };
 CTASSERT(nitems(random_source_descr) == ENTROPYSOURCE);
diff --git a/sys/sys/random.h b/sys/sys/random.h
index 803c07bbdfba..d801b04e5686 100644
--- a/sys/sys/random.h
+++ b/sys/sys/random.h
@@ -89,8 +89,7 @@ enum random_entropy_source {
 	RANDOM_ENVIRONMENTAL_END = RANDOM_RANDOMDEV,
 	/* Fast hardware random-number sources from here on. */
 	RANDOM_PURE_START,
-	RANDOM_PURE_SAFE = RANDOM_PURE_START,
-	RANDOM_PURE_GLXSB,
+	RANDOM_PURE_TPM = RANDOM_PURE_START,
 	RANDOM_PURE_RDRAND,
 	RANDOM_PURE_RDSEED,
 	RANDOM_PURE_NEHEMIAH,
@@ -99,11 +98,12 @@ enum random_entropy_source {
 	RANDOM_PURE_BROADCOM,
 	RANDOM_PURE_CCP,
 	RANDOM_PURE_DARN,
-	RANDOM_PURE_TPM,
 	RANDOM_PURE_VMGENID,
 	RANDOM_PURE_QUALCOMM,
 	RANDOM_PURE_ARMV8,
 	RANDOM_PURE_ARM_TRNG,
+	RANDOM_PURE_SAFE,
+	RANDOM_PURE_GLXSB,
 	ENTROPYSOURCE
 };
 _Static_assert(ENTROPYSOURCE <= 32,