Commit graph

822 commits

Author SHA1 Message Date
Tony Wasserka
0da8e2eacc BitField: Cast enum values to proper integer type. 2014-07-16 12:47:33 +02:00
Tony Wasserka
cd1d5786d9 BitField: Add a static_assert.
Being able to store BitField within unions requires BitField to be of standard layout, which in turn is only given if the underlying type is also has standard layout.
2014-07-16 12:46:37 +02:00
Tony Wasserka
15ab5382a5 BitField: Delete copy assignment to prevent obscure bugs.
Cf. https://github.com/dolphin-emu/dolphin/pull/483
2014-07-16 09:08:19 +02:00
Tony Wasserka
47a001722d BitField: Add an explicit evaluation method.
Sometimes it can be beneficial to use this in places where an explicit cast needs to happen otherwise. By using the evaluation method, it's not necessary anymore to explicitly write the underlying type in this case.
2014-07-16 09:05:29 +02:00
bunnei
3eb89f3e98 Kernel: Added preliminary support for address arbiters.
AddressArbiter: Added documentation comment, fixed whitespace issue.

AddressArbiter: Fixed incorrect comment, reordered if-statement to be more clear.

SVC: Removed trailing whitespace.
2014-07-08 18:46:38 -04:00
bunnei
ba840d3200 Thread: Added functions to resume threads from address arbitration.
Thread: Cleaned up arbitrate address functions.

Thread: Cleaned up ArbitrateAllThreads function.
2014-07-08 18:46:15 -04:00
bunnei
59f2750482 function_wrappers: Fixed incorrect wrapper, added another. 2014-07-07 22:13:40 -04:00
bunnei
7ff92c36ed SharedMemory: Updated MapSharedMemory to use an enum for permissions.
- Also added some safety checks to MapSharedMemory.
2014-07-05 10:24:54 -04:00
bunnei
882dc07929 Memory: Removed deprecated MapBlock_Shared function. 2014-07-05 10:24:54 -04:00
bunnei
7b7a435094 GSP: Fixed to use real shared memory object, various cleanups.
- Previously, used a hard-coded shared memory handle of 0x10002000 (as used by libctru homebrew)

GSP: Added name for shared memory.

GSP: Cleaned up assertion message.
2014-07-05 10:24:52 -04:00
bunnei
e547128185 Kernel: Added support for shared memory objects.
SharedMemory: Added optional name field for tracking known objects.
2014-07-05 01:21:05 -04:00
bunnei
3013015a0c mem_map: Updated interface to expose template functions to other modules. 2014-07-04 23:46:16 -04:00
bunnei
b70c4fb48e NCCH: Updated ExeFS memory allocation to be safer. 2014-07-04 20:37:51 -04:00
bunnei
542700ccb7 Archive: Added Init/Shutdown methods to reset kernel archive state. 2014-07-04 20:37:51 -04:00
bunnei
1099d83455 Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS virtual functions as "override". 2014-07-04 20:37:50 -04:00
bunnei
2d734bb6c5 Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS classes as "final" 2014-07-04 20:37:49 -04:00
bunnei
2c62d92551 Loader: Updated read methods to be const
- Required "file" handle to be made local and explicitly opened/closed as needed
2014-07-04 20:37:49 -04:00
bunnei
1ccdb6a769 Qt: Updated open dialog to include NCCH formats. 2014-07-04 20:37:48 -04:00
bunnei
17a6148f9d FileSys: Added preliminary support for applications reading the RomFS archive.
Archive: Fixed brace ugliness for neobrain :)

FS: Commented out unused local variables to prevent warnings.

...But keeping them here for future use.

archive_romfs: Removed unused #include.
2014-07-04 20:37:45 -04:00
bunnei
82702fedb8 APT: Added stubbed ReceiveParameter and various cleanups.
APT: More cleanups.

APT: Changed SignalType to be type u32.
2014-07-04 14:18:16 -04:00
Tony Wasserka
fd78786828 citra-qt: Rewrite disassembly view. 2014-07-02 21:16:36 +02:00
bunnei
d8da707bb9 Loader: Refactored interface such that data is no longer stored by loader.
NCCH: Removed extra qualification ‘Loader::AppLoader_NCCH::’.
2014-06-27 17:49:01 -04:00
bunnei
48e39fc992 FS: Added stubbed code to intercept and decode file system service functions.
FS: Added to CMakeLists.txt
2014-06-27 16:58:30 -04:00
bunnei
8b8c8f4c13 Kernel: Added stubbed code to support creation of kernel Archive objects. 2014-06-27 16:58:30 -04:00
bunnei
0cc3e85685 Core: Removed unused directory_file_system and meta_file_system modules.
Core: Updated CMakeLists.txt to remove directory_file_system and meta_file_system modules.
2014-06-27 16:58:30 -04:00
bunnei
469fe42fad Merge pull request #22 from bunnei/loader-improvements
Refactor loader code and add preliminary NCCH support
2014-06-25 09:46:14 -04:00
bunnei
a7f1c54490 Loader: Refactored loading functions to only read data from binary if called.
NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
2014-06-24 19:30:08 -04:00
bunnei
6aebd4ac98 MemMap: Added a WriteBlock function to write a buffer of data to memory. 2014-06-24 19:30:08 -04:00
bunnei
cedc28dcc6 ELF: Refactored LoadInto(..) to use memcpy, removed unnecessary code. 2014-06-24 19:30:07 -04:00
bunnei
62b444cd17 Loader: Refactored use of const. 2014-06-24 19:30:06 -04:00
bunnei
a8c4648520 NCCH: Added RomFS loading. 2014-06-24 19:30:06 -04:00
bunnei
3da2bc6830 NCCH: Fixes reduce unnecessary logging and load logo/banner/etc. sections correctly.
Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
2014-06-24 19:30:05 -04:00
bunnei
7889cafc76 Loader: Implemented AppLoader interface for abstracting application loading.
- Various cleanups/refactorings to Loader, ELF, and NCCH modules.
- Added AppLoader interface to ELF and NCCH.
- Updated Qt/GLFW frontends to check AppLoader ResultStatus.

NCCH: Removed extra qualification typos.

Loader: Removed unnecessary #include's.

NCCH: Improved readability of memcmp statements.

NCCH: Added missing space.

Elf: Removed unnecessary usage of unique_ptr.

Loader: Removed unnecessary usage of unique_ptr.
2014-06-24 19:29:58 -04:00
bunnei
4e4a028ecd citra_qt: Removed autogenerated files from repo and fixed build issues. 2014-06-22 16:37:07 -04:00
bunnei
79a48082e2 NCCH: Changed decompression to load .code directly into memory rather than an intermediate buffer. 2014-06-17 06:30:14 -04:00
bunnei
c144ed5058 Elf: Removed unused macros, changed #include of "common.h" to just "common_types.h". 2014-06-17 06:23:46 -04:00
bunnei
13bdaa6c60 Loader: Cleaned up and removed unused code, refactored ELF namespace. 2014-06-16 23:43:33 -04:00
bunnei
1da361c7ab Elf: Renamed modules to be consistent with new loader naming, fixed tabs -> spaces. 2014-06-16 23:43:32 -04:00
bunnei
3577dd027d Loader: Added support for booting NCCH executables.
NCCH: Fixed typo in printing NCCH filename.
2014-06-16 23:43:29 -04:00
bunnei
0aca202ae9 Loader: Moved elf and loader modules to a "loader" subdirectory. 2014-06-16 18:03:13 -04:00
bunnei
2d7c46c874 Loader: Added stubbed detection of CXI and CCI files. 2014-06-16 17:53:25 -04:00
bunnei
10ae45b5e7 Loader: Removed unused CXI and DAT loading code. 2014-06-16 17:51:04 -04:00
bunnei
004df76795 Merge branch 'threading' of https://github.com/bunnei/citra
Conflicts:
	src/core/hle/function_wrappers.h
	src/core/hle/service/gsp.cpp
2014-06-14 12:13:16 -04:00
bunnei
b45a38f557 Kernel: Removed unnecessary "#pragma once". 2014-06-13 09:51:20 -04:00
bunnei
f49ac3a2d7 Kernel: Added freeing of kernel objects on emulator shutdown. 2014-06-13 09:51:19 -04:00
bunnei
83a4ad2885 Event: Updated several log messages to be assertions. 2014-06-13 09:51:18 -04:00
bunnei
edaefe9fa6 HLE: Moved "PARAM" and "RETURN" macros to function_wrappers.h (this is only module where they are needed). 2014-06-13 09:51:18 -04:00
bunnei
8957622d10 SVC: Renamed all function wrapper templates to Wrap, moved to HLE namespace. 2014-06-13 09:51:17 -04:00
bunnei
b62ef4bbd2 Thread: Renamed occurrences of "t" to "thread" to improve readability. 2014-06-13 09:51:17 -04:00
bunnei
5b7cf50a77 Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged. 2014-06-13 09:51:16 -04:00
bunnei
4620e2a741 HLE: Removed usnused EatCycles function. 2014-06-13 09:51:16 -04:00
bunnei
862db811f0 SVC: Cleaned up function wrappers to pass in correct argument types. 2014-06-13 09:51:15 -04:00
bunnei
bfdd874b1f Thread: Moved position of * in arguments. 2014-06-13 09:51:14 -04:00
bunnei
12e2a59565 Thread: Updated VerifyWait to be more readable (but functionally the same). 2014-06-13 09:51:14 -04:00
bunnei
4d6c96b7d8 SVC: Moved declaration of "wait" variable in SendSyncRequest for improved readability. 2014-06-13 09:51:13 -04:00
bunnei
c95972275e HLE: Updated all uses of NULL to nullptr (to be C++11 compliant) 2014-06-13 09:51:13 -04:00
bunnei
5365ca157d Kernel: Updated various kernel function "name" arguments to be const references. 2014-06-13 09:51:12 -04:00
bunnei
d7363322c7 HLE: Updated various handle debug assertions to be more clear. 2014-06-13 09:51:11 -04:00
bunnei
780a443b08 Mutex: Moved ReleaseMutex iterator declaration to be inside while loop. 2014-06-13 09:51:11 -04:00
bunnei
8cac527c94 Kernel: Updated several member functions to be const 2014-06-13 09:51:10 -04:00
bunnei
0deeda54ee Core: Cleaned up SingleStep(), updated default LCD refresh to assume each instruction is ~3 cycles 2014-06-13 09:51:09 -04:00
bunnei
3449aaa350 Core: Changed HW update/thread reschedule to occur more frequently (assume each instruction is ~3 cycles) 2014-06-13 09:51:09 -04:00
bunnei
b774b8b04e Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly set 2014-06-13 09:51:08 -04:00
bunnei
aae9fcf4a4 Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects) 2014-06-13 09:51:08 -04:00
bunnei
f5c7c15434 Kernel: Added real support for thread and event blocking
- SVC: Added ExitThread support
- SVC: Added SignalEvent support
- Thread: Added WAITTYPE_EVENT for waiting threads for event signals
- Thread: Added support for blocking on other threads to finish (e.g. Thread::Join)
- Thread: Added debug function for printing current threads ready for execution
- Thread: Removed hack/broken thread ready state code from Kernel::Reschedule
- Mutex: Moved WaitCurrentThread from SVC to Mutex::WaitSynchronization
- Event: Added support for blocking threads on event signalling

Kernel: Added missing algorithm #include for use of std::find on non-Windows platforms.
2014-06-13 09:51:02 -04:00
Tony Wasserka
c34ba38001 GPU debugger: Const correctness and build fix. 2014-06-12 06:10:56 -04:00
bunnei
b919158050 Removed definition of MAX_PATH, this is already defined in common_paths.h. 2014-06-12 06:10:55 -04:00
archshift
ee4717aaae Preprocessor: #if's out OSX-specific GL changes on other platforms 2014-06-12 06:10:55 -04:00
bunnei
06ef8f001a Common: Removed duplicate "LONG" and "MAX_PATH" definitions. 2014-06-12 06:10:54 -04:00
Tony Wasserka
4c2bff61e5 Pica: Use some template magic to define register structures efficiently. 2014-06-12 06:10:54 -04:00
Tony Wasserka
f82410e633 Further refine GPU command list debugging. 2014-06-12 06:10:53 -04:00
Tony Wasserka
b0051b2203 Refine command list debugging functionality and its qt interface. 2014-06-12 06:10:52 -04:00
Tony Wasserka
6893732348 citra-qt: Add command list view. 2014-06-12 06:10:52 -04:00
Tony Wasserka
5d62f5d92a GPU debugger: Add functionality to inspect command lists. 2014-06-12 06:10:51 -04:00
Tony Wasserka
50b2b73be4 video core: added PICA definitions file. 2014-06-12 06:10:51 -04:00
Tony Wasserka
d4530765ce GPU: Cleanup register definitions. 2014-06-12 06:10:50 -04:00
Tony Wasserka
1dfa392824 Rename LCD to GPU. 2014-06-12 06:10:49 -04:00
Tony Wasserka
87e98ff97b citra-qt: Add GX command history viewer. 2014-06-12 06:10:49 -04:00
Tony Wasserka
31666632ca Add initial graphics debugger interface. 2014-06-12 06:10:48 -04:00
Tony Wasserka
82d3260359 GSP: Define more GX commands. 2014-06-12 06:10:48 -04:00
Tony Wasserka
b1c8bad9a6 Pica: Add command list registers. 2014-06-12 06:10:47 -04:00
bunnei
a002abf171 qt: updated disassembler to show 2X as many instructions 2014-06-05 01:08:54 -04:00
bunnei
174cc9a0ed hle: added a hokey way to force a thread reschedule during CPU single step mode (as used by the debugger) 2014-06-05 00:26:48 -04:00
bunnei
6cdad8390c arm: fixed a bug where ARM_Interpreter::ExecuteInstructions was actually executing one more instruction than expected 2014-06-05 00:25:32 -04:00
bunnei
ce1c561278 kernel: changed current default thread priority back to 0x30 - I think this is more correct 2014-06-05 00:20:58 -04:00
bunnei
9ece9da50d arm: fixed bug in how thread context switch occurs with SkyEye 2014-06-05 00:20:11 -04:00
bunnei
870c6146e7 service: added a error log messages for unimplemented WaitSynchronization 2014-06-04 18:50:50 -04:00
bunnei
c330a0a1d6 arm: reverting a change made with cb0663de - this has to have been a typo! 2014-06-04 18:41:44 -04:00
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
00adbc7817 log: updated MAX_LOGLEVEL to use correct log level enum type 2014-06-01 11:49:58 -04:00
bunnei
5cd922d151 log: updated GenericLog __attribute__ for newly added parameter 2014-06-01 11:05:48 -04: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
6fc62f8c93 log: fixed to not print twice, enabled coloring, added OS print logging as its own type 2014-05-29 23:03:03 -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
1de7e8cbe4 Merge branch 'master' of https://github.com/bunnei/citra 2014-05-22 22:54:56 -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
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 -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
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
43bc2ac724 added MIN, MAX, and CLAMP macros to common_funcs 2014-05-17 00:53:41 -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
cf2eb8e3d3 added ThreadQueueList class to common (taken from PPSSPP) 2014-05-15 18:19:34 -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
daf7a7880a added kernel logger to common 2014-05-09 20:54:51 -04:00
bunnei
bdc54d0d48 Merge pull request #15 from bunnei/hle-services
Various fixes/improvements to HLE of 3DS services, mostly cleans up GSP call decoding
2014-05-08 17:16:35 -04:00
bunnei
b39cd3a64c removed unknown fields from GX_CmdBufferHeader 2014-05-08 17:12:07 -04:00
bunnei
a6b047ec3b removed incorrect dolphin copyright line 2014-05-08 17:11:41 -04:00
Sethpaien
e1fcb2fdfb Update FlipFramebuffer
Less calculations + fix
2014-05-08 18:05:30 +02:00
bunnei
a713bd1bad fixed include of common in bit_field.h 2014-05-07 21:44:16 -04:00
bunnei
505d984f16 logger fix for linux 2014-05-07 21:34:04 -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
92bde183dd added GSP to loggers 2014-05-07 20:59:21 -04:00
bunnei
e7a0283625 added BitField to common 2014-05-07 18:14:42 -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
9db26df05f - added better SVC logging
- added stubs for GetResourceLimit and GetResourceLimitCurrentValues SVCs
2014-05-06 17:18:20 -04:00
bunnei
e3ee3e441b commented out useless debug logs that just spammed console 2014-05-06 17:17:00 -04:00
archshift
bd316ca0c0 Fixed indents 2014-05-04 15:47:42 -07:00
archshift
62528320ea Check arg count before attempting to access it. 2014-05-01 20:41:42 -07: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
archshift
eec40f8f6f Use runtime arguments to specify boot filename. 2014-05-01 15:13:06 -07:00
archshift
7817d6c79a Support for C++11 on OSX 2014-04-30 23:47:38 -07: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
08fb71108a added symbol map load function to Qt GUI 2014-04-30 23:46:57 -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
archshift
704075f04a Fixed indents 2014-04-30 20:13:28 -07:00
archshift
948cfe6d37 Reverse debugging changes 2014-04-30 20:00:44 -07:00
archshift
dade106aa9 Linux support 2014-04-30 18:44:48 -07:00
archshift
fb47258af7 TGA dumps work, courtesy of @bunnei 2014-04-30 18:34:49 -07:00
archshift
bdc3c99904 Merge commit upstream/master into issue-7-fix 2014-04-30 18:01:12 -07:00
archshift
3dad4e3b5c Sets OGL version for Qt; will only work with Qt5 2014-04-30 17:10:38 -07:00
archshift
c1b770cc0d OpenGL 3+ on OSX with GLFW 2014-04-30 17:00:36 -07:00
archshift
a7f3ed003d A bit of Cmake love 2014-04-30 16:56:47 -07: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
archshift
52377cf0d2 Some more experimentation 2014-04-29 19:27:01 -07:00
archshift
237d079aad Merge commit upstream/master into issue-7-fix 2014-04-28 19:44:43 -07:00
archshift
5a9c2ce5ea IT'S ALIVE! 2014-04-28 19:40:39 -07:00
bunnei
d45b14fc66 Merge pull request #5 from cpp3ds/master
Travis CI script
2014-04-28 11:57:12 -04:00
archshift
5749d1eabe Fix complaints about functions that could not be found 2014-04-27 22:25:30 -07:00
archshift
5741f2fb26 Problematic class with no current implementation 2014-04-27 22:24:39 -07:00
archshift
b9fc729928 Problematic template functions 2014-04-27 22:23:58 -07:00
archshift
48deb45624 Xcode complains that the class name is redundant. 2014-04-27 22:23:01 -07:00
archshift
ff48c8bed3 Rect to BasicRect
Somewhere along the line an OSX header had already taken the name Rect.
2014-04-27 22:21:46 -07:00
bunnei
af921daa4c added virtual address conversion for firmware FW0B 2014-04-27 22:32:51 -04:00
bunnei
81cb80997a add missing bswap functions 2014-04-27 21:49:50 -04:00
bunnei
535947a0e1 fix for issue Linux build #9, not sure why this is broken but its unused code I'm just getting rid of it 2014-04-27 21:31:50 -04:00
bunnei
438dba40c1 Merge branch 'hle-interface-updates' 2014-04-27 21:25:16 -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
1142ccba03 fixed renderer to use correct framebuffer location 2014-04-27 12:42:01 -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
Thomas Edvalson
a226dc57bf Need to add Xcursor to linker? 2014-04-25 23:01:58 -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
Thomas Edvalson
c51e4822b1 Fixed CMake's import of GLFW. 2014-04-25 10:50:25 -04:00
Thomas Edvalson
08e1ba746f Resolved undefined Common::g_scm_branch error. 2014-04-25 10:34: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
66a98ea686 made qt window title consistent 2014-04-23 22:49:55 -04:00
bunnei
80a040ac77 fixes to scm_rev generation to make it conistent with windows build 2014-04-23 19:13:00 -07:00
ShizZy
121960a2eb updated windows scm_rev code to use new style 2014-04-23 22:04:33 -04:00
bunnei
4405a53cf3 added scm rev generation on Linux/cmake 2014-04-23 18:43:57 -07:00
bunnei
7a136b8a84 fixes to build on linux 2014-04-22 19:42:29 -07:00
ShizZy
c479921142 removed duplicate rotl/rotr functions 2014-04-22 18:47:43 -04:00
ShizZy
5c89324809 updated CMakeLists for missing files 2014-04-22 18:35:40 -04:00
Mathieu Vaillancourt
81f6062c85 Re-enable toggling window mode. 2014-04-21 23:21:02 -04:00
Mathieu Vaillancourt
5ad1aa8b68 Add a quick way to load Launcher.dat files 2014-04-21 23:15:40 -04:00
bunnei
bf025ed03c fixed order of LogManager and System init 2014-04-21 22:02:32 -04:00
bunnei
7a080551ac fixed GL context acquire (applies to Qt GUI only) 2014-04-21 22:00:32 -04:00
Mathieu Vaillancourt
ad0734acee Remove unused QTableView 2014-04-18 18:34:24 -04:00
Mathieu Vaillancourt
e5f09b8be6 UI/debugger changes 2014-04-18 18:34:23 -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
9d5a561c1b fixed framebuffer color order 2014-04-17 17:47:34 -04:00
bunnei
f0797dcf1f added a new function wrapper 2014-04-16 22:19:23 -04:00
bunnei
d4411acfd0 removed hard-coded framebuffer addresses from renderer_opengl.cpp 2014-04-16 21:30:10 -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