Nekotekina
acd50eefaf
Try to use designated initializers
2020-03-06 09:42:49 +03:00
Eladash
f6cf36f6a7
Fix _sys_prx_get_module_info p0pt->filename writing with 0 size
2020-03-05 18:28:56 +03:00
Nekotekina Aux1
250736ece5
Fix warnings in emucore
2020-03-04 21:23:34 +03:00
Eladash
d7dd4897f8
Allow 0x30000000 > addr >= 0x2000000 ppu loader exec allocations (workaround)
2020-02-29 13:06:14 +03:00
Ivan
e133c7a7dc
Merge pull request #7506 from elad335/patch-1
...
PPU exec/ovlm ldr: restrict allocations
2020-02-27 22:55:30 +03:00
gamerforEA
93552a5958
Apply some Clang-Tidy fixes
2020-02-27 00:38:55 +03:00
AniLeo
3aa293a7a3
hle: cellAuthDialog
...
Basic RE of cellAuthDialog, stubs functions
2020-02-22 16:03:14 +03:00
Nekotekina
92e3eaf3ff
Fix signed-unsigned comparisons and mark warning as error (part 2).
2020-02-19 22:54:58 +03:00
Nekotekina
771eff273b
First part of fixing sign-compare warning (inside be_t).
2020-02-19 22:54:58 +03:00
Megamouse
fe75311be2
move config structs to own files and clean up some headers
2020-02-17 15:08:17 +03:00
Eladash
812d03894b
PPU exec/ovlm ldr: restrict allocations
2020-02-16 22:48:23 +02:00
Nekotekina
3eca2d5d6c
Remove legacy LOADER log channel
2020-02-01 07:49:38 +03:00
Nekotekina
1d0f359406
logs: add more log channels instead of GENERAL
2020-01-31 16:44:48 +03:00
Malcolm Jestadt
ad8988afd3
Embedded SPU elf patching
...
- PS3 games include both PPU and SPU code in their PPU executables, so to make patching games that make use of the same SPU libraries easier, we add a system to find and patch them.
- Patches for this system still use SPU LS (Local Storage) addresses despite the fact that we aren't loading anything into SPU LS at this time. The patches are checked against each segment and patched in place.
2020-01-28 02:13:37 +03:00
Eladash
a7aef22754
ppu: Log SELF header information and CIA of caller HLE functions
2020-01-27 01:21:40 +00:00
Eladash
c2eb9a583d
Implement ps3 application root flags detection
2019-12-31 22:22:06 +03:00
Nekotekina
ad9c9f0183
C-style cast cleanup II
2019-11-30 18:17:45 +03:00
Eladash
e8cc9d1f52
Loader: Fix default sdk version
...
Note: sdk version checks are unsigned checks, such value results in always true.
2019-11-10 14:32:15 +03:00
Nekotekina
b48cdc2260
Use g_fxo for global ppu_module instance
...
Also fix autonomous PRX/SPU loading sequence.
2019-09-26 23:26:36 +03:00
Nekotekina
e7d67f9732
Fix unwanted statichle_handler init
2019-09-21 03:59:43 +03:00
Nekotekina
a4951ec407
Use g_fxo for global lv2_memory_container
2019-09-18 21:24:04 +03:00
Nekotekina
dd79a5efb7
Remove fxm::make_always
2019-08-27 03:50:15 +03:00
Nekotekina
ebdb0781fa
Use g_fxo for statichle_handler
2019-08-27 03:50:15 +03:00
Nekotekina
84e44d3372
Use g_fxo for ppu_linkage_info
2019-08-27 03:50:15 +03:00
Nekotekina
7a00b5f809
Use g_fxo for patch_engine
2019-08-27 03:50:15 +03:00
Nekotekina
d45c743877
Remove lib_loading_type::automatic
...
This is former default and is now obsolete.
2019-08-14 20:28:34 +03:00
Nekotekina
cf16ee5eb5
Implement lib_loading_type::liblv2list
2019-08-14 20:28:34 +03:00
Nekotekina
ae46333e99
Implement lib_loading_type::liblv2both
2019-08-14 20:28:34 +03:00
Eladash
cbcd06d1dc
ppu: Stack size allocation improvements
2019-08-11 21:43:13 +03:00
Eladash
3ce18fd960
Implement vm::page_executable ( #6330 )
...
Fixes segfaults when attenpting to set segfaults on non-executable memory.
2019-08-11 21:04:17 +03:00
Eladash
112ad9dda2
Allow to load liblv2.sprx with manual/both lib loading options ( #6274 )
2019-08-07 18:41:27 +03:00
Eladash
997e3046e3
vm/sys_overlay Improvements
...
- Implement sys_overlay_load_module_by_fd.
- Implement special segment allocation when ppc_seg flag is specified.
2019-07-28 14:23:58 +03:00
Eladash
3de885c7a6
Dealloc exec cache after sys_prx/overlay_unload_module
...
Must come before vm::dealloc of it.
2019-07-13 16:59:58 +03:00
Lassi Hämäläinen
c963c51a60
Remove unnecessary header includes
...
- Manually removed lot of unneeded #includes to clean code and reduce
compilation time
- Reordered some of the #includes to be in more logical order
2019-06-25 17:11:10 +03:00
Inviuz
52a12185a0
Initial sys_overlay
2019-04-10 23:25:09 +03:00
scribam
f15eb88f59
hle: Fix cellSysutilAvcExt module
...
And add cellSysutilAvcExtSetChatMode and cellSysutilAvcExtSetChatGroup
functions
2019-03-31 00:55:55 +03:00
scribam
a254a203bb
hle: Add libad_async and libad_core modules
2019-03-27 21:41:44 +00:00
scribam
956d039415
hle: Add cellVideoPlayerUtility module
2019-03-24 19:16:49 +03:00
scribam
581b205f73
hle: Add cellPesmUtility module
2019-03-24 19:16:49 +03:00
scribam
6c40b9f3e0
hle: Add cellDtcpIpUtility module
2019-03-24 19:16:49 +03:00
scribam
32ae7e466c
hle: Add cellNetAoi module
2019-03-24 17:29:18 +03:00
RipleyTom
de5379a69f
Static hle implementation
2019-02-27 22:54:59 +03:00
German
45c31a99a3
Fix true clear string container in PPUModule.cpp
2019-02-18 16:34:16 +03:00
eladash
587fe421ee
Make ppu main_thread unjoinable
2019-01-25 18:04:33 +03:00
eladash
a11d76249d
Patch ppu main thread prio
2019-01-17 21:58:09 +03:00
eladash
79a6a2c7fb
Debug console emulation
2018-12-30 20:12:32 +00:00
eladash
2ea061b9c7
Set total memory size according to sdkver
2018-12-30 20:12:32 +00:00
Nekotekina
1b37e775be
Migration to named_thread<>
...
Add atomic_t<>::try_dec instead of fetch_dec_sat
Add atomic_t<>::try_inc
GDBDebugServer is broken (needs rewrite)
Removed old_thread class (former named_thread)
Removed storing/rethrowing exceptions from thread
Emu.Stop doesn't inject an exception anymore
task_stack helper class removed
thread_base simplified (no shared_from_this)
thread_ctrl::spawn simplified (creates detached thread)
Implemented overrideable thread detaching logic
Disabled cellAdec, cellDmux, cellFsAio
SPUThread renamed to spu_thread
RawSPUThread removed, spu_thread used instead
Disabled deriving from ppu_thread
Partial support for thread renaming
lv2_timer... simplified, screw it
idm/fxm: butchered support for on_stop/on_init
vm: improved allocation structure (added size)
2018-10-19 22:22:35 +03:00
Nekotekina
3ac1b46df2
Add option "HLE lwmutex"
...
Replaces lwmutex/lwcond implementation with alternative one
2018-09-09 01:02:19 +03:00
Nekotekina
ce4c4696dd
Try to get rid of SIZE_32 macro
2018-09-03 21:40:36 +03:00
Nekotekina
8abe6489ed
Mega-cleanup for atomic_t<> and named bit-sets bs_t<>
...
Remove "atomic operator" classes
Remove test, test_and_set, test_and_reset, test_and_complement global functions
Simplify atomic_t<> with constexpr if, remove some garbage
Redesign bs_t<> to use class, mark its methods constexpr
Implement atomic_bs_t<> for optimizations
Remove unused __bitwise_ops concept (should be in other header anyway)
Bitsets can now be tested via safe bool conversion
2018-09-03 21:40:36 +03:00
Jake
edeb858138
loader: ignore invalid index_value and allow relative reloc 10
2018-06-24 14:29:41 +04:00
Nekotekina
5d15d64ec8
Memory mirror support
...
Implemented utils::memory_release (not used)
Implemented utils::shm class (handler for shared memory)
Improved sys_mmapper syscalls
Rewritten ppu_patch function
Implemented vm::get_super_ptr (ignores memory protection)
Minimal allocation alignment increased to 0x10000
2018-05-09 23:35:34 +03:00
Nekotekina
78cfba158d
Use lowercase for FNIDs for consistency
2018-03-22 23:24:58 +03:00
Nekotekina
2c6c8f1a25
Implement patch support for PRX
...
Store SHA-1 hash in ppu_module
2018-03-22 23:24:58 +03:00
Nekotekina
19944eeed0
Implement SPRX precompilation
...
Automatically precompile firmware modules
Add "Create LLVM Cache" menu (for games)
Reimplement jit_compiler::cpu as static method
2018-03-22 23:24:58 +03:00
Nekotekina
cce0ad0c35
Clean vm::ps3 namespace use
2018-02-09 17:49:37 +03:00
scribam
cd9bfba790
Add sceNpMatchingInt
2018-02-03 14:07:38 +00:00
Nekotekina
0a89f1db39
Fix primary stack size
2017-12-25 21:08:15 +03:00
Nekotekina
144f6809bf
Implement CALL_FUNC
2017-10-05 19:51:37 +03:00
Nekotekina
e5f756205c
sys_net full rewrite
...
Implement sys_net syscalls
Clean libnet functions
Use libnet.sprx
Use libhttp.sprx
Use libssl.sprx
Use librudp.sprx
Implement sys_ss_random_number_generator
2017-10-05 19:51:37 +03:00
Nekotekina
b9a0c107ab
Fix library loading mode 'both'
2017-09-20 14:26:42 +03:00
Nekotekina
519f21db18
Exitspawn support renewal
...
Implemented _sys_process_exit2 syscall
Rewritten sys_game_process_exitspawn
Rewritten sys_game_process_exitspawn2
Implemented _sys_process_atexitspawn
Implemented _sys_process_at_Exitspawn
And some other changes
2017-09-19 15:07:07 +03:00
Nekotekina
e789b969b0
Implemented MFF_HIDDEN for VNIDs
...
Minor refactoring
Now possible: ```REF_FUNC(...).flag(MFF_HIDDEN);```
2017-09-19 15:07:07 +03:00
RipleyTom
e4105f46de
Implement _sys_prx_get_module_info
2017-09-08 00:06:53 +03:00
Nekotekina
24f9f06279
Check FNID duplication
2017-08-13 21:39:08 +03:00
Nekotekina
b05434bc6f
Fix Firmware message
2017-08-05 17:07:30 +03:00
Nekotekina
7b4c044480
Relax allocations in ppu_load_exec
2017-08-04 14:33:53 +03:00
Jake
02845f546e
Add gcm to auto lle / liblv2
2017-08-02 01:33:12 +03:00
Talkashie
aeb01bd216
Update outdated firmware log message
2017-07-30 01:10:24 +03:00
Nekotekina
60c6bb9865
Restore hook static functions
2017-07-26 21:03:41 +03:00
scribam
9747ab61f9
Missing function names (HLE) and small fixes ( #3038 )
...
* Add sceNpScoreGetFriendsRanking and sceNpScoreGetFriendsRankingAsync functions
* Add sceNpSnsFbGetLongAccessToken function
* Add new functions for the sceNpTus module
* Add new functions for the cellSailRec module
* Stub cellCrossControllerInitialize
* Add sceNpAuth* functions for the sceNp2 module
* Remove unnecessary call to c_str()
* Add missing module id "CELL_SYSMODULE_ADEC_AT3MULTI"
* Add Turkish keyboard mapping constant
* Add cellOskDialogExtRegisterKeyboardEventHookCallbackEx function
* Update cellSubDisplay
* Update cotire version to 1.7.10
* Replace cellSubdisplay by cellSubDisplay
* Update cellSysutil.cpp with new functions stubbed
2017-07-21 18:41:11 +03:00
Nekotekina
f91f2e3e6d
Patch: add floating point support
...
Also count applied entries
2017-07-17 18:36:54 +03:00
Nekotekina
e39ee10105
Patch system improved
...
SPU patch rewritten
PPU patch implemented
2017-07-17 16:49:46 +03:00
Nekotekina
d8abe75526
Improved sprx boot (for devs only)
2017-07-14 01:47:00 +03:00
Nekotekina
7702eb2fa7
PPU: clean linkage info
2017-07-12 21:29:09 +03:00
Nekotekina
3278062c29
PPU: load only libsysmodule.sprx
2017-07-12 14:00:38 +03:00
Nekotekina
74f2be7307
PPU: free prx segments
2017-07-12 14:00:38 +03:00
Nekotekina
f0d184f38b
PPU LLVM: relocation support
2017-07-04 02:04:22 +03:00
Inviuz
645f0e63ab
REF 57 plus FREF fix
...
kept bothering me until i realized what was wrong with it
2017-06-30 14:24:00 +03:00
Nekotekina
89f676de75
PPU: preparations (no fixes)
2017-06-26 16:56:13 +03:00
Inviuz
81ab6ab8b4
FREFS/weak imports and VREFS 4 and 6
2017-06-26 14:17:34 +03:00
Nekotekina
d86858da64
Fix tabs
2017-06-24 14:25:11 +03:00
Nekotekina
aea094730b
PPU LLVM: paradigm shift
...
For now, compile only one block at time
Use tail calls to move between blocks
Fully write PPU context (except CIA)
This fixes many compatibility problems
2017-06-23 20:09:33 +03:00
Jake
d3df83a3ea
Sprx: loading / reloc fixes
2017-06-21 19:28:05 +03:00
Nekotekina
f010b5b235
Configuration simplified
2017-05-20 16:01:48 +03:00
Nekotekina
88fef183a3
config.yml: Log section optimized
2017-05-15 14:37:05 +03:00
Nekotekina
08c955d177
Remove AutoPause.cpp
2017-05-11 19:05:41 +03:00
Nekotekina
8209e6c1e3
ppu_initialize_syscalls draft
2017-05-11 19:05:41 +03:00
Nekotekina
634f353ed4
Fix module initialization
2017-04-26 02:27:34 +03:00
Nekotekina
d05b6135c6
Use libfs.sprx (LLE)
2017-04-26 02:27:34 +03:00
Nekotekina
f7cb1aea64
Fix Lib Loading
2017-04-20 00:52:11 +03:00
Megamouse
ff5295de32
Lib Loader Radiobutton ( #2689 )
2017-04-20 00:16:55 +03:00
scribam
8060cf9b19
Add cellRtcAlarm module ( #2703 )
2017-04-19 21:24:52 +03:00
Nekotekina
7428bb3025
HLE linkage rewritten
2017-04-16 17:44:19 +03:00
Ofek
a5fd7abcf7
Trophy update ( #2655 )
...
* Added checksum check to TROPHY.TRP loader
* Implemented sceNpTrophyGetGameProgress, sceNpTrophyGetGameIcon & sceNpTrophyGetTrophyIcon
* Updates to up to date APIs and tiny changes
* Code style fixes for checksum verifier, and another fix for trophy functions
* Format fix
2017-04-13 20:29:47 +03:00
Nekotekina
dc3d38c255
PPU Analyser: TOC detection
...
Improved TOC detection logic
Added "PPU Debug" option
2017-04-09 00:16:53 +03:00
Nekotekina
d7c66fc949
ppu_analyse: use entry point
2017-04-08 23:51:54 +03:00
Zangetsu38
b3cb827526
Registers more functions missing.
...
Implement and stub cell_FreeType2.
Reorder cellRtc.
2017-04-08 22:32:59 +03:00
Nekotekina
69d86e39b9
Fixed auto LLE
2017-04-08 00:56:38 +03:00
Nekotekina
ed7883ba07
PPU Analyser fix
2017-04-08 00:56:38 +03:00
scribam
a1cc40e7b1
Add cellLibprof module ( #2637 )
2017-04-07 15:48:59 +03:00
Andrey
215a9f9e11
Gdb debug server ( #2542 )
2017-04-02 21:10:06 +03:00
Nekotekina
cd9bd79639
AutoLLE: libhttp.sprx added
2017-03-27 01:15:41 +03:00
Ani
7ae2a8840b
Register HLE libmedi, cellCrossController, cellSysutilNpEula
...
Motorstorm Apocalypse calls for cellMediatorGetSignatureLength,
cellMediatorCreateContext, cellMediatorGetProviderUrl,
cellMediatorGetStatus
LittleBigPlanet 2 and 3 may call for 0x37E1F502 (unknown name) on
cellCrossController
Resistance 3 and Uncharted 2 may call for the functions registered
on cellSysutilNpEula
2017-03-26 01:04:39 +03:00
Nekotekina
3bfe17a14f
PPU: HACK instruction removed
...
Breakpoints fixed
2017-03-22 23:23:47 +03:00
Nekotekina
1b5a479bbd
Auto LLE: cellSsl
2017-03-14 19:21:03 +03:00
Nekotekina
3648a058d1
Auto LLE update
...
libdtslbrdec.sprx removed
Some encoders added
2017-03-14 16:12:03 +03:00
Nekotekina
1c8cb3b7d3
Boot messages
2017-03-13 18:03:38 +03:00
Nekotekina
48b0583866
Default LLE option
2017-03-03 01:40:27 +03:00
Nekotekina
0eb6bf6a67
LLVM: splitting and caching
2017-02-26 20:14:18 +03:00
Nekotekina
9000407a77
cpu_thread::test_state added
...
lv2_obj::sleep adjustment
synchronization fixes
2017-02-22 13:23:21 +03:00
Nekotekina
e8bfce4ebd
decrypt_self() function
...
Fixed SPU self decryption
Fixed PSV debug self load
2017-02-11 21:36:48 +03:00
Nekotekina
8262d56574
PPU interpreter improved
2017-02-10 16:33:22 +03:00
Nekotekina
b21fce4d6f
IdManager improved
...
lv2_obj for kernel objects
Simple lookup (vector)
Another idm API refactoring
2017-01-29 21:37:04 +03:00
Nekotekina
df6607e236
Minor fixes
2017-01-28 03:21:11 +03:00
Nekotekina
78ecb115f3
LLVM: progress dialog
2017-01-22 22:44:26 +03:00
Nekotekina
05fb57baff
VERIFY macro removed
2016-08-15 03:13:31 +03:00
Nekotekina
bdeccd889f
cpu_type removed, system_type added
...
cpu_state -> cpu_flag
vm::stack_allocator template improved
ppu_cmd type changed to enum, cmd64 type added
2016-08-09 17:14:41 +03:00
Nekotekina
a7e808b35b
EXCEPTION macro removed
...
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
Nekotekina
5a36c57c57
Formatting system improved
...
`unveil<>` renamed to `fmt_unveil<>`, now packs args to u64 imitating va_args
`bijective...` removed, `cfg::enum_entry` now uses formatting system
`fmt_class_string<>` added, providing type-specific "%s" handler function
Added `fmt::append`, removed `fmt::narrow` (too obscure)
Utilities/cfmt.h: C-style format template function (WIP)
Minor formatting fixes and cleanup
2016-08-04 21:34:00 +03:00
Nekotekina
f8719c1230
PPUThread refactoring
...
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
Nekotekina
39dadad534
PPU executable memory protection
...
Experimental commit, not improved for PRX
Also fixed minor bug in PRX loader
2016-07-24 21:06:09 +03:00
Nekotekina
fc9fdca3f6
Make TLS great again
...
And clean System.h a bit
2016-07-19 14:06:39 +03:00
Nekotekina
eb377f425c
PPU LLVM: Analyser fix
...
ppu_branch_target removed
2016-07-14 16:27:14 +03:00
Nekotekina
94da0dbd4d
PPU LLVM improvements
...
Removed interpreter dependencies
Reciprocal instructions improved
2016-07-12 17:33:13 +03:00
Nekotekina
06c6c8212d
Minor fixes
...
elf_object
Loader fix
Analyser fix
2016-07-11 16:30:11 +03:00
Ivan
77594dc66c
PPU LLVM: New analyser ( #1858 )
...
Minor fixes
VEX prefix support
2016-07-07 21:42:39 +03:00
Nekotekina
9db7de29fb
Syscall analysis implemented
2016-06-27 16:43:56 +03:00
Nekotekina
a8bebcba55
LLVM AOT
2016-06-19 21:29:48 +03:00
Nekotekina
6fa5e2cc7c
PPUAnalyser.h added
2016-06-19 20:50:21 +03:00
Nekotekina
e2d82394f6
Cell
2016-05-23 16:22:23 +03:00
Ivan
aafcf44581
Header optimizations ( #1684 )
...
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00
Nekotekina
c4e99dbdb2
Partial commit: Cell
2016-04-15 19:22:34 +03:00