summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service (follow)
Commit message (Collapse)AuthorAgeFilesLines
* HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner2014-11-246-62/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | All service calls in the CTR OS return result codes indicating the success or failure of the call. Previous to this commit, Citra's HLE emulation of services and the kernel universally either ignored errors or returned dummy -1 error codes. This commit makes an initial effort to provide an infrastructure for error reporting and propagation which can be use going forward to make HLE calls accurately return errors as the original system. A few parts of the code have been updated to use the new system where applicable. One part of this effort is the definition of the `ResultCode` type, which provides facilities for constructing and parsing error codes in the structured format used by the CTR. The `ResultVal` type builds on `ResultCode` by providing a container for values returned by function that can report errors. It enforces that correct error checking will be done on function returns by preventing the use of the return value if the function returned an error code. Currently this change is mostly internal since errors are still suppressed on the ARM<->HLE border, as a temporary compatibility hack. As functionality is implemented and tested this hack can be eventually removed.
* Merge pull request #191 from archshift/deletexyzbunnei2014-11-241-25/+67
|\ | | | | Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.
| * Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.archshift2014-11-231-25/+67
| |
* | Add more services and some fixes, along with more "override"purpasmart962014-11-2125-17/+452
| | | | | | | | in the service's headers
* | Merge pull request #211 from linkmauve/masterbunnei2014-11-1911-21/+21
|\ \ | | | | | | Remove trailing spaces from the entire project
| * | Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-1911-21/+21
| | |
* | | Add static to some variablesLioncash2014-11-191-1/+1
|/ /
* / core: Mark some hle functions as staticLioncash2014-11-184-20/+20
|/ | | | These functions are not referred to by their linkage name outside of the translation unit, so they can be marked as static.
* FS_User: Support FileSye::Path in a more generic way.bunnei2014-11-181-42/+65
| | | | added a todo to kernel archive
* FileSys: Updated backend code to use FileSys::Path instead of string for paths.bunnei2014-11-181-4/+4
|
* Add missing boss:U service, needed according to Nintendo Zone logs.archshift2014-11-173-0/+57
|
* Merge pull request #183 from archshift/lowpathbunnei2014-11-131-83/+81
|\ | | | | Add support for UTF-16 strings for LowPaths in FS:USER
| * Use std::u16string for conversion between UTF-8 and UTF-16, FS:USER functionsarchshift2014-11-132-138/+40
| |
| * Add support for UTF-16 strings for LowPaths in FS:USERarchshift2014-11-102-86/+182
| |
* | Merge pull request #188 from bunnei/apt-fixesbunnei2014-11-121-19/+90
|\ \ | | | | | | APT_U: Various improvements and bug fixes.
| * | APT_U: Added stub for function AppletUtility.bunnei2014-11-121-1/+29
| | |
| * | APT_U: Set a valid parameter buffer size in GlanceParameter.bunnei2014-11-121-17/+39
| | | | | | | | | | | | - Also Clarified GlanceParameter/ReceiveParameter documentation.
| * | APT_U: Release service lock on initialization.bunnei2014-11-121-0/+4
| | |
| * | APT_U: Fixes for GetLockHandle to boot system titles.bunnei2014-11-121-1/+18
| |/ | | | | | | - Also added comment to GetLockHandle function.
* / Add FRD:U service and functionsarchshift2014-11-113-0/+64
|/
* Merge pull request #163 from archshift/create-directorybunnei2014-11-021-2/+38
|\ | | | | Added CreateDirectory function to service/fs.cpp, and in Archive.
| * Added CreateDirectory function to service/fs.cpp, and in Archive.archshift2014-11-021-2/+38
| |
* | Added ReceiveNotification, PublishToSubscriber unimplemented functions to SRVarchshift2014-11-021-0/+2
|/
* Added stub err:f service.archshift2014-11-023-0/+56
|
* Added a bunch of servicespurpasmart962014-11-0117-0/+581
|
* FS:USER - Implemented IsSdmcDetectedarchshift2014-10-301-1/+17
|
* Renamed souce files of services to match port namesGareth Poole2014-10-2911-10/+10
|
* Merge pull request #141 from archshift/crash-huntbunnei2014-10-281-0/+4
|\ | | | | hid.cpp: Fixed crash when updating pad data while null
| * hid.cpp: Fixed crash when updating pad data while nullarchshift2014-10-141-0/+4
| | | | | | | | Fixes #137
* | Add `override` keyword through the code.Yuri Kunde Schlesner2014-10-267-11/+11
| | | | | | | | This was automated using `clang-modernize`.
* | Don’t fail on empty filename in OpenFileDirectly, return the archive handle insteadEmmanuel Gil Peyrot2014-10-251-8/+7
|/
* APT: Added a stub for the "GlanceParameter" function.purpasmart962014-10-081-1/+31
|
* Added some more names to the function tablepurpasmart962014-10-051-0/+2
| | | Added "SetApplicationCpuTimeLimit" and "GetApplicationCpuTimeLimit" to apt.cpp
* added "StoreDataCache" to the function tablepurpasmart962014-09-301-0/+1
| | | seems simple enough
* FS: Implement OpenArchive, OpenDirectory, OpenFile and OpenFileDirectly calls.Emmanuel Gil Peyrot2014-09-171-20/+177
|
* Added support for multiple input device types for KeyMap and connected Qt.Kevin Hartman2014-09-122-113/+127
|
* Initial HID PAD work, with GLFW only.Kevin Hartman2014-09-122-24/+197
|
* Created structure for PAD.Kevin Hartman2014-09-122-0/+28
|
* core: Prune redundant includesarchshift2014-09-095-11/+0
|
* core: Pass string by reference in FetchFromPortName and DeleteServiceLioncash2014-09-062-4/+4
|
* srv::Initialize: Return "success" status code.bunnei2014-08-281-0/+4
|
* Pica/citra-qt: Replace command list view and command list debugging code with something more sophisticated.Tony Wasserka2014-08-251-5/+0
|
* GSP: Update framebuffer information when necessary.Tony Wasserka2014-08-252-2/+41
|
* GSP: Implement SetBufferSwap.Tony Wasserka2014-08-252-1/+47
|
* GSP: Add a helper function for convenience.Tony Wasserka2014-08-251-17/+22
|
* Core: Alter the kernel string functions to use std::string instead of const char*.Lioncash2014-08-187-11/+11
| | | | Most functions already operate on std::strings. This also removes the need to manually null terminate thread names.
* Merge pull request #39 from bunnei/hid-minor-improvementsbunnei2014-08-131-5/+44
|\ | | | | Hid minor improvements
| * HID: Added new function entries from 3dbrew to FunctionTable.bunnei2014-08-131-0/+5
| | | | | | | | HID: Fix typo with DisableGyroscopeLow command.
| * HID: Implemented HID_User::GetIPCHandles service function.bunnei2014-08-081-5/+39
| |
* | Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones.Tony Wasserka2014-08-121-9/+9
| | | | | | | | | | This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible. This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though.
* | GSP: Fix a major regression introduced in ffda035c, due to which no display transfers were triggered at all anymore.Tony Wasserka2014-08-121-4/+13
| |
* | Remove the fancy RegisterSet class introduced in 4c2bff61e.Tony Wasserka2014-08-121-18/+18
|/ | | | | While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures. Instead, we now use a more conventional approach which is a lot more clean to use.
* GSP: Cleaned up command buffer decoding.bunnei2014-08-072-61/+69
| | | | | | | | GSP: Cleaned up code and added additional comments. GSP: Removed unnecessary TODO comment. GSP: Changed u32 iterators in TriggerCmdReqQueue to unsigned.
* GSP: Added reinitialization of other state objects.bunnei2014-08-061-0/+3
|
* GSP: Removed dumb GX prefixes to functions/structs in GSP namespace.bunnei2014-08-062-77/+78
| | | | - Various other cleanups.
* GSP: Removed unnecessary GX_FinishCommand function.bunnei2014-08-061-13/+5
|
* GSP: Implements preliminary command synchronization via GPU interrupts.bunnei2014-08-062-18/+109
| | | | Core: Added a comment to explain the logic for the RunLoop iterations.
* SRV: Updated GetProcSemaphore to create an event instead of a mutex.bunnei2014-08-061-8/+10
|
* FS: Fix port name (old port name was based on an unaligned memory read).bunnei2014-08-061-1/+1
|
* GSP: Add a few comments.Tony Wasserka2014-07-232-1/+15
|
* GSP: Clean up GX command processing a lot and treat command id as a u8 rather than a u32.Tony Wasserka2014-07-232-37/+79
| | | | Anonymous structs are not standard C++, hence don't use them.
* GPU: Make use of RegisterSet.Tony Wasserka2014-07-231-21/+28
|
* GPU: Emulate memory fills.Tony Wasserka2014-07-232-1/+9
|
* GSP: HLE GXCommandId::SET_DISPLAY_TRANSFER and GXCommandId::SET_TEXTURE_COPY.Tony Wasserka2014-07-231-2/+9
|
* GSP: Implement ReadHWRegs and WriteHWRegs properly.Tony Wasserka2014-07-231-27/+46
|
* GSP: Fixed to use real shared memory object, various cleanups.bunnei2014-07-051-25/+34
| | | | | | | | - 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.
* FileSys: Added preliminary support for applications reading the RomFS archive.bunnei2014-07-051-3/+30
| | | | | | | | | | 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.
* APT: Added stubbed ReceiveParameter and various cleanups.bunnei2014-07-041-71/+93
| | | | | | APT: More cleanups. APT: Changed SignalType to be type u32.
* FS: Added stubbed code to intercept and decode file system service functions.bunnei2014-06-273-0/+154
| | | | FS: Added to CMakeLists.txt
* Merge branch 'threading' of https://github.com/bunnei/citrabunnei2014-06-149-148/+271
|\ | | | | | | | | | | Conflicts: src/core/hle/function_wrappers.h src/core/hle/service/gsp.cpp
| * HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)bunnei2014-06-137-118/+118
| |
| * HLE: Updated various handle debug assertions to be more clear.bunnei2014-06-131-1/+1
| |
| * Kernel: Updated several member functions to be constbunnei2014-06-131-2/+2
| |
| * service: added a error log messages for unimplemented WaitSynchronizationbunnei2014-06-051-0/+1
| |
| * svc: added optional name field to Event and Mutex (used for debugging)bunnei2014-06-032-4/+4
| |
| * gsp: always pass through synchronization barrier for commandsbunnei2014-06-011-1/+16
| |
| * hle: added stubbed service for ndm_ubunnei2014-05-302-0/+65
| |
| * service: cleaned up log messagesbunnei2014-05-301-2/+2
| |
| * service: removed PT_A from, as this was just an alias for APT_Ubunnei2014-05-301-2/+0
| |
| * srv: fix to log unimplemented service (instead of crash)bunnei2014-05-301-6/+2
| |
| * hle: cleaned up log messagesbunnei2014-05-304-11/+15
| |
| * service: added additional hack to return success on unimplemented service callsbunnei2014-05-301-2/+10
| |
| * srv: changed a NOTICE_LOG to DEBUG_LOGbunnei2014-05-301-1/+1
| |
| * apt: added stubbed function for InquireNotificationbunnei2014-05-291-78/+86
| |
| * service: changed interface to return 0 (no error) when a service method is unimplemented - hack to make apps boot furtherbunnei2014-05-291-2/+2
| |
| * APT_U: added stubbed function for APT_U::Enable, fixed some log messages to be more consistentbunnei2014-05-281-3/+10
| |
| * APT_U: added event creation to Initialize methodbunnei2014-05-281-1/+11
| |
| * kernel: added WaitSynchronization method to Kernel::Objectbunnei2014-05-271-0/+10
| |
| * kernel: updated SyncRequest to take boolean thread wait result as a parameterbunnei2014-05-271-3/+4
| |
| * service: Renamed Sync to SyncRequestbunnei2014-05-271-1/+1
| |
| * srv: added a real mutex for GetProcSemaphore (instead of stubbed)bunnei2014-05-271-3/+10
| |
| * kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequestbunnei2014-05-271-6/+0
| |
* | GPU debugger: Add functionality to inspect command lists.Tony Wasserka2014-06-121-0/+4
| |
* | GPU: Cleanup register definitions.Tony Wasserka2014-06-121-3/+3
| |
* | Rename LCD to GPU.Tony Wasserka2014-06-121-8/+8
| |
* | Add initial graphics debugger interface.Tony Wasserka2014-06-121-0/+6
| |
* | GSP: Define more GX commands.Tony Wasserka2014-06-122-14/+54
| |
* | service: fixed typo that MSVC did not catch as an errorbunnei2014-05-231-1/+1
|/
* APT_U: added a debug log on calling GetLockHandlebunnei2014-05-231-0/+1
|
* mutex: refactored the interface to code to return a Mutex* handlebunnei2014-05-211-1/+2
|
* mutex: initial commit of HLE modulebunnei2014-05-211-6/+4
|
* service: removed redundant include of common_types.hbunnei2014-05-211-1/+0
|
* renamed "syscall" module to "svc" (more accurate naming)bunnei2014-05-211-1/+1
|
* - created a Kernel namespacebunnei2014-05-212-8/+8
| | | | | - cleaned up Kernel code a bit (moved stuff into namespace, fixed whitespace issues) - added handle types for all different CTROS handles
* 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 codebunnei2014-05-201-1/+1
|
* - renamed NewHandle to CreateHandlebunnei2014-05-192-8/+8
| | | | - updated CreateHandle/DeleteHandle to use KernelObject's
* - updated service(s) to be KernelObject'sbunnei2014-05-196-55/+26
| | | | - various cleanups
* renamed "UID" to "Handle" where appropriatebunnei2014-05-193-22/+20
|
* - moved Handle/Result definitions to kernel.hbunnei2014-05-193-7/+9
| | | | - added ResetType enum
* added stubbed GetProcSemaphore - does nothing but avoids an exceptionbunnei2014-05-171-1/+7
|
* updated APT_U::GetLockHandle to return a valid handlebunnei2014-05-171-1/+5
|
* removed unknown fields from GX_CmdBufferHeaderbunnei2014-05-081-5/+0
|
* - removed HLE mem "hack" and replaced with kernel mem regionbunnei2014-05-084-8/+84
| | | | | - 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)
* removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable classbunnei2014-04-283-9/+0
|
* fixed weird spacingbunnei2014-04-281-1/+1
|
* hackish but working way to set the framebuffer location to VRAM (used in ARM11 demos tested thus far, e.g. yeti3DS)bunnei2014-04-271-3/+9
|
* added simple GSP GPU ReadHWRegs function to support returning the framebuffer addressbunnei2014-04-261-1/+37
|
* added GSP::RegisterInterruptRelayQueue functionbunnei2014-04-251-31/+40
|
* - refactored how service functions are calledbunnei2014-04-255-19/+39
| | | | - added option to create/delete service handles
* fixed bug with printing std::string in log messagesbunnei2014-04-171-2/+2
|
* added class stub for HID:User servicebunnei2014-04-173-0/+72
|
* updated service commentsbunnei2014-04-176-5/+17
|
* - added stubbed out GSP::Gpu service interfacebunnei2014-04-167-7/+103
| | | | - various cleanups/refactors to HLE services
* removed no longer used function headerbunnei2014-04-161-2/+0
|
* restructured hle:services completely to use function lookup tablesbunnei2014-04-165-137/+215
|
* fixed naming for APT_Ubunnei2014-04-163-9/+9
|
* - extracted srv: calls from service.cpp and put in its own modulebunnei2014-04-164-106/+105
| | | | | - added function tables for service calls - lots of refactoring
* added a stub for GetLockHandlebunnei2014-04-143-9/+44
|
* added framework for APT service (application and title launching service)bunnei2014-04-134-5/+117
|
* renamed class Interface_SRV to SRVbunnei2014-04-131-6/+6
|
* added some very initial command parsing for SRV Syncbunnei2014-04-131-5/+31
|
* cleanups to service HLEbunnei2014-04-132-8/+8
|
* - added HLE to connect to "srv:" servicebunnei2014-04-132-2/+170
| | | | | | - added a manager for keeping track of services/ports - added a memory mapped region for memory accessed by HLE - added HLE for GetThreadCommandBuffer function
* - renamed hle_syscall to just syscallbunnei2014-04-121-0/+60
- added service.h as an initial service interface