Commit graph

410 commits

Author SHA1 Message Date
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