1
0
Fork 0
forked from suyu/suyu
suyu/src/core/hle
Lioncash b6867602ca kernel/svc: Handle error cases for svcArbitrateLock() and svcArbitrateUnlock()
The kernel does the equivalent of the following check before proceeding:

if (address + 0x8000000000 < 0x7FFFE00000) {
    return ERR_INVALID_MEMORY_STATE;
}

which is essentially what our IsKernelVirtualAddress() function does. So
we should also be checking for this.

The kernel also checks if the given input addresses are 4-byte aligned,
however our Mutex::TryAcquire() and Mutex::Release() functions already
handle this, so we don't need to add code for this case.
2018-09-17 23:27:53 -04:00
..
kernel kernel/svc: Handle error cases for svcArbitrateLock() and svcArbitrateUnlock() 2018-09-17 23:27:53 -04:00
service Merge pull request #1312 from lioncash/fwd 2018-09-17 12:32:28 -04:00
ipc.h Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
ipc_helpers.h Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
lock.cpp Fix build on macOS and linux 2018-01-13 22:38:52 +00:00
lock.h Use recursive_mutex instead of mutex to fix #2902 2017-08-29 20:39:55 +12:00
result.h hle/result: Make ResultVal's move constructor as noexcept 2018-08-28 09:39:50 -04:00