arch/x86/kernel/cpu/rdrand.c

Source file repositories/reference/linux-study-clean/arch/x86/kernel/cpu/rdrand.c

File Facts

System
Linux kernel
Corpus path
arch/x86/kernel/cpu/rdrand.c
Extension
.c
Size
1246 bytes
Lines
51
Domain
Architecture Layer
Bucket
arch/x86
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

if (!rdrand_long(&sample)) {
			failure = true;
			break;
		}
		changed += i && sample != prev;
		prev = sample;
	}
	if (changed < MIN_CHANGE)
		failure = true;

	if (failure) {
		clear_cpu_cap(c, X86_FEATURE_RDRAND);
		clear_cpu_cap(c, X86_FEATURE_RDSEED);
		pr_emerg("RDRAND is not reliable on this platform; disabling.\n");
	}
}

Annotation

Implementation Notes