summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel (unfollow)
Commit message (Expand)AuthorFilesLines
2018-11-18svc: ResetSignal is not stubbedTobias1-1/+1
2018-11-18ldr_ro: Add error check for memory allocation failureZach Hilman3-6/+7
2018-11-16kernel/errors: Clean up error codesLioncash2-62/+32
2018-11-15process: Make MirrorMemory take state to map new memory asZach Hilman1-1/+2
2018-11-14kernel/thread: Deduplicate scheduler switching codeLioncash2-37/+13
2018-11-13vm_manager: Unstub GetTotalHeapUsage()Lioncash1-2/+1
2018-11-13kernel/process: Migrate heap-related memory management out of the process class and into the vm managerLioncash4-84/+97
2018-11-13svc: Use proper random entropy generation algorithmZach Hilman3-1/+27
2018-11-13svc: Return random seed for svcGetInfo RandomEntropyZach Hilman1-1/+2
2018-11-08svcBreak now dumps information from the debug buffer passed (#1646)David1-0/+28
2018-11-06Implement SetMemoryPermissionFrederic Laing1-3/+39
2018-11-03Stubbed SetMemoryPermissionFrederic Laing2-1/+12
2018-10-30general: Remove unused boost inclusions where applicableLioncash1-2/+0
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L1-4/+4
2018-10-30hle_ipc: Add member function for querying the existence of a domain headerLioncash2-1/+5
2018-10-30hle_ipc: Make GetDomainMessageHeader return a regular pointerLioncash2-3/+3
2018-10-28core: Make System references const where applicableLioncash2-3/+3
2018-10-26svc: Localize the GetInfo enum class to the function itselfLioncash2-32/+31
2018-10-26svc: Implement svcGetInfo command 0xF0000002Lioncash6-4/+98
2018-10-26process: LoadModule should clear JIT instruction cache.bunnei1-0/+6
2018-10-26Kernel/Memory: Added a function to first a suitable guest address at which to allocate a region of a given size.bunnei2-0/+28
2018-10-24kernel/errors: Remove now-unused, unnecessary, error codesLioncash1-8/+0
2018-10-24kernel/shared_memory: Return ERR_INVALID_MEMORY_PERMISSIONS instead of ERR_INVALID_COMBINATIONLioncash1-4/+3
2018-10-24kernel/server_port: Simplify emptiness check within ShouldWait()Lioncash1-1/+1
2018-10-24kernel/server_port: Change error case return value in Accept() to ERR_NOT_FOUNDLioncash2-3/+1
2018-10-24kernel/error: Remove leftover 3DS error codesLioncash1-5/+0
2018-10-24kernel/svc: Amend returned error code for invalid priorities in CreateThreadLioncash1-1/+1
2018-10-24kernel/svc: Move and correct returned error code for invalid thread priorities in SetThreadPriority()Lioncash1-5/+6
2018-10-24kernel/error: Add error code for invalid pointersLioncash1-1/+1
2018-10-24kernel/error: Add error code for closed sessionsLioncash1-1/+3
2018-10-23Added assertion failed, reworked logging levelsDavid Marcec1-16/+24
2018-10-23Added break types to svcBreakDavid Marcec1-4/+42
2018-10-20kernel/process: Make the handle table per-processLioncash8-98/+95
2018-10-20svc: Fix vma boundary check in svcQueryMemoryLioncash1-1/+1
2018-10-18svc: Check for word alignment of addresses within svcArbitrateLock/svcArbitrateUnlockLioncash1-0/+8
2018-10-18common: Move Is4KBAligned() to alignment.hLioncash1-9/+7
2018-10-18svc: Add missing sanitizing checks for MapSharedMemory/UnmapSharedMemoryLioncash3-3/+50
2018-10-15core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrsLioncash4-15/+15
2018-10-15svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo()Lioncash4-28/+44
2018-10-14Stop all threads on svcBreakDavid Marcec1-0/+6
2018-10-13svc: Implement svcGetProcessInfoLioncash3-4/+50
2018-10-12kernel/process: Make CodeSet a regular non-inherited objectLioncash4-40/+14
2018-10-12thread: Remove unnecessary memset from ResetThreadContext()Lioncash1-4/+1
2018-10-12svc: Fix typos in sanitizing checks for MapMemory/UnmapMemoryLioncash1-3/+3
2018-10-11svc: Add missing address range sanitizing checks to MapMemory/UnmapMemoryLioncash2-12/+81
2018-10-10kernel/thread: Use a regular pointer for the owner/current processLioncash6-29/+29
2018-10-10Changed all casts in svc_wrap.h to be static_cast insteadDavid Marcec1-25/+28
2018-10-10Use a better name than "dont_kill_application"David Marcec1-2/+2
2018-10-10Fixed incorrect types for svcBreakDavid Marcec2-3/+8
2018-10-09Added bitfield instead of manually checking if the bit is setDavid Marcec1-4/+12
2018-10-09Actual kill execution when the bit isn't set, not the other way aroundDavid Marcec1-1/+1
2018-10-09svcBreak, Signalling to the debugger should not kill executionDavid Marcec1-5/+12
2018-10-06Added forward define for ServerPortDavid Marcec2-4/+6
2018-10-06Ported #4296 from citraDavid Marcec2-1/+6
2018-10-06kernel/mutex: Amend behavior of TransferMutexOwnership()Lioncash1-1/+1
2018-10-05thread: Make the scheduler pointer a regular pointerbalika0112-4/+4
2018-10-04kernel/thread: Make all instance variables privateLioncash11-187/+363
2018-09-30kernel/svc: Implement svcGetThreadContext()Lioncash3-2/+37
2018-09-30kernel/process: Add a data member to determine if a process is 64-bit or not.Lioncash2-0/+11
2018-09-30kernel/process: Make data member variables privateLioncash5-51/+96
2018-09-28kernel/object: Remove unnecessary std::move from DynamicObjectCast()Lioncash2-3/+2
2018-09-25kernel/scheduler: Take ARM_Interface instance by reference in the constructorLioncash2-9/+9
2018-09-25memory: Dehardcode the use of fixed memory range constantsLioncash4-13/+17
2018-09-25svc: Report correct memory-related values within some of the cases in svcGetInfo()Lioncash3-28/+41
2018-09-25memory: Dehardcode the use of a 36-bit address spaceLioncash2-5/+16
2018-09-24process/vm_manager: Amend API to allow reading parameters from NPDM metadataLioncash4-10/+248
2018-09-24svc: Updated svc namestech4me1-7/+7
2018-09-21svc: Move most process termination code to its own function within ProcessLioncash3-32/+56
2018-09-21thread/process: Move TLS slot marking/freeing to the process classLioncash4-68/+89
2018-09-21kernel/thread: Use owner_process when setting the page table in SetupMainThread()Lioncash3-5/+5
2018-09-21arm_interface: Replace kernel vm_manager include with a forward declarationLioncash1-0/+1
2018-09-18svc_wrap: Convert the PARAM macro into a functionLioncash1-37/+36
2018-09-18arm_interface: Remove ARM11-isms from the CPU interfaceLioncash1-2/+2
2018-09-18kernel/mutex: Replace ResultCode construction for invalid addresses with the named variantLioncash1-2/+2
2018-09-18kernel/svc: Handle error cases for svcArbitrateLock() and svcArbitrateUnlock()Lioncash1-0/+8
2018-09-15Port # #4192 from Citra: "svc: change unknown to thread in CreateThread"Valentin Vanelslande1-1/+1
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi14-62/+65
2018-09-14kernel/svc: Sanitize creation of shared memory via svcCreateSharedMemory()Lioncash1-2/+18
2018-09-14kernel/svc: Sanitize addresses, permissions, and sizes within svcMapSharedMemory() and svcUnmapSharedMemory()Lioncash1-17/+25
2018-09-14kernel/svc: Sanitize addresses and sizes within svcMapMemory() and svcUnmapMemory()Lioncash1-0/+23
2018-09-14kernel/svc: Sanitize heap sizes within svcSetHeapSize()Lioncash2-0/+8
2018-09-13kernel/errors: Amend error code for ERR_NOT_FOUNDLioncash1-1/+2
2018-09-13kernel/thread: Include thread-related enums within the kernel namespaceLioncash1-6/+6
2018-09-12svc: Return ERR_INVALID_PROCESSOR_ID in CreateThread() if an invalid processor ID is givenLioncash1-2/+2
2018-09-12kernel/errors: Correct error codes for invalid thread priority and invalid processor IDLioncash3-7/+9
2018-09-12svc: Do nothing if svcOutputDebugString() is given a length of zeroLioncash1-0/+4
2018-09-12svc: Correct parameter type for OutputDebugString()Lioncash2-3/+3
2018-09-07core: Migrate current_process pointer to the kernelLioncash2-0/+23
2018-09-02service: Migrate global named port map to the KernelCore classLioncash3-5/+49
2018-08-31core/core: Replace includes with forward declarations where applicableLioncash5-4/+12
2018-08-29kernel: Eliminate kernel global stateLioncash32-405/+574
2018-08-25kernel/error: Amend error code for ERR_MAX_CONNECTIONS_REACHEDLioncash1-2/+4
2018-08-25kernel/error: Amend error code for ERR_PORT_NAME_TOO_LONGLioncash1-2/+1
2018-08-25kernel/error: Add error code for the handle table being fullLioncash3-4/+4
2018-08-25kernel/error: Add error code for invalid memory permissionsLioncash2-3/+4
2018-08-25kernel/error: Correct kernel error code for invalid combinationLioncash1-1/+2
2018-08-25svc: Return process title ID if queried in GetInfo()Lioncash1-2/+1
2018-08-25core: Namespace all code in the arm subdirectory under the Core namespaceLioncash4-6/+8
2018-08-15kernel/server_session: Add IsSession() member functionLioncash2-2/+7
2018-08-15kernel/svc: Log svcBreak parametersLioncash1-2/+5
2018-08-13Core::CoreTiming: add UnscheduleEventThreadsafeB3n301-1/+1
2018-08-13kernel/object: Tighten object against data racesLioncash2-8/+9
2018-08-13Kernel/SVC: Don't reschedule the current core when creating a new thread.Subv1-1/+0
2018-08-13Kernel/Threads: Lock the HLE mutex when executing the wakeup callback.Subv1-0/+5
2018-08-13Kernel/Thread: Always use the threadsafe option when scheduling wakeups.Subv1-2/+4
2018-08-12Kernel/Mutex: Don't duplicate threads in the mutex waiter list.Subv2-2/+22
2018-08-12scheduler: Make HaveReadyThreads() a const member functionLioncash2-2/+2
2018-08-12server_session: Provide more useful information and don't crash on bad IPC request.bunnei1-0/+8
2018-08-09hle_ipc: Make WriteToOutgoingCommandBuffer()'s reference parameter constLioncash2-2/+2
2018-08-07client_port: Make all data members privateLioncash3-7/+21
2018-08-06kernel/event: Make data members privateLioncash1-4/+8
2018-08-05address_arbiter: Return by value from GetThreadsWaitingOnAddress()Lioncash1-15/+15
2018-08-04kernel/thread: Fix potential crashes introduced in 26de4bb521b1ace7af76eff4f6956cb23ac0d58cLioncash3-13/+38
2018-08-03kernel/process: Use std::array where applicableLioncash1-1/+2
2018-08-03kernel/process: Use accessors instead of class members for referencing segment arrayLioncash2-15/+35
2018-08-03core/memory: Get rid of 3DS leftoversLioncash9-302/+24
2018-08-02kernel/vm_manager: Convert loop into std::any_of()Lioncash1-4/+4
2018-08-02kernel/vm_manager: Use const where applicableLioncash3-19/+19
2018-08-02kernel/vm_manager: Use the VAddr type alias in CarveVMA()Lioncash1-2/+2
2018-08-02kernel/thread: Make GetFreeThreadLocalSlot()'s loop indices size_tLioncash1-8/+5
2018-08-02kernel/thread: Make GetFreeThreadLocalSlot() reference parameter a const referenceLioncash1-1/+2
2018-08-02kernel/thread: Make GetFreeThreadLocalSlot() internally linkedLioncash1-1/+1
2018-08-02kernel: Move object class to its own source filesLioncash29-136/+164
2018-08-01kernel/thread: Remove unimplemented function prototypeLioncash1-6/+0
2018-07-31kernel: Remove unused object_address_table.cpp/.hLioncash5-102/+0
2018-07-31kernel: Remove unnecessary includesLioncash22-27/+46
2018-07-26kernel/timer: Make data members private where applicableLioncash1-5/+17
2018-07-24svc: Resolve sign comparison warnings in WaitSynchronization()Lioncash1-4/+7
2018-07-24svc: Log parameters in SetMemoryAttribute()Lioncash1-1/+3
2018-07-24core_timing: Split off utility functions into core_timing_utilMerryMage2-0/+2
2018-07-24mutex: Pass SharedPtr to GetHighestPriorityMutexWaitingThread() by referenceLioncash1-1/+1
2018-07-24hle_ipc: Make constructors explicit where applicableLioncash1-1/+1
2018-07-23hle: Remove config_mem.h/.cppLioncash3-13/+0
2018-07-23hle: Remove shared_page.h/.cppLioncash3-4/+0
2018-07-22Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real kernel.Subv1-7/+31
2018-07-21CPU: Save and restore the TPIDR_EL0 system register on every context switch.Subv3-0/+13
2018-07-20thread: Convert ThreadStatus into an enum classLioncash9-71/+70
2018-07-19hle_ipc: Introduce generic WriteBuffer overload for multiple container typesLioncash2-6/+21
2018-07-19svc: Correct always true assertion case in SetThreadCoreMaskLioncash1-3/+4
2018-07-19hle_ipc: Amend usage of buffer_index within one of HLERequestContext's WriteBuffer() overloadsLioncash1-1/+1
2018-07-19address_arbiter: Correct assignment within an assertion statement in WakeThreads()Lioncash1-1/+1
2018-07-19vm_manager: Add missing commas to string literal array elements in GetMemoryStateName()Lioncash1-22/+12
2018-07-19core/memory, core/hle/kernel: Use std::move where applicableLioncash8-13/+21
2018-07-19core: Don't construct instance of Core::System, just to access its live instanceLioncash1-6/+6
2018-07-17nvflinger: Fix for BufferQueue event handling.bunnei2-3/+11
2018-07-17Kernel/Arbiter: Fix bug in WaitIfLessThanMichael Scire1-2/+4
2018-07-16scheduler: Clear exclusive state when switching contextsMerryMage1-0/+1
2018-07-14No need to use ASSERT_MSG with an empty messageDavid Marcec1-2/+2
2018-07-03Update clang formatJames Rowe6-38/+35
2018-07-03Rename logging macro back to LOG_*James Rowe11-79/+79
2018-06-22IPC: skip empty buffer writemailwl1-0/+5
2018-06-22Kernel/Arbiters: Fix casts, cleanup comments/magic numbersMichael Scire2-17/+16
2018-06-22Add additional missing format.Michael Scire2-21/+27
2018-06-22Run clang-format on PR.Michael Scire3-180/+181
2018-06-22Kernel/Arbiters: HLE is atomic, adjust code to reflect that.Michael Scire2-37/+13
2018-06-21Kernel/Arbiters: Initialize arb_wait_address in thread struct.Michael Scire2-1/+5
2018-06-21Kernel/Arbiters: Clear WaitAddress in SignalToAddressMichael Scire1-0/+1
2018-06-21Kernel/Arbiters: Mostly implement SignalToAddressMichael Scire4-10/+110
2018-06-21Kernel/Arbiters: Implement WaitForAddressMichael Scire4-6/+67
2018-06-21Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs.Michael Scire7-9/+147
2018-06-20Build: Fixed some MSVC warnings in various parts of the code.Subv1-2/+2
2018-06-18svc: Add a stub for UserExceptionContextAddr.Jules Blok1-0/+5
2018-06-02Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may already have an assigned lock owner.Subv1-2/+5
2018-05-31Kernel/Thread: Corrected a typo that caused the affinity mask to never be changed.Subv1-2/+2
2018-05-31Kernel/SVC: Support special core values -2 and -3 in svcSetThreadCoreMask.Subv2-1/+28
2018-05-30Kernel/Thread: Corrected a typo in an assert about the processor id.Subv1-1/+1
2018-05-26Add & correct miscellaneous things (#470)greggameplayer1-0/+3
2018-05-20Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release.Subv1-1/+0
2018-05-19Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey.Subv1-51/+68
2018-05-19Kernel/Threads: Reschedule the proper core when operating on that core's threads.Subv1-2/+6
2018-05-19SVC: Removed unused WaitSynchronization1 functionSubv1-30/+0
2018-05-17Added RequestWithContext & ControlWithContextDavid Marcec1-1/+3
2018-05-11thread: Rename mask to affinity_masks.bunnei3-4/+4
2018-05-11thread: Support core change on ResumeFromWait and improve ChangeCore.bunnei1-37/+68
2018-05-11scheduler: Protect scheduling functions with a global mutex.bunnei2-0/+18
2018-05-11thread: Initialize ideal_core and mask members.bunnei1-0/+2
2018-05-11threading: Reschedule only on cores that are necessary.bunnei2-3/+3
2018-05-11svc: Implement GetThreadCoreMask and SetThreadCoreMask.bunnei1-7/+22
2018-05-11thread: Implement ChangeCore function.bunnei2-1/+58
2018-05-11svc: SignalProcessWideKey should apply to all cores.bunnei1-43/+50
2018-05-11svc: Implement GetCurrentProcessorNumber.bunnei1-2/+2
2018-05-11core: Implement multicore support.bunnei5-45/+65
2018-05-02general: Make formatting of logged hex values more straightforwardLioncash6-49/+50
2018-05-02ipc: Add support for PopIpcInterface() method.bunnei2-0/+15
2018-05-01GetSharedFontInOrderOfPriority (#381)David2-23/+27
2018-04-30core_timing: Namespace all functions and constants in core_timing's headerLioncash2-3/+5
2018-04-30string_util: Remove StringFromFormat() and related functionsLioncash1-1/+1
2018-04-27core: Replace usages of LOG_GENERIC with new fmt-capable equivalentsLioncash3-6/+4
2018-04-27general: Convert assertion macros over to be fmt-compatibleLioncash4-9/+9
2018-04-26kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions()Lioncash1-1/+1
2018-04-26kernel: Migrate logging macros to fmt-compatible onesLioncash11-106/+109
2018-04-23Kernel: Implemented mutex priority inheritance.Subv4-10/+94
2018-04-21Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOsSubv1-1/+1
2018-04-21Qt: Update the WaitTree widget to show info about the current mutex of each thread.Subv1-4/+0
2018-04-21Kernel: Remove unused ConditionVariable class.Subv5-148/+0
2018-04-21Kernel: Remove old and unused Mutex code.Subv4-209/+3
2018-04-21Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKeySubv1-83/+46
2018-04-21Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.Subv6-22/+126
2018-04-21resource_limit: Make ResourceTypes an enum classLioncash3-38/+38
2018-04-20common_funcs: Remove ARRAY_SIZE macroLioncash1-1/+2
2018-04-17Various service name fixes - part 2 (rebased) (#322)Hexagon121-8/+8
2018-04-15vm_manager: Increase GetTotalMemoryUsage value.bunnei1-1/+1
2018-04-03svc: Stub out SetThreadActivity, GetThreadContext.bunnei2-2/+19
2018-04-03shared_memory: Remove incorrect 3ds-specific check.bunnei1-12/+0
2018-04-01hle_ipc, fsp_srv: Cleanup logging.bunnei1-1/+1
2018-03-31hle_ipc: Do not ensure write buffer size.bunnei1-2/+5
2018-03-31memory: Fix stack region.bunnei2-3/+4
2018-03-30svc: Stub GetThreadCoreMask.bunnei2-3/+26
2018-03-19Clang FixesN00byKing2-5/+5
2018-03-19More Warning cleanupsN00byKing2-2/+2
2018-03-19Clean Warnings (?)N00byKing5-8/+8
2018-03-19hle_ipc: Add SleepClientThread to block current thread within HLE routines.bunnei2-0/+47
2018-03-19hle_ipc: Use shared_ptr instead of unique_ptr to allow copies.bunnei2-9/+9
2018-03-19hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.bunnei2-5/+13
2018-03-19thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.bunnei3-20/+6
2018-03-17process: MirrorMemory should use MemoryState::Mapped.bunnei1-1/+1
2018-03-16process: Unmap previously allocated heap.bunnei1-1/+3
2018-03-16arm_interface: Support unmapping previously mapped memory.bunnei1-0/+3
2018-03-16svc: Use more correct values for GetInfo MapRegion and NewMapRegion.bunnei3-29/+5
2018-03-16kernel: Move stack region outside of application heap.bunnei3-8/+3
2018-03-16process: Fix stack memory state.bunnei1-2/+4
2018-03-16MemoryState: Add additional memory states and improve naming.bunnei5-18/+45
2018-03-14core: Move process creation out of global state.bunnei9-33/+36
2018-03-02Kernel: Store the program id in the Process class instead of the CodeSet class.Subv2-9/+8
2018-02-27thread: Clear the process list on shutdown.Jules Blok1-1/+3
2018-02-25(Hopefully) Fix MinGW BuildN00byKing1-1/+1
2018-02-25Add UnmapSharedMemoryN00byKing2-1/+17
2018-02-22Stub more functionsmailwl1-1/+11
2018-02-20Add warning if Domain request has no domain message headermailwl1-0/+3
2018-02-20Fix: change check for domain order and existance of domain message headermailwl2-2/+2
2018-02-20IPC: add domain header to response if only it exists in requestmailwl2-5/+7
2018-02-19scheduler: Cleanup based on PR feedback.bunnei2-4/+3
2018-02-18kernel: Use Scheduler class for threading.bunnei3-172/+16
2018-02-18kernel: Add Scheduler, which encapsulates the scheduling loading from Thread module.bunnei2-0/+208
2018-02-18kernel: Remove unused address_arbiter code.bunnei4-197/+0
2018-02-18 Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.Subv4-50/+63
2018-02-16Service/hid: stub some functionsmailwl2-0/+53
2018-02-15shared_memory: Remove some checks.bunnei1-13/+0
2018-02-14hle_ipc: Remove const from WriteBuffer size.bunnei2-2/+2
2018-02-14thread: Silence formatting specifier warningsLioncash1-2/+3
2018-02-14vm_manager: Silence formatting specifier warningsLioncash1-5/+7
2018-02-14hle_ipc: Add GetReadBufferSize and check write buffer size.bunnei2-0/+10
2018-02-14hle_ipc: Add helper functions for reading and writing buffers.bunnei1-4/+2
2018-02-14hle_ipc: Add helper functions for reading and writing buffers.bunnei2-0/+51
2018-02-06mutex: Update hasWaiters on release.bunnei1-0/+1
2018-02-04GetInfo: Implement IsCurrentProcessBeingDebugged.bunnei1-0/+3
2018-02-04WaitProcessWideKeyAtomic: Handle case where condition variable was already created.bunnei3-13/+17
2018-02-03svc: SharedMemory size should be 64-bits and cleanup.bunnei3-11/+11
2018-02-03ArbitrateLock: Assert that requesting_thread is current_thread.bunnei1-0/+1
2018-01-30shared_memory: Only mark addresses as invalid if they are within the heapshinyquagsire231-1/+2
2018-01-27memory: Replace all memory hooking with Special regionsMerryMage2-6/+6
2018-01-25server_session: Fix scenario where all domain handlers are closed.bunnei1-3/+3
2018-01-25hle: Rename RequestBuilder to ResponseBuilder.bunnei1-1/+1
2018-01-25ipc_helpers: Make interface domain agnostic and add header validation.bunnei1-1/+12
2018-01-25hle: Integrate Domain handling into ServerSession.bunnei5-28/+66
2018-01-25hle: Remove Domain and SyncObject kernel objects.bunnei7-164/+2
2018-01-25handle_table: Remove ConvertSessionToDomain.bunnei2-17/+0
2018-01-21Format: Run the new clang format on everythingJames Rowe22-31/+32
2018-01-20Added CreateSharedMemory & UNIMPLEMENTED() for non existent services. (#113)David2-1/+22
2018-01-20Fixes some cast warnings, partial port of citra #3064 (#106)River City Ransomware2-2/+2
2018-01-19svc: Fix svcGetInfo MapRegionBaseAddr.bunnei3-1/+9
2018-01-19svc: Add additional fields to MemoryInfo struct.bunnei1-0/+4
2018-01-18Stub PopLaunchParameter and implement Buffer C Descriptors reading on hle_ipc (#96)gdkchan2-7/+33
2018-01-18svc: Rename some entries to match their analogue on SwitchBrewLioncash1-7/+7
2018-01-18svc: Add CreateJitMemory and MapJitMemory svc stringsLioncash1-2/+2
2018-01-17svc: Clang-format fix.bunnei1-6/+4
2018-01-17hle_ipc: Clang format.bunnei1-2/+3
2018-01-17ipc: Implement domain command CloseVirtualHandle.bunnei2-2/+28
2018-01-17SVC: Correct some return values in svcGetInfo and added TitleId and PrivilegedProcessId stubs.Subv1-6/+21
2018-01-17SVC: Add 4.0.0+ comment to GetInfoType enum values.Subv1-0/+1
2018-01-17IPC: Push domain objects as move handles when not in a domain.Subv1-0/+8
2018-01-16SetThreadCoreMask stub, time to implement fspDavid Marcec1-1/+6
2018-01-16Added more svcGetInfo pairsDavid Marcec4-2/+29
2018-01-16clang-formatMerryMage6-18/+14
2018-01-14shared_memory: Minor fixes and cleanup.bunnei1-6/+6
2018-01-14svc: Implement svcMapSharedMemory.bunnei2-1/+38
2018-01-14kernel: Increase default stack size to 64K.bunnei1-1/+1
2018-01-13yuzu: Update license text to be consistent across project.bunnei14-14/+14
2018-01-12core: Include <algorithm> where used.bunnei1-0/+2
2018-01-12core: Fix recent GCC build breaks.bunnei1-2/+2
2018-01-12svc: Implement GetSystemTick.bunnei2-2/+21
2018-01-11IPC: Corrected some definitions for the buffer C descriptor flags.Subv2-1/+8
2018-01-11svc: Stub ResetSignal and CreateTransferMemorySubv2-3/+28
2018-01-11svc: Stub SetMemoryAttributeSubv2-0/+11
2018-01-10Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask)Subv4-10/+25
2018-01-09SVC: Fixed WaitSynchronization with multiple handles when none is immediately ready.Subv1-7/+18
2018-01-09SVC: Implemented CancelSynchronization.Subv2-1/+19
2018-01-09ErrorCodes: Updated the InvalidHandle and Timeout kernel error codes.Subv1-2/+7
2018-01-09SVC: Fixed WaitSynchronization with multiple handles when at least one of them is ready.Subv2-3/+29
2018-01-09kernel: Rename Semaphore to ConditionVariable.bunnei8-159/+167
2018-01-09mutex: Remove unused call to VerifyGuestState.bunnei1-3/+0
2018-01-09Kernel: Actually wake up the requested number of threads in Semaphore::Release.Subv3-18/+16
2018-01-09Kernel: Properly keep track of mutex lock data in the guest memory. This fixes userland locking/unlocking.Subv3-63/+60
2018-01-09Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback.Subv4-30/+78
2018-01-09CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)B3n302-9/+5
2018-01-07IPC: Add functions to read the input move/copy objects from an IPC request.Subv2-2/+26
2018-01-07IPC: Don't attempt to read the command buffer if it holds a Close request.Subv1-0/+5
2018-01-07IPC Cleanup: Remove 3DS-specific code and translate copy, move and domain objects in IPC requests.Subv2-74/+72
2018-01-07IPC: Skip the entire u64 of the command id when receiving an IPC request.Subv1-1/+2
2018-01-07IPC: Use the correct size when pushing raw data to the command buffer and fixed pushing domain objects.Subv2-3/+7
2018-01-07svc: Implement svcSignalProcessWideKey.bunnei2-4/+23
2018-01-07semaphore: More changes for Switch.bunnei2-11/+17
2018-01-07wait_object: Refactor to allow waking up a single thread.bunnei2-15/+28
2018-01-06svc: Implement svcWaitProcessWideKeyAtomic.bunnei2-1/+54
2018-01-06semaphore: Updates for Switch.bunnei2-21/+31
2018-01-06svc: Implement WaitSynchronization for a single handle.bunnei1-4/+24
2018-01-06svc: Refactor LockMutex code to use WaitSynchronization1.bunnei1-13/+45
2018-01-05svc: Add missing string_util include.bunnei1-0/+1
2018-01-03arm: Remove SkyEye/Dyncom code that is ARMv6-only.bunnei2-23/+11
2018-01-03vm_manager: Use a more reasonable MAX_ADDRESS size.bunnei1-5/+4
2018-01-03svc: Remove unnecessary "svc" prefix to naming scheme.bunnei1-106/+106
2018-01-03hle: Move SVC code to kernel namespace.bunnei3-0/+805
2018-01-01vm_manager: Stub out a bunch of interfaces used by svcGetInfo.bunnei2-1/+51
2018-01-01core/video_core: Fix a bunch of u64 -> u32 warnings.bunnei1-2/+2
2018-01-01svc: Implement svcExitProcess.bunnei2-7/+38
2018-01-01svc: Implement svcLockMutex.bunnei2-23/+95
2018-01-01kernel: Add ObjectAddressTable class.bunnei3-2/+101
2017-12-31thread: Keep track of the initially created handle.bunnei2-1/+5
2017-12-31errors: Define missing kernel error codes.bunnei1-0/+3
2017-12-31svc: Implement svcUnmapMemory.bunnei2-0/+7
2017-12-30thread: Main thread should set thread handle to reg 1.bunnei1-1/+4
2017-12-30thread: Remove THUMB mode flag.bunnei1-1/+1
2017-12-30thread: Main thread should be ready by default, all others dormant.bunnei1-4/+3
2017-12-29kernel: Various 64-bit fixes in memory/process/threadbunnei5-14/+14
2017-12-29kernel: Fix implementation of ConvertSessionToDomain.bunnei6-30/+67
2017-12-29kernel: Add basic support for Domain object.bunnei4-4/+110
2017-12-29kernel: Add SyncObject primitive, use it for ClientSession.bunnei2-8/+38
2017-12-29process: Add method to mirror a memory region.bunnei2-0/+27
2017-11-01service: Return proper result code for IPC::CommandType::Close.bunnei2-6/+7
2017-11-01hle: Use Switch formatted result codes.bunnei2-77/+22
2017-10-20hle: Fix QueryMemory response for MemoryInfo.bunnei4-115/+14
2017-10-19hle_ipc: Only copy necessary fields for outgoing command buffer.bunnei1-1/+1
2017-10-19hle_ipc: Parse out buffer X/A/B/B descriptors from incoming command buffer.bunnei2-14/+19
2017-10-15hle: Implement ConvertSessionToDomain, various cleanups.bunnei3-5/+31
2017-10-15hle: Initial implementation of NX service framework and IPC.bunnei2-70/+107
2017-10-10loader: Various improvements for NSO/NRO loaders.bunnei2-4/+4
2017-10-02Kernel/SharedMemory: Don't take over and unmap the source memory block when creating a shared memory, just reference it.Subv1-15/+12
2017-10-01Kernel/Thread: Added a helper function to get a thread's command buffer VAddr.Subv2-0/+12
2017-09-30nso: Refactor and allocate .bss section.bunnei2-8/+10
2017-09-30process: Support loading multiple codesets.bunnei2-20/+27
2017-09-30kernel: Various threading fixes to support 64-bit addressing.bunnei2-8/+8
2017-09-30core: Various changes to support 64-bit addressing.bunnei2-21/+21
2017-09-30Fixed type conversion ambiguityHuw Pascoe9-23/+24
2017-09-28Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken.Subv3-13/+26
2017-09-27Kernel/Thread: Allow specifying which process a thread belongs to when creating it.Subv3-15/+19
2017-09-24memory: Add GetCurrentPageTable/SetCurrentPageTableMerryMage1-7/+4
2017-09-15Kernel/Threads: Don't clear the CPU instruction cache when performing a context switch from an idle thread into a thread in the same process.Subv1-1/+3
2017-09-15Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer.Subv2-25/+7
2017-09-10Kernel/Memory: Switch the current page table when a new process is scheduled.Subv1-0/+10
2017-09-10Kernel/Memory: Give each Process its own page table.Subv2-5/+14
2017-08-22Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).Subv1-1/+1
2017-08-22Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.Subv1-5/+1
2017-08-21Warnings: Add UNREACHABLE macros to switches that contemplate all possible values.Subv1-0/+3
2017-06-29Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest.Subv2-3/+6
2017-06-26Kernel/Sessions: Clean up the list of pending request threads of a session when the client endpoint is closed.Subv1-0/+5
2017-06-25Kernel/ServerSession: Keep track of which threads have issued sync requests.Subv3-9/+29
2017-06-23Kernel: Implement AcceptSession SVCYuri Kunde Schlesner3-2/+26
2017-06-22Memory: Make PhysicalToVirtualAddress return a boost::optionalYuri Kunde Schlesner1-1/+1
2017-06-21Kernel/IPC: Support translation of null handlesYuri Kunde Schlesner1-7/+12
2017-06-19ResultVal: Remove MoveFrom()Yuri Kunde Schlesner4-7/+7
2017-06-19Kernel: Add comment about the extended linear heap areaYuri Kunde Schlesner1-0/+2
2017-06-19Kernel/IPC: Make HLERequestContext usable from outside kernelYuri Kunde Schlesner2-3/+9
2017-06-12Kernel/IPC: Use boost::small_vector for HLE context objectsYuri Kunde Schlesner1-1/+3
2017-06-11Kernel: Allow clearing request_objects to re-use buffer spaceYuri Kunde Schlesner2-0/+11
2017-06-11Kernel: Basic support for IPC translation for HLE servicesYuri Kunde Schlesner2-6/+125
2017-06-11Kernel: Add methods in HLERequestContext abstracting handle creationYuri Kunde Schlesner2-0/+12
2017-06-11ServiceFramework: Use separate copy of command bufferYuri Kunde Schlesner1-3/+6
2017-06-08Session: Remove/add some forward declarationsYuri Kunde Schlesner2-1/+2
2017-06-08Kernel: Ensure objects are kept alive during ClientSession disconnectionYuri Kunde Schlesner1-7/+13
2017-06-08Service: Add new ServiceFramework framework for writing HLE servicesYuri Kunde Schlesner2-2/+36
2017-06-06Kernel: Remove some unnecessary namespace qualificationsYuri Kunde Schlesner1-4/+6
2017-06-06Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSessionYuri Kunde Schlesner7-33/+36
2017-06-06HLE: Move SessionRequestHandler from Service:: to Kernel::Yuri Kunde Schlesner8-15/+90
2017-05-30Kernel: Move HandleTable to a separate fileYuri Kunde Schlesner13-202/+234
2017-05-30Kernel: Move WaitObject to a separate fileYuri Kunde Schlesner11-132/+173
2017-05-30Kernel: Removed HandleTable::GetWaitObjectYuri Kunde Schlesner1-9/+0
2017-05-29Kernel: Extract dynamic Object pointer cast into its own functionYuri Kunde Schlesner1-11/+24
2017-05-25Kernel: Centralize error definitions in errors.hYuri Kunde Schlesner13-46/+133
2017-05-22Kernel/Sessions: Remove the ClientSession::Create function.Subv3-16/+3
2017-05-15Kernel: Remove a now unused enum and variable regarding a session's status.Subv2-8/+0
2017-05-15Kernel: Use a Session object to keep track of the status of a Client/Server session pair.Subv6-32/+84
2017-05-10Kernel: Map special regions according to ExHeaderYuri Kunde Schlesner4-50/+102
2017-05-10DSP: Create backing memory for entire DSP RAMYuri Kunde Schlesner1-1/+6
2017-02-27Timer: restore missing signaled=true from #2421wwylele1-0/+2
2017-02-27Fix log entry in timer::signal (#2600)B3n301-1/+1
2017-02-27Doxygen: Amend minor issues (#2593)Mat M1-1/+2
2017-02-27Core: Remove unnecessary include in thread.hYuri Kunde Schlesner2-1/+1
2017-02-22Timers: Immediately signal the timer if it was started with an initial value of 0.Subv2-16/+31
2017-01-11Threads: Check the process' resource limit for the max allowed priority when creating a thread and remove the priority clamping code.Subv1-8/+2
2017-01-11Thread: Added priority range checking to svcSetThreadPriority and removed priority clamping code from Thread::SetPriority.Subv2-18/+4
2017-01-06Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.Subv2-0/+9
2017-01-05Kernel: Remove some unused functions.Subv2-32/+0
2017-01-05Kernel: Removed the priority boost code for starved threads.Subv1-27/+0
2017-01-05Kernel: Implemented Pulse event and timers.Subv5-13/+20
2017-01-05Kernel/Semaphore: Fixed a regression in semaphore waits.Subv1-1/+2
2017-01-05Kernel: Add some asserts to enforce the invariants in the scheduler.Subv2-2/+13
2017-01-05Kernel: Remove a thread from all of its waiting objects' waiting_threads list when it is awoken.Subv1-18/+4
2017-01-05Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on.Subv3-10/+19
2017-01-04Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true.Subv2-13/+17
2017-01-04Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexesSubv4-42/+54
2017-01-04Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.Subv4-22/+39
2017-01-04Kernel/Mutex: Implemented priority inheritance.Subv4-22/+51
2017-01-04Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Subv16-62/+50
2017-01-04Kernel/Synch: Do not attempt a reschedule on every syscall.Subv1-0/+1
2016-12-22ThreadContext: Move from "core" to "arm_interface".bunnei2-4/+5
2016-12-22core: Replace "AppCore" nomenclature with just "CPU".bunnei1-3/+3
2016-12-22core: Remove HLE module, consolidate code & various cleanups.bunnei4-7/+3
2016-12-22core: Consolidate core and system state, remove system module & cleanups.bunnei1-3/+3
2016-12-17Thread: remove the thread from the thread list when exitingwwylele2-2/+14
2016-12-16Kernel: remove object's waiting thread if it is deadwwylele1-1/+2
2016-12-14Fixed the codestyle to match our clang-format rules.Subv7-33/+51
2016-12-14Fixed the codestyle to match our clang-format rules.Subv2-8/+11
2016-12-10Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout.Subv2-1/+10
2016-12-09Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.Subv2-2/+23
2016-12-09WaitSynch: Removed unused variables and reduced SharedPtr copies.Subv3-13/+11
2016-12-08Added a framework for partially handling Session disconnections.Subv4-9/+35
2016-12-08Use std::move where appropriate.Subv5-7/+13
2016-12-07Use boost remove_erase_if instead of the erase-remove idiomSubv1-2/+3
2016-12-07Improved the algorithm for GetHighestPriorityReadyThread.Subv1-14/+13
2016-12-05Return an error code when connecting to a saturated port.Subv2-4/+11
2016-12-05Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.Subv2-0/+2
2016-12-05Kernel: Remove the Redirection handle type.Subv1-2/+0
2016-12-05KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.Subv8-35/+60
2016-12-04Threading: Added some utility functions and const correctness.Subv2-10/+22
2016-12-04Threading: Reworked the way our scheduler works.Subv6-111/+76
2016-12-03Declare empty ServerSession and ClientSession constructors as default.Subv2-4/+4
2016-12-01Fixed the rebase mistakes.Subv7-51/+46
2016-12-01A bit of a redesign.Subv6-215/+24
2016-12-01IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.Subv4-22/+15
2016-12-01Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.Subv2-8/+44
2016-12-01fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv3-4/+5
2016-12-01 Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv7-56/+233
2016-11-20Kernel/Loader: Grab the system mode from the NCCH ExHeader.Subv2-6/+4
2016-11-19Kernel/Events: Log an error when trying to create Pulse events and timers.Subv2-0/+10
2016-10-20Fix typosRicardo de Almeida Gonzaga2-2/+2
2016-09-22move ResetType to kernel.hwwylele3-7/+6
2016-09-22implement wait tree widgetwwylele4-0/+16
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner14-14/+14
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot29-74/+16
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner15-64/+36
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot30-419/+616
2016-09-15arm: ResetContext shouldn't be part of ARM_Interface.bunnei1-1/+17
2016-08-02fix #1942 and adds a few IPC functions for descriptorsLectem1-15/+103
2016-06-11Kernel/SVC: Implemented svcCreatePort.Subv4-2/+11
2016-06-05Kernel: Added ClientPort and ServerPort classes.Subv5-2/+135
2016-06-04Thread: update timeout when rerunning WaitSynchwwylele1-0/+49
2016-05-31Fix parameter name in EnableNotificationmailwl1-0/+4
2016-05-30Switch context on the same thread if necessarywwylele1-2/+6
2016-05-26Memory: Added necessary headers and removed unnecessary headerMerryMage1-0/+1
2016-05-21Kernel/Thread: Remove use of Memory::GetPointerMerryMage1-1/+1
2016-05-17Set fpscr for new threadsJannik Vogel1-0/+2
2016-05-14Memory: Fixed a regression caused by #1695 and #1689.Subv1-0/+3
2016-05-13HLE/Applets: Give each applet its own block of heap memory, and use that when creating the framebuffer shared memory block.Subv2-1/+30
2016-05-13Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory.Subv1-0/+5
2016-05-13Kernel/SharedMemory: Log an error when Map fails.Subv1-1/+10
2016-05-13Kernel: Implemented shared memory permissions.Subv2-9/+47
2016-05-13Kernel/Memory: Remove the Shared Memory region from the legacy memory map.Subv1-1/+0
2016-05-13Kernel/SharedMemory: Properly implemented shared memory support.Subv2-65/+79
2016-05-13Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.Subv1-1/+1
2016-05-07Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).Subv1-0/+2
2016-05-07Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.Subv4-22/+74
2016-04-05Common: Remove Common::make_unique, use std::make_uniqueMerryMage1-1/+2
2016-03-21session: Make helper functions constexprLioncash1-6/+6
2016-03-21hle: Get rid of global access to g_rescheduleLioncash1-1/+2
2016-03-13svc: Move ResetType enum to the kernel event headerLioncash2-2/+8
2016-03-12svc: Make ResetType an enum classLioncash2-2/+2
2016-03-06Memory: Do correct Phys->Virt address translation for non-APP linheapYuri Kunde Schlesner2-2/+5
2016-02-21AudioCore: Skeleton ImplementationMerryMage1-1/+4
2016-02-12BitField: Make trivially copyable and remove assignment operatorMerryMage1-1/+1
2016-01-30Memory: Implement MMIOMerryMage2-4/+8
2016-01-14HLE/SVC: Implement UnmapMemoryBlock.Subv2-0/+28
2015-12-30HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered.Subv1-3/+3
2015-12-28SVC: Fixed ArbitrateAddress to behave as it does on hardware.Subv2-9/+18
2015-12-01Kernel: Implement svcGetSystemInfoYuri Kunde Schlesner4-0/+12
2015-10-07Silence -Wsign-compare warnings.Rohit Nirmal1-1/+1
2015-09-16general: Silence some warnings when using clangLioncash1-2/+4
2015-09-10General: Fix up doxygen commentsLioncash3-6/+3
2015-08-28Kernel: Fix wrong linear heap base on titles using newer kernelsYuri Kunde Schlesner1-1/+1
2015-08-27Kernel: Fix assertion failure when ControlMemory is called with size=0Yuri Kunde Schlesner1-0/+8
2015-08-27Core: Improve APT Shared Font hackYuri Kunde Schlesner2-2/+27
2015-08-16Kernel: Remove unused legacy heap MapBlock_* functionsYuri Kunde Schlesner2-77/+0
2015-08-16Kernel: Implement svcGetProcessInfo in a basic wayYuri Kunde Schlesner3-1/+15
2015-08-16Kernel: Add more infrastructure to support different memory layoutsYuri Kunde Schlesner5-20/+138
2015-08-16Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h}Yuri Kunde Schlesner3-1/+160
2015-08-16Memory: Move address type conversion routines to memory.cpp/hYuri Kunde Schlesner1-1/+0
2015-08-16Process: Store kernel compatibility version during loadingYuri Kunde Schlesner2-3/+7
2015-08-16Kernel: Properly implement ControlMemory FREE and COMMITYuri Kunde Schlesner4-23/+243
2015-08-16VMManager: Introduce names for used ResultCodesYuri Kunde Schlesner2-6/+11
2015-08-16VMManager: Make LogLayout log level configurable as a parameterYuri Kunde Schlesner3-5/+15
2015-08-16VMManager: Change block offsets to size_tYuri Kunde Schlesner2-3/+3
2015-07-26dyncom: Rename armdefs.h to armstate.hLioncash1-1/+1
2015-07-21Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.Subv1-0/+8
2015-07-17Ensure all kernel objects are released during shutdownYuri Kunde Schlesner1-7/+14
2015-07-12Kernel: Add CodeSet case to Object::IsWaitableYuri Kunde Schlesner1-0/+1
2015-07-12Core: Fix applet includes using iwyu.Emmanuel Gil Peyrot2-0/+4
2015-07-12Core: Properly configure address space when loading a binaryYuri Kunde Schlesner5-14/+88
2015-07-12Kernel: Remove unused member from EventYuri Kunde Schlesner2-2/+1
2015-06-28Core: Cleanup file_sys includes.Emmanuel Gil Peyrot1-1/+2
2015-06-28Core: Cleanup core includes.Emmanuel Gil Peyrot2-1/+2
2015-06-28Common: Cleanup key_map includes.Emmanuel Gil Peyrot4-6/+10
2015-06-23Add helpers to create IPC command buffer headers and descriptorsYuri Kunde Schlesner1-0/+34
2015-06-17kernel: Fix svcWaitSynch to always acquire requested wait objects.bunnei7-101/+37
2015-05-29Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot5-11/+11
2015-05-27Kernel: Add VMManager to manage process address spacesYuri Kunde Schlesner2-0/+445
2015-05-21Kernel: Fix a warning introduced with ResourceLimit, and remove the fallback code to prevent it from happening again.Emmanuel Gil Peyrot1-2/+1
2015-05-21Kernel: Move reschedules from SVCs to actual mechanisms that reschedule.bunnei6-0/+20
2015-05-15Core/ResourceLimits: Implemented the basic structure of ResourceLimits.Subv6-1/+286
2015-05-15Memmap: Re-organize memory function in two filesYuri Kunde Schlesner6-6/+5
2015-05-14process: Get rid of warningsLioncash1-3/+3
2015-05-14thread: Fix a conditional check in RescheduleLioncash1-1/+1
2015-05-12Thread: Remove the idle threadYuri Kunde Schlesner2-44/+19
2015-05-12Core/Memory: Add TLS support for creating up to 300 threadsSubv3-7/+19
2015-05-12Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is calledSubv1-0/+2
2015-05-12fixup!Subv2-7/+3
2015-05-11Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThreadSubv5-2/+19
2015-05-11Thread: Correctly set main thread initial stack positionYuri Kunde Schlesner3-5/+4
2015-05-11fixup! Set the TLS address in the schedulerSubv2-2/+7
2015-05-11Core/Memory: Give every emulated thread it's own TLS area.Subv3-4/+22
2015-05-11Kernel: Zero-fill shared memory blocks when mappingYuri Kunde Schlesner1-0/+8
2015-05-11Kernel: Capture SharedMemory attributes at creation, not when mappingYuri Kunde Schlesner2-16/+29
2015-05-09Common: Remove the BIT macroYuri Kunde Schlesner1-2/+2
2015-05-09Memory: Re-organize and rename memory area address constantsYuri Kunde Schlesner2-3/+4
2015-05-09Kernel: Remove unused g_main_thread variableYuri Kunde Schlesner3-5/+1
2015-05-09Process: Rename StaticAddressMapping => AddressMappingYuri Kunde Schlesner2-5/+5
2015-05-09Process: Add more documentation to the class membersYuri Kunde Schlesner1-2/+16
2015-05-09Process: Use BitField to store process flagsYuri Kunde Schlesner2-16/+24
2015-05-09Process: Support parsing of exheader kernel capsYuri Kunde Schlesner2-4/+72
2015-05-09Kernel: Remove g_program_idYuri Kunde Schlesner2-8/+0
2015-05-09Kernel: Introduce skeleton Process class to hold process dataYuri Kunde Schlesner4-19/+101
2015-05-07Common: Remove common.hYuri Kunde Schlesner9-8/+14
2015-05-07Move typedefs from kernel.h to more appropriate placesYuri Kunde Schlesner1-10/+1
2015-05-02Kernel: Properly initialize and shutdown all modules.bunnei4-9/+20
2015-04-14Kernel: Use the correct format string for u64 hex.Emmanuel Gil Peyrot1-1/+1
2015-04-10SVC: Update various SVCs to cause a reschedule.bunnei1-4/+0
2015-04-10Kernel: Implemented priority inheritance for mutexes.bunnei3-4/+22
2015-04-10Thread: Implement priority boost for starved threads.bunnei2-22/+51
2015-04-10Kernel: Fixed default thread priority.bunnei2-5/+4
2015-04-09Initialize base address to 0x0Gareth Higgins1-0/+1
2015-02-20Misc cleanup of common and related functionsarchshift1-2/+3
2015-02-12Build: Fixed some warningsSubv3-4/+4
2015-02-11Asserts: break/crash program, fit to style guide; log.h->assert.harchshift7-15/+13
2015-02-10Scheduler refactor Pt. 1Kevin Hartman3-223/+258
2015-02-10Mutex: Locks should be recursive.bunnei2-16/+20
2015-02-03core: Fix some warnings on OSXLioncash1-1/+0
2015-02-02Kernel: Stop creating useless Handles during object creationYuri Kunde Schlesner12-36/+17
2015-02-02Kernel: Make WaitObjects share ownership of Threads waiting on themYuri Kunde Schlesner6-12/+17
2015-02-02Explicitly instantiate constructors/destructors for Kernel objectsYuri Kunde Schlesner16-8/+50
2015-02-02Mutex: Replace g_mutex_held_locks with a set inside ThreadYuri Kunde Schlesner3-23/+18
2015-02-02Kernel: Fix bug in HandleTable::CloseYuri Kunde Schlesner1-1/+1
2015-02-02Kernel: Remove Object::GetHandle (it's not used anymore :D)Yuri Kunde Schlesner2-9/+1
2015-02-02Kernel: Introduce unique Object ids for debuggingYuri Kunde Schlesner4-8/+16
2015-02-02Kernel: Use separate Handle tables for CoreTiming userdataYuri Kunde Schlesner4-18/+25
2015-02-02Kernel: Remove previous scheduled event when a Timer is re-SetYuri Kunde Schlesner1-0/+3
2015-02-02Thread: Modernize two functions that slipped through previous rebasesYuri Kunde Schlesner3-15/+13
2015-02-01arm: Clean up ARMul_StateLioncash1-1/+1
2015-01-30shared_memory: Fix assignments in SharedMemory::MapLioncash2-4/+4
2015-01-30Kernel: Mark all appropriate kernel objects as "final"Yuri Kunde Schlesner7-8/+7
2015-01-30Remove result.h InvalidHandleYuri Kunde Schlesner1-1/+2
2015-01-30Kernel: Convert Event to not use HandlesYuri Kunde Schlesner2-83/+51
2015-01-30Kernel: Convert Timer to (mostly) not use HandlesYuri Kunde Schlesner2-104/+72
2015-01-30Kernel: Convert Mutex to not use HandlesYuri Kunde Schlesner2-101/+82
2015-01-30Kernel: Convert AddressArbiter to not use HandlesYuri Kunde Schlesner2-32/+31
2015-01-30Kernel: Convert Semaphore to not use HandlesYuri Kunde Schlesner2-61/+61
2015-01-30Kernel: Convert SharedMemory to not use HandlesYuri Kunde Schlesner2-71/+54
2015-01-30Move VAddr/PAddr typedefs to kernel.hYuri Kunde Schlesner1-0/+5
2015-01-30Kernel: Remove useless/duplicated comments; mark functions staticYuri Kunde Schlesner6-32/+8
2015-01-22Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.bunnei2-22/+42
2015-01-22Thread: Use std::find in CheckWait_WaitObject.bunnei1-4/+5
2015-01-22Mutex: Cleanup and remove redundant code.bunnei3-47/+29
2015-01-22Kernel: Renamed some functions for clarity.bunnei7-10/+10
2015-01-22Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.bunnei8-64/+39
2015-01-22WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.bunnei8-21/+20
2015-01-22Event: Fix implementation of "non-sticky" events.bunnei1-0/+4
2015-01-22Session: Change to a WaitObject.bunnei3-2/+9
2015-01-22Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.bunnei1-1/+1
2015-01-22Mutex: Fix a bug where the thread should not wait if it already has the mutex.bunnei1-1/+4
2015-01-22Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely.bunnei3-18/+57
2015-01-22AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.bunnei4-35/+42
2015-01-22Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.bunnei8-112/+43
2015-01-22WaitSynchronizationN: Refactor to fix several bugsbunnei7-54/+49
2015-01-22Kernel: Separate WaitSynchronization into Wait and Acquire methods.bunnei7-14/+54
2015-01-22WaitSynchronizationN: Implement return valuesbunnei9-56/+139
2015-01-22Event: Fixed some bugs and cleanup (Subv)bunnei2-54/+13
2015-01-22Thread: Keep track of multiple wait objects.bunnei3-16/+30
2015-01-22Event: Get rid of permanent_lock hack.bunnei2-36/+8
2015-01-22WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.bunnei2-4/+17
2015-01-22Kernel: Added WaitObject and changed "waitable" objects inherit from it.bunnei8-71/+73
2015-01-20core: Fix a few docstringsLioncash2-2/+2
2015-01-13AddrArbiter: Implement arbitration types 3 and 4.Subv2-3/+20
2015-01-11Thread: Prevent waking a thread multiple times.Subv1-0/+3
2015-01-09Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner10-76/+75
2015-01-09Kernel: Don't re-assign object's handle when duplicating oneYuri Kunde Schlesner2-2/+3
2015-01-09Thread: Fix nullptr access in a logging functionYuri Kunde Schlesner1-1/+2
2015-01-09Thread: Rename thread_queue => thread_listYuri Kunde Schlesner1-6/+6
2015-01-09Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner9-281/+190
2015-01-09Kernel: Move Thread's definition to the header fileYuri Kunde Schlesner3-53/+67
2015-01-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner2-4/+6
2015-01-09SVC: Implemented the Timer service calls.Subv5-1/+194
2015-01-09SVC: Fixed SleepThread.Subv2-8/+39
2015-01-08Threads: Use a dummy idle thread when no other are ready.Subv3-1/+35
2015-01-07Common: Clean up ThreadQueueListYuri Kunde Schlesner1-1/+1
2015-01-04Mutex: Add the calling thread to the waiting list when neededSubv1-2/+2
2015-01-03AddressArbiter: Ported arbitration type 2 from 3dmoo.Subv1-0/+11
2014-12-28Kernel: New handle managerYuri Kunde Schlesner9-142/+189
2014-12-28Kernel: Replace GetStaticHandleType by HANDLE_TYPE constantsYuri Kunde Schlesner8-15/+15
2014-12-28Rename ObjectPool to HandleTableYuri Kunde Schlesner8-41/+41
2014-12-21License changepurpasmart9615-16/+16
2014-12-21Thread: Wait current thread on svc_SleepThreadbunnei2-21/+33
2014-12-20Clean up some warningsChin2-5/+5
2014-12-20Kernel: Implement support for current thread pseudo-handleYuri Kunde Schlesner3-2/+16
2014-12-18Filesystem/Archives: Implemented the SaveData archiveSubv2-0/+7
2014-12-16HLE: Rename namespaces to match move & fix initialization orderYuri Kunde Schlesner1-5/+0
2014-12-16HLE: Move kernel/archive.* to service/fs/Yuri Kunde Schlesner3-534/+1
2014-12-15Remove SyncRequest from K::Object and create a new K::Session typeYuri Kunde Schlesner3-38/+75
2014-12-13Kernel/Semaphore: Small style changeSubv1-1/+1
2014-12-13Kernel/Semaphores: Invert the available count checking.Subv1-11/+9
2014-12-13Kernel/Semaphores: Addressed some issues.Subv2-32/+18
2014-12-13Semaphore: Removed an unneeded functionSubv1-5/+0
2014-12-13Semaphores: Addressed some style issuesSubv1-6/+5
2014-12-13Semaphore: Implemented the initial_count parameter.Subv2-5/+7
2014-12-13SVC: Implemented ReleaseSemaphore.Subv2-16/+64
2014-12-13SVC: Implemented svcCreateSemaphoreSubv2-0/+98
2014-12-13kernel: Remove unused log argumentsLioncash1-3/+3
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner6-72/+45
2014-12-09Thread: Fixed to wait on address when in arbitration.bunnei3-11/+31
2014-12-07Make OpenDirectory fail if the directory doesn't existarchshift1-0/+5
2014-12-07Mutex: Remove some forward declarationsSubv1-16/+15
2014-12-07Mutex: Release all held mutexes when a thread exits.Subv3-22/+56
2014-12-06Mutex: Properly lock the mutex when a thread enters itSubv1-12/+9
2014-12-04Threads: Remove a redundant function.Subv1-9/+1
2014-12-04Threads: Implemented a sequential thread idSubv2-4/+19
2014-12-04Updated archive.cpp functions for proper error handlingarchshift2-65/+36
2014-12-04SVC: Implemented GetThreadId.Subv2-0/+19
2014-12-04kernel: Shorten GetCountLioncash1-6/+3
2014-12-04kernel: Make some functions constLioncash2-4/+4
2014-11-26Thread: Check that thread is actually in "wait state" when verifying wait.bunnei1-1/+1
2014-11-26Mutex: Changed behavior to always release mutex for all threads.bunnei1-8/+7
2014-11-25Implemented RenameDirectory in FS:USERarchshift2-0/+35
2014-11-25Implemented RenameFile in FS:USERarchshift2-0/+35
2014-11-24Use pointers instead of passing handles around in some functions.Yuri Kunde Schlesner1-19/+15
2014-11-24Remove duplicated docs/update them for changed parameters.Yuri Kunde Schlesner9-78/+0
2014-11-24HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner13-201/+187
2014-11-23Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.archshift2-1/+47
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot12-42/+42
2014-11-19Add static to some variablesLioncash1-22/+22
2014-11-19Kernel:Add missing permissions in shared memory & svcpurpasmart961-5/+9
2014-11-18Remove extraneous semicolonsLioncash1-1/+1
2014-11-18Archive: Fixed to not destroy archive handle on close.bunnei1-3/+3
2014-11-18Archive: Fixed close archive before freeing.bunnei1-1/+1
2014-11-18FS_User: Support FileSye::Path in a more generic way.bunnei1-0/+11
2014-11-18FileSys: Updated backend code to use FileSys::Path instead of string for paths.bunnei2-10/+10
2014-11-14Fix two format strings.Lioncash1-1/+1
2014-11-02Added CreateDirectory function to service/fs.cpp, and in Archive.archshift2-2/+25
2014-10-30Fix some warningsSean1-3/+3
2014-10-26Add `override` keyword through the code.Yuri Kunde Schlesner6-35/+35
2014-10-06FileSys: split the constructor into an Open method, in order to notify the opener something went wrong.Emmanuel Gil Peyrot1-0/+3
2014-10-06FileSys/Kernel: Implement SetSize service call for File objects.Emmanuel Gil Peyrot1-0/+8
2014-09-21Use the citra user path for the sdmc directoryarchshift1-2/+1
2014-09-17Kernel: Implement the Close command for Archive, File and Directory.Emmanuel Gil Peyrot2-0/+43
2014-09-17Kernel: Add a Directory object and a getter for it from an Archive object.Emmanuel Gil Peyrot3-0/+91
2014-09-17Kernel: Add a File object and a getter for it from an Archive object.Emmanuel Gil Peyrot2-0/+118
2014-09-15Core: Get rid of unnecessary switch statement in KernelLioncash1-41/+2
2014-09-09core: Prune redundant includesarchshift3-6/+0
2014-08-31Threading: Fix thread starting to execute first instruction correctly.bunnei1-0/+5
2014-08-28Threading: Fix thread starting to execute first instruction correctly.bunnei1-0/+5
2014-08-23Added FS functions to Archive and Archive_RomFSarchshift1-3/+31
2014-08-19Core: Use std::array for managing kernel object spaceLioncash2-5/+5
2014-08-18Core: Alter the kernel string functions to use std::string instead of const char*.Lioncash8-25/+22
2014-08-07Thread: Added more descriptive comment to WaitCurrentThread.bunnei2-2/+10
2014-08-06AddressArbiter: Removed unnecessary HLE::Reschedule.bunnei1-1/+0
2014-08-06AddressArbiter: Fixed bug with break statements missing from case statements.bunnei1-0/+2
2014-08-06Kernel: Updated Event and Mutex to specify handle that they are blocking for.bunnei2-2/+2
2014-07-09Kernel: Added preliminary support for address arbiters.bunnei3-1/+124
2014-07-09Thread: Added functions to resume threads from address arbitration.bunnei2-0/+44
2014-07-05SharedMemory: Updated MapSharedMemory to use an enum for permissions.bunnei2-6/+27
2014-07-05Kernel: Added support for shared memory objects.bunnei2-0/+132
2014-07-05Archive: Added Init/Shutdown methods to reset kernel archive state.bunnei3-0/+19
2014-07-05FileSys: Added preliminary support for applications reading the RomFS archive.bunnei2-10/+105
2014-06-27Kernel: Added stubbed code to support creation of kernel Archive objects.bunnei3-0/+85
2014-06-13Kernel: Removed unnecessary "#pragma once".bunnei1-2/+0
2014-06-13Kernel: Added freeing of kernel objects on emulator shutdown.bunnei2-0/+10
2014-06-13Event: Updated several log messages to be assertions.bunnei1-16/+8
2014-06-13Thread: Renamed occurrences of "t" to "thread" to improve readability.bunnei1-48/+45
2014-06-13Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.bunnei1-9/+7
2014-06-13HLE: Removed usnused EatCycles function.bunnei1-9/+0
2014-06-13Thread: Moved position of * in arguments.bunnei1-2/+2
2014-06-13Thread: Updated VerifyWait to be more readable (but functionally the same).bunnei1-4/+3
2014-06-13HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)bunnei3-9/+9
2014-06-13Kernel: Updated various kernel function "name" arguments to be const references.bunnei4-6/+6
2014-06-13HLE: Updated various handle debug assertions to be more clear.bunnei2-3/+3
2014-06-13Mutex: Moved ReleaseMutex iterator declaration to be inside while loop.bunnei1-2/+1
2014-06-13Kernel: Updated several member functions to be constbunnei4-11/+11
2014-06-13Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly setbunnei1-1/+1
2014-06-13Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)bunnei3-23/+4
2014-06-13Kernel: Added real support for thread and event blockingbunnei5-48/+165
2014-06-05kernel: changed current default thread priority back to 0x30 - I think this is more correctbunnei1-1/+1
2014-06-03svc: added optional name field to Event and Mutex (used for debugging)bunnei4-8/+21
2014-06-03kernel: moved position of * for GetTypeName and GetNamebunnei1-2/+2
2014-06-02svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle supportbunnei2-0/+51
2014-06-02kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedulebunnei3-4/+6
2014-06-01thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for executionbunnei1-0/+18
2014-06-01event: added a hackish ability to set an event as "locked" to its current state, cleaned up some commentsbunnei2-4/+32
2014-05-30mutex: fixed typo in ReleaseMutexbunnei1-1/+3
2014-05-30event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some commentsbunnei2-9/+14
2014-05-28mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertionsbunnei1-0/+6
2014-05-28event: fixed typos and updated CMakeListsbunnei1-1/+1
2014-05-28event: added SetEventLocked method to change status an events lockbunnei2-0/+18
2014-05-28kernel: added event module to support creation of CTR "Event" objectsbunnei2-0/+119
2014-05-27mutex: removed docstring comment that is no longer relevantbunnei1-1/+0
2014-05-27mutex: added additional docstringsbunnei1-0/+2
2014-05-27kernel: added WaitSynchronization method to Kernel::Objectbunnei3-0/+29
2014-05-27kernel: updated SyncRequest to take boolean thread wait result as a parameterbunnei3-5/+20
2014-05-27kernel: added enum for known CurrentThread and CurrentProcess handlesbunnei1-0/+5
2014-05-27kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequestbunnei3-0/+11
2014-05-23thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argumentbunnei2-4/+4
2014-05-23thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThreadbunnei2-4/+4
2014-05-23kernel: refactored function naming to remove "__" prefixbunnei5-62/+72
2014-05-23thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR resetbunnei2-35/+40
2014-05-22thread: fixed bug where result of __NextThread was not being properly checked when NULLbunnei1-1/+1
2014-05-21mutex: refactored the interface to code to return a Mutex* handlebunnei2-3/+13
2014-05-21mutex: initial commit of HLE modulebunnei2-0/+148
2014-05-21kernel: fixed include, in general include "common.h" not "common_types.h"bunnei1-1/+1
2014-05-21thread: added correct lowest thread priority, added a thread priority check, and added some commentsbunnei2-6/+10
2014-05-21thread: exposed ResumeThreadFromWait function for use in other kernel modulesbunnei2-8/+11
2014-05-21thread: moved threading calls to the Kernel namespacebunnei3-101/+115
2014-05-21ARM_Interface: added SaveContext and LoadContext functions for HLE thread switchingbunnei1-36/+2
2014-05-21renamed "syscall" module to "svc" (more accurate naming)bunnei1-1/+1
2014-05-21thread: whitespace change - fixed * and & placementbunnei2-27/+27
2014-05-21- created a Kernel namespacebunnei4-67/+79
2014-05-20thread: added declaration for __KernelReschedule to be used by syscall modulebunnei1-0/+3
2014-05-19- updated service(s) to be KernelObject'sbunnei1-4/+5
2014-05-19- moved Handle/Result definitions to kernel.hbunnei2-3/+2
2014-05-17changed a commentbunnei2-2/+2
2014-05-17- added enum ThreadProcessorIdbunnei2-53/+107
2014-05-17- replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTHbunnei3-8/+12
2014-05-16completely gutted/refactored threading code to be simplerbunnei2-658/+230
2014-05-16changed "UID" to "Handle" to be a little more consistent with CTR namingbunnei2-18/+21
2014-05-15- added helper function for __KernelCreateThreadbunnei2-4/+76
2014-05-15changed primary thread priority to 0x30 - this is typical, not 0x31bunnei1-1/+2
2014-05-14fixed thread reset to not set stack addressbunnei1-1/+1
2014-05-14various cleanups / remove unused codebunnei2-65/+29
2014-05-14added 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 pointbunnei2-70/+543
2014-05-14- added __KernelLoadExec functionbunnei2-13/+35
2014-05-10added initial kernel/thread modulesbunnei4-0/+527