1
0
Fork 0
forked from suyu/suyu
suyu/src/core/hle/kernel
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
..
address_arbiter.cpp Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
address_arbiter.h kernel: Remove unnecessary includes 2018-07-31 10:15:17 -04:00
client_port.cpp kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
client_port.h kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
client_session.cpp kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
client_session.h kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
errors.h Merge pull request #1313 from lioncash/error 2018-09-17 12:28:40 -04:00
event.cpp kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
event.h kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
handle_table.cpp Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
handle_table.h Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
hle_ipc.cpp Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
hle_ipc.h Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
kernel.cpp core: Migrate current_process pointer to the kernel 2018-09-06 20:52:58 -04:00
kernel.h core: Migrate current_process pointer to the kernel 2018-09-06 20:52:58 -04:00
mutex.cpp kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
mutex.h kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
object.cpp kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
object.h kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
process.cpp Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
process.h Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
resource_limit.cpp kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
resource_limit.h kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
scheduler.cpp core: Namespace all code in the arm subdirectory under the Core namespace 2018-08-24 21:50:39 -04:00
scheduler.h core: Namespace all code in the arm subdirectory under the Core namespace 2018-08-24 21:50:39 -04:00
server_port.cpp kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
server_port.h kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
server_session.cpp core/core: Replace includes with forward declarations where applicable 2018-08-31 16:30:14 -04:00
server_session.h kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
session.cpp Format: Run the new clang format on everything 2018-01-20 16:45:11 -07:00
session.h kernel: Move object class to its own source files 2018-08-01 23:34:42 -04:00
shared_memory.cpp kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
shared_memory.h Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
svc.cpp kernel/svc: Handle error cases for svcArbitrateLock() and svcArbitrateUnlock() 2018-09-17 23:27:53 -04:00
svc.h Add & correct miscellaneous things (#470) 2018-05-25 22:31:54 -04:00
svc_wrap.h svc: Correct parameter type for OutputDebugString() 2018-09-12 04:49:11 -04:00
thread.cpp Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
thread.h Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
timer.cpp kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
timer.h kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00
vm_manager.cpp Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
vm_manager.h Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
wait_object.cpp Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
wait_object.h kernel: Eliminate kernel global state 2018-08-28 22:31:51 -04:00