Nekotekina
f9ee8978ff
PPU LLVM: improve analyser
...
Compile possibly executable holes between detected functions.
Add unused "PPU LLVM Greedy Mode" option (for future updates).
Add "nounwind" attribute to compiled functions (reduces size).
2021-02-01 11:30:50 +03:00
Nekotekina
db8e6fe7a7
Enable -Wunused-variable
2021-01-12 14:34:14 +03:00
Nekotekina
fb29933d3d
Add usz alias for std::size_t
2020-12-18 12:23:53 +03:00
Eladash
7eb16e13bb
PRX loader: Fix libfs_155.sprx loading
...
Fix relocations' segments referencing when there are "empty" (memsize=0) LOAD segments.
2020-12-15 11:16:45 +03:00
Nekotekina
65c04e4ddd
Remove constexpr from ppu/spu decoders.
...
We don't need them at compile time (yet).
But can reduce compile time and complexity.
2020-12-10 15:06:01 +03:00
Nekotekina
36c8654fb8
Remove HERE macro
...
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
Nekotekina
1c99a2e7fb
vm: add map_self() method to utils::shm
...
Add complementary unmap_self() method.
Move VirtualMemory to util/vm.hpp
Minor associated include cleanup.
Move asm.h to util/asm.hpp
2020-11-08 16:43:15 +03:00
Eladash
5960de2e20
PPUAnalyzer: Check if TOC from OPD is a valid address
2020-04-19 10:56:42 +01:00
Nekotekina
b1b67a13c6
Revert "Replace rotate utils with std::rotl" (partial)
...
This reverts commit 4d8bfe328b
.
2020-04-14 19:45:53 +03:00
Nekotekina
4d8bfe328b
Replace rotate utils with std::rotl
...
More include cleanup.
2020-04-14 16:05:58 +03:00
Nekotekina
d0c199d455
Replace utils::cnttz{32,64} with std::countr_{zero,one}
...
Make #include <bit> mandatory.
2020-04-14 16:05:58 +03:00
Nekotekina
fa29c5aa94
ppu_iname: refactor to use actual strings
2020-03-26 15:28:41 +03:00
Nekotekina
1ceb779a38
Make ppu_decoder<> objects constexpr (partial)
2020-03-24 13:46:46 +03:00
Nekotekina
04dedb17eb
Disable exception handling.
...
Use -fno-exceptions in cmake.
On MSVC, enable _HAS_EXCEPTION=0.
Cleanup throw/catch from the source.
Create yaml.cpp enclave because it needs exception to work.
Disable thread_local optimizations in logs.cpp (TODO).
Implement cpu_counter for cpu_threads (moved globals).
2020-03-12 16:03:08 +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
Nekotekina
327bb2d8f0
Modernize PPU logging (ppu_log variable)
2020-02-01 11:52:24 +03:00
Nekotekina
3eca2d5d6c
Remove legacy LOADER log channel
2020-02-01 07:49:38 +03:00
Nekotekina
ad9c9f0183
C-style cast cleanup II
2019-11-30 18:17:45 +03:00
Eladash
6540fecdc3
Add another pattern to ppu analyzer imports
2019-08-16 22:55:04 +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
Nekotekina
ed9fb8405b
Move rotate/cntlz/cnttz helpers to Utilities/asm.h
2018-09-08 00:32:04 +03:00
Nekotekina
ee96807305
Remove explicit_bool_t, ignore, multicast<>
...
Remove vm::ptr operator %
This was a bad idea but explicit_bool_t was created almost for it
Other removed types are unused and have little to no meaning
2018-09-08 00:32:04 +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
Ofek
dceba8a92b
PPU analyser optimizations
2018-07-07 14:26:56 +04:00
Nekotekina
41eab62ed7
Implement spu_iname helper
...
Remove old code
Report $SP anomalies
2018-07-06 00:33:52 +03:00
Nekotekina
cce0ad0c35
Clean vm::ps3 namespace use
2018-02-09 17:49:37 +03:00
Nekotekina
1ffc1e82b0
fixup
2017-10-28 23:39:10 +03:00
Nekotekina
89fba1c385
ppu_acontext draft
2017-10-28 23:24:08 +03:00
Nekotekina
f0d184f38b
PPU LLVM: relocation support
2017-07-04 02:04:22 +03:00
Nekotekina
fc2a45d6d6
Removed unnecessary code
2017-06-29 17:48:55 +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
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
Nekotekina
ed7883ba07
PPU Analyser fix
2017-04-08 00:56:38 +03:00
Nekotekina
f1f53de24b
PPU analyser fix
2017-03-27 01:15:41 +03:00
Nekotekina
3bfe17a14f
PPU: HACK instruction removed
...
Breakpoints fixed
2017-03-22 23:23:47 +03:00
Nekotekina
c785b14c18
LLVM fix
2017-02-28 17:16:32 +03:00
Nekotekina
0eb6bf6a67
LLVM: splitting and caching
2017-02-26 20:14:18 +03:00
Nekotekina
d0afef47f8
LLVM: block borders fixed
2017-02-25 21:30:28 +03:00
Nekotekina
7c418f7ea5
PPU: block info fix
2017-02-23 00:35:29 +03:00
Nekotekina
f4b95c0226
PPU analyser improved
2017-02-12 21:12:08 +03:00
Nekotekina
df6607e236
Minor fixes
2017-01-28 03:21:11 +03:00
Ivan
46dde3f8f7
Fixes ( #2279 )
...
Fixed appveyor icon
PPUAnalyser fix
OSK dialog fix
2017-01-24 00:56:27 +03:00
Nekotekina
46735d6b3d
New bitsets (experimental)
2016-08-08 16:29:37 +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
712c04b2ad
PPU Analyser update
...
WIP, nothing changed
2016-07-24 21:06:10 +03:00
Nekotekina
c77dec6d6a
PPU Analyser improved
...
Fix for old homebrews
2016-07-15 13:42:22 +03:00