Commit graph

30 commits

Author SHA1 Message Date
IndecisiveTurtle e325574909 linker: Fix TLS for dynamic modules
* Technically not fully accurate but it works. TlsGetAddr should handle dynamic allocation of TLS blocks
2024-06-22 18:09:04 +03:00
IndecisiveTurtle 28f2de3e41 kernel: Implement some functions 2024-06-22 18:09:03 +03:00
TheTurtle 556d88ecb4 core: Many things (#194)
* video_core: Add a few missed things

* libkernel: More proper memory mapped files

* memory: Fix tessellation buffer mapping

* Cuphead work

* sceKernelPollSema fix

* clang format

* fixed ngs2 lle loading and rtc lib

* draft pthreads keys implementation

* fixed return codes

* return error code if sceKernelLoadStartModule module is invalid

* re-enabled system modules and disable debug in libs.h

* Improve linux support

* fix windows build

* kernel: Rework keys

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-15 14:36:07 +03:00
TheTurtle 4779381eec core: Properly implement TLS (#164)
* core: Split module code from linker

* linker: Properly implement thread local storage

* kernel: Fix a few memory functions

* kernel: Implement module loading

* Now it's easy to do anyway with new module rework
2024-06-05 22:08:18 +03:00
psucien 09bacf155e Fixes and QoL (#159)
* to ensure that we're not unlocking submits too early

* a final touch

* video_core: texture_cache: fix for page table corruption

* core: linker: a name for the game main thread

* libraries: gnmdriver: an option to dump application command lists

* libraries: kernel: named guest threads

* video_core: added a heuristic for determination of CB/DB surface extents

* fix for rebase leftover
2024-06-01 23:50:03 +03:00
TheTurtle 49e65be25b core: Rewrite thread local storage implementation (#118) 2024-05-01 13:38:41 +03:00
GPUCode 661b4d0e74 src: Reorganize and cleanup libraries 2024-04-14 00:37:17 +03:00
georgemoralis 6a595f18db clang format fix 2024-04-09 13:40:03 +03:00
georgemoralis 22438e4f6e improved linker resolver 2024-04-09 13:39:35 +03:00
whereismyfoodat 57e9b41ec0 small fixes , cleanups 2024-03-27 08:41:14 +02:00
georgemoralis 683683eb6b implemented sceKernelGetProcParam 2024-03-26 18:48:26 +02:00
georgemoralis 75e31e880c we can now load libc.prx 2024-03-26 18:29:37 +02:00
georgemoralis c9a474fc2b function to start modules 2024-03-26 18:13:27 +02:00
georgemoralis 70e91002dc relocate before execution 2024-03-26 17:33:48 +02:00
georgemoralis f2d477468a rewrote relocations 2024-03-26 17:17:59 +02:00
georgemoralis 454294b6eb improved LoadSymbols for export support 2024-03-26 14:05:18 +02:00
georgemoralis 16b6d58418 linker : Resolve can now load exports as well 2024-03-26 12:57:18 +02:00
georgemoralis 0324a99c89 small improvements on linker Resolve method 2024-03-26 12:31:46 +02:00
georgemoralis af1e3c02ad LLE libc + other fixes part1 (#97)
* app0 folder is absolute

* some improvements on symbols types

* clang format

* missing libs.h

* improved symbols_resolver

* moved config to config folder

* functions to dump import functions

* improved logging output

* option for debugdump and improvements

* Apply suggestions from code review

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* clang format

---------

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2024-03-11 13:26:33 +02:00
GPUCode 367350e989 common: Rewrite logging based on cut down citra logger (#86)
* common: Rewrite logging based on cut down Citra logger

* code: Misc fixes

* core: Bring back tls handler

* linker: Cleanup

* config: Remove log level

* logging: Enable console output by default

* core: Fix windows build
2024-02-28 00:10:34 +02:00
GPUCode 7e5b7a7ffa chore: Make shadps4 REUSE compliant 2024-02-23 23:33:43 +02:00
GPUCode d9e30405ba code: Add clang-format target and CI workflow (#82)
* code: Add clang format target, rules and CI workflow

* code: Run clang format on sources
2024-02-23 22:57:57 +02:00
GPUCode 7faf2d0ee8 common: Rework timekeeping with native RDTSC and port to linux 2024-02-23 11:30:06 +02:00
Stefanos Kornilios Mitsis Poiitidis e77801f5e6 Basic TLS with patching + int 0x80 2024-01-20 14:29:23 +02:00
georgemoralis 1ca32b213b initial PT_TLS support 2023-11-21 17:27:11 +02:00
georgemoralis 7b1766a3df better posix errors 2023-11-12 13:23:35 +02:00
georgemoralis da9e93b4c9 some refactoring on thread class 2023-11-10 20:51:02 +02:00
georgemoralis 5c8a34609d moved thread_management to proper package 2023-11-10 17:31:56 +02:00
GPUCode 3b69d5aaaa kernel: To snake case 2023-11-06 01:19:57 +02:00
GPUCode 477b4fb07f core: Reorganize 2023-11-06 01:11:54 +02:00
Renamed from src/core/PS4/Linker.cpp (Browse further)