Commit Graph

531 Commits (0b4055c1520fbe7f697d2f1f93a85b559504cca4)

Author SHA1 Message Date
bunnei 477b0caca4 svc: updated WaitSynchronizationN to properly use first pointer argument 2014-06-02 17:54:07 +07:00
bunnei 4819e9a60f svc: changed DuplicateHandle log message from "error" to "debug" 2014-06-01 22:33:53 +07:00
bunnei 3fb31fbc57 svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support 2014-06-01 22:12:54 +07:00
bunnei 10447d1f48 kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule 2014-06-01 21:42:50 +07:00
bunnei e8a17ee6fd arm: added option to prepare CPU core (while mid-instruction) for thread reschedule 2014-06-01 21:40:10 +07:00
bunnei 15c7d81706 svc: cleaned up function_wrappers, updated various SVCs to make use of pointer arguments 2014-06-01 20:48:29 +07:00
Disruption 0be75c13ee Added 'this' reference to num_instructions field so it's properly updated,as before the method was affecting the local method parameter rather than the class field 2014-06-01 21:08:26 +07:00
bunnei 00adbc7817 log: updated MAX_LOGLEVEL to use correct log level enum type 2014-06-01 11:49:58 +07:00
bunnei 5cd922d151 log: updated GenericLog __attribute__ for newly added parameter 2014-06-01 11:05:48 +07:00
bunnei 2f55c9e55b svc: added missing function wrapper for SleepThread 2014-06-01 10:41:41 +07:00
bunnei 7dd18a8df9 gsp: always pass through synchronization barrier for commands 2014-06-01 10:41:23 +07:00
bunnei f2f638492b svc: updated waitSychronization to not overwrite handle on return, added stub for SleepThread (does nothing) 2014-06-01 10:37:19 +07:00
bunnei ba98e25e97 thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for execution 2014-06-01 10:35:42 +07:00
bunnei f7cececc5c event: added a hackish ability to set an event as "locked" to its current state, cleaned up some comments 2014-06-01 10:33:55 +07:00
bunnei 55325dea4c hle: added stubbed service for ndm_u 2014-05-30 00:24:04 +07:00
bunnei c451ad2835 service: cleaned up log messages 2014-05-30 00:22:39 +07:00
bunnei 2482be13df service: removed PT_A from, as this was just an alias for APT_U 2014-05-30 00:22:25 +07:00
bunnei 007b7edada srv: fix to log unimplemented service (instead of crash) 2014-05-29 23:54:09 +07:00
bunnei d8a2c8c657 mutex: fixed typo in ReleaseMutex 2014-05-29 23:31:01 +07:00
bunnei c404d22036 hle: cleaned up log messages 2014-05-29 23:26:58 +07:00
bunnei b0bad47c0e svc: updated OutputDebugString to use OS_LOG 2014-05-29 23:04:18 +07:00
bunnei 55a540eb02 arm: removed unnecessary code when calling SVC from skyeye 2014-05-29 23:03:47 +07:00
bunnei 6fc62f8c93 log: fixed to not print twice, enabled coloring, added OS print logging as its own type 2014-05-29 23:03:03 +07:00
bunnei 9839f3b6cd core: changed time delay before kernel reschedule to "approximate" a screen refresh 2014-05-29 20:30:17 +07:00
bunnei 6d267142ad svc: changed unimplemented SVC log messages from "debug" messages to "error" messages 2014-05-29 20:26:27 +07:00
bunnei 58af0da792 svc: added svcClearEvent, stubbed function for svcArbitrateAddress, and various fixes
- force kernel reschedule after svcWaitSynchronization
- fixed some bugs with passing in pointer arguments
- cleaned up some comments and log messages
2014-05-29 20:24:51 +07:00
bunnei d51c84dde2 event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some comments 2014-05-29 20:00:44 +07:00
bunnei 545e6919ce service: added additional hack to return success on unimplemented service calls 2014-05-29 18:54:59 +07:00
bunnei b08b3c154f srv: changed a NOTICE_LOG to DEBUG_LOG 2014-05-29 18:53:45 +07:00
bunnei e7202e5b2d svc: added ArbitrationType enumeration 2014-05-29 18:52:57 +07:00
bunnei 4b4a6de1d8 apt: added stubbed function for InquireNotification 2014-05-28 23:33:24 +07:00
bunnei c4b5168b45 hle: properly cast 64-bit function wrapper parameters to (u64) 2014-05-28 22:03:10 +07:00
bunnei 9fd5d6c7d8 hle: removed PARAM64 macro (this was incorrect), made several bug fixes accordingly for decoding U64 function parameters 2014-05-28 21:20:00 +07:00
bunnei 46aef01d04 lcd: moved kFrameTicks to lcd.h for use in other modules 2014-05-28 21:19:13 +07:00
bunnei 70af9d620b service: changed interface to return 0 (no error) when a service method is unimplemented - hack to make apps boot further 2014-05-28 18:39:28 +07:00
bunnei 3972d4ca8b APT_U: added stubbed function for APT_U::Enable, fixed some log messages to be more consistent 2014-05-27 23:56:08 +07:00
bunnei 2ed6652f10 mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertions 2014-05-27 22:42:16 +07:00
bunnei 47e781e80a svc: implemented WaitSynchronization1, WaitSynchronizationN, and CreateEvent 2014-05-27 22:41:09 +07:00
bunnei 94b30e8a38 APT_U: added event creation to Initialize method 2014-05-27 22:29:11 +07:00
bunnei ea8627d536 event: fixed typos and updated CMakeLists 2014-05-27 22:14:38 +07:00
bunnei beea6f054a event: added SetEventLocked method to change status an events lock 2014-05-27 22:14:00 +07:00
bunnei fd69fd0325 kernel: added event module to support creation of CTR "Event" objects 2014-05-27 20:16:13 +07:00
bunnei d493d725ac mutex: removed docstring comment that is no longer relevant 2014-05-26 22:49:11 +07:00
bunnei 93cd5a0691 mutex: added additional docstrings 2014-05-26 22:47:47 +07:00
bunnei a432dc8f39 kernel: added WaitSynchronization method to Kernel::Object 2014-05-26 22:17:49 +07:00
bunnei 58a3adcdd2 kernel: updated SyncRequest to take boolean thread wait result as a parameter 2014-05-26 22:12:46 +07:00
bunnei 6e51c56fe4 svc: added some assertions 2014-05-26 21:57:10 +07:00
bunnei 16fea415d0 service: Renamed Sync to SyncRequest 2014-05-26 21:56:51 +07:00
bunnei 3d7693f75f kernel: added enum for known CurrentThread and CurrentProcess handles 2014-05-26 21:56:23 +07:00
bunnei 96b2105524 srv: added a real mutex for GetProcSemaphore (instead of stubbed) 2014-05-26 21:55:55 +07:00
bunnei 9f7ed2d027 svc: changed SendSyncRequest to use Kernel::Object SyncRequest (instead of just service Interface class) 2014-05-26 21:17:10 +07:00
bunnei d73d782ba7 kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest 2014-05-26 21:01:27 +07:00
bunnei 15d2ab1b33 svc: added stub for DuplicateHandle SVC call 2014-05-26 20:55:48 +07:00
bunnei 0aa582bf89 service: fixed typo that MSVC did not catch as an error 2014-05-22 23:48:37 +07:00
bunnei 420971a849 core: fixed headers in CMakeLists 2014-05-22 23:39:25 +07:00
bunnei 32c314c992 Merge branch 'threading' 2014-05-22 22:57:45 +07:00
bunnei 1de7e8cbe4 Merge branch 'master' of https://github.com/bunnei/citra 2014-05-22 22:54:56 +07:00
bunnei 51f636b3d4 core: added Kernel::Reschedule() call to check for thread changes, shortened delay time to 100 instructions 2014-05-22 22:54:07 +07:00
bunnei f8a98ab022 svc: added a check to ensure that a service was implemented before attempting to connect to its port 2014-05-22 22:49:29 +07:00
bunnei 7bb66421a0 lcd: added thread wait after (faked) vblank interrupt (would have) occurred 2014-05-22 20:01:04 +07:00
bunnei b99ac2c3d6 thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argument 2014-05-22 19:36:56 +07:00
bunnei 7c0b006076 thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThread 2014-05-22 19:32:45 +07:00
bunnei d26f3d4c1f kernel: refactored function naming to remove "__" prefix 2014-05-22 19:06:12 +07:00
bunnei ac21e8f2db core: moved armcopro.cpp to correct filter folder (arm/interpreter) 2014-05-22 18:51:55 +07:00
bunnei 14bd37c5dc thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR reset 2014-05-22 18:50:36 +07:00
bunnei 9fddba6843 APT_U: added a debug log on calling GetLockHandle 2014-05-22 18:48:14 +07:00
bunnei 481d936d34 arm_interpreter: fixed load context to currently resume a thread 2014-05-22 18:47:42 +07:00
bunnei 6a78be5930 thread: fixed bug where result of __NextThread was not being properly checked when NULL 2014-05-21 21:42:18 +07:00
bunnei 06e3c3d55a svc: added Kernel::Reschedule to svc WaitSynchronization1, updated log messages to include newly created handles 2014-05-21 21:41:40 +07:00
bunnei 706584f007 svc: enabled use of newly created kernel thread handle 2014-05-20 23:36:35 +07:00
bunnei eb537c560a mutex: refactored the interface to code to return a Mutex* handle 2014-05-20 23:23:58 +07:00
bunnei 978e1d4653 mutex: initial commit of HLE module 2014-05-20 23:03:45 +07:00
bunnei 08e6a9bf89 svc: added some comments 2014-05-20 22:57:54 +07:00
bunnei 1c5802c35a kernel: fixed include, in general include "common.h" not "common_types.h" 2014-05-20 22:27:46 +07:00
bunnei 9bf7ce535a service: removed redundant include of common_types.h 2014-05-20 22:27:12 +07:00
bunnei a721a4eb33 arm: removed include of windows.h from armdefs.h to arminit.c (only module that uses it) 2014-05-20 22:26:40 +07:00
bunnei 22eb9a8981 armemu: missed rename of "Syscall" to "SVC" 2014-05-20 22:25:40 +07:00
bunnei 203541da11 thread: added correct lowest thread priority, added a thread priority check, and added some comments 2014-05-20 21:02:35 +07:00
bunnei bed4e920fa thread: exposed ResumeThreadFromWait function for use in other kernel modules 2014-05-20 21:00:10 +07:00
bunnei 75c6d2a8fa thread: moved threading calls to the Kernel namespace 2014-05-20 19:37:46 +07:00
bunnei 0012802456 ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guide 2014-05-20 18:52:54 +07:00
bunnei 49dc2ce8ac ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching 2014-05-20 18:50:16 +07:00
bunnei 143bba2045 renamed "syscall" module to "svc" (more accurate naming) 2014-05-20 18:28:38 +07:00
bunnei f654a03f1f thread: whitespace change - fixed * and & placement 2014-05-20 18:20:35 +07:00
bunnei 44336329ed - created a Kernel namespace
- cleaned up Kernel code a bit (moved stuff into namespace, fixed whitespace issues)
- added handle types for all different CTROS handles
2014-05-20 18:13:25 +07:00
bunnei 0886dc70ed apt: changed stubbed handle to be something other than 0xDEADBEEF (used as a magic value in other places) so that I can track how it propagates through the app code 2014-05-19 22:21:17 +07:00
bunnei f5a119a367 thread: added declaration for __KernelReschedule to be used by syscall module 2014-05-19 22:19:48 +07:00
bunnei 29930ac110 VFP: disable DBG messages because they spam the console with unimportant skyeye junk 2014-05-19 22:19:10 +07:00
bunnei 204c6bfeca Merge pull request #2 from archshift/issue-7-fix
Fixes issues with building Citra on OSX
2014-05-19 21:46:57 +07:00
archshift 5a8ed196e6 common_types: Changed BasicRect back to Rect, in the common namespace
Only Rect is in the namespace for now; the rest of common should be added in the future
2014-05-19 17:57:35 +07:00
archshift 034e3aabc8 Improved clarity and whitespace
Changed QGL version to 3,2 in order to be less restrictive, yet it should still change up to 4,1 on OSX on Qt5.
2014-05-19 15:21:55 +07:00
archshift 403e4bf837 CMakeLists: rename HEADS, improved comments
Changes for clarity of comments, removed redundant compiler flags.
2014-05-19 15:19:36 +07:00
archshift 71b8789803 Indent fixes 2014-05-19 13:51:59 +07:00
bunnei 9592d61037 Merge pull request #13 from archshift/master
Use runtime arguments to specify boot filename.
2014-05-18 22:39:40 +07:00
bunnei 088a2de9a6 renamed "session" to "handle" 2014-05-18 22:24:26 +07:00
bunnei 112904b832 - renamed NewHandle to CreateHandle
- updated CreateHandle/DeleteHandle to use KernelObject's
2014-05-18 22:09:08 +07:00
bunnei 16d55842c5 fix warning 2014-05-18 21:43:41 +07:00
bunnei eab6fd01d7 - updated service(s) to be KernelObject's
- various cleanups
2014-05-18 21:43:29 +07:00
bunnei 725d240bf7 renamed "UID" to "Handle" where appropriate 2014-05-18 18:24:24 +07:00
bunnei 772abad778 - moved Handle/Result definitions to kernel.h
- added ResetType enum
2014-05-18 18:12:29 +07:00
bunnei 8fba88d5d5 - added stub for CreateEvent
- changed some stubbed SVCs to return unique handle names for debugging purposes
2014-05-18 17:52:02 +07:00
bunnei 6a6c7eeccb added stubbed function for WaitSynchronizationN 2014-05-17 23:37:25 +07:00
archshift c396a5ac57 Fixed vfp issues 2014-05-17 10:55:45 +07:00
bunnei fbc04ad0c7 ignore thumbemu 0xDEADCODE debugging catch on MCR 2014-05-17 13:48:27 +07:00
bunnei 09b8e8fb6a changed a comment 2014-05-17 13:47:55 +07:00
bunnei cfea5fdd58 cleanups to SVC CreateThread 2014-05-17 13:47:44 +07:00
bunnei 3fac6dc39e Merge branch 'master' into threading 2014-05-17 13:35:20 +07:00
bunnei 265c770a9d updated how we call ARM core to make things much faster 2014-05-17 11:59:18 +07:00
archshift c1394650ff Updated cmakelists 2014-05-16 23:39:27 +07:00
archshift b8c8d0903e Merge remote-tracking branch 'upstream/master' into issue-7-fix 2014-05-16 23:21:03 +07:00
bunnei 14ae026386 - added enum ThreadProcessorId
- reorganized some kernel thread functions
- added placeholder __KernelWaitThread_Synchronization function
2014-05-17 00:56:00 +07:00
bunnei 43bc2ac724 added MIN, MAX, and CLAMP macros to common_funcs 2014-05-17 00:53:41 +07:00
bunnei 7cdb705059 - replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTH
- added KERNEL_DEFAULT_STACK_SIZE definition (0x4000)
2014-05-16 23:48:15 +07:00
bunnei 39ee75fc8d added stubbed GetProcSemaphore - does nothing but avoids an exception 2014-05-16 23:25:16 +07:00
bunnei 4faed70b40 add kernel.* and thread.* to VS filters 2014-05-16 23:24:39 +07:00
bunnei 540a693eae updated APT_U::GetLockHandle to return a valid handle 2014-05-16 23:23:56 +07:00
bunnei 0b1ba2f37a Merge master into threading to add support for VFP 2014-05-16 22:24:34 +07:00
bunnei 92be5517c4 same fix as last commit - just for vfpsingle.cpp 2014-05-16 21:25:33 +07:00
bunnei 1dc08765a8 another VFP fix for GCC 2014-05-16 21:18:01 +07:00
bunnei 509f63486a fixed VFP DBG log for GCC 2014-05-16 21:10:30 +07:00
bunnei afc9e27fc7 fixed typo in CMakeLists.txt 2014-05-16 20:57:31 +07:00
bunnei 145a91f21f - reenabled MCR and MRC functions now that VFP is attached
- removed HLE::CallMCR function (was pointless)
2014-05-16 20:52:46 +07:00
bunnei a2804bf701 - removed unused stubbed out code
- fixed some compiler issues with xscale_copro when porting code to Windows
- fixed some #include's
2014-05-16 20:04:13 +07:00
bunnei f872807de2 added maverick.cpp to ARM core from skyeye 2014-05-16 00:52:42 +07:00
bunnei f3c9875acb fixed includes 2014-05-16 00:52:13 +07:00
bunnei f5400080bd enabled CP_ACCESS_ALLOWED 2014-05-16 00:51:59 +07:00
bunnei 68408ed9b9 fixed include path 2014-05-16 00:51:45 +07:00
bunnei 7cd7d17954 removed undefined function ARMul_ConsolePrint 2014-05-16 00:51:36 +07:00
bunnei ad49d481a8 added missing armcopro from skyeye 2014-05-16 00:23:36 +07:00
bunnei 9a642caee7 added missing skyeye mmu code 2014-05-15 23:39:06 +07:00
bunnei 56846a4200 fixed armmmu imports 2014-05-15 22:58:21 +07:00
bunnei 3e1eafa244 - moved mmu to arm/interpreter folder
- added initial VFP code from skyeye
2014-05-15 22:54:17 +07:00
bunnei 4fba4f36bf - added SVC stubs for QueryMemory and GetThreadId
- added SVC structs MemoryInfo and PageInfo
2014-05-15 20:17:30 +07:00
bunnei 4910b6f336 added memory mapped region for system mem - sdk demos load a segment here on ELF load 2014-05-15 18:56:28 +07:00
bunnei 3c240abf10 added ability to load AXF files (same as ELF) 2014-05-15 18:54:57 +07:00
bunnei 940330c6e1 completely gutted/refactored threading code to be simpler 2014-05-15 18:27:08 +07:00
bunnei a7cc430aa4 changed "UID" to "Handle" to be a little more consistent with CTR naming 2014-05-15 18:26:28 +07:00
bunnei 367d63691f - added ThreadContext struct
- cleaned up CreateThread svc
2014-05-15 18:25:56 +07:00
bunnei cf2eb8e3d3 added ThreadQueueList class to common (taken from PPSSPP) 2014-05-15 18:19:34 +07:00
bunnei b99a5da65b - added helper function for __KernelCreateThread
- added __KernelSwitchToThread for enabling a thread
- added __KernelRotateThreadReadyQueue
2014-05-14 20:50:30 +07:00
bunnei 9f5588725c changed primary thread priority to 0x30 - this is typical, not 0x31 2014-05-14 20:49:27 +07:00
bunnei 4d7f3c74fd added function stubs for EatCycles and ReSchedule 2014-05-14 20:49:02 +07:00
bunnei 0de78eb3c4 fixed thread reset to not set stack address 2014-05-13 23:18:28 +07:00
bunnei 7d078189da various cleanups / remove unused code 2014-05-13 22:29:31 +07:00
bunnei 3838d46b90 added a bunch of threading code, recycled from PPSSPP, with lots of hacks in for 3DS... doesn't really do much yet. Just a jumping off point 2014-05-13 22:00:11 +07:00
bunnei b87536e82c changed loader to use __KernelLoadExec 2014-05-13 21:58:51 +07:00
bunnei b5ef630c9c added CreateThread, CreateMutex, and ReleaseMutex SVC stubs (just parameter decoding for now) 2014-05-13 21:58:26 +07:00
bunnei 1583d2b6f3 - added __KernelLoadExec function
- fixed some logging
2014-05-13 21:57:12 +07:00
bunnei ce4d271a53 added option to set CPSR register to arm_interface 2014-05-11 22:14:13 +07:00
bunnei 6b264518a5 added initial kernel/thread modules 2014-05-09 22:11:18 +07:00