bookmist
0fed5e14c1
kernel/sync_primitives: set timeout if needed and minor event improvement
...
Co-authored-by: Macdu <Macdu@users.noreply.github.com>
2022-11-25 21:34:07 +03:00
bookmist
8edd333400
Fix compiler warnings
2022-11-16 21:39:55 +03:00
Seungyun Lee
f8b9526794
tracy: Fix wrong include path
2022-11-12 12:58:23 +03:00
Pedro Montes Alcalde
628e0f2024
tracy: Update to v0.9
2022-11-12 00:30:10 -03:00
Macdu
a47a87a397
kernel: Update and improve relocation code
2022-10-29 14:23:03 +02:00
Zangetsu38
739c5cc0b8
settings dialog: fix save psn status.
...
- little refactor design of network tab.
- fix format.
2022-10-04 02:38:49 +02:00
Macdu
0c75bbb5fe
kernel: Implement missing unknown field of EntryFormat1Alt
2022-09-29 20:08:15 +02:00
CreepNT
ff685b88f1
Refactor SELF loader to remove dependency on ELFIO
2022-09-20 20:32:38 +02:00
CreepNT
0a80ec9050
kernel: don't check status on msgpipe finish
...
The "finish()" lambda expected the thread to be in waiting state and checked this using the 'expected' argument of thread->update_status().
However, the wakeup of threads sleeping on a message pipe is done by changing their thread from wait to run, breaking this assumption.
This leads to an assertion failure and crash, preventing e.g. Ratchet & Clank from booting.
Fix (workaround) by no longer verifying the thread's status on finish.
2022-09-20 15:36:30 +02:00
Macdu
dbd8098919
kernel: Do not delete thread when calling SceKernelExitThread
2022-09-17 13:45:15 +02:00
Macdu
636b1dfedd
kernel: Rewrite the way svc and callbacks are handled
2022-09-16 21:57:57 +02:00
Macdu
38adaa75bd
kernel: Fix race conditions during sync object deletion
2022-09-13 22:51:05 +02:00
Pedro Montes Alcalde
054a811909
cpu: Also log thread id when an unicorn error occurs ( #2023 )
2022-08-18 19:36:03 -03:00
Macdu
2404d5152d
kernel: Lock correct host mutex when deleting guest mutex
2022-08-01 21:44:26 +02:00
Pedro Montes Alcalde
ccca711294
vita3k: Use correct KB/KiB functions ( #1971 )
2022-07-31 21:10:24 -03:00
Le Philousophe
a928bd2b78
kernel/relocation: Fix ARM Call, Jump24 and Abs8 relocations
...
Previously, some data was set to 0 instead of being preserved
2022-07-18 19:56:28 +02:00
Macdu
d4bb55a414
kernel: Implement sceKernelCancelEventFlag
2022-07-04 19:08:10 +02:00
Zangetsu38
5221d68c89
modules/SceLibKernel: add process callbacks on cb function.
2022-06-08 13:17:38 +02:00
Macdu
bb84106cc2
kernel: Implement simple events
2022-06-04 14:37:52 +02:00
Macdu
9889c472a9
kernel: better handling of thread priority and mask affinity
2022-05-25 15:23:21 +03:00
bookmist
b49b56081b
kernel/tracy: set guest thread names
2022-05-18 22:22:13 +03:00
Macdu
3c221fdc5b
kernel: Implement RWLock
2022-05-16 20:23:05 +02:00
Macdu
6e5d8dee2d
kernel: Fix event flags
2022-05-14 10:54:01 +02:00
Macdu
777650e882
modules/SceSysmodule: prevent random crash when calling sceSysmoduleLoadModule
2022-05-13 19:21:49 +02:00
Macdu
cff586cd60
SceDisplay: implement proper behavior of sceDisplayWait...Multi
2022-05-05 01:23:29 +02:00
Macdu
ca9933cb7b
kernel: fix debug build
2022-05-04 14:51:59 +02:00
Macdu
8c2b070ab9
kernel: Immediatly resume from wait if *timeout is 0
2022-05-03 02:57:37 +02:00
Zangetsu38
9c224e3358
modules/SceThreadmgr: using callback of sceKernelWaitSemaCB.
2022-05-02 21:41:05 +02:00
Macdu
37fe91a53a
kernel: Fix and performance improvements for thread data queue
2022-04-30 00:11:17 +02:00
Macdu
e4beed2791
kernel: Wait for the thread mutex lock in eventflag_set
2022-04-30 00:11:17 +02:00
Macdu
8682419fe9
kernel: Fix mutex lock order in handle_timeout
2022-04-30 00:11:17 +02:00
Macdu
c7e787a572
kernel: Fix fifo event thread queue treated as a priority queue
2022-04-28 21:16:44 +02:00
Macdu
b1427a4612
kernel: Make ThreadState resume thread safe
2022-04-28 02:00:29 +02:00
Zangetsu38
f298f955c1
modules/SceDisplay: Implement (Un)RegisterVblankStartCallback.
...
- add support of cb vblank function.
Co-authored-by: bookmist <roshst@yandex.ru>
2022-04-04 14:37:12 +02:00
sunho
f703e4a5e3
kernel: Fix callback execution.
2022-04-03 00:03:31 +02:00
bookmist
016f8ece12
kernel\thread, modules: fix TLS in callback calls
2022-04-01 06:22:11 +02:00
Zangetsu38
77fd8e8f78
project: run format.
2022-03-16 02:11:11 +01:00
pent0
c85b005db7
display: Attempt emulate vsync instead of relying on main thread.
2022-02-25 14:55:11 +01:00
CreepNT
79cca68372
modules/SceLibKernel: Add ring buffer-based message pipes.
...
- fix MsgPipe implementation.
- fix one kernel warning on ThreadDataQueue.
2022-02-20 22:07:12 +01:00
bookmist
dc7a8f8b1e
modules/SceKernelThreadMgr: fix pointer type
2021-12-23 13:25:44 +01:00
scribam
dabfb08f8a
Misc code quality fixes ( #1498 )
...
* clang-tidy: run modernize-use-equals-default
* clang-tidy: run modernize-use-override
* screen_render.h: remove redundant access specifier
2021-11-11 17:08:34 +01:00
Nicolas Jallamion
85cdbbf200
modules/SceKernelThreadMgr: stub sceKernel(Resume/Suspend)ThreadForVM. ( #1493 )
...
- Stub sceKernelGetThreadContextForVM.
- prepare sceKernelGmSetThreadContextForVM of futur implemênt.
Co-authored-by: sunho <ksunhokim123@naver.com>
Co-authored-by: sunho <ksunhokim123@naver.com>
2021-11-08 09:52:23 +01:00
Zangetsu38
bdfebfad58
modules/SceKernelThreadMgr: implement sceKernelGet(EventFlag/Cond)Info.
...
- move sceKernelCreateCond inside it and refactor sceKernelGetThreadInfo.
2021-11-06 12:27:47 +01:00
bookmist
532e13daa6
kernel/object_store: fix crash when try erase object no exist.
2021-11-06 10:04:18 +09:00
bookmist
9188447fce
modules/SceKernelThreadMgr: fix mutex deadlock and clean code of callback implementation
2021-11-05 20:16:32 +01:00
Zangetsu38
ce225b5733
modules/SceThreadmgr: Implement sceKernelGetSemaInfo.
...
- fix find callbackId and return error in few Callback function.
2021-11-05 20:14:24 +01:00
Zangetsu38
ce260f1c1f
modules/SceKernelModulemgr: Implement sceKernelStartModule.
...
modules: register nid and function of SceShellSvc libary.
2021-11-05 13:45:48 +01:00
CreepNT
e095ab06af
kernel: Add Callback object implementation.
...
- modules/SceKernelThreadMgr: add some callback function.
- build fixed by sunho
2021-11-04 19:18:51 +01:00
sunho
ffcaf0da26
Add missing virtual destructors
2021-10-17 13:07:15 +02:00
pent0
49cd19108c
kernel: Fix rare timeout deadlock
...
if both timeout and signal happens at the same time, the deadlock will happen, since the thread that ran the timeout try to accquire the primitive lock, while the thread signaling already has the primitive lock, and is trying to wait for threads in the queue to done releasing the lock, in order to change thread state
The array element will most likely be fine, since we have the exist check and the data is stack based
2021-09-19 21:17:46 +02:00