3
0
Fork 0
forked from suyu/suyu

host_memory: Simplify randomness generation

This commit is contained in:
GPUCode 2023-11-23 16:55:56 +02:00 committed by t895
parent 9ff8d0f3e6
commit 5a9ffa81a6

View file

@ -363,21 +363,12 @@ private:
#ifdef ARCHITECTURE_arm64 #ifdef ARCHITECTURE_arm64
static uint64_t GetRandomU64() {
uint64_t ret;
ASSERT(getrandom(&ret, sizeof(ret), 0) == 0);
return ret;
}
static void* ChooseVirtualBase(size_t virtual_size) { static void* ChooseVirtualBase(size_t virtual_size) {
constexpr uintptr_t Map39BitSize = (1ULL << 39); constexpr uintptr_t Map39BitSize = (1ULL << 39);
constexpr uintptr_t Map36BitSize = (1ULL << 36); constexpr uintptr_t Map36BitSize = (1ULL << 36);
// Seed the MT with some initial strong randomness. // This is not a cryptographic application, we just want something random.
// std::mt19937_64 rng;
// This is not a cryptographic application, we just want something more
// random than the current time.
std::mt19937_64 rng(GetRandomU64());
// We want to ensure we are allocating at an address aligned to the L2 block size. // We want to ensure we are allocating at an address aligned to the L2 block size.
// For Qualcomm devices, we must also allocate memory above 36 bits. // For Qualcomm devices, we must also allocate memory above 36 bits.