Nekotekina
1ede0f4706
Minor optimization
2017-03-13 15:02:18 +03:00
Nekotekina
78703cfe47
Use utils::memory_protect
2017-03-13 13:16:22 +03:00
Nekotekina
d09dd29054
utils::memory_protect
2017-03-13 13:16:22 +03:00
Inviuz
b70a1edbc7
Mmapper with Neko's review fixes ( #2503 )
2017-03-12 03:15:22 +03:00
Nekotekina
4739eb3601
Reservation fix
2017-03-11 15:48:43 +03:00
Nekotekina
5e3bacbd9b
New reservations
...
Memory system cleanup
sys_memory_get_page_attribute
2017-03-10 15:51:40 +03:00
Nekotekina
a5a2d43d7c
Thread.cpp refinement
...
Hide thread mutex
Safe notify() method
Other refactoring
2017-01-29 19:52:19 +03:00
Nekotekina
1c14d872a8
New shared_mutex
...
Experimental sync utils
New semaphore<>
New cond_variable
New owned_mutex
2017-01-25 00:38:07 +03:00
Nekotekina
dbcb5df172
WRAP_EXPR macro removed
2016-08-15 17:11:45 +03:00
Nekotekina
84d0d396ed
EXPECTS usage removed
2016-08-15 16:29:38 +03:00
Nekotekina
0f87c4485d
Silly macro removed-2
2016-08-14 18:19:42 +03:00
Nekotekina
7a2802a5e0
Silly macro removed
2016-08-12 19:31:28 +03:00
Nekotekina
fc56e70172
vm::ptr<char> formatting
2016-08-11 16:47:20 +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
1a7ea2d235
fmt_unveil<> fix
2016-08-07 17:05:35 +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
Vincent Lejeune
b9f4c15ec0
vm: Add missing headers.
...
vm.h relies on memory (std::shared_ptr) and functionnal (std::function).
2016-07-30 18:39:26 +02: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
96728a83f6
Partial commit: sys_memory, sys_mmapper
2016-07-16 14:46:01 +03:00
Nekotekina
73c2115968
BEType: explicit alignment specifier
2016-07-16 14:45:57 +03:00
DH
67a341fded
Fixed _var_base move ctor
2016-06-27 03:22:22 +03:00
Nekotekina
a8bebcba55
LLVM AOT
2016-06-19 21:29:48 +03:00
Ivan
edc92843a7
Hotfix ( #1705 )
2016-05-24 01:59:39 +03:00
Nekotekina
266db1336d
The rest
2016-05-23 16:22:25 +03:00
Ivan
da7472fe81
Optimizations ( #1680 )
...
* Optimizations
1) Some headers simplified for better compilation time
2) Some templates simplified for smaller executable size
3) Eliminate std::future to fix compilation for mingw64
4) PKG installation can be cancelled now
5) cellGame fixes
6) XAudio2 fix for mingw64
7) PPUInterpreter bug fixed (Clang)
* any_pod<> implemented
Aliases: any16, any32, any64
rsx::make_command fixed
2016-04-25 13:49:12 +03:00
Nekotekina
0c7f763889
Partial commit: Memory
2016-04-15 19:22:43 +03:00
Nekotekina
2f5be3559e
Hotfix
2016-01-14 20:13:41 +03:00
Nekotekina
960668ecf1
For #1355
...
offsetof() eliminated
OFFSET_32, SIZE_32, ALIGN_32 used
2016-01-14 19:07:27 +03:00
Nekotekina
b3e3c68f15
File utility improved
...
+ minor fixes
2016-01-13 14:12:04 +03:00
Nekotekina
3ed603074c
Changes done by [DH] rewritten
...
Added rsx_program_decompiler submodule
Added fs::dir iterator
Added fmt::match
2015-12-22 23:11:20 +03:00
Nekotekina
a666318b95
Error messages improved
2015-12-20 15:41:09 +03:00
Nekotekina
8e4ad3dfcb
Property sheets, configuration simplified
...
MemLeak build fixed
2015-12-08 20:02:30 +03:00
Nekotekina
ca6783ba9a
Threads improved, ID manager improved
2015-12-04 23:37:34 +03:00
Raul Tambre
5d5a4f804b
Replace most returns with CHECK_ASSERTION
...
Also fix some Seek methods return types being unsigned, while returning
negative errors.
Added the CHECK_ASSERTION macro checks in a couple more places.
Simplified CHECK_ASSERTION macro usage.
2015-11-09 07:42:04 +02:00
Raul Tambre
fac9d74344
Lots of defect fixes
2015-11-09 07:39:50 +02:00
Vincent Lejeune
a462b4518c
d3d12: Move d3d12 files to separate solution.
...
It simplify solution configurations.
2015-10-17 04:15:58 +02:00
Nekotekina
77bf86eaa5
Bugfix
2015-10-16 03:25:39 +03:00
Nekotekina
a974ee009e
vm::var improved, cleanup
...
Mostly vm::var initialization introduced.
Added vm::make_var function.
2015-10-14 18:17:37 +03:00
Nekotekina
8ae3401ffa
Some things improved
...
shared_mutex_t implemented
GUI Emu Callbacks rewritten
fxm::import, fxm::import_always implemented
cellMsgDialog rewritten
Emu.CallAfter improved (returns std::future)
2015-09-22 16:48:21 +03:00
Nekotekina
817fec9684
SPU Cleanup
...
SPURecompiler improved
Old SPU decoder removed
SPU Interpreters merged
2015-09-02 00:38:44 +03:00
Nekotekina
5e14310071
noexcept usage fixed
...
thread_t renamed to named_thread_t
2015-08-24 21:22:48 +03:00
Nekotekina
168cd9bb7a
TLS for sys_net implemented
...
Method ptr for vm::ptr (renamed "of")
Method ref for vm::ptr (returns vm::ref)
Operator & for vm::ref (returns vm::ptr)
2015-08-24 21:22:46 +03:00
Nekotekina
fcd6b64f8f
vm::var rewritten
2015-08-24 21:22:44 +03:00
Nekotekina
d9403c2ed2
thread_t cleanup
2015-08-24 21:22:37 +03:00
Nekotekina
c6bdedf3b0
sleep_queue_t moved to SleepQueue.cpp, cleanup
...
Used ARMv7Thread instead of ARMv7Context in PSV HLE functions and
callbacks. However, interpreter still uses ARMv7Context.
Various PSV functions partially implemented:
sceKernelCreateEventFlag
sceKernelDeleteEventFlag
sceKernelOpenEventFlag
sceKernelCloseEventFlag
sceKernelWaitEventFlag
sceKernelWaitEventFlagCB
sceKernelPollEventFlag
sceKernelSetEventFlag
sceKernelClearEventFlag
sceKernelCancelEventFlag
sceKernelGetEventFlagInfo
sceKernelCreateSema
sceKernelDeleteSema
sceKernelCreateMutex
sceKernelDeleteMutex
sceKernelCreateCond
sceKernelDeleteCond
2015-08-24 21:22:30 +03:00
Nekotekina
07b9379a7c
New u128 type stub
2015-08-24 21:22:27 +03:00
Nekotekina
6f3c50eba2
u128 renamed to v128
...
Since it's vector union type
2015-08-24 21:22:23 +03:00
Nekotekina
c7ee8cadde
cellFont, cellFs, cellGcmSys funcs added, minor cleanup
2015-08-24 21:22:14 +03:00
Nekotekina
0b1e45b6b5
Some functions added
2015-08-01 14:39:43 +03:00
Nekotekina
16ad4936ee
atomic.h fixed
2015-08-01 14:39:24 +03:00
Nekotekina
06ef95fbea
File/dir descriptors numbering experimental impl
2015-08-01 14:39:12 +03:00
Nekotekina
16b7d204d2
decode_x64_reg_op: MOVUPS support
2015-08-01 14:38:59 +03:00
Nekotekina
71a378a3fb
vm::wait_op improved
...
Now it accepts thread_t and its descendants (but may require adding
friend vm::waiter_lock_t class)
2015-08-01 14:38:55 +03:00
Nekotekina
be2f993155
func_def eliminated
2015-08-01 14:38:49 +03:00
Nekotekina
31774b7262
atomic.h, sys_cond/sys_lwcond improved
2015-08-01 14:38:47 +03:00
Nekotekina
2f7fe35f5c
Minor style change
2015-07-21 23:14:31 +03:00
Nekotekina
8175630619
sys_cond/sys_mutex improved
2015-07-21 23:14:29 +03:00
Nekotekina
9913c9059c
Very bugfix
...
I reverted cellSaveData changes since they were relying on the
uninitialized local variable `save_entry` and thus were almost
completely wrong.
2015-07-21 23:14:26 +03:00
Nekotekina
5bd83516ba
SPU Interrupt Enable Status implemented
...
SPU Interrupts are still NOT implemented
2015-07-21 23:14:25 +03:00
Nekotekina
1519a2b468
Exceptions passed to wait_op caller
2015-07-21 23:14:23 +03:00
Nekotekina
a7668ff57f
SPU_EVENT_LR improved
2015-07-21 23:14:22 +03:00
Nekotekina
1e021cdbba
waiter_map reintroduced, combined with vm
2015-07-21 23:14:20 +03:00
Nekotekina
a8fcf71f9c
Minor bugfix, cleanup
2015-07-21 23:14:04 +03:00
Nekotekina
b8a27d8a4c
Silly bugs fixed
2015-07-18 03:12:08 +03:00
Nekotekina
48c75105e2
"Memory" eliminated
2015-07-18 03:12:06 +03:00
Nekotekina
2d37c6b5e2
sys_memory, sys_mmapper rewritten
...
LogBase::Fatal() removed
2015-07-10 20:37:12 +03:00
Nekotekina
39629c5c7a
IdManager collision threat fix
2015-07-10 04:31:43 +03:00
Nekotekina
82781e620a
Small fixes
2015-07-10 04:31:36 +03:00
Nekotekina
c0f13f7084
sleep_queue_t rewritten, used in sys_cond/sys_mutex
...
Some synchronization fixes
2015-07-10 04:31:34 +03:00
Nekotekina
83321c5be7
sys_time_get_current_time fixed, CALL_FUNC draft
2015-07-10 04:31:30 +03:00
Nekotekina
22e1da5e76
Minor cleanup
2015-07-10 04:31:29 +03:00
Nekotekina
3064cf8101
CHECK_EMU_STATUS, autojoin_thread_t
2015-07-10 04:31:27 +03:00
Nekotekina
8f9e1100c8
SPU fixes, various fixes
2015-07-10 04:31:25 +03:00
Nekotekina
721ad404d2
VM_CAST macro
2015-07-10 04:31:23 +03:00
Nekotekina
32d3d1fbe5
EXCEPTION() macro usage, sceNpTrophy improved
2015-07-10 04:31:20 +03:00
Nekotekina
6f1e76198a
Some fixes
2015-07-10 04:31:18 +03:00
Nekotekina
3aefa2b4e1
ThreadBase rewritten (wip)
2015-07-10 04:31:16 +03:00
Nekotekina
ec68e012f9
vm::var replaced, atomic_op simplified
2015-07-10 04:31:12 +03:00
Nekotekina
c598fe7aa9
atomic_op() rewritten, atomic.h refactoring
...
cellSync refactoring, wait_op() rewritten, bugfixes
2015-07-10 04:31:10 +03:00
Nekotekina
ef6f9f6ded
be_t constructor implemented, make() eliminated
...
be_t enums are forbidden, le_t improved, some operators cleaned.
2015-07-10 04:31:07 +03:00
Nekotekina
714da1aa7c
vm::var fix, vm::ptr improved
...
GetCurrentPPUThread() removed
2015-07-10 04:31:00 +03:00
Nekotekina
c0fdef7a12
Small fix
2015-07-10 04:30:54 +03:00
Nekotekina
317417d541
vm::cptr/bcptr/lcptr used widely for const pointers
2015-07-10 04:30:53 +03:00
Nekotekina
e896da8064
Added .aligned() method for vm::ptr
...
Added set_alignment() macro for setting alignment
Added alignof32() macro similar to sizeof32()
Added CHECK_SIZE, CHECK_ALIGN macro with static_assert
Minor refactoring
2015-07-10 04:30:51 +03:00
Nekotekina
a7f77c27f7
ARMv7Context used through multiple inheritance
...
Forgive me...
2015-07-10 04:30:49 +03:00
Nekotekina
bc9481db1b
PSV modules refactoring
2015-07-10 04:30:45 +03:00
Nekotekina
edb9595721
Using vm::ps3 namespace moved in proper places
...
Various fixes
2015-07-10 04:30:41 +03:00
Nekotekina
7eacfe19f6
vm::ptr fixes
...
std::function conversion removed (since it's convertible anyway),
pointer difference return type changed
vm::cptr, vm::bcptr aliases added
2015-07-10 04:30:39 +03:00
Nekotekina
63c5b2ab32
sys_fs_open() O_APPEND support
...
Added vm::static_ptr_cast, vm::const_ptr_cast, vm::reinterpret_ptr_cast
Added pointer comparison with vm::null
2015-07-10 04:30:37 +03:00
vlj
972515938c
Memory: Fix virtualProtect protecting too much memory.
2015-07-03 17:08:06 +02:00
Nekotekina
d8b1c3118a
vm::ref assignment operators fixed
2015-06-15 19:21:23 +03:00
Nekotekina
d7cb5a6e9e
vm::ref improved (operators)
...
atomic operators fixed, vm::ptr operators improved
2015-06-15 19:21:20 +03:00
Nekotekina
b7d967361d
vm::ptr conversion operator fixed
2015-06-15 19:21:18 +03:00
Nekotekina
3064560027
vm::ptr refactoring (operators improved)
...
vm::pptr, vm::bpptr added for PS3
is_le_t added
sizeof32() added (32-bit sizeof macro)
2015-06-15 19:21:14 +03:00
Nekotekina
4d9add5e7c
vm::ref improved, bugfixes
2015-06-15 19:21:09 +03:00
Nekotekina
1256d648c1
be_t simplified, vm::ref improved
...
remove_be_t renamed to to_ne_t (to native endianness)
le_t and to_le_t draft, bugfixes
2015-06-15 19:21:07 +03:00
DHrpcs3
39e679806b
Implemented some sys_prx syscalls
...
Fixed vm::ptr
Conflicts:
Utilities/BEType.h
Utilities/StrFmt.cpp
rpcs3/Emu/Memory/vm_ptr.h
rpcs3/Emu/SysCalls/lv2/sys_prx.cpp
rpcs3/Emu/SysCalls/lv2/sys_prx.h
Cherry-picked commit "Implemented some sys_prx syscalls"
2015-05-29 04:34:30 +03:00
Nekotekina
78fdcf75e7
Attribute macro changed
...
__forceinline -> force_inline
__noinline -> never_inline
printf_alike(x,y) added
2015-05-28 18:14:22 +03:00
Nekotekina
26e5a07905
Fix
2015-05-27 13:55:15 +03:00
Nekotekina
2823953489
Compilation fix
2015-05-27 12:51:25 +03:00
Nekotekina
22b78fec71
IdManager improved, atomic_t improved
...
Various changes
2015-05-27 06:11:59 +03:00
Nekotekina
98aee31c5a
refcnt.h removed
2015-05-25 21:12:53 +03:00
Nekotekina
f92c10ef71
Minor fixes
2015-05-08 12:45:21 +03:00
Nekotekina
935302b620
Bugfix
2015-04-20 02:49:13 +03:00
Nekotekina
2cafa84b75
Small changes
2015-04-18 20:18:23 +03:00
Nekotekina
b1f7543436
PPU stack fixed (2)
2015-04-18 04:35:58 +03:00
Nekotekina
00205bfa58
Abstract class for MsgDialog interface
2015-04-15 21:33:44 +03:00
Nekotekina
cfb41c4dab
Compilation fix
2015-04-15 18:12:10 +03:00
Nekotekina
d032bc5691
vfsLocalDir, rFile routines improved
2015-04-15 17:27:37 +03:00
Nekotekina
0fc6ec2df9
Fix
2015-03-13 18:37:00 +03:00
Nekotekina
d209cc5671
Fix
2015-03-13 18:36:03 +03:00
Nekotekina
6c36013e2a
sys_fs_open rewritten
2015-03-13 18:06:27 +03:00
Nekotekina
3e34bd64bf
Compilation fix
2015-03-13 04:59:25 +03:00
Nekotekina
5c31037c04
atomic_t update
2015-03-13 02:18:38 +03:00
Nekotekina
583b6d92ec
sys_fs syscalls detached from cellFs
2015-03-12 22:02:02 +03:00
Nekotekina
bd517cf915
atomic_t operators update
2015-03-11 19:58:50 +03:00
Nekotekina
a3d400b5cc
Minor cleanup
2015-03-11 18:30:50 +03:00
Nekotekina
a62eeaaecc
Bugfix
2015-03-10 22:16:31 +03:00
Nekotekina
11b409907e
atomic_t specializations fixed
2015-03-10 19:27:08 +03:00
Nekotekina
3cf80b0831
sys_lwcond* funcs moved and rewritten
2015-03-09 22:56:55 +03:00
Nekotekina
1653991b9d
Using "using" in vm::ptr/ref
2015-03-09 04:57:50 +03:00
Nekotekina
9e49a33b3c
SPU syscall improvements
2015-03-05 00:51:14 +03:00
Nekotekina
ad38e9f0fe
event_queue_t, event_port_t rewritten
2015-03-04 07:42:04 +03:00
Nekotekina
78c37ff8b6
Some bicycle for PSV
2015-03-03 23:09:23 +03:00
Nekotekina
8587ae5883
Compilation fix
2015-03-03 02:34:49 +03:00
Nekotekina
5f8cf18a5a
SPU refactoring
2015-03-03 00:09:20 +03:00
Nekotekina
bc94d92cba
nyu
2015-03-02 05:10:41 +03:00
Nekotekina
942d984dc5
sys_process_get_paramsfo implemented
2015-02-28 17:41:15 +03:00
S Gopal Rajagopal
85648da706
Merge remote-tracking branch 'upstream/master'
2015-02-18 23:43:37 +05:30
Nekotekina
20dce26b1d
Reservations improved
2015-02-17 03:08:23 +03:00
S Gopal Rajagopal
e7f278b5d2
PPUJIT: Support exception based MMIO and reservations
2015-02-16 22:49:17 +05:30
Nekotekina
e6c628caba
Memory (unfinished)
2015-02-16 04:53:53 +03:00
Nekotekina
1189503b4d
Some cleanup
2015-02-15 20:13:06 +03:00
Nekotekina
f01059283a
Some cleanup
2015-02-14 00:45:36 +03:00
Nekotekina
0d489518ab
Compilation fix
2015-02-13 23:24:18 +03:00
Nekotekina
5fc77fe89e
Merge branch 'master' of https://github.com/DHrpcs3/rpcs3
2015-02-13 23:15:35 +03:00
Nekotekina
ba83767706
Small fix
2015-02-13 18:26:42 +03:00
Nekotekina
267de68441
Memory cleanup, page flags implemented
...
RSXCMDMem, SPRXMem, MmaperMem removed
MainMem range fixed
2015-02-13 17:04:03 +03:00
Nekotekina
0eebfb0aaa
Memory cleanup: u64 -> u32, empty TLS fixed
...
cellGameContentPermit fixed
2015-02-12 23:10:25 +03:00
Robert Xu
00e637645c
Fix building on OS X 10.10
2015-02-10 23:17:39 -05:00
Nekotekina
31bbf56ff1
Reservations improved
2015-02-08 18:25:50 +03:00
Nekotekina
19acaf3f86
Bugfix, ECIWX/ECOWX disabled
2015-02-08 16:38:08 +03:00
Nekotekina
fcbbdc87fc
Bugfix
2015-02-08 01:09:23 +03:00
Nekotekina
90c021fc31
Small fix
2015-02-07 23:06:35 +03:00
Nekotekina
e70875ad5c
Linux fix
2015-02-07 18:35:54 +03:00
Nekotekina
6aef58318c
Fix 2
2015-02-07 17:13:32 +03:00
Nekotekina
c9f994d92d
Fix 1
2015-02-07 17:12:39 +03:00
Nekotekina
c71c5eb422
Compilation fix
2015-02-07 16:59:10 +03:00
Nekotekina
39db6bb461
Reservations improved
2015-02-07 16:46:42 +03:00