Commit graph

53 commits

Author SHA1 Message Date
Pedro Montes Alcalde
4a14d546ba
Tick Tick Tick, thats the sound of 2024 flying by (#3503) 2025-01-19 18:51:43 -03:00
Zangetsu38
5720241850 packages: Implement decrypt fself in a fly.
- Refactor license.
2025-01-02 18:55:43 +03:00
SpikeHD
0ebcc09292
patch: Add support for patch files (#3419)
* feat: poc patch loading

* fix: remove some logging, tweak filename requirements

* fix: clang format

* fix: loop -> memcpy

* fix: patching the wrong file

* fix: patch path in shared path on linux

* fix: newline

* fix: change to txt

* fix: explicit std

* fix: conditionally load patches

* fix: stroull -> stoull
2024-11-15 23:32:55 +01:00
Macdu
e78b375676 modules/SceIpmi: Adding module and stub few functions.
modules/module parent: Adding create vtable fonction.
2024-11-05 00:12:26 +03:00
Pedro Montes Alcalde
4abf877d43
io/modules: Make modules load the case sensitive file found in fs 2024-06-23 17:17:03 -03:00
bookmist
1fda880a94 vita3k: big code cleanup
Improvements
* lang: a bit more verbose error on wrong lang xml

Bugfixes
* kernel/sync_primitives: fix theoretically possible AV
* modules/SceAudio: a bit more correct sceAudioOutSetConfig
* fix wrong objects initialisation ({0} -> {})

Warning fixes
* clang warning: Macro argument should be enclosed in parentheses
[bugprone-macro-parentheses]
* modules: set unsigned type for Sce*ErrorCode enums
* clang warning: variable might be not be initialized
* clang warning: Function returns by const value. Consider returning by non-const value instead.
* clang warning: Prefer transparent functors [modernize-use-transparent-functors]

Refactoring
* io/device: move functions implementation from .h to .cpp file
* vita3k: fix fs::path usage
* clang warning: 'if' statement is unnecessary; deleting null pointer has no effect
* vita3k: use structured bindings and references in for-each-loops
* vita3k: simplify container operations, extract frequent operations to utility functions
* clang⚠️ 'contains' member function can be used
* kernel/sync_primitives: refactoring. drop unused parameter of handle_timeout
* vita3k: drop unused function parameters

* vita3k: fix typecasts
use static_cast instead of reinterpret casts if possible
use correct constants (1/1.0/1.0f)
correct variable types to minimise typecasts
use explicit typecasts (not everywhere)
replace c-style typecasts to c++ style typecasts (not everywhere)
* clang warning: remove redundant typecasts
* clang warning: Cast drops const qualifier

Optimisation
* vita3k: remove unused includes
* clang warning: Constness of returning variable prevents automatic move
[performance-no-automatic-move]
* clang warning: String concatenation results in allocation of unnecessary temporary strings
[performance-inefficient-string-concatenation]
* vita3k: use std::move
* vita3k: optimization. push_back -> emplace_back
* vita3k: fix datatypes to avoid unnesessary conversions
* clang warning: remove unneeded string->c_str->string conversion
* clang warning: The parameter is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
* clang warning: 'find' called with a string literal consisting of a single character
[performance-faster-string-find]
* clang warning: Result of a postfix operator is discarded, consider replacing it with a prefix operator
* clang warning: Pass value parameters by const reference

Code cleanup
* io/io: remove once used variables
* net/posixsocket: remove struct keyword
* vita3k: use raw string literals to avoid excessive escaping
* vita3k: refactoring. replace Ptr<> to pointer in Sce functions
* vita3k: drop unused variables and incorrect comments
* clang warning: readability-inconsistent-declaration-parameter-name
* clang warning: Extra ';' after member function definition
* clang warning: Possible misuse of comma operator (, is used instead of ;)
* clang warning: Algorithm accepting an iterator and a count can be used
* clang warning: Declaration and assignment can be joined
* clang warning: Type trait can be simplified using a template alias or a variable template

* vita3k: cleanup class methods
remove unimplemented (and obviously not used) methods
move deleted methods to public
change empty body to =default
remove auto constructors
set member default values
2024-03-18 15:44:56 +03:00
Macdu
e3a201d485
kernel: Add support for module unloading/reloading (#3246) 2024-03-15 10:07:25 +01:00
bookmist
d3f3038aee vita3k: set fs::path type for string paths and refactoring
avoid not need conversion string->wstring->string for linux and macos
native logging of fs::path
more correct conversion from std path to boost path
refactor pathes for shaders compiler, shorten parameters lists
crypto::hex_string: remove not needed null character as last character in string
2024-01-24 11:33:30 +03:00
Pedro Montes Alcalde
34565e3ef4
Vita2024K: Happy 2024 2024-01-01 12:36:32 -03:00
redpolline
1fe42cdc4f io: Support emuenv changes
kernel: Support emuenv changes
modules: Support emuenv changes
packages: Support emuenv changes
2023-10-17 13:31:19 +02:00
scribam
34310c6087 vita3k: Prefer contains() instead of find() + end() 2023-09-14 13:05:23 +02:00
Macdu
b878d50bc2 modules: Return 0 for unknown NIDs 2023-09-11 22:08:16 +02:00
Macdu
ca4371ac31 kernel, modules: Implement sceSysmoduleLoadModuleInternal(WithArg)
Co-Authored-By: bookmist <roshst@yandex.ru>
Co-Authored-By: Zangetsu38 <dante38@free.fr>
2023-07-28 12:17:29 +02:00
Macdu
a911de4569 kernel, modules: Improve nid performance 2023-07-27 18:37:33 +02:00
Macdu
5cb4c46c17 kernel: Fix thread start/end callbacks and cleanup 2023-07-26 19:55:09 +02:00
bookmist
c7440923c2 vita3k: refactoring module load and start, use LLE for libsmart and libface 2023-07-25 15:16:59 +03:00
bookmist
3c19f400e9 kernel/load_self: implement late binding for export variables
also remove unused code
2023-02-13 11:37:21 +03:00
bookmist
0a419822ce modules/SceLibKernel: export module variables __stack_chk_guard, __sce_libcparam
Not really needed, just to hide errors when importing almost all modules
Also add logs to error handling functions
2023-01-19 13:35:30 +03:00
bookmist
9dc3aeaedf modules/module_parent: invalidate jit cache only for current thread when making lle call stub
fix regression on STREET FIGHTER X TEKKEN
2023-01-05 16:53:28 +03:00
bookmist
cc7f2847dc modules/module_parent: More correct LLE import path. Fix "Import function for NID 0xE340* not found" 2023-01-02 22:31:15 +03:00
EXtremeExploit
41a17e79c7 Planet Earth Season 2023 2023-01-02 10:46:20 +01:00
Macdu
636b1dfedd kernel: Rewrite the way svc and callbacks are handled 2022-09-16 21:57:57 +02:00
Macdu
2eefc9751e vita3k: Remove unnecessary dependencies between librairies and files 2022-07-28 12:24:06 +02:00
hobyst
1169da50bc host: Rename host to emuenv
This commit renames the host library as emuenv (emulated PS Vita
environment) to avoid confusion with the future host OS abstraction
layer
2022-07-03 14:31:24 +02:00
Macdu
777650e882 modules/SceSysmodule: prevent random crash when calling sceSysmoduleLoadModule 2022-05-13 19:21:49 +02:00
bookmist
016f8ece12 kernel\thread, modules: fix TLS in callback calls 2022-04-01 06:22:11 +02:00
bookmist
b10b834907 modules: fix crash when module not loaded 2022-03-17 06:16:05 +01:00
hobyst
168dfb19ca Add license notice on source files which didn't have one
- Also updated the copyright notice year on all files to 2021
2021-08-19 23:14:27 +02:00
sunho
6c790558e0 Move load_self from host to kernel 2021-05-27 13:12:17 +02:00
sunho
d3b4d05588 kernel: Fix cpsr regression 2021-05-26 21:56:41 +02:00
sunho
7d6d79c399 kernel: Merge state and functions 2021-05-19 11:36:18 +09:00
sunho
d5f4b954fc kerenl: Implement trampoline injection
kernel: Move debugging helpers to one place
2021-05-19 11:36:18 +09:00
sunho
c6a20fc894 kernel: Redesign guest function calling 2021-05-18 03:18:25 +09:00
sunho
1e96724d45 kernel: Pull out avplayer,auidodev,videodec,fiber state
kernel: Add ObjectStore
modules: Support library init function
modules: Pull out cpu_protocol
vita3k: Rename .h -> .inc
io: Remove unneccesary base_tick argument
cmake: Folderify modules and kernel
2021-05-09 19:47:59 +02:00
sunho
8ba4419433 cpu: Pull out nid extraction and debugging helpers 2021-05-08 14:34:20 +02:00
sunho
20677bee52 kernel: Refactor handling of exiting thread 2021-05-08 14:34:20 +02:00
sunho
f76f2f2c39 cpu: Fix dynarmic exclusive instructions, halting, breakpoint, stepping
kernel: Refactor CPUDepInject
config: Add dynarmic_cpu option
2021-05-08 14:34:20 +02:00
sunho
3d86d89aa0 modules: use new run_callback 2021-02-20 20:08:28 +01:00
sunho
1383c09e01 kernel: call_svc can be defined in modules 2021-02-20 20:08:28 +01:00
Francisco José García García
1b080927f1 util: Move encode_arm_inst to util 2021-01-25 12:57:52 +01:00
Francisco José García García
1d79c92df3 module: Patch imports when modules are loaded later 2021-01-25 12:57:52 +01:00
Sunho Kim
a4cab354a0
Merge pull request #801 from sunho/add-lle-return-track
Add lle return logging
2020-07-26 23:16:18 +09:00
Sunho Kim
c7700d7383 cpu: add import call log level 2020-07-26 11:17:57 +09:00
Sunho Kim
9950d6e51d debug: log offset in memory watch 2020-07-14 15:15:44 +09:00
sunho
edf48bacd8 cpu: add lle function return logging 2020-07-06 02:22:03 +09:00
sunho
f339d15d70 cpu: log lr instead of pc in hle function log 2020-07-06 02:06:51 +09:00
Sunho Kim
cdf9de4dbb debug: refactor cpu & print unicorn error stack traceback 2020-06-21 22:38:46 +03:00
Sunho Kim
2a22d19a20 debug: add stack traceback 2020-06-21 22:38:46 +03:00
Sunho Kim
62abebded9 modules: fix initialization order of var_exports 2020-06-13 13:50:58 +02:00
Sunho Kim
1503bb9bf8 modules: format code 2020-06-11 18:23:53 +02:00