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