summaryrefslogtreecommitdiffstats
path: root/src/core/hle/svc.cpp (unfollow)
Commit message (Expand)AuthorFilesLines
2017-01-11Threads: Check the process' resource limit for the max allowed priority when creating a thread and remove the priority clamping code.Subv1-5/+7
2017-01-11Thread: Added priority range checking to svcSetThreadPriority and removed priority clamping code from Thread::SetPriority.Subv1-0/+14
2017-01-06Kernel: Fix SharedMemory objects always returning error when addr = 0 (#2404)Hyper1-1/+5
2017-01-06Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.Subv1-0/+5
2017-01-05Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on.Subv1-11/+3
2017-01-04Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true.Subv1-3/+3
2017-01-04Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexesSubv1-0/+6
2017-01-04Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.Subv1-2/+3
2017-01-04Kernel/Mutex: Implemented priority inheritance.Subv1-9/+0
2017-01-04Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Subv1-6/+6
2017-01-04Kernel/Synch: Do not attempt a reschedule on every syscall.Subv1-2/+17
2016-12-22core: Replace "AppCore" nomenclature with just "CPU".bunnei1-7/+6
2016-12-22Address clang-format issues.bunnei1-9/+10
2016-12-22core: Remove HLE module, consolidate code & various cleanups.bunnei1-35/+35
2016-12-22core: Consolidate core and system state, remove system module & cleanups.bunnei1-6/+6
2016-12-17Thread: remove the thread from the thread list when exitingwwylele1-1/+1
2016-12-14Fixed the codestyle to match our clang-format rules.Subv1-2/+4
2016-12-14Fixed the codestyle to match our clang-format rules.Subv1-19/+28
2016-12-10Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout.Subv1-1/+1
2016-12-09WaitSynch: Removed unused variables and reduced SharedPtr copies.Subv1-60/+45
2016-12-08Use std::move where appropriate.Subv1-5/+1
2016-12-05Return an error code when connecting to a saturated port.Subv1-1/+2
2016-12-05KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.Subv1-13/+5
2016-12-04Threading: Added some utility functions and const correctness.Subv1-5/+13
2016-12-04Threading: Reworked the way our scheduler works.Subv1-78/+103
2016-12-01Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call.Subv1-2/+3
2016-12-01A bit of a redesign.Subv1-2/+9
2016-12-01 Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv1-3/+15
2016-09-22name objectswwylele1-0/+4
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-5/+1
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-234/+278
2016-06-11Kernel/SVC: Implemented svcCreatePort.Subv1-1/+20
2016-05-21SVC::WaitSynchronizationN: Reschedule at the endwwylele1-2/+3
2016-05-17Set fpscr for new threadsJannik Vogel1-0/+3
2016-05-13Kernel: Implemented shared memory permissions.Subv1-0/+2
2016-05-13Kernel/SharedMemory: Properly implemented shared memory support.Subv1-12/+35
2016-05-07Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).Subv1-0/+5
2016-04-29Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner1-4/+0
2016-04-21ac:u: stub CloseAsync; check memory size aling in svc:GetProcessInfo(type=2)mailwl1-0/+4
2016-03-13svc: Move ResetType enum to the kernel event headerLioncash1-2/+2
2016-03-01ThreadProcessorId_All on SVC::CreateThreadKloen1-0/+1
2016-01-14HLE/SVC: Implement UnmapMemoryBlock.Subv1-5/+27
2015-12-25svc: Remove superfluous printf argumentLioncash1-1/+1
2015-12-13svc: Fix compilation with LOG_TRACE enabledLioncash1-1/+1
2015-12-01Kernel: Implement svcGetSystemInfoYuri Kunde Schlesner1-1/+46
2015-08-30SVC: Advance time when calling GetSystemTick to escape busy-wait loopsYuri Kunde Schlesner1-1/+4
2015-08-25Integrate the MicroProfile profiling libraryYuri Kunde Schlesner1-0/+4
2015-08-16Kernel: Implement svcGetProcessInfo in a basic wayYuri Kunde Schlesner1-1/+47
2015-08-16Kernel: Add more infrastructure to support different memory layoutsYuri Kunde Schlesner1-1/+1
2015-08-16Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h}Yuri Kunde Schlesner1-1/+1
2015-08-16Kernel: Properly implement ControlMemory FREE and COMMITYuri Kunde Schlesner1-13/+95
2015-07-21dyncom: Pass SVC immediates directly.Lioncash1-4/+3
2015-07-17Kernel/SVC: Implemented svcQueryProcessMemorySubv1-6/+16
2015-07-17Kernel/SVC: Implemented svcQueryMemory.Subv1-2/+14
2015-07-17Core\HLE : Fix Warningzawata1-2/+2
2015-06-17kernel: Fix svcWaitSynch to always acquire requested wait objects.bunnei1-9/+17
2015-05-29Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot1-2/+2
2015-05-25Core/SVC: Map the shared memory created in CreateMemoryBlock to the specified address.Subv1-0/+2
2015-05-21Kernel: Move reschedules from SVCs to actual mechanisms that reschedule.bunnei1-20/+2
2015-05-17Implement svcBreakarchshift1-1/+13
2015-05-15Core/ResourceLimits: Implemented the basic structure of ResourceLimits.Subv1-11/+38
2015-05-15Memmap: Re-organize memory function in two filesYuri Kunde Schlesner1-1/+1
2015-05-12fixup!Subv1-9/+9
2015-05-11Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThreadSubv1-2/+31
2015-05-11Kernel: Capture SharedMemory attributes at creation, not when mappingYuri Kunde Schlesner1-1/+3
2015-05-07Fix printf format warningYuri Kunde Schlesner1-1/+1
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-0/+1
2015-05-06HLE: Clean up SVC dispatch mechanismYuri Kunde Schlesner1-3/+34
2015-04-10SVC: Assert on unsupported CreateThread processor ID.bunnei1-3/+9
2015-04-10SVC: Update various SVCs to cause a reschedule.bunnei1-2/+22
2015-04-10Thread: Implement priority boost for starved threads.bunnei1-6/+16
2015-04-10SVC: Reschedule on svcCreateThread.bunnei1-0/+2
2015-03-16arm_interface: Get rid of GetTicks.Lioncash1-2/+3
2015-02-11Asserts: break/crash program, fit to style guide; log.h->assert.harchshift1-1/+1
2015-02-10Scheduler refactor Pt. 1Kevin Hartman1-5/+9
2015-02-10WaitSynch: Always reschedule (verified behavior on hw).bunnei1-4/+4
2015-02-02Kernel: Stop creating useless Handles during object creationYuri Kunde Schlesner1-7/+11
2015-02-02SVC: Enable CloseHandle, clean up DuplicateHandleYuri Kunde Schlesner1-9/+5
2015-02-02Thread: Modernize two functions that slipped through previous rebasesYuri Kunde Schlesner1-3/+3
2015-02-02Make Port/Service registration and querying more HW-accurateYuri Kunde Schlesner1-4/+16
2015-01-30SVC: Use CASCADE_RESULT in SVC handlersYuri Kunde Schlesner1-73/+32
2015-01-30Remove result.h InvalidHandleYuri Kunde Schlesner1-15/+16
2015-01-30SVC: Change return type of handlers to ResultCodeYuri Kunde Schlesner1-90/+90
2015-01-30Kernel: Convert Event to not use HandlesYuri Kunde Schlesner1-11/+29
2015-01-30Kernel: Convert Timer to (mostly) not use HandlesYuri Kunde Schlesner1-7/+40
2015-01-30Kernel: Convert Mutex to not use HandlesYuri Kunde Schlesner1-5/+19
2015-01-30Kernel: Convert AddressArbiter to not use HandlesYuri Kunde Schlesner1-6/+24
2015-01-30Kernel: Convert Semaphore to not use HandlesYuri Kunde Schlesner1-6/+27
2015-01-30Kernel: Convert SharedMemory to not use HandlesYuri Kunde Schlesner1-15/+29
2015-01-27SVC: Update the SVC function tablepurpasmart961-7/+7
2015-01-22WaitSynchronization: Added a result code for invalid result, fixed bug.bunnei1-3/+9
2015-01-22Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.bunnei1-3/+3
2015-01-22Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.bunnei1-7/+3
2015-01-22WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.bunnei1-2/+2
2015-01-22Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.bunnei1-0/+1
2015-01-22Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely.bunnei1-2/+2
2015-01-22SVC: Removed a Sleep that made no sensebunnei1-6/+1
2015-01-22AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.bunnei1-3/+3
2015-01-22Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.bunnei1-10/+20
2015-01-22WaitSynchronizationN: Improved commentsbunnei1-7/+12
2015-01-22WaitSynchronizationN: Refactor to fix several bugsbunnei1-25/+27
2015-01-22Kernel: Separate WaitSynchronization into Wait and Acquire methods.bunnei1-4/+5
2015-01-22WaitSynchronizationN: Handle case where handles=nullptr.bunnei1-0/+4
2015-01-22WaitSynchronizationN: Handle case where handle_count is invalid.bunnei1-3/+7
2015-01-22WaitSynchronizationN: Handle case where handle_count=0.bunnei1-19/+29
2015-01-22WaitSynchronizationN: Implement return valuesbunnei1-27/+50
2015-01-13AddrArbiter: Implement arbitration types 3 and 4.Subv1-1/+1
2015-01-11SVC: Wake up the thread after the delay in WaitSync1Subv1-3/+2
2015-01-10Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance.archshift1-1/+0
2015-01-09Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner1-13/+18
2015-01-09Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner1-20/+31
2015-01-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner1-0/+1
2015-01-09SVC: Implemented the Timer service calls.Subv1-4/+32
2015-01-09SVC: Fixed SleepThread.Subv1-0/+4
2015-01-07Warn if a new thread is intended to be run on the system CPU core until we implement correct scheduling for such a thread.Kevin Hartman1-0/+5
2014-12-31SOC_U: Preliminary implementation of sockets.Subv1-1/+13
2014-12-28Kernel: New handle managerYuri Kunde Schlesner1-19/+9
2014-12-28Rename ObjectPool to HandleTableYuri Kunde Schlesner1-5/+5
2014-12-21License changepurpasmart961-1/+1
2014-12-21Thread: Wait current thread on svc_SleepThreadbunnei1-1/+2
2014-12-15Remove SyncRequest from K::Object and create a new K::Session typeYuri Kunde Schlesner1-7/+4
2014-12-13Kernel/Semaphores: Fixed buildSubv1-2/+2
2014-12-13SVC: Implemented ReleaseSemaphore.Subv1-3/+10
2014-12-13SVC: Implemented svcCreateSemaphoreSubv1-1/+10
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner1-27/+27
2014-12-12MemMap: Renamed "GSP" heap to "linear", as this is not specific to GSP.bunnei1-1/+1
2014-12-04SVC: Implemented GetThreadId.Subv1-4/+5
2014-11-26SVC: Add debug log to ArbitrateAddress.bunnei1-0/+2
2014-11-26SVC: SleepThread should yield to the next ready thread.bunnei1-0/+3
2014-11-24HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner1-31/+37
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot1-14/+14
2014-11-19Kernel:Add missing permissions in shared memory & svcpurpasmart961-0/+4
2014-11-18core: Mark some hle functions as staticLioncash1-26/+26
2014-10-30Fix some warningsSean1-3/+3
2014-09-09core: Prune redundant includesarchshift1-3/+0
2014-09-09Added string_util to common, small changes in loader.cpparchshift1-1/+1
2014-08-19SVC: Added support for svc_GetSystemTick.bunnei1-1/+6
2014-08-18Core: Alter the kernel string functions to use std::string instead of const char*.Lioncash1-5/+5
2014-08-17Core: Fix a formatting error in svc.cppLioncash1-3/+2
2014-08-08SVC: Fixed typo with MapMemoryBlock DEBUG_LOG call.bunnei1-1/+1
2014-08-06SVC: Removed ArbitrateAddress log message that spams to much.bunnei1-2/+0
2014-07-09Kernel: Added preliminary support for address arbiters.bunnei1-8/+10
2014-07-05SharedMemory: Updated MapSharedMemory to use an enum for permissions.bunnei1-10/+9
2014-07-05GSP: Fixed to use real shared memory object, various cleanups.bunnei1-5/+6
2014-06-13SVC: Renamed all function wrapper templates to Wrap, moved to HLE namespace.bunnei1-126/+126
2014-06-13SVC: Cleaned up function wrappers to pass in correct argument types.bunnei1-148/+138
2014-06-13SVC: Moved declaration of "wait" variable in SendSyncRequest for improved readability.bunnei1-1/+1
2014-06-13HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)bunnei1-107/+107
2014-06-13HLE: Updated various handle debug assertions to be more clear.bunnei1-6/+6
2014-06-13Kernel: Added real support for thread and event blockingbunnei1-28/+31
2014-06-02svc: updated WaitSynchronizationN to properly use first pointer argumentbunnei1-3/+3
2014-06-02svc: changed DuplicateHandle log message from "error" to "debug"bunnei1-1/+1
2014-06-02svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle supportbunnei1-3/+26
2014-06-02kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedulebunnei1-2/+7
2014-06-02svc: cleaned up function_wrappers, updated various SVCs to make use of pointer argumentsbunnei1-16/+18
2014-06-01svc: updated waitSychronization to not overwrite handle on return, added stub for SleepThread (does nothing)bunnei1-2/+21
2014-05-30hle: cleaned up log messagesbunnei1-27/+28
2014-05-30svc: updated OutputDebugString to use OS_LOGbunnei1-1/+1
2014-05-30svc: changed unimplemented SVC log messages from "debug" messages to "error" messagesbunnei1-8/+8
2014-05-30svc: added svcClearEvent, stubbed function for svcArbitrateAddress, and various fixesbunnei1-22/+32
2014-05-28svc: implemented WaitSynchronization1, WaitSynchronizationN, and CreateEventbunnei1-14/+54
2014-05-27kernel: updated SyncRequest to take boolean thread wait result as a parameterbunnei1-2/+9
2014-05-27svc: added some assertionsbunnei1-6/+4
2014-05-27svc: changed SendSyncRequest to use Kernel::Object SyncRequest (instead of just service Interface class)bunnei1-2/+2
2014-05-27svc: added stub for DuplicateHandle SVC callbunnei1-1/+8
2014-05-23svc: added a check to ensure that a service was implemented before attempting to connect to its portbunnei1-1/+5
2014-05-23thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argumentbunnei1-2/+2
2014-05-23thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThreadbunnei1-8/+5
2014-05-22svc: added Kernel::Reschedule to svc WaitSynchronization1, updated log messages to include newly created handlesbunnei1-4/+7
2014-05-21svc: enabled use of newly created kernel thread handlebunnei1-5/+5
2014-05-21mutex: refactored the interface to code to return a Mutex* handlebunnei1-1/+1
2014-05-21mutex: initial commit of HLE modulebunnei1-4/+5
2014-05-21svc: added some commentsbunnei1-0/+7
2014-05-21thread: moved threading calls to the Kernel namespacebunnei1-2/+2
2014-05-21renamed "syscall" module to "svc" (more accurate naming)bunnei1-5/+7
2014-05-19renamed "session" to "handle"bunnei1-3/+3
2014-05-19fix warningbunnei1-1/+1
2014-05-19renamed "UID" to "Handle" where appropriatebunnei1-2/+2
2014-05-18- added stub for CreateEventbunnei1-8/+22
2014-05-18added stubbed function for WaitSynchronizationNbunnei1-3/+13
2014-05-17cleanups to SVC CreateThreadbunnei1-8/+15
2014-05-16- added SVC stubs for QueryMemory and GetThreadIdbunnei1-2/+14
2014-05-16- added ThreadContext structbunnei1-8/+12
2014-05-14added CreateThread, CreateMutex, and ReleaseMutex SVC stubs (just parameter decoding for now)bunnei1-6/+37
2014-05-08removed unnecessary log messagebunnei1-1/+1
2014-05-07- added debug logging to syscall.cppbunnei1-134/+162
2014-05-02- added some function wrappers for HLEbunnei1-2/+17
2014-04-25fixed bug where svc_ControlMemory was not properly getting passed in parametersbunnei1-2/+2
2014-04-25- added preliminary support for svc_MapMemoryBlockbunnei1-4/+34
2014-04-18renamed hw_lcd module to just lcdbunnei1-2/+0
2014-04-18added GSP heap memory allocationbunnei1-1/+25
2014-04-17- fixed tabs in function_wrappers.hbunnei1-126/+138
2014-04-13- added HLE to connect to "srv:" servicebunnei1-128/+138
2014-04-12- renamed hle_syscall to just syscallbunnei1-62/+64
2014-04-11added remaining known syscall functions to Syscall_Tablebunnei1-0/+80
2014-04-11base code to call a syscall from ARM11 appcorebunnei1-4/+51
2014-04-11changed some naming/misc cleanupsbunnei1-2/+2
2014-04-11- removed syscall classes (will just use HLEFunction)bunnei1-4/+6
2014-04-11added initial modules for setting up SysCall HLEbunnei1-0/+22