mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-10-26 14:57:54 +03:00
Kernel: Unify x86-64 assembly snippets naming for RDSEED & RDRAND
This commit is contained in:
parent
d7d233ab04
commit
7c8e61f4d1
Notes:
sideshowbarker
2024-07-19 16:57:52 +09:00
Author: https://github.com/konradekk Commit: https://github.com/SerenityOS/serenity/commit/7c8e61f4d14 Pull-request: https://github.com/SerenityOS/serenity/pull/17087 Reviewed-by: https://github.com/FireFox317
@ -128,7 +128,7 @@ ALWAYS_INLINE u64 read_tsc()
|
||||
return ((u64)msw << 32) | lsw;
|
||||
}
|
||||
|
||||
ALWAYS_INLINE u32 rdrand()
|
||||
ALWAYS_INLINE u32 read_rdrand()
|
||||
{
|
||||
u32 value;
|
||||
asm volatile(
|
||||
@ -139,7 +139,7 @@ ALWAYS_INLINE u32 rdrand()
|
||||
return value;
|
||||
}
|
||||
|
||||
ALWAYS_INLINE u32 rdseed()
|
||||
ALWAYS_INLINE u32 read_rdseed()
|
||||
{
|
||||
u32 value;
|
||||
asm volatile(
|
||||
|
@ -238,11 +238,11 @@ u64 generate_secure_seed()
|
||||
seed ^= read_tsc();
|
||||
|
||||
if (processor_info.ecx() & (1 << 30)) // RDRAND
|
||||
seed ^= rdrand();
|
||||
seed ^= read_rdrand();
|
||||
|
||||
CPUID extended_features(0x7);
|
||||
if (extended_features.ebx() & (1 << 18)) // RDSEED
|
||||
seed ^= rdseed();
|
||||
seed ^= read_rdseed();
|
||||
#else
|
||||
# warning No native randomness source available for this architecture
|
||||
#endif
|
||||
|
@ -33,13 +33,13 @@ UNMAP_AFTER_INIT KernelRng::KernelRng()
|
||||
dmesgln("KernelRng: Using RDSEED as entropy source");
|
||||
|
||||
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)) {
|
||||
dmesgln("KernelRng: Using RDRAND as entropy source");
|
||||
|
||||
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()) {
|
||||
// Add HPET as entropy source if we don't have anything better.
|
||||
|
Loading…
Reference in New Issue
Block a user