mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 19:37:35 +00:00
Kernel: Unify x86-64 assembly snippets naming for RDSEED & RDRAND
This commit is contained in:
parent
d7d233ab04
commit
7c8e61f4d1
3 changed files with 6 additions and 6 deletions
|
@ -128,7 +128,7 @@ ALWAYS_INLINE u64 read_tsc()
|
||||||
return ((u64)msw << 32) | lsw;
|
return ((u64)msw << 32) | lsw;
|
||||||
}
|
}
|
||||||
|
|
||||||
ALWAYS_INLINE u32 rdrand()
|
ALWAYS_INLINE u32 read_rdrand()
|
||||||
{
|
{
|
||||||
u32 value;
|
u32 value;
|
||||||
asm volatile(
|
asm volatile(
|
||||||
|
@ -139,7 +139,7 @@ ALWAYS_INLINE u32 rdrand()
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
ALWAYS_INLINE u32 rdseed()
|
ALWAYS_INLINE u32 read_rdseed()
|
||||||
{
|
{
|
||||||
u32 value;
|
u32 value;
|
||||||
asm volatile(
|
asm volatile(
|
||||||
|
|
|
@ -238,11 +238,11 @@ u64 generate_secure_seed()
|
||||||
seed ^= read_tsc();
|
seed ^= read_tsc();
|
||||||
|
|
||||||
if (processor_info.ecx() & (1 << 30)) // RDRAND
|
if (processor_info.ecx() & (1 << 30)) // RDRAND
|
||||||
seed ^= rdrand();
|
seed ^= read_rdrand();
|
||||||
|
|
||||||
CPUID extended_features(0x7);
|
CPUID extended_features(0x7);
|
||||||
if (extended_features.ebx() & (1 << 18)) // RDSEED
|
if (extended_features.ebx() & (1 << 18)) // RDSEED
|
||||||
seed ^= rdseed();
|
seed ^= read_rdseed();
|
||||||
#else
|
#else
|
||||||
# warning No native randomness source available for this architecture
|
# warning No native randomness source available for this architecture
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -33,13 +33,13 @@ UNMAP_AFTER_INIT KernelRng::KernelRng()
|
||||||
dmesgln("KernelRng: Using RDSEED as entropy source");
|
dmesgln("KernelRng: Using RDSEED as entropy source");
|
||||||
|
|
||||||
for (size_t i = 0; i < pool_count * reseed_threshold; ++i) {
|
for (size_t i = 0; i < pool_count * reseed_threshold; ++i) {
|
||||||
add_random_event(Kernel::rdseed(), i % 32);
|
add_random_event(Kernel::read_rdseed(), i % 32);
|
||||||
}
|
}
|
||||||
} else if (Processor::current().has_feature(CPUFeature::RDRAND)) {
|
} else if (Processor::current().has_feature(CPUFeature::RDRAND)) {
|
||||||
dmesgln("KernelRng: Using RDRAND as entropy source");
|
dmesgln("KernelRng: Using RDRAND as entropy source");
|
||||||
|
|
||||||
for (size_t i = 0; i < pool_count * reseed_threshold; ++i) {
|
for (size_t i = 0; i < pool_count * reseed_threshold; ++i) {
|
||||||
add_random_event(Kernel::rdrand(), i % 32);
|
add_random_event(Kernel::read_rdrand(), i % 32);
|
||||||
}
|
}
|
||||||
} else if (TimeManagement::the().can_query_precise_time()) {
|
} else if (TimeManagement::the().can_query_precise_time()) {
|
||||||
// Add HPET as entropy source if we don't have anything better.
|
// Add HPET as entropy source if we don't have anything better.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue