bunnei
b78aff8585
svc: added optional name field to Event and Mutex (used for debugging)
2014-06-02 20:38:34 -04:00
bunnei
8c0f02a70c
kernel: moved position of * for GetTypeName and GetName
2014-06-02 20:36:58 -04:00
bunnei
2773360f84
coprocessor: reenabled debug log
2014-06-02 20:36:34 -04:00
bunnei
477b0caca4
svc: updated WaitSynchronizationN to properly use first pointer argument
2014-06-02 17:54:07 -04:00
bunnei
4819e9a60f
svc: changed DuplicateHandle log message from "error" to "debug"
2014-06-01 22:33:53 -04:00
bunnei
3fb31fbc57
svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support
2014-06-01 22:12:54 -04:00
bunnei
10447d1f48
kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule
2014-06-01 21:42:50 -04:00
bunnei
e8a17ee6fd
arm: added option to prepare CPU core (while mid-instruction) for thread reschedule
2014-06-01 21:40:10 -04:00
bunnei
15c7d81706
svc: cleaned up function_wrappers, updated various SVCs to make use of pointer arguments
2014-06-01 20:48:29 -04: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 +02:00
bunnei
2f55c9e55b
svc: added missing function wrapper for SleepThread
2014-06-01 10:41:41 -04:00
bunnei
7dd18a8df9
gsp: always pass through synchronization barrier for commands
2014-06-01 10:41:23 -04:00
bunnei
f2f638492b
svc: updated waitSychronization to not overwrite handle on return, added stub for SleepThread (does nothing)
2014-06-01 10:37:19 -04: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 -04: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 -04:00
bunnei
55325dea4c
hle: added stubbed service for ndm_u
2014-05-30 00:24:04 -04:00
bunnei
c451ad2835
service: cleaned up log messages
2014-05-30 00:22:39 -04:00
bunnei
2482be13df
service: removed PT_A from, as this was just an alias for APT_U
2014-05-30 00:22:25 -04:00
bunnei
007b7edada
srv: fix to log unimplemented service (instead of crash)
2014-05-29 23:54:09 -04:00
bunnei
d8a2c8c657
mutex: fixed typo in ReleaseMutex
2014-05-29 23:31:01 -04:00
bunnei
c404d22036
hle: cleaned up log messages
2014-05-29 23:26:58 -04:00
bunnei
b0bad47c0e
svc: updated OutputDebugString to use OS_LOG
2014-05-29 23:04:18 -04:00
bunnei
55a540eb02
arm: removed unnecessary code when calling SVC from skyeye
2014-05-29 23:03:47 -04:00
bunnei
9839f3b6cd
core: changed time delay before kernel reschedule to "approximate" a screen refresh
2014-05-29 20:30:17 -04:00
bunnei
6d267142ad
svc: changed unimplemented SVC log messages from "debug" messages to "error" messages
2014-05-29 20:26:27 -04: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 -04:00
bunnei
d51c84dde2
event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some comments
2014-05-29 20:00:44 -04:00
bunnei
545e6919ce
service: added additional hack to return success on unimplemented service calls
2014-05-29 18:54:59 -04:00
bunnei
b08b3c154f
srv: changed a NOTICE_LOG to DEBUG_LOG
2014-05-29 18:53:45 -04:00
bunnei
e7202e5b2d
svc: added ArbitrationType enumeration
2014-05-29 18:52:57 -04:00
bunnei
4b4a6de1d8
apt: added stubbed function for InquireNotification
2014-05-28 23:33:24 -04:00
bunnei
c4b5168b45
hle: properly cast 64-bit function wrapper parameters to (u64)
2014-05-28 22:03:10 -04: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 -04:00
bunnei
46aef01d04
lcd: moved kFrameTicks to lcd.h for use in other modules
2014-05-28 21:19:13 -04: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 -04: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 -04:00
bunnei
2ed6652f10
mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertions
2014-05-27 22:42:16 -04:00
bunnei
47e781e80a
svc: implemented WaitSynchronization1, WaitSynchronizationN, and CreateEvent
2014-05-27 22:41:09 -04:00
bunnei
94b30e8a38
APT_U: added event creation to Initialize method
2014-05-27 22:29:11 -04:00
bunnei
ea8627d536
event: fixed typos and updated CMakeLists
2014-05-27 22:14:38 -04:00
bunnei
beea6f054a
event: added SetEventLocked method to change status an events lock
2014-05-27 22:14:00 -04:00
bunnei
fd69fd0325
kernel: added event module to support creation of CTR "Event" objects
2014-05-27 20:16:13 -04:00
bunnei
d493d725ac
mutex: removed docstring comment that is no longer relevant
2014-05-26 22:49:11 -04:00
bunnei
93cd5a0691
mutex: added additional docstrings
2014-05-26 22:47:47 -04:00
bunnei
a432dc8f39
kernel: added WaitSynchronization method to Kernel::Object
2014-05-26 22:17:49 -04:00
bunnei
58a3adcdd2
kernel: updated SyncRequest to take boolean thread wait result as a parameter
2014-05-26 22:12:46 -04:00
bunnei
6e51c56fe4
svc: added some assertions
2014-05-26 21:57:10 -04:00
bunnei
16fea415d0
service: Renamed Sync to SyncRequest
2014-05-26 21:56:51 -04:00
bunnei
3d7693f75f
kernel: added enum for known CurrentThread and CurrentProcess handles
2014-05-26 21:56:23 -04:00
bunnei
96b2105524
srv: added a real mutex for GetProcSemaphore (instead of stubbed)
2014-05-26 21:55:55 -04:00
bunnei
9f7ed2d027
svc: changed SendSyncRequest to use Kernel::Object SyncRequest (instead of just service Interface class)
2014-05-26 21:17:10 -04:00
bunnei
d73d782ba7
kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest
2014-05-26 21:01:27 -04:00
bunnei
15d2ab1b33
svc: added stub for DuplicateHandle SVC call
2014-05-26 20:55:48 -04:00
bunnei
0aa582bf89
service: fixed typo that MSVC did not catch as an error
2014-05-22 23:48:37 -04:00
bunnei
420971a849
core: fixed headers in CMakeLists
2014-05-22 23:39:25 -04:00
bunnei
32c314c992
Merge branch 'threading'
2014-05-22 22:57:45 -04: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 -04: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 -04:00
bunnei
7bb66421a0
lcd: added thread wait after (faked) vblank interrupt (would have) occurred
2014-05-22 20:01:04 -04:00
bunnei
b99ac2c3d6
thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argument
2014-05-22 19:36:56 -04:00
bunnei
7c0b006076
thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThread
2014-05-22 19:32:45 -04:00
bunnei
d26f3d4c1f
kernel: refactored function naming to remove "__" prefix
2014-05-22 19:06:12 -04:00
bunnei
ac21e8f2db
core: moved armcopro.cpp to correct filter folder (arm/interpreter)
2014-05-22 18:51:55 -04: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 -04:00
bunnei
9fddba6843
APT_U: added a debug log on calling GetLockHandle
2014-05-22 18:48:14 -04:00
bunnei
481d936d34
arm_interpreter: fixed load context to currently resume a thread
2014-05-22 18:47:42 -04:00
bunnei
6a78be5930
thread: fixed bug where result of __NextThread was not being properly checked when NULL
2014-05-21 21:42:18 -04:00
bunnei
06e3c3d55a
svc: added Kernel::Reschedule to svc WaitSynchronization1, updated log messages to include newly created handles
2014-05-21 21:41:40 -04:00
bunnei
706584f007
svc: enabled use of newly created kernel thread handle
2014-05-20 23:36:35 -04:00
bunnei
eb537c560a
mutex: refactored the interface to code to return a Mutex* handle
2014-05-20 23:23:58 -04:00
bunnei
978e1d4653
mutex: initial commit of HLE module
2014-05-20 23:03:45 -04:00
bunnei
08e6a9bf89
svc: added some comments
2014-05-20 22:57:54 -04:00
bunnei
1c5802c35a
kernel: fixed include, in general include "common.h" not "common_types.h"
2014-05-20 22:27:46 -04:00
bunnei
9bf7ce535a
service: removed redundant include of common_types.h
2014-05-20 22:27:12 -04: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 -04:00
bunnei
22eb9a8981
armemu: missed rename of "Syscall" to "SVC"
2014-05-20 22:25:40 -04:00
bunnei
203541da11
thread: added correct lowest thread priority, added a thread priority check, and added some comments
2014-05-20 21:02:35 -04:00
bunnei
bed4e920fa
thread: exposed ResumeThreadFromWait function for use in other kernel modules
2014-05-20 21:00:10 -04:00
bunnei
75c6d2a8fa
thread: moved threading calls to the Kernel namespace
2014-05-20 19:37:46 -04:00
bunnei
0012802456
ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guide
2014-05-20 18:52:54 -04:00
bunnei
49dc2ce8ac
ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching
2014-05-20 18:50:16 -04:00
bunnei
143bba2045
renamed "syscall" module to "svc" (more accurate naming)
2014-05-20 18:28:38 -04:00
bunnei
f654a03f1f
thread: whitespace change - fixed * and & placement
2014-05-20 18:20:35 -04: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 -04: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 -04:00
bunnei
f5a119a367
thread: added declaration for __KernelReschedule to be used by syscall module
2014-05-19 22:19:48 -04:00
bunnei
29930ac110
VFP: disable DBG messages because they spam the console with unimportant skyeye junk
2014-05-19 22:19:10 -04: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 -04: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
bunnei
088a2de9a6
renamed "session" to "handle"
2014-05-18 22:24:26 -04:00
bunnei
112904b832
- renamed NewHandle to CreateHandle
...
- updated CreateHandle/DeleteHandle to use KernelObject's
2014-05-18 22:09:08 -04:00
bunnei
16d55842c5
fix warning
2014-05-18 21:43:41 -04:00
bunnei
eab6fd01d7
- updated service(s) to be KernelObject's
...
- various cleanups
2014-05-18 21:43:29 -04:00
bunnei
725d240bf7
renamed "UID" to "Handle" where appropriate
2014-05-18 18:24:24 -04:00
bunnei
772abad778
- moved Handle/Result definitions to kernel.h
...
- added ResetType enum
2014-05-18 18:12:29 -04: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 -04:00
bunnei
6a6c7eeccb
added stubbed function for WaitSynchronizationN
2014-05-17 23:37:25 -04: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 -04:00
bunnei
09b8e8fb6a
changed a comment
2014-05-17 13:47:55 -04:00
bunnei
cfea5fdd58
cleanups to SVC CreateThread
2014-05-17 13:47:44 -04:00
bunnei
3fac6dc39e
Merge branch 'master' into threading
2014-05-17 13:35:20 -04:00
bunnei
265c770a9d
updated how we call ARM core to make things much faster
2014-05-17 11:59:18 -04: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 -04: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 -04:00
bunnei
39ee75fc8d
added stubbed GetProcSemaphore - does nothing but avoids an exception
2014-05-16 23:25:16 -04:00
bunnei
4faed70b40
add kernel.* and thread.* to VS filters
2014-05-16 23:24:39 -04:00
bunnei
540a693eae
updated APT_U::GetLockHandle to return a valid handle
2014-05-16 23:23:56 -04:00
bunnei
0b1ba2f37a
Merge master into threading to add support for VFP
2014-05-16 22:24:34 -04:00
bunnei
92be5517c4
same fix as last commit - just for vfpsingle.cpp
2014-05-16 21:25:33 -04:00
bunnei
1dc08765a8
another VFP fix for GCC
2014-05-16 21:18:01 -04:00
bunnei
509f63486a
fixed VFP DBG log for GCC
2014-05-16 21:10:30 -04:00
bunnei
afc9e27fc7
fixed typo in CMakeLists.txt
2014-05-16 20:57:31 -04: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 -04: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 -04:00
bunnei
f872807de2
added maverick.cpp to ARM core from skyeye
2014-05-16 00:52:42 -04:00
bunnei
f3c9875acb
fixed includes
2014-05-16 00:52:13 -04:00
bunnei
f5400080bd
enabled CP_ACCESS_ALLOWED
2014-05-16 00:51:59 -04:00
bunnei
68408ed9b9
fixed include path
2014-05-16 00:51:45 -04:00
bunnei
7cd7d17954
removed undefined function ARMul_ConsolePrint
2014-05-16 00:51:36 -04:00
bunnei
ad49d481a8
added missing armcopro from skyeye
2014-05-16 00:23:36 -04:00
bunnei
9a642caee7
added missing skyeye mmu code
2014-05-15 23:39:06 -04:00
bunnei
56846a4200
fixed armmmu imports
2014-05-15 22:58:21 -04:00
bunnei
3e1eafa244
- moved mmu to arm/interpreter folder
...
- added initial VFP code from skyeye
2014-05-15 22:54:17 -04:00
bunnei
4fba4f36bf
- added SVC stubs for QueryMemory and GetThreadId
...
- added SVC structs MemoryInfo and PageInfo
2014-05-15 20:17:30 -04: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 -04:00
bunnei
3c240abf10
added ability to load AXF files (same as ELF)
2014-05-15 18:54:57 -04:00
bunnei
940330c6e1
completely gutted/refactored threading code to be simpler
2014-05-15 18:27:08 -04:00
bunnei
a7cc430aa4
changed "UID" to "Handle" to be a little more consistent with CTR naming
2014-05-15 18:26:28 -04:00
bunnei
367d63691f
- added ThreadContext struct
...
- cleaned up CreateThread svc
2014-05-15 18:25:56 -04:00
bunnei
b99a5da65b
- added helper function for __KernelCreateThread
...
- added __KernelSwitchToThread for enabling a thread
- added __KernelRotateThreadReadyQueue
2014-05-14 20:50:30 -04:00
bunnei
9f5588725c
changed primary thread priority to 0x30 - this is typical, not 0x31
2014-05-14 20:49:27 -04:00
bunnei
4d7f3c74fd
added function stubs for EatCycles and ReSchedule
2014-05-14 20:49:02 -04:00
bunnei
0de78eb3c4
fixed thread reset to not set stack address
2014-05-13 23:18:28 -04:00
bunnei
7d078189da
various cleanups / remove unused code
2014-05-13 22:29:31 -04: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 -04:00
bunnei
b87536e82c
changed loader to use __KernelLoadExec
2014-05-13 21:58:51 -04:00
bunnei
b5ef630c9c
added CreateThread, CreateMutex, and ReleaseMutex SVC stubs (just parameter decoding for now)
2014-05-13 21:58:26 -04:00
bunnei
1583d2b6f3
- added __KernelLoadExec function
...
- fixed some logging
2014-05-13 21:57:12 -04:00
bunnei
ce4d271a53
added option to set CPSR register to arm_interface
2014-05-11 22:14:13 -04:00
bunnei
6b264518a5
added initial kernel/thread modules
2014-05-09 22:11:18 -04:00
bunnei
b39cd3a64c
removed unknown fields from GX_CmdBufferHeader
2014-05-08 17:12:07 -04:00
bunnei
4de763f462
removed unnecessary log message
2014-05-07 21:19:03 -04:00
bunnei
72622a1b5a
- removed HLE mem "hack" and replaced with kernel mem region
...
- added a helper function for getting command buffer for services
- fixed bug where GSP DMA was incorrectly being done in DataSynchronizationBarrier (instead of gsp_TriggerCmdReqQueue)
2014-05-07 21:04:55 -04:00
bunnei
f23e99bb85
added kernel memory to mem_map
2014-05-07 21:01:09 -04:00
bunnei
de36d82dde
- added debug logging to syscall.cpp
...
- added stubbed HLE syscall functions for svc_GetResourceLimit and svc_GetResourceLimitCurrentValues
2014-05-06 23:34:20 -04:00
bunnei
a3a383cb7a
added mem_map read for config_mem
2014-05-06 23:32:04 -04:00
bunnei
34dc0a9b07
added config_mem module for HLE of firmware configuration memory settings
2014-05-06 23:29:39 -04:00