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
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
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
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
bunnei
d1472b816f
- disable strict alignment on LDRD/STRD
...
- handle RD in STREX/STREXB
2014-05-06 21:34:00 -04:00
bunnei
e3ee3e441b
commented out useless debug logs that just spammed console
2014-05-06 17:17:00 -04:00
bunnei
f7c6302009
- added CallMCR function to coprocessor HLE module
...
- moved instruction decoding to coprocessor HLE module
2014-05-01 23:03:50 -04:00
bunnei
c1e71ae1ac
fixed include in coprocessor.cpp
2014-05-01 19:21:04 -04:00
bunnei
f043424915
renamed hle "mrc" module to "coprocessor"
2014-05-01 19:20:44 -04:00
bunnei
4ee72869cc
- added some function wrappers for HLE
...
- added stub for SVC CreateAddressArbiter
- added OutputDebugString SVC
2014-05-01 18:50:36 -04:00
bunnei
bb7fcf79fe
- added option to load a code.bin file extracted from a CXI file
...
- updated load launcher.dat function to use ARM11 format hack
2014-04-30 23:50:14 -04:00
bunnei
29da6e9ab5
added a module to load symbol map files for debugging
2014-04-30 23:46:06 -04:00
bunnei
924e7b6af8
fixed a bug where ExeFs code was being incorrectly masked
2014-04-30 23:31:04 -04:00
bunnei
235dddb3f1
added virtual memory map for ExeFS (where ARM11 code is supposed to be loaded)
2014-04-30 18:31:35 -04:00
bunnei
c37390f8e2
reorganized memory regions enum, added regions for ExeFS code
2014-04-30 18:31:24 -04:00
bunnei
af921daa4c
added virtual address conversion for firmware FW0B
2014-04-27 22:32:51 -04:00
bunnei
a48c6b947d
removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class
2014-04-27 18:29:51 -04:00
bunnei
451a14f98c
fixed weird spacing
2014-04-27 18:24:54 -04:00
bunnei
f76a60be05
removed commented out line - this was for an unimplemented MRC call, no longer need to leave this here
2014-04-27 18:22:30 -04:00
bunnei
a6c925112a
hackish but working way to set the framebuffer location to VRAM (used in ARM11 demos tested thus far, e.g. yeti3DS)
2014-04-27 12:41:25 -04:00
bunnei
b2a6ad52f4
added helper functions to mem_map to convert physical addresses to virtual addresses
2014-04-27 12:40:31 -04:00
bunnei
f0525a1eb4
added code to LCD modules keep track of framebuffer location in FCRAM or VRAM
2014-04-27 12:39:57 -04:00
bunnei
f78794961e
- changed HW IO map to use virtual addresses
...
- added hooks to catch LCD IO read/writes
2014-04-26 14:21:40 -04:00
bunnei
9e047e32d4
added simple GSP GPU ReadHWRegs function to support returning the framebuffer address
2014-04-26 01:48:24 -04:00
bunnei
a272803dcb
added preliminary DataSynchronizationBarrier support with simple DMA copy
2014-04-26 01:47:52 -04:00
bunnei
25d595d869
added (fake) physical addresses for where to put framebuffer in VRAM
2014-04-26 01:32:05 -04:00
bunnei
86a515e5ac
added vram to memory_map
2014-04-26 01:27:25 -04:00
bunnei
cb0663de51
moved HLE::MRC to its own module, added support for catching data synchronization barrier command
2014-04-25 17:15:19 -04:00
bunnei
6151e26958
added disassembly to unimplemented instruction
2014-04-25 15:57:32 -04:00
bunnei
2672e7d883
removed some cruft
2014-04-25 15:27:47 -04:00
bunnei
e08f242141
fixed bug where svc_ControlMemory was not properly getting passed in parameters
2014-04-25 15:26:27 -04:00
bunnei
890c7261d2
- added preliminary support for svc_MapMemoryBlock
...
- added shared memory region
- moarrrr cleanups to memory_map
2014-04-24 23:56:06 -04:00
bunnei
b7cd4c9e90
added functions to map Heap and Shared memory space
2014-04-24 22:32:26 -04:00
bunnei
66e1f8ab33
added GSP::RegisterInterruptRelayQueue function
2014-04-24 22:20:13 -04:00
bunnei
cd0664eb77
- refactored how service functions are called
...
- added option to create/delete service handles
2014-04-24 22:16:54 -04:00
bunnei
7a136b8a84
fixes to build on linux
2014-04-22 19:42:29 -07:00
ShizZy
5c89324809
updated CMakeLists for missing files
2014-04-22 18:35:40 -04:00
Mathieu Vaillancourt
5ad1aa8b68
Add a quick way to load Launcher.dat files
2014-04-21 23:15:40 -04:00
bunnei
958bca606e
Merge branch 'hle-interface'
2014-04-18 17:52:49 -04:00
bunnei
70c2cce963
renamed hw_lcd module to just lcd
2014-04-17 23:48:23 -04:00
bunnei
c3a4b4bfca
added NDMA hardware interface
2014-04-17 23:43:55 -04:00
bunnei
b2baafaf8b
added GSP heap memory allocation
2014-04-17 23:05:31 -04:00
bunnei
33e7d97d46
fixed bug in Memory::GetPointer
2014-04-17 21:40:42 -04:00
bunnei
fb026f6b46
moved enums into Memory:: namespace
2014-04-17 21:19:32 -04:00
bunnei
a9dba388eb
added memory read/write to GSP heap
2014-04-17 21:15:40 -04:00
bunnei
09ffe87360
more various refactors to memory interface
2014-04-17 21:05:34 -04:00
bunnei
ae99574b6d
cleaned up memory interfaces a lot, removed some hackish stuff
2014-04-17 18:40:42 -04:00
bunnei
f0797dcf1f
added a new function wrapper
2014-04-16 22:19:23 -04:00
bunnei
9d1a17ca88
fixed bug with printing std::string in log messages
2014-04-16 21:22:15 -04:00
bunnei
795d6bf5b7
changed unknown memory read/write to report the size
2014-04-16 21:21:53 -04:00
bunnei
bb5bc2df25
added class stub for HID:User service
2014-04-16 20:58:36 -04:00
bunnei
b8851305bd
updated service comments
2014-04-16 20:46:05 -04:00
bunnei
de3dcd38f6
- fixed tabs in function_wrappers.h
...
- fixed log message wording in hle.cpp
- added syscall stubs for CloseHandle and WaitSynchronization1
2014-04-16 20:41:33 -04:00
bunnei
32c3462047
- added stubbed out GSP::Gpu service interface
...
- various cleanups/refactors to HLE services
2014-04-16 00:03:41 -04:00
bunnei
acef5e0b17
removed no longer used function header
2014-04-15 23:41:52 -04:00
bunnei
ffabed8c25
restructured hle:services completely to use function lookup tables
2014-04-15 23:28:03 -04:00
bunnei
386dd722e7
fixed naming for APT_U
2014-04-15 22:42:35 -04:00
bunnei
7ec5950bc4
- extracted srv: calls from service.cpp and put in its own module
...
- added function tables for service calls
- lots of refactoring
2014-04-15 22:40:19 -04:00
bunnei
18766b9e69
added a stub for GetLockHandle
2014-04-13 22:59:16 -04:00
bunnei
9f4d677cdf
added framework for APT service (application and title launching service)
2014-04-13 16:33:45 -04:00
bunnei
524e78ece8
renamed class Interface_SRV to SRV
2014-04-13 01:22:05 -04:00
bunnei
ce822b6815
replace tabs with spaces
2014-04-13 00:39:05 -04:00
bunnei
5ea4679630
added some very initial command parsing for SRV Sync
2014-04-13 00:38:48 -04:00
bunnei
67f6e41470
added a GetPointer function for reading from HLE command buffer
2014-04-13 00:37:10 -04:00
bunnei
f2f63a0f05
fixed hw write declarations to not be const
2014-04-12 23:32:04 -04:00
bunnei
6f6d5158de
added OS memory read/write for thread command buffer
2014-04-12 23:31:39 -04:00
bunnei
b24e6f2b60
cleanups to service HLE
2014-04-12 22:08:48 -04:00
bunnei
68e198476f
- added HLE to connect to "srv:" service
...
- added a manager for keeping track of services/ports
- added a memory mapped region for memory accessed by HLE
- added HLE for GetThreadCommandBuffer function
2014-04-12 21:55:36 -04:00
Mathieu Vaillancourt
67095f8083
Implement simple LoadSymbols for ELF files
2014-04-12 19:04:32 -04:00
bunnei
4d88318903
hacked CPU interpreter to ignore branch on SVC instruction (as we are HLEing this...)
2014-04-12 01:36:39 -04:00
bunnei
cd7de52fea
added a SETABORT method that does not update LR (for HLE'd SVC that does not jump appcore CPU to an IRQ vector)
2014-04-12 01:35:45 -04:00
bunnei
9a9b7b289a
added a memory mapped option for HLE
2014-04-12 01:33:13 -04:00
bunnei
02fbd42e7f
- renamed hle_syscall to just syscall
...
- added service.h as an initial service interface
2014-04-11 18:44:21 -04:00
bunnei
7ea7585898
replace tabs with spaces
2014-04-11 18:09:23 -04:00
bunnei
f6c328cf37
moved hle.cpp into hle folder (due to mistake earlier)
2014-04-11 18:07:49 -04:00
bunnei
e9f0e4967d
added remaining known syscall functions to Syscall_Table
2014-04-11 14:19:40 -04:00
bunnei
2bde8f2856
base code to call a syscall from ARM11 appcore
2014-04-10 23:26:12 -04:00
bunnei
01bedbf956
updated logging message
2014-04-10 22:49:12 -04:00
bunnei
5d95bb9843
cleaned up some logging messages
2014-04-10 22:45:40 -04:00
bunnei
3bd041f5b0
changed some naming/misc cleanups
2014-04-10 22:15:07 -04:00
bunnei
2a7d7ce55d
- removed syscall classes (will just use HLEFunction)
...
- added hle.cpp and module registration
- removed unused code
2014-04-10 21:30:00 -04:00
bunnei
95f237a086
Merge branch 'master' into hle-interface
2014-04-10 20:10:18 -04:00
bunnei
f68de21ad1
added initial modules for setting up SysCall HLE
2014-04-10 19:58:28 -04:00
bunnei
fccbfc208c
missed this file with commit 95e5436f
2014-04-10 19:57:56 -04:00
bunnei
d9bb4f11c6
added Memory::GetCharPointer to read strings from HLE functions
2014-04-10 19:56:30 -04:00
bunnei
95e5436f41
cleaned up arm_interface, added a setter to set registers for use with HLE return values
2014-04-10 19:55:59 -04:00
bunnei
9527fc74ad
fixed a bunch of errors in CMakeLists
2014-04-09 20:28:43 -07:00
bunnei
6b83509a7e
updated CMakeLists
2014-04-09 23:09:05 -04:00
bunnei
d0674cc98b
fixed licensing and updated code style naming for arm_interface/arm_interpreter frontend module
2014-04-08 20:38:33 -04:00
bunnei
de0a034a84
fixed project includes to use new directory structure
2014-04-08 20:15:08 -04:00
bunnei
63e46abdb8
got rid of 'src' folders in each sub-project
2014-04-08 19:25:03 -04:00