Bitcoin Core currently only support to using RDRAND / RDSEED instruction on x86 architecture when requiring to generate a ultra high quality random numbers. For example, a private key.
https://github.com/bitcoin/bitcoin/blob/master/src/random.h
https://github.com/bitcoin/bitcoin/blob/master/src/random.cpp

ARM later added two new similar instructions as well, RNDR (similar to RDRAND) / RNDRRS (similar to RDSEED).
https://developer.arm.com/documentation/ddi0601/2022-12/AArch64-Registers/RNDR--Random-Number
https://developer.arm.com/documentation/ddi0601/2022-12/AArch64-Registers/RNDRRS--Reseeded-Random-Number

OpenSSL also had a similar feature request on last year. (Implemented)
https://github.com/openssl/openssl/issues/15627
https://github.com/openssl/openssl/pull/15361
https://github.com/openssl/openssl/blob/master/providers/implementations/rands/seeding/rand_cpu_arm64.c

I hope this feature is also available on Bitcoin Core as Bitcoin Core also can using on ARM machine (E.g. A Mac computer using Apple silicon, Raspberry Pi...).
quality, portability, standardization, or availability."
       The function call is always successful.
     */
    arc4random_buf(ent32, NUM_OS_RANDOM_BYTES);
#elif defined(HAVE_GETENTROPY_RAND) && defined(MAC_OSX)
    if (getentropy(ent32, NUM_OS_RANDOM_BYTES) != 0) {
        RandFailure();
    }
#elif defined(HAVE_SYSCTL_ARND)
    /* FreeBSD, NetBSD and similar. It is possible for the call to return less
     * bytes than requested, so need to read in a loop.
     */
    static int name[2] = {CTL_KERN, KERN_ARND};
    int have = 0;
    do {
        size_t len = NUM_OS_RANDOM_BYTES - have;
        if (sysctl(name, std::size(name), ent32 + have, &len, nullptr, 0) != 0) {
            RandFailure();
        }
        have += len;
    } while (have < NUM_OS_RANDOM_BYTES);
#else
    /* Fall back to /dev/urandom if there is no specific method implemented to
     * get system entropy for this OS.
     */
    GetDevURandom(ent32);
#endif
}
namespace {
class RNGState {