mirror of
https://github.com/skyline-emu/skyline.git
synced 2025-01-10 04:49:21 +01:00
Implement svcClearEvent
This removes a signal from a KEvent. It is used by Mario Odyssey.
This commit is contained in:
parent
92e3f84242
commit
dae799dbb5
@ -300,6 +300,12 @@ namespace skyline::kernel::svc {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ClearEvent(DeviceState &state) {
|
||||||
|
auto object = state.process->GetHandle<type::KEvent>(state.ctx->registers.w0);
|
||||||
|
object->signalled = false;
|
||||||
|
state.ctx->registers.w0 = constant::status::Success;
|
||||||
|
}
|
||||||
|
|
||||||
void MapSharedMemory(DeviceState &state) {
|
void MapSharedMemory(DeviceState &state) {
|
||||||
try {
|
try {
|
||||||
auto object = state.process->GetHandle<type::KSharedMemory>(state.ctx->registers.w0);
|
auto object = state.process->GetHandle<type::KSharedMemory>(state.ctx->registers.w0);
|
||||||
|
@ -100,6 +100,11 @@ namespace skyline {
|
|||||||
*/
|
*/
|
||||||
void SetThreadPriority(DeviceState &state);
|
void SetThreadPriority(DeviceState &state);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Clears a KEvent of it's signal (https://switchbrew.org/wiki/SVC#ClearEvent)
|
||||||
|
*/
|
||||||
|
void ClearEvent(DeviceState &state);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Maps the block supplied by the handle (https://switchbrew.org/wiki/SVC#MapSharedMemory)
|
* @brief Maps the block supplied by the handle (https://switchbrew.org/wiki/SVC#MapSharedMemory)
|
||||||
*/
|
*/
|
||||||
@ -202,7 +207,7 @@ namespace skyline {
|
|||||||
nullptr, // 0x0f
|
nullptr, // 0x0f
|
||||||
nullptr, // 0x10
|
nullptr, // 0x10
|
||||||
nullptr, // 0x11
|
nullptr, // 0x11
|
||||||
nullptr, // 0x12
|
ClearEvent, // 0x12
|
||||||
MapSharedMemory, // 0x13
|
MapSharedMemory, // 0x13
|
||||||
nullptr, // 0x14
|
nullptr, // 0x14
|
||||||
CreateTransferMemory, // 0x15
|
CreateTransferMemory, // 0x15
|
||||||
|
Loading…
x
Reference in New Issue
Block a user