event flags : added function signatures
This commit is contained in:
parent
4c8719d33d
commit
ae9a779369
|
@ -102,6 +102,8 @@ set(GNM_LIB src/core/libraries/gnmdriver/gnmdriver.cpp
|
||||||
|
|
||||||
set(KERNEL_LIB src/core/libraries/kernel/event_flag/event_flag.cpp
|
set(KERNEL_LIB src/core/libraries/kernel/event_flag/event_flag.cpp
|
||||||
src/core/libraries/kernel/event_flag/event_flag.h
|
src/core/libraries/kernel/event_flag/event_flag.h
|
||||||
|
src/core/libraries/kernel/event_flag/event_flag_obj.cpp
|
||||||
|
src/core/libraries/kernel/event_flag/event_flag_obj.h
|
||||||
src/core/libraries/kernel/cpu_management.cpp
|
src/core/libraries/kernel/cpu_management.cpp
|
||||||
src/core/libraries/kernel/cpu_management.h
|
src/core/libraries/kernel/cpu_management.h
|
||||||
src/core/libraries/kernel/event_queue.cpp
|
src/core/libraries/kernel/event_queue.cpp
|
||||||
|
|
|
@ -7,11 +7,13 @@
|
||||||
#include "event_flag.h"
|
#include "event_flag.h"
|
||||||
|
|
||||||
namespace Libraries::Kernel {
|
namespace Libraries::Kernel {
|
||||||
int PS4_SYSV_ABI sceKernelCreateEventFlag() {
|
int PS4_SYSV_ABI sceKernelCreateEventFlag(OrbisKernelEventFlag* ef, const char* pName, u32 attr,
|
||||||
|
u64 initPattern,
|
||||||
|
const OrbisKernelEventFlagOptParam* pOptParam) {
|
||||||
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
int PS4_SYSV_ABI sceKernelDeleteEventFlag() {
|
int PS4_SYSV_ABI sceKernelDeleteEventFlag(OrbisKernelEventFlag ef) {
|
||||||
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
|
@ -23,23 +25,26 @@ int PS4_SYSV_ABI sceKernelCloseEventFlag() {
|
||||||
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
int PS4_SYSV_ABI sceKernelClearEventFlag() {
|
int PS4_SYSV_ABI sceKernelClearEventFlag(OrbisKernelEventFlag ef, u64 bitPattern) {
|
||||||
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
int PS4_SYSV_ABI sceKernelCancelEventFlag() {
|
int PS4_SYSV_ABI sceKernelCancelEventFlag(OrbisKernelEventFlag ef, u64 setPattern,
|
||||||
|
int* pNumWaitThreads) {
|
||||||
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
int PS4_SYSV_ABI sceKernelSetEventFlag() {
|
int PS4_SYSV_ABI sceKernelSetEventFlag(OrbisKernelEventFlag ef, u64 bitPattern) {
|
||||||
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
int PS4_SYSV_ABI sceKernelPollEventFlag() {
|
int PS4_SYSV_ABI sceKernelPollEventFlag(OrbisKernelEventFlag ef, u64 bitPattern, u32 waitMode,
|
||||||
|
u64* pResultPat) {
|
||||||
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
int PS4_SYSV_ABI sceKernelWaitEventFlag() {
|
int PS4_SYSV_ABI sceKernelWaitEventFlag(OrbisKernelEventFlag ef, u64 bitPattern, u32 waitMode,
|
||||||
|
u64* pResultPat, OrbisKernelUseconds* pTimeout) {
|
||||||
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
LOG_ERROR(Kernel_Event, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,21 +4,45 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "common/types.h"
|
#include "common/types.h"
|
||||||
|
#include "event_flag_obj.h"
|
||||||
|
|
||||||
namespace Core::Loader {
|
namespace Core::Loader {
|
||||||
class SymbolsResolver;
|
class SymbolsResolver;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Libraries::Kernel {
|
namespace Libraries::Kernel {
|
||||||
int PS4_SYSV_ABI sceKernelCreateEventFlag();
|
|
||||||
int PS4_SYSV_ABI sceKernelDeleteEventFlag();
|
constexpr int ORBIS_KERNEL_EVF_ATTR_TH_FIFO = 0x01;
|
||||||
|
constexpr int ORBIS_KERNEL_EVF_ATTR_TH_PRIO = 0x02;
|
||||||
|
constexpr int ORBIS_KERNEL_EVF_ATTR_SINGLE = 0x10;
|
||||||
|
constexpr int ORBIS_KERNEL_EVF_ATTR_MULTI = 0x20;
|
||||||
|
|
||||||
|
constexpr int ORBIS_KERNEL_EVF_WAITMODE_AND = 0x01;
|
||||||
|
constexpr int ORBIS_KERNEL_EVF_WAITMODE_OR = 0x02;
|
||||||
|
constexpr int ORBIS_KERNEL_EVF_WAITMODE_CLEAR_ALL = 0x10;
|
||||||
|
constexpr int ORBIS_KERNEL_EVF_WAITMODE_CLEAR_PAT = 0x20;
|
||||||
|
|
||||||
|
using OrbisKernelUseconds = u32;
|
||||||
|
using OrbisKernelEventFlag = EventFlagInternal*;
|
||||||
|
|
||||||
|
struct OrbisKernelEventFlagOptParam {
|
||||||
|
size_t size;
|
||||||
|
};
|
||||||
|
|
||||||
|
int PS4_SYSV_ABI sceKernelCreateEventFlag(OrbisKernelEventFlag* ef, const char* pName, u32 attr,
|
||||||
|
u64 initPattern,
|
||||||
|
const OrbisKernelEventFlagOptParam* pOptParam);
|
||||||
|
int PS4_SYSV_ABI sceKernelDeleteEventFlag(OrbisKernelEventFlag ef);
|
||||||
int PS4_SYSV_ABI sceKernelOpenEventFlag();
|
int PS4_SYSV_ABI sceKernelOpenEventFlag();
|
||||||
int PS4_SYSV_ABI sceKernelCloseEventFlag();
|
int PS4_SYSV_ABI sceKernelCloseEventFlag();
|
||||||
int PS4_SYSV_ABI sceKernelClearEventFlag();
|
int PS4_SYSV_ABI sceKernelClearEventFlag(OrbisKernelEventFlag ef, u64 bitPattern);
|
||||||
int PS4_SYSV_ABI sceKernelCancelEventFlag();
|
int PS4_SYSV_ABI sceKernelCancelEventFlag(OrbisKernelEventFlag ef, u64 setPattern,
|
||||||
int PS4_SYSV_ABI sceKernelSetEventFlag();
|
int* pNumWaitThreads);
|
||||||
int PS4_SYSV_ABI sceKernelPollEventFlag();
|
int PS4_SYSV_ABI sceKernelSetEventFlag(OrbisKernelEventFlag ef, u64 bitPattern);
|
||||||
int PS4_SYSV_ABI sceKernelWaitEventFlag();
|
int PS4_SYSV_ABI sceKernelPollEventFlag(OrbisKernelEventFlag ef, u64 bitPattern, u32 waitMode,
|
||||||
|
u64* pResultPat);
|
||||||
|
int PS4_SYSV_ABI sceKernelWaitEventFlag(OrbisKernelEventFlag ef, u64 bitPattern, u32 waitMode,
|
||||||
|
u64* pResultPat, OrbisKernelUseconds* pTimeout);
|
||||||
|
|
||||||
void RegisterKernelEventFlag(Core::Loader::SymbolsResolver* sym);
|
void RegisterKernelEventFlag(Core::Loader::SymbolsResolver* sym);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include "event_flag_obj.h"
|
||||||
|
|
||||||
|
namespace Libraries::Kernel {}
|
|
@ -0,0 +1,8 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace Libraries::Kernel {
|
||||||
|
class EventFlagInternal {};
|
||||||
|
} // namespace Libraries::Kernel
|
Loading…
Reference in New Issue