Commit graph

167 commits

Author SHA1 Message Date
Ivan Chikish 1bf88f6fe8 [orbis-kernel] Make evf IPC-safe 2023-07-20 15:10:38 +03:00
DH 2ca090345a [orbis-os] Fix freetype initialization 2023-07-19 23:28:23 +03:00
Ivan Chikish 76db5849a0 [orbis-kernel] Implement basic sys_socketex
Implement sys_socketclose
2023-07-19 18:04:26 +03:00
Ivan Chikish e981bf3f12 [orbis-kernel] Fix sys_evf_wait timeout+ 2023-07-18 19:13:11 +03:00
Ivan Chikish db39768d12 [orbis-kernel] Fix sys_evf_wait timeout 2023-07-18 16:51:34 +03:00
Ivan Chikish 25b3e08b6a [orbis-kernel] Implement sys_evf timeout 2023-07-18 15:55:13 +03:00
Ivan Chikish dee73342ac [orbis-kernel] sys_stat: check for dirs 2023-07-18 11:11:04 +03:00
Ivan Chikish ebb6c58199 [orbis-kernel] Revert notice spam 2023-07-18 10:57:30 +03:00
Ivan Chikish 2c3137b566 [orbis-kernel] Fix sys_stat hack 2023-07-17 23:01:24 +03:00
Ivan Chikish 439444d72b [orbis-kernel] Initial osem semaphore implementation 2023-07-17 19:57:16 +03:00
Ivan Chikish 00690fd685 [orbis-kernel] Event flag fixes 2023-07-17 19:15:08 +03:00
Ivan Chikish 9462e12735 Implement thread names 2023-07-17 15:22:23 +03:00
Ivan Chikish a1a91bb557 [orbis-kernel] Implement sys_mname 2023-07-16 19:57:46 +03:00
Ivan Chikish 71444c236a [orbis-kernel] Reset memory in kfree 2023-07-16 14:53:35 +03:00
Ivan Chikish b969ce893a [orbis-kernel] Implement sys_nanosleep 2023-07-16 14:52:54 +03:00
Ivan Chikish 191a9459af [orbis-kernel] Improve kdelete safety 2023-07-15 19:05:38 +03:00
Ivan Chikish 9717128c1f [Logs] Fix uint8_t formatting 2023-07-15 17:24:00 +03:00
Ivan Chikish 3eb73b5534 [orbis-kernel] Fix sys_namedobj_delete+ 2023-07-15 17:00:47 +03:00
Ivan Chikish 9ccf27ae2e [orbis-kernel] Fix sys_namedobj_delete 2023-07-15 16:41:58 +03:00
Eladash 91ccd75387 [sce_sys] Add EFAULT in sys_evf_cancel 2023-07-15 15:03:30 +03:00
Ivan Chikish 4e37240cb9 Implement basic TSC calibration 2023-07-15 10:15:32 +03:00
Ivan Chikish 50a6d1a074 [Logs] Use std::string_view for msg 2023-07-15 09:25:41 +03:00
Ivan Chikish 86d059ddd1 [orbis-kernel] Fix sys_gettimeofday
Disable sys_utc_to_localtime and sys_localtime_to_utc for now.
Libkernel will fallback to sys_gettimeofday.
2023-07-15 06:05:43 +03:00
Ivan Chikish 1d4b96b3de [orbis-kernel] Fix sys_localtime_to_utc 2023-07-14 21:23:23 +03:00
Ivan Chikish 0d7f50a246 [orbis-kernel] +sys_utc_to_localtime, +sys_localtime_to_utc 2023-07-14 20:59:57 +03:00
Ivan Chikish 14b41d1af9 [orbis-kernel] Fix sys_gettimeofday 2023-07-14 18:48:21 +03:00
Ivan Chikish 24d8a8ae8e [orbiskernel] +sys_gettimeofday 2023-07-14 17:35:37 +03:00
Ivan Chikish d89f315bd8 Logs: compact small hex numbers 2023-07-14 15:01:36 +03:00
Ivan Chikish 66bc415dc3 [orbis-kernel] Stub sys_cpuset_setaffinity 2023-07-13 23:33:52 +03:00
Ivan Chikish 4c2e3c2429 [orbis-kernel] log _umtx_op to trace 2023-07-13 22:15:52 +03:00
Ivan Chikish b9e6d952ae [orbis-kernel] Fix umtx_cv_wait 2023-07-13 21:23:55 +03:00
Ivan Chikish 0bf03555ef [orbis-kernel] umtx_op: robust waiting 2023-07-13 18:08:58 +03:00
Ivan Chikish 42ff87545a [orbis-kernel] Stub ipmi 0x320 2023-07-13 17:55:14 +03:00
Ivan Chikish aa00adc9ec Minor logging improvements 2023-07-13 17:55:14 +03:00
Ivan Chikish 3c3fcaaea4 [orbis-kernel] Check overflow in kalloc 2023-07-13 16:05:37 +03:00
elad335 0e3cbd6627 [SharedCV] Fix typo in shared_cv::impl_wait 2023-07-13 15:54:38 +03:00
Ivan Chikish d3f08e6210 [orbis-kernel] Fix umtx_cv_broadcast rv 2023-07-13 14:31:13 +03:00
Ivan Chikish 4030fbdc1f [orbis-kernel] umtx_cv_wait ignore flags if no timeout 2023-07-13 14:23:47 +03:00
Ivan Chikish 725127eafa [orbis-kernel] Hack PI mutex
Maybe it will work as normal for now.
2023-07-13 14:23:20 +03:00
DH ee46dd49a0 [orbis-kernel] Ignore sys_cpuset_getaffinity 2023-07-13 13:34:29 +03:00
DH ce1b421d62 [orbis-kernel] Return correct id for nameobj_create
Ignore sys_osem_create/sys_socketclose
2023-07-13 13:34:13 +03:00
DH dd9351843b [orbis-kernel] Dummy sys_stat implementation
Ignore shm_open
Correct Stat argument for syscalls
2023-07-13 13:33:17 +03:00
Ivan Chikish 0aacfbcee3 [orbis-kernel] sys_ipmimgr_call minor fixup 2023-07-12 22:10:00 +03:00
Ivan Chikish a4ad666817 [Logs] Don't print empty () 2023-07-12 21:41:14 +03:00
Ivan Chikish 230193129f [orbis-kernel] Add basic EFAULT check
Check for valid pointer range
Replace some deprecated checks
2023-07-12 17:40:11 +03:00
Ivan Chikish 204336989d [orbis-kernel] Trace sys_evf 2023-07-12 17:23:59 +03:00
Ivan Chikish de973e369f Fix shared_cv deadlock
Was incorrect order of args for futex
2023-07-12 14:05:31 +03:00
Ivan Chikish 123321e2bc [orbis-kernel] Implement umtx_nwake_private 2023-07-12 13:17:53 +03:00
DH fa2db8ed4b Fixed compilation errors 2023-07-12 05:22:57 +03:00
Ivan Chikish 98d3e30a22 [Logs] Fix ptr to char array formatting 2023-07-12 05:09:31 +03:00
DH 985ba2d6fb [orbis-kernel] Stub kevent 2023-07-12 04:20:28 +03:00
DH 25ea51b972 [orbis-kernel] implement sys_clock_gettime 2023-07-12 04:19:52 +03:00
DH 030327cd1d [rpcsx-os] Enable thr_new
Fix uwrite
2023-07-12 03:13:39 +03:00
DH 855b7ab75c [orbis-kernel] WIP new io device implementation
Not used yet
2023-07-11 23:14:33 +03:00
Ivan Chikish 764994f94c [orbis-kernel] Stub sys_sched_yield 2023-07-11 18:39:39 +03:00
Ivan Chikish 3ace6a6b05 [orbis-kernel] Fix sys_evf_create args
'initPattern'
2023-07-11 18:25:59 +03:00
Ivan Chikish 4020bc1108 [orbis-kernel] Implement umtx_wait_uint within umtx_wait
Remove separate functions:
* umtx_wait_uint
* umtx_wait_uint_private
2023-07-11 16:14:35 +03:00
Ivan Chikish eda542561c [orbis-kernel] Implement umtx_cv_signal/broadcast 2023-07-11 08:48:15 +03:00
Ivan Chikish e01dfbfbe7 [orbis-kernel] Implement umtx_cv_wait 2023-07-11 08:40:03 +03:00
Ivan Chikish 646b4f2b46 [orbis-kernel] Fix umtx_wait 2023-07-11 07:35:55 +03:00
Ivan Chikish aa5adc7b6d [orbis-kernel] Fix timeout conversion in _umtx_op
Use __uint128_t
2023-07-10 21:48:02 +03:00
Ivan Chikish 205b7d91cf [orbis-kernel] Implement umtx_wait/umtx_wake 2023-07-10 20:46:23 +03:00
Ivan Chikish 9a3054a5d1 [orbis-kernel] Implement umtx_wake_umutex 2023-07-10 19:48:37 +03:00
Ivan Chikish 6b7474e34e [orbis-kernel] Fixup do_lock_normal (_umtx_op)
Incorrect wait condition
2023-07-10 16:59:23 +03:00
František Zatloukal 14f76e2a91 gcc: add a few missing includes (cstdlib, string) 2023-07-10 15:52:03 +03:00
Ivan Chikish bfffd20946 [orbis-kernel] Implement _umtx_op for umutex (no PI) 2023-07-10 14:46:45 +03:00
Ivan Chikish d273e649bd [orbis-kernel] Optimize kalloc a bit 2023-07-10 05:19:21 +03:00
Ivan Chikish 389627ff73 [Logs] Print colors only on TTY 2023-07-10 04:58:21 +03:00
Ivan Chikish 095b6b7728 [orbis-kernel] Fix sys_namedobj_(create|delete) 2023-07-10 04:47:29 +03:00
DH 6d9a8e8452 [orbis-elf] Attempt to fix crash on debug message with gcc debug build 2023-07-09 22:37:39 +03:00
DH f0d106a3b9 Missed time.hpp 2023-07-09 14:03:41 +03:00
DH 23fcf2747a [orbis-kernel] umtx: read timeout 2023-07-09 13:52:38 +03:00
Ivan Chikish cae3d4ec7a [Logs] Add colors to formatting 2023-07-09 12:07:39 +03:00
Ivan Chikish 863b5c3a4a [orbis-kernel] Workaround strange bug
Occurs in Debug builds.
2023-07-09 12:07:07 +03:00
Ivan Chikish c2e47df91f Fix formatting 2023-07-08 21:47:13 +03:00
DH f1aa2d4951 Fix formatting 2023-07-08 21:31:24 +03:00
Ivan Chikish d1651531c3 [Logs] Implement format_n for char[N] 2023-07-08 19:10:48 +03:00
Ivan Chikish bc4cd8dc4f Fix formatting 2023-07-08 17:40:10 +03:00
Ivan Chikish aec2574018 [Logs] Don't read nullptr string 2023-07-08 17:39:59 +03:00
Ivan Chikish f5623fe759 [orbis-kernel] Fix sys_namedobj_create
Use ureadString for name.
2023-07-08 16:54:26 +03:00
Ivan Chikish 6f678ef595 [orbis-kernel] Implement sys_namedobj_create and sys_namedobj_delete 2023-07-08 16:44:05 +03:00
Ivan Chikish 34b27c271c [orbis-kernel] Add Ref(nullptr) constructor 2023-07-08 07:26:53 +03:00
DH 6d3dc8d645 [orbis-kernel] umtx: initial template 2023-07-08 02:50:45 +03:00
DH 4d783245ad [orbis-kernel] remove example project 2023-07-08 02:22:25 +03:00
DH 800c1ffcdc [orbis-kernel] evf: implement shared evf
Protect shared evfs with mutex
Fixed memory leak on shared evf allocation
Fixed set condition on wait
Update RcIdMap usage to use new api
2023-07-08 02:21:10 +03:00
DH e613f09b6d [orbis-kernel] RcIdMap: implement atomic destroy 2023-07-08 02:08:14 +03:00
DH c29ce26415 [orbis-kernel] RcIdMap: protect with mutex 2023-07-08 02:02:27 +03:00
Ivan Chikish 820a97ddec [orbis-kernel] shared_cv: fix formatting 2023-07-07 21:37:24 +03:00
Ivan Chikish cab89f44a5 [orbis-kernel] shared_cv fixup 2023-07-07 14:16:35 +03:00
Ivan Chikish 3d78443496 [orbis-kernel] Hopefully fix shared_cv 2023-07-07 13:49:59 +03:00
Ivan Chikish 99f520491c [orbis-kernel] shared_cv fixup
notify_one should work, notify_all probably doesn't.
2023-07-07 04:58:59 +03:00
Chris Rizzitello 9aafaea7f0
Find packages and sane include dirs (#8) 2023-07-07 04:35:03 +03:00
DH ab21148562 [rpcsx-os] Logs: const T * -> T * for log type printer 2023-07-07 04:25:12 +03:00
DH 4caf726005 [orbis-kernel] Logs: fix crash on char[N] format
Cleanup, remove duplicated const formatters
Allow filtering by log level
2023-07-07 02:04:05 +03:00
Isaac Marovitz 098220217c
Fix typo & other problems (#12)
* Ignore external deps
* Clang 16
* clang-format 16
* Fix linting action
2023-07-07 00:48:59 +03:00
Isaac Marovitz 1f05a8a6a6 Run clang-format 2023-07-06 21:37:30 +01:00
Ivan Chikish e3eb7a5820 [orbis-kernel] Improve kalloc/kfree
Align sizes to 16
2023-07-06 22:32:35 +03:00
Ivan Chikish 9744c41ebb [orbis-kernel] Implement kfree
Incomplete implementation.
2023-07-06 22:10:18 +03:00
DH 729b7d5e3f [orbis-kernel] upload missed changes 2023-07-06 17:23:50 +03:00
DH 7bfa977086 [orbis-kernel][rpcsx-os] POC thr_new implementation (disabled by default) 2023-07-06 16:55:44 +03:00