diff --git a/sys/dev/random/fenestrasX/fx_pool.c b/sys/dev/random/fenestrasX/fx_pool.c --- a/sys/dev/random/fenestrasX/fx_pool.c +++ b/sys/dev/random/fenestrasX/fx_pool.c @@ -167,54 +167,49 @@ [RANDOM_RANDOMDEV] = { .entc_cls = &fxrng_lo_push, }, - [RANDOM_PURE_SAFE] = { + [RANDOM_PURE_TPM] = { .entc_cls = &fxrng_hi_push, }, - [RANDOM_PURE_GLXSB] = { + [RANDOM_PURE_SAFE] = { .entc_cls = &fxrng_hi_push, }, - [RANDOM_PURE_HIFN] = { +#ifdef __i386__ + [RANDOM_PURE_GLXSB] = { .entc_cls = &fxrng_hi_push, }, - [RANDOM_PURE_RDRAND] = { + [RANDOM_PURE_NEHEMIAH] = { .entc_cls = &fxrng_hi_pull, }, - [RANDOM_PURE_RDSEED] = { +#endif +#if defined __amd64__ || defined __i386__ + [RANDOM_PURE_RDRAND] = { .entc_cls = &fxrng_hi_pull, }, - [RANDOM_PURE_NEHEMIAH] = { - .entc_cls = &fxrng_hi_pull, +#else + [RANDOM_PURE_BROADCOM] = { + .entc_cls = &fxrng_hi_push, }, +#endif [RANDOM_PURE_RNDTEST] = { .entc_cls = &fxrng_garbage, }, [RANDOM_PURE_VIRTIO] = { .entc_cls = &fxrng_hi_pull, }, - [RANDOM_PURE_BROADCOM] = { + [RANDOM_PURE_VMGENID] = { .entc_cls = &fxrng_hi_push, }, [RANDOM_PURE_CCP] = { .entc_cls = &fxrng_hi_pull, }, +#ifdef __powerpc64__ [RANDOM_PURE_DARN] = { .entc_cls = &fxrng_hi_pull, }, - [RANDOM_PURE_TPM] = { - .entc_cls = &fxrng_hi_push, - }, - [RANDOM_PURE_VMGENID] = { +#endif + [RANDOM_PURE_HIFN] = { .entc_cls = &fxrng_hi_push, }, - [RANDOM_PURE_QUALCOMM] = { - .entc_cls = &fxrng_hi_pull, - }, - [RANDOM_PURE_ARMV8] = { - .entc_cls = &fxrng_hi_pull, - }, - [RANDOM_PURE_ARM_TRNG] = { - .entc_cls = &fxrng_hi_pull, - }, }; /* Useful for single-bit-per-source state. */ diff --git a/sys/dev/random/random_harvestq.c b/sys/dev/random/random_harvestq.c --- a/sys/dev/random/random_harvestq.c +++ b/sys/dev/random/random_harvestq.c @@ -661,22 +661,31 @@ [RANDOM_UMA] = "UMA", [RANDOM_CALLOUT] = "CALLOUT", [RANDOM_RANDOMDEV] = "RANDOMDEV", /* ENVIRONMENTAL_END */ - [RANDOM_PURE_SAFE] = "PURE_SAFE", /* PURE_START */ + [RANDOM_PURE_TPM] = "PURE_TPM", /* PURE_START */ + [RANDOM_PURE_SAFE] = "PURE_SAFE", +#ifdef __i386__ [RANDOM_PURE_GLXSB] = "PURE_GLXSB", - [RANDOM_PURE_HIFN] = "PURE_HIFN", + [RANDOM_PURE_NEHEMIAH] = "PURE_NEHEMIAH", +#endif +#if defined __amd64__ || defined __i386__ [RANDOM_PURE_RDRAND] = "PURE_RDRAND", [RANDOM_PURE_RDSEED] = "PURE_RDSEED", - [RANDOM_PURE_NEHEMIAH] = "PURE_NEHEMIAH", +#else + [RANDOM_PURE_BROADCOM] = "PURE_BROADCOM", + [RANDOM_PURE_QUALCOMM] = "PURE_QUALCOMM", +#endif [RANDOM_PURE_RNDTEST] = "PURE_RNDTEST", [RANDOM_PURE_VIRTIO] = "PURE_VIRTIO", - [RANDOM_PURE_BROADCOM] = "PURE_BROADCOM", + [RANDOM_PURE_VMGENID] = "PURE_VMGENID", [RANDOM_PURE_CCP] = "PURE_CCP", +#ifdef __powerpc64__ [RANDOM_PURE_DARN] = "PURE_DARN", - [RANDOM_PURE_TPM] = "PURE_TPM", - [RANDOM_PURE_VMGENID] = "PURE_VMGENID", - [RANDOM_PURE_QUALCOMM] = "PURE_QUALCOMM", +#endif +#ifdef __aarch64__ [RANDOM_PURE_ARMV8] = "PURE_ARMV8", [RANDOM_PURE_ARM_TRNG] = "PURE_ARM_TRNG", +#endif + [RANDOM_PURE_HIFN] = "PURE_HIFN", /* "ENTROPYSOURCE" */ }; diff --git a/sys/sys/random.h b/sys/sys/random.h --- a/sys/sys/random.h +++ b/sys/sys/random.h @@ -89,22 +89,31 @@ RANDOM_ENVIRONMENTAL_END = RANDOM_RANDOMDEV, /* Fast hardware random-number sources from here on. */ RANDOM_PURE_START, - RANDOM_PURE_SAFE = RANDOM_PURE_START, + RANDOM_PURE_TPM = RANDOM_PURE_START, + RANDOM_PURE_SAFE, +#ifdef __i386__ RANDOM_PURE_GLXSB, - RANDOM_PURE_HIFN, + RANDOM_PURE_NEHEMIAH, +#endif +#if defined __amd64__ || defined __i386__ RANDOM_PURE_RDRAND, RANDOM_PURE_RDSEED, - RANDOM_PURE_NEHEMIAH, +#else + RANDOM_PURE_BROADCOM, + RANDOM_PURE_QUALCOMM, +#endif RANDOM_PURE_RNDTEST, RANDOM_PURE_VIRTIO, - RANDOM_PURE_BROADCOM, + RANDOM_PURE_VMGENID, RANDOM_PURE_CCP, +#ifdef __powerpc64__ RANDOM_PURE_DARN, - RANDOM_PURE_TPM, - RANDOM_PURE_VMGENID, - RANDOM_PURE_QUALCOMM, +#endif +#ifdef __aarch64__ RANDOM_PURE_ARMV8, RANDOM_PURE_ARM_TRNG, +#endif + RANDOM_PURE_HIFN, ENTROPYSOURCE }; _Static_assert(ENTROPYSOURCE <= 32,