Commit graph

606 commits

Author SHA1 Message Date
Inviuz 22e679e23e cellSave fix plus bugfixes (#2631)
* cellSave fix plus bugfixes

allows allocation of last byte in memory block
prevents rpcs3 from crashing when closing non existent socket

* Fix overflow

* add more socket options
fix typo

prevent sys_net from operating on nullptr sockets
2017-04-05 16:08:58 +03:00
Nekotekina 37a97a71e3 vm::g_exec_addr added
s_ppu_compiled renamed
Exception handling enabled
2017-03-27 01:15:41 +03:00
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
Nekotekina 1af4848324 New reservations (not finished) 2015-02-07 02:39:51 +03:00
Nekotekina 5225ca8fc2 ARMv7: branch instrs fixed, new instructions
BIC_IMM, BIC_REG, RSB_IMM, LDR_LIT, STRB_REG, STRH_REG
Fixed initial stack size
2015-02-03 00:00:05 +03:00
Nekotekina 23c7028b2a ARMv7: ARM encoding introduced; bugfixes 2015-02-02 12:14:49 +03:00
Nekotekina e5dd03dbcb ARMv7: argc, argv setting, LDRSB_IMM, bugfixes 2015-02-01 16:52:34 +03:00
Nekotekina 8a945a1a52 Fixes 2015-02-01 10:09:24 +03:00
Nekotekina 6cab4d7100 Some functions added 2015-01-30 15:19:01 +03:00
Nekotekina 62c8f2ac34 ARMv7: stubs for other modules, loader improved 2015-01-29 18:48:05 +03:00
Nekotekina 579a88b7c4 vm_ptr: function format changed 2015-01-28 15:59:16 +03:00
Nekotekina 81340e9d5c scePerf stub, sceSysmodule, sema, ef 2015-01-27 03:19:51 +03:00
Nekotekina 509e09c2c5 ARMv7Callback.h, psv modules initialization fixed
sceLibc: __cxa_atexit, __aeabi_atexit
2015-01-21 17:34:05 +03:00
Nekotekina 5dd3437da9 ARMv7Context, some opcodes added 2015-01-20 18:06:15 +03:00
Nekotekina 36a134798b Small vm fix 2015-01-20 00:30:33 +03:00
Nekotekina 5195b2b1b4 RealToVirtualAddr became vm::get_addr() 2015-01-19 22:41:31 +03:00
Nekotekina c4558d2ca7 cast_armv7_gpr added 2015-01-19 21:02:33 +03:00
Nekotekina 6ec6303933 Compilation fix 2015-01-19 19:59:07 +03:00
Nekotekina 1629feb15e vm::ptr::make() fixed, added to_le() method 2015-01-19 19:30:35 +03:00
Nekotekina 8ecf3dcc80 Compilation fix 2015-01-19 17:34:11 +03:00
Nekotekina f3c9143a81 cast_to_ppu_gpr(), cast_from_ppu_gpr() updated 2015-01-19 17:16:31 +03:00
Nekotekina 0d28f378a7 fmt::format() optimization (fmt::unveil template) 2015-01-19 01:54:56 +03:00
Nekotekina cdeac05e88 vm::cast 2015-01-14 16:57:19 +03:00
Nekotekina f1f51521f4 PKG installer fixed 2015-01-13 20:38:32 +03:00
Nekotekina 88fd748dd5 Experimental vm::ptr support for fmt::format 2015-01-13 20:14:07 +03:00
Nekotekina da09477be8 Callback syntax changed
call() became overloaded () operator
2015-01-11 13:43:40 +03:00
Nekotekina bd71c1200e CB_FUNC/SC_FUNC fixed 2015-01-07 19:44:47 +03:00
Nekotekina 5f27e9b6e7 Compilation fix 2015-01-07 05:27:35 +03:00
Nekotekina 3f44e07b7c vm::stackvar (experimental)
Should be convenient for small allocations which would be done on stack
on real console
2015-01-07 05:14:00 +03:00
Nekotekina 896097da0d Experimental RawSPU MMIO implementation 2015-01-04 15:35:47 +03:00
Nekotekina f3cd908d5c Sync primitives reworked
(rwlock rewritten)
2015-01-02 02:41:29 +03:00
Nekotekina d648957864 Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2014-11-30 15:08:54 +03:00
DHrpcs3 a59cf50f03 Improved LLE Manager
Improved VFS
2014-11-29 15:16:53 +02:00
Nekotekina ea1bad8724 Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2014-11-24 22:51:01 +03:00
DHrpcs3 795729a0b7 Fixed vm_ptr
Improved elf64 loader.
Minor improvements to vm.
Added hotkeys to MainFrame.
2014-11-24 20:12:04 +02:00
Nekotekina 8df2c3d707 Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2014-11-22 19:49:54 +03:00
Raul Tambre 16b4b9bf40 Fix Travis compiling 2014-11-21 15:52:01 +02:00
DHrpcs3 cdfef3bf9e Fixed compilation errors
Implemented converter_le_be
2014-11-20 21:41:04 +02:00
DHrpcs3 598d929aba Implemented LLE Modules Manager (draft)
Improved loader core.
Implemented *_thread wrappers.
Minor fixes.
Temporary disabled ELF Compiler & DisAsm frame.
2014-11-19 16:16:30 +02:00
Nekotekina c8d4193f08 PSV: sceKernelCreateThread and sceKernelStartThread
Some fixes in callback manager
2014-11-10 03:21:50 +03:00
Nekotekina 3bdfc6b499 ARMv7: more opcodes, some changes in loader 2014-11-02 02:19:14 +03:00
Nekotekina 09fbda603c Atomic intrinsics refactoring 2014-10-10 22:19:14 +04:00
Nekotekina 74007d5e5d Small changes in memory and RSXIOMem
Some bugs fixed, some other changes.
2014-10-04 18:43:46 +04:00
Nekotekina 6b0857dcff Conflicts fixed 2014-10-02 16:19:52 +04:00
Nekotekina 4a6779469c Memory fixes 2014-10-01 17:18:38 +04:00
DHrpcs3 eada1fe12c Improved be_t
Fixed NV4097_SET_TWO_SIDE_LIGHT_EN
Added LIS, ORI, NOP & BLR to PPU Jit
2014-10-01 12:45:43 +03:00
Nekotekina ce97a7e7a6 Channel<> rewritten 2014-09-30 23:06:04 +04:00
Nekotekina c53a822c4e spursAddWorkload 2014-09-28 23:10:13 +04:00
Nekotekina ae17ef4d68 vm::atomic -> atomic_t 2014-09-27 22:49:33 +04:00
Nekotekina e40776ba79 cellSpursWakeUp, CellSpursWorkloadAttribute
+vm_atomic update (8bit type)
2014-09-26 01:41:35 +04:00
Nekotekina a4a4e572a0 vm::atomic update, small fixes 2014-09-23 18:27:18 +04:00
Nekotekina e5a485e50b More changes 2014-09-23 03:07:40 +04:00
Nekotekina c9ad88b3ff ...+CellSyncQueue 2014-09-21 17:02:05 +04:00
Nekotekina 3ab08e0d7a vm::atomic update (or, and, xor)
CellSyncMutex, CellSyncBarrier, CellSyncRwm refactoring
2014-09-21 03:29:42 +04:00
Nekotekina 169c8c47c0 vm::atomic update 2014-09-21 01:00:55 +04:00
Nekotekina 66000240ac vm::atomic update, be_t update
1) MakeFromLE replaced with make(), MakeFromBE removed. Compiler seems
to be able to optimize it anyway.
2) be_t<> conversion operator temporarily replaced with conversion
through LE because it can't work with all possible numeric conversions
(float<>int for example)
2014-09-20 03:16:11 +04:00
Nekotekina b6f8700b8b vm::atomic initial structure 2014-09-19 23:11:43 +04:00
Nekotekina 5f1253598c Fix formatting 2014-09-15 23:04:18 +04:00
Nekotekina 597d07bf24 Small refactoring 2014-09-15 02:17:24 +04:00
Nekotekina 5a4aa9096b Float/vector arg support for callbacks 2014-09-12 17:08:24 +04:00
Nekotekina fe53f6f2d7 Compilation fix 2014-09-11 23:33:20 +04:00
Nekotekina cd39256361 CallbackManager rewritten 2014-09-11 23:18:19 +04:00
Nekotekina 470afd78d5 WIP (cellPngDec refactoring) 2014-09-08 04:54:17 +04:00
Nekotekina 43a61d0ab9 Memory.Write*/Read* replaced 2014-09-06 17:33:01 +04:00
Nekotekina 12becc6120 MemoryBase::operator[] replaced 2014-09-06 02:12:10 +04:00
Nekotekina db9cbe6cdd MemoryBase::operator+ replaced 2014-09-06 00:26:36 +04:00
Nekotekina 225dba754d GetMemFromAddr, VirtualToRealAddr replaced
Some arg types changed
2014-09-05 21:23:00 +04:00
Nekotekina 964c1bfd6c WriteString replaced
strcpy_trunc (defined in GNU.h) is better for fixed-length char arrays
2014-09-05 03:23:36 +04:00
Nekotekina 4346514b9d Compilation fix 2014-09-04 21:39:02 +04:00
Nekotekina 9f2afffca1 Some functions removed 2014-09-04 21:32:20 +04:00
Nekotekina 1337cf4f04 Some memory functions removed 2014-09-03 20:33:30 +04:00
Nekotekina d0e532e7ce DynamicMemoryBlockBase.h removed
Map() and Unmap(): roughly rewritten.
I checked every memory-related syscall and I'm sure that they don't
really need any mirroring. Some unused code deleted.
2014-09-03 01:48:44 +04:00
Nekotekina 1626df7e46 Compilation fix 2014-09-02 05:14:24 +04:00
Nekotekina b952017a3a mem_ptr_t replaced 2014-09-02 05:05:13 +04:00
Nekotekina bd9775e0eb Callbacks fix + TODO 2014-09-02 02:59:46 +04:00
Nekotekina 9c94a6943d mem_bptr_t replaced 2014-09-02 02:22:13 +04:00
Nekotekina 37da5589e4 Compilation fix 6 2014-09-02 01:46:02 +04:00
Nekotekina 51ea1e3bed Compilation fix 5 2014-09-02 01:41:36 +04:00
Nekotekina 73555c1df1 Compilation fix 4 2014-09-02 01:22:07 +04:00
Nekotekina 4f6a407393 Compilation fix 3 2014-09-01 22:29:51 +04:00
Nekotekina 09022b1000 Compilation fix 2 + callback fix 2014-09-01 21:38:55 +04:00
Nekotekina 774b5be7d7 Patch from DH applied 2014-09-01 20:16:44 +04:00
Nekotekina f31ed4e9f2 mem_func_ptr_t replaced 2014-09-01 16:47:26 +04:00
Nekotekina 9501869aa1 mem32_t replaced 2014-09-01 04:51:48 +04:00
Nekotekina 0b5ef1d8f9 mem64_t replaced
Added conversion from vm::var to vm::ptr of the same type.
2014-09-01 02:58:08 +04:00
Nekotekina 0d94c78e63 mem16_t replaced
I think it's not bad to use pointer type when possible, because it's
often originally pointer, not reference.
2014-09-01 01:55:38 +04:00
Nekotekina 49b295e332 Bugs fixed 2014-08-31 23:38:03 +04:00
Nekotekina a8cfefac07 vm::ptr for u8/char types, mem_list_ptr_t removed 2014-08-31 19:01:48 +04:00
Nekotekina ebc4fa3e81 Compilation fix 2014-08-31 15:18:32 +04:00
Nekotekina 571bd63644 Test 2014-08-31 13:54:12 +04:00
Nekotekina 26e03fa794 Compilation fix 3 2014-08-31 03:38:55 +04:00
Nekotekina 140d40b5bc Compilation fix 2 2014-08-31 03:19:10 +04:00
Nekotekina ff3df64a26 Compilation fix 2014-08-31 03:06:43 +04:00
Nekotekina 367b8e7129 memory-wip branch merged 2014-08-31 02:15:11 +04:00
Nekotekina 9e2bb9e9d2 Some warnings fixed 2014-08-31 00:41:01 +04:00
Nekotekina 3269c88d02 Some warnings fixed, some code removed 2014-08-30 21:51:00 +04:00
Nekotekina 028ce2dd9f stdafx_gui.h created, wx removed from stdafx.h 2014-08-29 02:49:26 +04:00
Nekotekina 693e7a38fa Some std include moved 2014-08-28 20:29:05 +04:00
Nekotekina b37f3e1b93 mem_class_t eliminated
It didn't work for some reasons anyway,
2014-08-28 05:18:35 +04:00
Nekotekina 5d3a612003 SC_FUNC.h rewritten
Now float arguments should work correctly
2014-08-26 18:38:14 +04:00
Nekotekina 61c4a88ab4 rFile.h, Thread.h, IdManager.h includes moved 2014-08-25 18:56:13 +04:00
Nekotekina 861ce9e733 include clearing 2014-08-23 01:15:02 +04:00
Nekotekina 652c5901f8 Another try 2014-08-22 20:36:27 +04:00
Nekotekina 5abd3fabfa Attempt to remove some includes 2014-08-22 18:21:55 +04:00
Nekotekina 89b944c397 REG_FUNC macros
And some auxiliary changes
2014-08-19 22:17:20 +04:00
Nekotekina 9f0c5899d6 Little fix (forbids pointer arithmetic in some places) 2014-08-14 16:15:04 +04:00
raven02 e948842faa Damn typo 2014-08-10 07:10:44 +08:00
raven02 e49fcd4b21 Fix typo 2014-08-09 23:31:21 +08:00
Nekotekina e7ae71bd73 Copy(To)(From)(Real) elimination
It was nothing but a crutch
2014-08-05 21:33:02 +04:00
Nekotekina 8f04ab07ed IsGood() check elimination
Reasons: 1) It's unsafe - we cannot guarantee that address is still good
while it is used. 2) It's wrong in many modules which are usually just
compare pointer with zero.
2014-08-05 14:18:22 +04:00
DHrpcs3 7411012db9 Fixed compilation errors
Implemented vm::ptr & vm::ref
2014-08-01 19:27:48 +03:00
DHrpcs3 cd33be1491 Implemented vm::var.
MemoryAllocator replaced with vm::var
2014-07-31 19:08:02 +03:00
Nekotekina 74914c5916 be_t<> constructor elimination 2014-07-18 20:55:26 +04:00
Nekotekina ecbc9d1b08 RawSPU cleanup 2014-07-16 20:10:18 +04:00
Nekotekina 3d9c76a80d RawSPU initialization fix 2014-07-16 16:09:43 +04:00
Alexandro Sánchez Bach 75e81bc969 Merge pull request #572 from Nekotekina/master
Update
2014-07-15 01:06:53 +02:00
Nekotekina 01aa74e4a8 IsGoodAddr() bug fixed 2014-07-14 23:15:30 +04:00
boxingcow ebf713c5a6 Update Memory.h
To remove extraneous code.
2014-07-14 09:18:45 +01:00
Nekotekina 2eafb235ba spu_printf fixed 2014-07-13 22:55:14 +04:00
Nekotekina 7370c49ff3 Forgotten memory check + PSV stuff fixed 2014-07-13 16:26:38 +04:00
boxingcow a4f73bc705 Fix broken OS X build with isnan and MAP_ANONYMOUS 2014-07-12 22:06:43 +01:00
Nekotekina 2331c5991a Little fix 2014-07-12 20:38:37 +04:00
Nekotekina a94d0771fe Compilation fix 2 2014-07-12 19:40:52 +04:00
Nekotekina 9b5a3fd2b6 Compilation fix 2014-07-12 19:30:07 +04:00
Nekotekina 1908842255 Build fix
Non-ASCII characters replaced in PPUThread.h
Some cleanup
2014-07-12 18:53:36 +04:00
Sacha 9816ec3aa0 Fix conflicts. 2014-07-12 17:02:39 +10:00
Sacha 6e06fdf638 Stdafx: Major header cleanup 2014-07-12 16:33:04 +10:00
Nekotekina c16daed87d Compilation fix 2014-07-11 16:50:50 +04:00
Nekotekina 2203cb1dcf F|_|C|< the speed, we need some checks 2014-07-11 16:22:56 +04:00
Nekotekina 2fe52451e1 Exceptions fixed 2014-07-11 15:32:34 +04:00
Nekotekina 125359e30e Some fixes 2014-07-11 13:18:23 +04:00
Nekotekina 259b57c64a Fixed conflicts 2014-07-11 10:09:38 +04:00
Sacha 6b148d1d4c CMake: Improve to support build type. Default to release. 2014-07-11 02:46:10 +10:00
Sacha ab7a45aede stdafx: move out some uncommon includes 2014-07-11 00:16:26 +10:00
Nekotekina bb0695e76c Using recursive mutex 2014-07-10 00:02:21 +04:00
Nekotekina 123c4ba1a8 Some bugs fixed 2014-07-09 03:04:36 +04:00
Nekotekina 6e77f80d5f Small fix 2 2014-07-08 21:18:12 +04:00
Nekotekina 34590bc884 Small fix 2014-07-08 21:08:56 +04:00
Nekotekina 50b42f8593 ifdefs and linux (posix) version (not tested) 2014-07-08 18:26:49 +04:00
Nekotekina d1fff053c2 Some cleanup 2014-07-07 21:22:36 +04:00
Nekotekina 19db12e090 Memory allocation changes 2014-07-07 03:36:07 +04:00
Nekotekina abbbaa222b cellMsgDialog functions improved
Callback can return result now
2014-07-04 02:52:43 +04:00
Peter Tissen 95f1a0e645 use only one set of logging macros instead of two and don't use free() as a function name 2014-06-27 15:28:17 +02:00
Peter Tissen 21da317453 Logging system rework
* use one central unified log with channels/priorities ad-hoc listener registration and de-registration
* disable buffering by default
* add multi-threaded ringbuffer implementation
* use buffered listener for the gui (using the ringbuffer)
2014-06-26 17:34:28 +02:00
Peter Tissen c37905e465 initial start to eliminate static func init, not compilable atm
move module initialization into a module manager, still has some issues like stopping not working and debug crashing

add #idef 0 to modules that aren't in the windows project

don't double initialize and don't de-initialize for now, since many modules don't expect it and it leads to many errors

remove duplicate module lists for empty modules and implemented ones, make Module non-copyable but movable

add secondary project, no real use for it now

add some memleak config to the emucore and add asmjit path to rpcs3

small rebase error fixed to get it to compile again

add filters for emucore

re-add the module manager and static file

WIP commit, linker errors abound

some more abstraction layer stuff

fix the remaining linker errors, re-enable platform specific mouse, pad and keyboard handlers

rebasing

fix memset undefined and re() usage of se_t before declaration

Add wxGUI define by default for cmake builds

fix copy constructors of Datetime header

fix copy constructors of other wx interface classes

remove static declarations of global variables

make wxGLCanvas constructor non-ambiguous even with wx2.8. compat mode, fix wrong std::exception constructor calls

remove duplicate definition for FromUTF8 and ToUTF8

temp changes
2014-06-08 23:16:06 +02:00
Peter Tissen 40add8f9a2 Seperate ConLog.h and ConLogFrame.h (for now only seperate headers)
make precompiled header slimmer under Linux to increase CI and dev-machine build-times

make sure unused modules don't compile
add unused modules to the VS project to easier keep track of them
2014-06-06 02:50:22 +02:00
Bigpet 924f117ba0 help out compilers that use two phase lookup as dictated by the standard 2014-06-01 21:28:29 +02:00
DH c00f4b6022 Improved mem_ptr_t.
Implemented mem_func_ptr_t.
2014-06-01 12:38:37 +03:00
Hykem 490d1059ac Merge pull request #250 from ItzWarty/cellPngDecDecodeData_optimizations
Optimize cellPngDecDecodeData's CELL_PNGDEC_ARGB case
2014-05-24 17:23:17 +01:00
B1ackDaemon e569de73d6 Merge pull request #248 from ItzWarty/master
virtual memory block reads/writes properly fail if address is out of bounds
2014-05-21 18:22:01 +03:00
Michael Yu 85785b471e MEMORY: Fixed IsMyAddress bound error (GetEndAddr returns an inclusive value) 2014-05-19 14:58:01 -07:00