diff options
| author | 2018-11-14 11:52:27 -0800 | |
|---|---|---|
| committer | 2018-11-14 11:52:27 -0800 | |
| commit | e1ea8cc7214be591067959a3697ed53e95007ac2 (patch) | |
| tree | 8f4fc978a5799fc729522377fd7a85ccf51b91c2 /src/core/hle/kernel/svc.cpp | |
| parent | Merge pull request #1662 from FreddyFunk/CopySurface-Optimization (diff) | |
| parent | svc: Use proper random entropy generation algorithm (diff) | |
| download | yuzu-e1ea8cc7214be591067959a3697ed53e95007ac2.tar.gz yuzu-e1ea8cc7214be591067959a3697ed53e95007ac2.tar.xz yuzu-e1ea8cc7214be591067959a3697ed53e95007ac2.zip | |
Merge pull request #1679 from DarkLordZach/deterministic-rng-2
svc: Use proper random entropy generation algorithm
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 0bfe1e3be..b0b6508d9 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -559,7 +559,16 @@ static ResultCode GetInfo(u64* result, u64 info_id, u64 handle, u64 info_sub_id) | |||
| 559 | *result = 0; | 559 | *result = 0; |
| 560 | break; | 560 | break; |
| 561 | case GetInfoType::RandomEntropy: | 561 | case GetInfoType::RandomEntropy: |
| 562 | *result = Settings::values.rng_seed.value_or(0); | 562 | if (handle != 0) { |
| 563 | return ERR_INVALID_HANDLE; | ||
| 564 | } | ||
| 565 | |||
| 566 | if (info_sub_id >= Process::RANDOM_ENTROPY_SIZE) { | ||
| 567 | return ERR_INVALID_COMBINATION_KERNEL; | ||
| 568 | } | ||
| 569 | |||
| 570 | *result = current_process->GetRandomEntropy(info_sub_id); | ||
| 571 | return RESULT_SUCCESS; | ||
| 563 | break; | 572 | break; |
| 564 | case GetInfoType::ASLRRegionBaseAddr: | 573 | case GetInfoType::ASLRRegionBaseAddr: |
| 565 | *result = vm_manager.GetASLRRegionBaseAddress(); | 574 | *result = vm_manager.GetASLRRegionBaseAddress(); |