summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/svc.cpp (unfollow)
Commit message (Expand)AuthorFilesLines
2023-12-04core: refactor emulated cpu core activationLiam1-1475/+1480
2023-10-22kernel: update KProcessLiam1-1/+1
2023-03-13kernel: prefer std::addressofLiam1-90/+90
2023-02-21svc: Fix type consistency (exposed on macOS)Merry1-8/+8
2023-02-13kernel: use GetCurrentProcessLiam1-1/+1
2023-02-07kernel/svc: switch to generated wrappersLiam1-429/+4415
2023-02-05kernel/svc: Split implementations into separate filesLiam1-2683/+3
2023-01-22kernel: KPageTable: updateLiam1-2/+2
2023-01-08Revert "Revert "k_page_group: synchronize""bunnei1-1/+1
2022-12-29Revert "k_page_group: synchronize"gidoly1-1/+1
2022-12-25k_page_group: synchronizeLiam1-1/+1
2022-12-15kernel: svc: Fix duplicated InfoType enumNarr the Reg1-90/+47
2022-12-15kernel: process: Implement GetFreeThreadCountNarr the Reg1-1/+14
2022-11-12kernel: implement FlushProcessDataCacheLiam1-8/+18
2022-11-10kernel/svc_types: refreshLiam1-69/+48
2022-11-04core: hle: kernel: Add KEventInfo.bunnei1-1/+1
2022-10-31kernel: fix port trackingLiam1-1/+0
2022-10-31kernel: invert session request handling flowLiam1-2/+4
2022-10-22general: Enforce C4800 everywhere except in video_coreMorph1-2/+2
2022-10-19core: hle: kernel: k_process: Improve management of page table & cleanup.bunnei1-1/+1
2022-10-19core: hle: kernel: k_process: Change Status -> State.bunnei1-2/+2
2022-10-13kernel: remove KWritableEventLiam1-13/+12
2022-10-12k_server_session: preliminary support for userspace server sessionsLiam1-14/+68
2022-10-12Add implementation of svcCreateSessionLiam1-1/+89
2022-07-15kernel: use KScheduler from mesosphereLiam1-6/+1
2022-06-27core: kernel: Replace instances of KPageLinkedList with KPageGroupgerman771-1/+1
2022-06-27core: Replace all instances of ResultCode with Resultgerman771-149/+143
2022-06-26Re-add missing `case` and braces, and trim whitespacecomex1-1/+3
2022-06-26Update src/core/hle/kernel/svc.cppcomex1-6/+14
2022-06-26Support InfoType_MesosphereCurrentProcesscomex1-0/+14
2022-06-23kernel: make current thread pointer thread localLiam1-7/+6
2022-06-16Implement ExitProcess svcNikita Strygin1-1/+2
2022-06-15kernel: notify debugger on break SVCLiam1-0/+7
2022-06-15core: centralize profile scope for DynarmicLiam1-3/+0
2022-06-14kernel: implement KProcess suspensionLiam1-1/+1
2022-06-14common: Change semantics of UNREACHABLE to unconditionally crashLiam1-1/+1
2022-04-24kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFFMorph1-1/+1
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
2022-04-09hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory (fixes #8174)tech-ticks1-1/+2
2022-03-26hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space.bunnei1-2/+5
2022-03-26hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer.bunnei1-2/+2
2022-03-26hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check.bunnei1-1/+1
2022-02-21core: hle: kernel: KEvent: Pass in owner KProcess on event creation.bunnei1-1/+1
2022-02-15kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32Sergi Granell1-4/+18
2022-02-09svc: Set unique names for function tablesNarr the Reg1-77/+77
2022-02-04service: pm: Implement AtmosphereGetProcessInfotech-ticks1-1/+1
2022-02-01svc: Add 32 bit SynchronizePreemptionStateNarr the Reg1-1/+1
2022-01-22core: hle: kernel: Rename Un/Map to Un/MapMeory.bunnei1-2/+2
2022-01-12hle: kernel: k_page_table: Update SetProcessMemoryPermission.bunnei1-1/+3
2022-01-12hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.bunnei1-2/+2
2022-01-08core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.bunnei1-30/+20
2021-12-31core: hle: kernel: Implement thread pinning.bunnei1-1/+20
2021-12-28core: hle: kernel: Updated implementation of svcSetHeapSize.bunnei1-16/+7
2021-12-23core: hle: kernel: Implement SetMemoryPermission.bunnei1-1/+31
2021-12-22hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.bunnei1-14/+9
2021-12-18core: hle: Remove global HLE lock.bunnei1-9/+0
2021-12-07hle: kernel: svc: Fix deadlock that can occur with single core.bunnei1-10/+8
2021-12-07hle: kernel: KServerSession: Migrate to updated KThreadQueue.bunnei1-3/+10
2021-12-07hle: kernel: KThread: Remove tracking of sync object from threads.bunnei1-2/+1
2021-12-07core: hle: kernel: Reflect non-emulated threads as core 3.bunnei1-2/+3
2021-12-05kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemoryitsmeft241-4/+210
2021-11-21kernel: svc: Move all IsValid functions to an anonymous namespaceMorph1-3/+15
2021-11-21kernel: svc: Implement SetProcessMemoryPermissionMorph1-1/+41
2021-11-04general: Rename GetTitleID to GetProgramIDMorph1-1/+1
2021-11-04core: Remove unused includesameerj1-10/+0
2021-11-03svc: Correct WaitSynchronization num_handles param typeMorph1-2/+2
2021-10-27Fix memory leakFeng Chen1-0/+6
2021-10-16SVC: Implement svcInfo:IdleTickCountFernando Sahmkow1-0/+17
2021-09-25Fix KScopedAutoObject object leak when SendSyncRequestFeng Chen1-6/+8
2021-08-26Revert "kernel: Various improvements to scheduler"bunnei1-1/+1
2021-08-19Fix check is thread current in GetThreadContextValeri1-1/+1
2021-08-07core: hle: kernel: Reflect non-emulated threads as core 3.bunnei1-1/+1
2021-07-21hle: kernel: svc: Remove part of ExitProcess.bunnei1-5/+0
2021-07-21kernel: svc: ConnectToNamedPort: Close extra reference to port.bunnei1-0/+1
2021-06-10kernel: svc: Add missing error check to CancelSynchronization.bunnei1-2/+2
2021-06-02general: Replace RESULT_SUCCESS with ResultSuccessMorph1-52/+52
2021-05-16core: Make variable shadowing a compile-time errorLioncash1-3/+3
2021-05-11hle: kernel: svc: Update ConnectToNamedPort to use new CreateNamedServicePort interface.bunnei1-4/+3
2021-05-06kernel: svc: Remove unused RetrieveResourceLimitValue function.bunnei1-32/+0
2021-05-06hle: kernel: svc: ConnectToNamedPort: Use KHandleTable::Reserve.bunnei1-3/+8
2021-05-06hle: kernel: Migrate to KHandleTable.bunnei1-4/+4
2021-05-06hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.bunnei1-60/+78
2021-05-06hle: kernel: Rename Process to KProcess.bunnei1-15/+15
2021-05-06hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.bunnei1-9/+13
2021-05-06hle: kernel: Migrate KClientPort to KAutoObject.bunnei1-1/+1
2021-05-06hle: kernel: HandleTable: Remove deprecated APIs.bunnei1-1/+1
2021-05-06hle: kernel: Migrate KResourceLimit to KAutoObject.bunnei1-63/+64
2021-05-06hle: kernel: svc: Migrate WaitSynchronization.bunnei1-47/+23
2021-05-06hle: kernel: svc: Use new handle table API for Process.bunnei1-13/+12
2021-05-06hle: kernel: Migrate KTransferMemory to KAutoObject.bunnei1-45/+48
2021-05-06hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.bunnei1-10/+8
2021-05-06hle: kernel: svc: Migrate GetThreadContext, GetThreadCoreMask.bunnei1-2/+59
2021-05-06hle: kernel: svc: Migrate GetProcessId, CancelSynchronization, SetThreadActivity.bunnei1-13/+67
2021-05-06hle: kernel: svc_results: Update naming..bunnei1-19/+19
2021-05-06hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.bunnei1-38/+32
2021-05-06hle: kernel: Refactor several threads/events/sharedmemory to use slab heaps.bunnei1-2/+2
2021-05-06hle: kernel: Migrate KEvent to KAutoObject.bunnei1-6/+3
2021-05-06hle: kernel: Migrate KSharedMemory to KAutoObject.bunnei1-12/+9
2021-05-06hle: kernel: Migrate KProcess to KAutoObject.bunnei1-3/+3
2021-05-06hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.bunnei1-1/+1
2021-05-06hle: kernel: Migrate more of KThread to KAutoObject.bunnei1-200/+68
2021-05-06hle: kernel: svc: Migrate GetThreadPriority, StartThread, and ExitThread.bunnei1-21/+12
2021-05-06hle: kernel: svc: Migrate CreateThread.bunnei1-14/+21
2021-04-14k_resource_limit: Minor cleanup of member variables/headersameerj1-1/+1
2021-04-07svc: Expand SVC tablesLioncash1-0/+132
2021-03-06hle: kernel: KThread: Rework dummy threads & fix memory leak.bunnei1-2/+3
2021-03-06Revert "core: Switch to unique_ptr for usage of Common::Fiber."bunnei1-1/+2
2021-02-27core: Switch to unique_ptr for usage of Common::Fiber.bunnei1-2/+1
2021-02-19hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.bunnei1-3/+3
2021-02-19hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.bunnei1-14/+14
2021-02-19hle: kernel: Migrate MemoryLayout to KMemoryLayout.bunnei1-7/+6
2021-02-19hle: kernel: Rename SharedMemory to KSharedMemory.bunnei1-2/+2
2021-02-13kernel: More accurately reserve and release resourcesameerj1-8/+13
2021-02-13kernel: KScopedReservation implementationameerj1-3/+30
2021-02-13kernel: Unify result codes (#5890)Chloe1-98/+98
2021-02-06svc: Provide more detailed error logs for svc functionsLioncash1-59/+188
2021-02-05hle: kernel: svc: Cleanup KEvent/KReadableEvent/KWritableEvent SVCs.bunnei1-57/+78
2021-02-05hle: kernel: Reimplement KReadableEvent and KWritableEvent.bunnei1-4/+5
2021-02-05hle: kernel: Rename WritableEvent to KWritableEvent.bunnei1-4/+4
2021-02-05hle: kernel: Rename ReadableEvent to KReadableEvent.bunnei1-3/+3
2021-02-03Simplify limitableresource namesChloe Marcec1-5/+3
2021-01-30Move to GetGlobalTimeNs, fix GetTotalPhysicalMemoryAvailableChloe Marcec1-4/+3
2021-01-30kernel: Rewrite resource limit to be more accurateChloe Marcec1-12/+16
2021-01-29hle: kernel: process: Add state lock.bunnei1-4/+7
2021-01-29hle: kernel: Recode implementation of KThread to be more accurate.bunnei1-203/+152
2021-01-29hle: kernel: KThread: Clean up thread priorities.bunnei1-40/+26
2021-01-29hle: kernel: KThread: Reorganize thread priority defaults.bunnei1-6/+4
2021-01-29hle: kernel: KThread: Fix ThreadType definition.bunnei1-3/+2
2021-01-29core: hle: kernel: Rename Thread to KThread.bunnei1-15/+15
2021-01-11hle: kernel: thread: Preserve thread wait reason for debugging only.bunnei1-0/+1
2021-01-11core: hle: Integrate new KConditionVariable and KAddressArbiter implementations.bunnei1-237/+127
2021-01-11hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ThreadState.bunnei1-6/+5
2021-01-11core: hle: kernel: Update KSynchronizationObject.bunnei1-30/+17
2020-12-29svc: demote SleepThread log to LOG_TRACEameerj1-1/+1
2020-12-08svc: Remove unnecessary castsLioncash1-35/+25
2020-12-06hle: kernel: Migrate to KScopedSchedulerLock.bunnei1-4/+4
2020-12-06hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler.bunnei1-1/+2
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei1-31/+26
2020-12-06hle: kernel: svc: Remove reschedule on svcBreak.bunnei1-5/+0
2020-12-06hle: kernel: svc: Remove unnecessary hack in svcSleep.bunnei1-7/+0
2020-12-06hle: kernel: Port KAffinityMask from Mesosphere.bunnei1-1/+1
2020-11-29hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei1-0/+9
2020-11-23svc: Remove unnecessary [[maybe_unused]] tagLioncash1-1/+1
2020-10-21Revert "core: Fix clang build"bunnei1-4/+3
2020-10-18core: Fix clang buildLioncash1-3/+4
2020-09-14kernel: Remove all dependencies on the global system instanceLioncash1-1/+1
2020-07-16kernel: Remove unused variablesLioncash1-5/+2
2020-06-27SVC: Implement 32-bits wrappers and update Dynarmic.Fernando Sahmkow1-27/+171
2020-06-27SVC: Add GetCurrentProcessorNumber32, CreateTransferMemory32, SetMemoryAttribute32Fernando Sahmkow1-6/+23
2020-06-27SVC: Add GetThreadPriority32 & SetThreadPriority32Fernando Sahmkow1-2/+12
2020-06-27Common/Kernel: Corrections and small bug fixing.Fernando Sahmkow1-2/+2
2020-06-27General: Cleanup legacy code.Fernando Sahmkow1-2/+1
2020-06-27Kernel/svcBreak: Implement CacheInvalidation for Singlecore and correct svcBreak.Fernando Sahmkow1-2/+2
2020-06-27HLE_IPC: Correct HLE Event behavior on timeout.Fernando Sahmkow1-1/+9
2020-06-27SingleCore: Use Cycle Timing instead of Host Timing.Fernando Sahmkow1-0/+5
2020-06-27General: Move ARM_Interface into Threads.Fernando Sahmkow1-9/+2
2020-06-27SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface.Fernando Sahmkow1-1/+1
2020-06-27ARM: Addapt to new Exclusive Monitor Interface.Fernando Sahmkow1-3/+1
2020-06-27General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.Fernando Sahmkow1-3/+7
2020-06-27Kernel: Rewind on SVC change.Fernando Sahmkow1-5/+4
2020-06-27Kernel: Preempt Single core on redudant yields.Fernando Sahmkow1-6/+17
2020-06-27Kernel: Fixes, corrections and asserts to scheduler and different svcs.Fernando Sahmkow1-13/+14
2020-06-27ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.Fernando Sahmkow1-1/+1
2020-06-27SVC: Correct SetThreadActivity.Fernando Sahmkow1-4/+1
2020-06-27SVC: Correct svcWaitForAddress and svcSignalToAddress.Fernando Sahmkow1-3/+0
2020-06-27Kernel: Corrections to Scheduling.Fernando Sahmkow1-1/+0
2020-06-27Core: Correct HLE Event Callbacks and other issues.Fernando Sahmkow1-3/+2
2020-06-27General: Add AssertsFernando Sahmkow1-0/+1
2020-06-27General: Add better safety for JIT use.Fernando Sahmkow1-1/+5
2020-06-27SVC: Correct races on physical core switching.Fernando Sahmkow1-5/+4
2020-06-27SVC: Add locks to the memory management.Fernando Sahmkow1-0/+21
2020-06-27SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.Fernando Sahmkow1-27/+48
2020-06-27SVC: Cleanup old methods.Fernando Sahmkow1-13/+9
2020-06-27SVC: Correct SendSyncRequest.Fernando Sahmkow1-4/+17
2020-06-27SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLockFernando Sahmkow1-1/+0
2020-06-27SVC: Remove global HLE Lock.Fernando Sahmkow1-3/+0
2020-06-27SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumberFernando Sahmkow1-9/+8
2020-06-27SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.Fernando Sahmkow1-13/+5
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow1-15/+6
2020-04-29kernel: Don't fail silentlyDavid Marcec1-0/+7
2020-04-28kernel: Bad GetInfo ids should not be marked as stubsDavid Marcec1-2/+2
2020-04-24svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemoryLioncash1-2/+138
2020-04-23svc: Remove unused variableLioncash1-3/+0
2020-04-17core: hle: Address various feedback & code cleanup.bunnei1-1/+1
2020-04-17kernel: svc: Updates for new VMM.bunnei1-488/+116
2020-04-17core: memory: Move to Core::Memory namespace.bunnei1-5/+5
2020-04-17core: kernel: Add svc_types header to include SVC-specific types.bunnei1-0/+1
2020-04-17core: kernel: Move SVC to its own namesapce.bunnei1-3/+3
2020-03-03core: hle: Implement separate A32/A64 SVC interfaces.bunnei1-65/+264
2020-02-14Core: Address FeedbackFernando Sahmkow1-1/+1
2020-02-11Kernel: Refactor synchronization to better match REFernando Sahmkow1-60/+7
2020-02-11Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.Fernando Sahmkow1-6/+7
2020-02-06kernel: transfer_memory: Properly reserve and reset memory region.bunnei1-2/+6
2020-01-26Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.Fernando Sahmkow1-1/+1
2019-12-11kernel/svc: Correct function signature of SignalProcessWideKeyLioncash1-4/+1
2019-12-08kernel/svc: Provide implementations for svcDumpInfo/svcDumpInfoNewLioncash1-2/+13
2019-11-28kernel: Implement a more accurate IPC dispatch.bunnei1-4/+5
2019-11-27core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory classLioncash1-12/+15
2019-11-27core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classLioncash1-6/+10
2019-11-27core/memory: Migrate over ReadCString() to the Memory classLioncash1-2/+4
2019-11-27core: Prepare various classes for memory read/write migrationLioncash1-1/+1
2019-11-27core/memory: Migrate over address checking functions to the new Memory classLioncash1-2/+2
2019-11-25kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154)bunnei1-26/+26
2019-11-23Update svc.cppbunnei1-0/+1
2019-11-23svc: GetSystemTick should return cntpct_el0, not core ticks.bunnei1-1/+3
2019-11-21Kernel: Optimize condition variable threads management.Fernando Sahmkow1-1/+1
2019-11-21Kernel: Correct SignalProcessWideKeyFernando Sahmkow1-6/+2
2019-11-21Kernel: Correct behavior of Condition Variables to be more similar to real hardware.Fernando Sahmkow1-15/+5
2019-11-16Kernel: Correct Cancel Synchronization.Fernando Sahmkow1-0/+5
2019-11-03kernel: events: Remove ResetType::Automatic.bunnei1-1/+1
2019-10-15Kernel: Address Feedback.Fernando Sahmkow1-6/+6
2019-10-15KernelSVC: Assert that condition variable address is aligned to 4 bytes.Fernando Sahmkow1-0/+4
2019-10-15Kernel: Correct redundant yields to only advance time forward.Fernando Sahmkow1-3/+5
2019-10-15Kernel: Correct Results in Condition Variables and MutexesFernando Sahmkow1-18/+9
2019-10-15Scheduler: Add protections for Yield bombingFernando Sahmkow1-4/+9
2019-10-15Kernel: Style and CorrectionsFernando Sahmkow1-6/+9
2019-10-15Correct PrepareRescheduleFernando Sahmkow1-32/+17
2019-10-15Correct Supervisor Calls to work with the new scheduler,Fernando Sahmkow1-26/+41
2019-07-18Kernel: Downgrade WaitForAddress and SignalToAddress messages to Trace.Fernando Sahmkow1-4/+4
2019-07-11Restore memory perms on svcUnmapMemory/UnloadNroMichael Scire1-1/+8
2019-07-07clang-format fixesMichael Scire1-2/+1
2019-07-07address review commentaryMichael Scire1-20/+12
2019-07-07Implement MapPhysicalMemory/UnmapPhysicalMemoryMichael Scire1-8/+102
2019-07-07kernel/process: Allocate the process' TLS region during initializationLioncash1-3/+1
2019-07-06kernel/vm_manager: Rename 'new map' to 'stack'Lioncash1-10/+10
2019-06-10kernel/svc: Implement TotalMemoryUsedWithoutMmHeap/TotalMemoryAvailableWithoutMmHeapLioncash1-2/+15
2019-06-10kernel/svc: Amend naming for TotalMemoryUsage in svcGetInfo()Lioncash1-4/+4
2019-06-10kernel/svc: Remove duplicate enum entry in svcGetInfo()Lioncash1-2/+1
2019-05-25svc: Save report on call to svcBreakZach Hilman1-1/+7
2019-05-19kernel/svc: Mark GetThreadList() and UnmapProcessCodeMemory() as internally linkedLioncash1-4/+4
2019-05-18core/kernel/object: Rename ResetType enum membersLioncash1-1/+1
2019-04-29kernel/svc: Make svcCreateThread/svcStartThread/svcSleepThread/svcExitThread calls show up in the debug logLioncash1-4/+4
2019-04-29kernel/svc: Reorganize svcSetThreadCoreMask()Lioncash1-32/+39
2019-04-29kernel/thread: Update thread processor ID flagsLioncash1-1/+1
2019-04-19kernel/svc: Name supervisor call 0x36Lioncash1-1/+1
2019-04-17kernel/thread: Unify wait synchronization typesLioncash1-2/+2
2019-04-17kernel/svc: Migrate svcCancelSynchronization behavior to a thread functionLioncash1-4/+2
2019-04-15svc: Specify handle value in thread's nameLioncash1-2/+5
2019-04-14kernel/thread: Remove unused guest_handle member variableLioncash1-6/+5
2019-04-13kernel/svc: Implement svcUnmapProcessCodeMemoryLioncash1-1/+69
2019-04-13kernel/svc: Implement svcMapProcessCodeMemoryLioncash1-1/+69
2019-04-08kernel/svc: Deglobalize the supervisor call handlersLioncash1-162/+175
2019-04-04kernel/svc: Properly sanitize mutex address in WaitProcessWideKeyAtomicLioncash1-0/+14
2019-04-02kernel/svc: Implement svcGetThreadListLioncash1-1/+41
2019-04-02kernel/svc: Implement svcGetProcessListLioncash1-1/+38
2019-04-01general: Use deducation guides for std::lock_guard and std::unique_lockLioncash1-1/+1
2019-03-29kernel/shared_memory: Sanitize supplied size when unmappingLioncash1-1/+1
2019-03-29kernel/process: Report total physical memory used to svcGetInfoLioncash1-4/+4
2019-03-24kernel/vm_manager: Rename HeapAllocate to SetHeapSizeLioncash1-2/+1
2019-03-24kernel/vm_manager: Remove unnecessary heap_used data memberLioncash1-1/+1
2019-03-24kernel/vm_manager: Tidy up heap allocation codeLioncash1-4/+2
2019-03-20Fix small bug that kept a thread as a condvar thread after being signalled.Fernando Sahmkow1-5/+6
2019-03-20Add CondVar Thread State.Fernando Sahmkow1-2/+2
2019-03-20Small fixes to address_arbiter to better match the IDB.Fernando Sahmkow1-2/+2
2019-03-16kernel/thread: Move thread exiting logic from ExitCurrentThread to svcExitThreadLioncash1-3/+7
2019-03-16kernel/thread: Migrate WaitCurrentThread_Sleep into the Thread interfaceLioncash1-11/+11
2019-03-15core/hle/kernel: Make Mutex a per-process class.Lioncash1-6/+11
2019-03-13core/hle/kernel/svc: Implement svcUnmapTransferMemoryLioncash1-1/+48
2019-03-13core/hle/kernel/svc: Implement svcMapTransferMemoryLioncash1-1/+57
2019-03-13core/hle/kernel: Split transfer memory handling out into its own classLioncash1-4/+9
2019-03-08kernel: Make the address arbiter instance per-processLioncash1-2/+4
2019-03-08kernel/svc: Move address arbiter signaling behind a unified API functionLioncash1-15/+2
2019-03-08kernel/svc: Move address arbiter waiting behind a unified API functionLioncash1-14/+2
2019-03-05kernel/address_arbiter: Convert the address arbiter into a classLioncash1-6/+8
2019-03-05core/hle/ipc: Remove unnecessary includesLioncash1-0/+1
2019-03-04svc: Migrate address range checking functions to VMManagerLioncash1-21/+4
2019-02-16core_timing: Convert core timing into a classLioncash1-4/+6
2019-02-12core_timing: Rename CoreTiming namespace to Core::TimingLioncash1-4/+4
2019-01-27kernel/svc: Log out uncaught C++ exceptions from svcBreakLioncash1-0/+4
2018-12-31kernel/svc: Correct misleading error message within CreateThread()Lioncash1-2/+3
2018-12-31kernel/svc: Sanitize core number and thread priorities in CreateThread()Lioncash1-6/+17
2018-12-31kernel/process: Rename GetAllowedProcessorMask() and GetAllowedThreadPriorityMask()Lioncash1-8/+8
2018-12-31kernel/svc: Simplify thread core ID sanitizing in CreateThreadLioncash1-7/+1
2018-12-28kernel: Rename 'default' CPU core to 'ideal' coreLioncash1-9/+9
2018-12-28kernel/process: Remove most allocation functions from Process' interfaceLioncash1-14/+18
2018-12-19kernel/svc: Handle thread handles within GetProcessIdLioncash1-10/+23
2018-12-19svc: Implement svcSetMemoryAttributeLioncash1-5/+46
2018-12-19kernel/svc: Correct output parameter for svcGetThreadIdLioncash1-1/+1
2018-12-19kernel/svc: Correct output parameter for svcGetProcessIdLioncash1-1/+1
2018-12-19Moved backtrace to ArmInterfaceDavid Marcec1-2/+3
2018-12-12svc: Enable svcQueryProcessMemoryLioncash1-1/+1
2018-12-12svc: Write out the complete MemoryInfo structure in QueryProcessMemoryLioncash1-0/+3
2018-12-12svc: Handle memory writing explicitly within QueryProcessMemoryLioncash1-9/+22
2018-12-12vm_manager: Migrate memory querying to the VMManager interfaceLioncash1-16/+4
2018-12-12vm_manager: Amend MemoryState enum membersLioncash1-2/+2
2018-12-12Fix Process object leak on emulation stopJens Schmer1-7/+6
2018-12-06vm_manager: Make vma_map privateLioncash1-8/+12
2018-12-05svc: Avoid incorrect fast yield conditionZach Hilman1-6/+1
2018-12-05kernel/svc: Correct behavior of svcResetSignal()Lioncash1-4/+11
2018-12-04kernel/svc: Remove unused header inclusionLioncash1-1/+0
2018-12-04kernel/svc: Implement svcSignalEvent()Lioncash1-1/+16
2018-12-04kernel/svc: Implement svcCreateEvent()Lioncash1-1/+29
2018-12-04kernel/object: Amend handle types to distinguish between readable and writable eventsLioncash1-6/+13
2018-12-04kernel/svc: Implement the resource limit svcGetInfo optionLioncash1-1/+28
2018-12-04svc: Implement SetThreadActivity (thread suspension)Luke Street1-4/+34
2018-12-04[Kernel::CreateThread] Match format specifiers to LOG_TRACE's argumentsV.Kalyuzhny1-1/+1
2018-12-04scheduler: Avoid manual Reschedule callZach Hilman1-1/+3
2018-12-03scheduler: Only work steal higher priority threads from other coresZach Hilman1-10/+6
2018-12-03Print backtrace on svcBreakDavid Marcec1-0/+2
2018-12-02svc: Use the current process' handle table for retrieving the process instance to act uponLioncash1-1/+2
2018-12-02svc: Reorganize svcGetInfo, handle more error cases for existing implemented info categoriesLioncash1-50/+99
2018-12-02svc: Avoid performance-degrading unnecessary rescheduleZach Hilman1-7/+4
2018-12-01Fix debug buildLioncash1-1/+1
2018-11-29kernel/event: Reference ReadableEvent from WritableEventZach Hilman1-2/+2
2018-11-29core: Port all current usages of Event to Readable/WritableEventZach Hilman1-5/+6
2018-11-27svc: Implement svcSetResourceLimitLimitValue()Lioncash1-1/+36
2018-11-27svc: Implement svcGetResourceLimitCurrentValue()Lioncash1-16/+49
2018-11-27svc: Implement svcGetResourceLimitLimitValue()Lioncash1-1/+28
2018-11-27svc: Implement svcCreateResourceLimit()Lioncash1-1/+19
2018-11-27Added comment on Main memory size for more clarityDavid Marcec1-0/+1
2018-11-27Made svcSetHeapSize and svcCreateSharedMemory more readableDavid Marcec1-4/+4
2018-11-27Reworked svcs slightly, improved error messages in AM and fsp_srvDavid Marcec1-12/+20
2018-11-26Improved error messages for SVCsDavid Marcec1-76/+170
2018-11-26Changed logging to be "Log before execution", Added more error logging, all services should now log on some levelDavid Marcec1-11/+90
2018-11-25svc: Return ERR_INVALID_ENUM_VALUE from svcGetInfoLuke Street1-1/+2
2018-11-22scheduler: Add explanations for YieldWith and WithoutLoadBalancingZach Hilman1-7/+14
2018-11-20kernel/resource_limit: Clean up interfaceLioncash1-11/+0
2018-11-19kernel/shared_memory: Make Map() and Unmap() take the target process by reference rather than as a pointerLioncash1-2/+2
2018-11-19svc: Implement yield types 0 and -1Zach Hilman1-2/+25
2018-11-18svc: ResetSignal is not stubbedTobias1-1/+1
2018-11-18am: Deglobalize software keyboard appletZach Hilman1-4/+4
2018-11-18svc: Implement svcCreateTransferMemoryZach Hilman1-3/+33
2018-11-16kernel/errors: Clean up error codesLioncash1-10/+10
2018-11-13svc: Use proper random entropy generation algorithmZach Hilman1-1/+10
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 Laing1-1/+7
2018-10-28core: Make System references const where applicableLioncash1-1/+1
2018-10-26svc: Localize the GetInfo enum class to the function itselfLioncash1-0/+31
2018-10-26svc: Implement svcGetInfo command 0xF0000002Lioncash1-0/+30
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-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-processLioncash1-60/+60
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/UnmapSharedMemoryLioncash1-3/+27
2018-10-15core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrsLioncash1-1/+1
2018-10-15svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo()Lioncash1-17/+4
2018-10-14Stop all threads on svcBreakDavid Marcec1-0/+6
2018-10-13svc: Implement svcGetProcessInfoLioncash1-1/+24
2018-10-12svc: Fix typos in sanitizing checks for MapMemory/UnmapMemoryLioncash1-3/+3
2018-10-11svc: Add missing address range sanitizing checks to MapMemory/UnmapMemoryLioncash1-12/+79
2018-10-10kernel/thread: Use a regular pointer for the owner/current processLioncash1-6/+6
2018-10-10Use a better name than "dont_kill_application"David Marcec1-2/+2
2018-10-10Fixed incorrect types for svcBreakDavid Marcec1-3/+3
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-04kernel/thread: Make all instance variables privateLioncash1-57/+64
2018-09-30kernel/svc: Implement svcGetThreadContext()Lioncash1-2/+30
2018-09-30kernel/process: Make data member variables privateLioncash1-15/+15
2018-09-25memory: Dehardcode the use of fixed memory range constantsLioncash1-1/+2
2018-09-25svc: Report correct memory-related values within some of the cases in svcGetInfo()Lioncash1-14/+28
2018-09-24svc: Updated svc namestech4me1-7/+7
2018-09-21svc: Move most process termination code to its own function within ProcessLioncash1-27/+5
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::"fearlessTobi1-13/+14
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()Lioncash1-0/+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 IDLioncash1-2/+2
2018-09-12svc: Do nothing if svcOutputDebugString() is given a length of zeroLioncash1-0/+4
2018-09-12svc: Correct parameter type for OutputDebugString()Lioncash1-1/+1
2018-09-02service: Migrate global named port map to the KernelCore classLioncash1-5/+7
2018-08-31core/core: Replace includes with forward declarations where applicableLioncash1-0/+4
2018-08-29kernel: Eliminate kernel global stateLioncash1-25/+55
2018-08-25svc: Return process title ID if queried in GetInfo()Lioncash1-2/+1
2018-08-15kernel/svc: Log svcBreak parametersLioncash1-2/+5
2018-08-13Kernel/SVC: Don't reschedule the current core when creating a new thread.Subv1-1/+0
2018-08-12Kernel/Mutex: Don't duplicate threads in the mutex waiter list.Subv1-2/+1
2018-08-02kernel/vm_manager: Use const where applicableLioncash1-1/+1
2018-07-31kernel: Remove unused object_address_table.cpp/.hLioncash1-1/+0
2018-07-31kernel: Remove unnecessary includesLioncash1-0/+3
2018-07-24svc: Resolve sign comparison warnings in WaitSynchronization()Lioncash1-4/+7
2018-07-24svc: Log parameters in SetMemoryAttribute()Lioncash1-1/+3
2018-07-22Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real kernel.Subv1-7/+31
2018-07-20thread: Convert ThreadStatus into an enum classLioncash1-10/+10
2018-07-19svc: Correct always true assertion case in SetThreadCoreMaskLioncash1-3/+4
2018-07-03Update clang formatJames Rowe1-28/+25
2018-07-03Rename logging macro back to LOG_*James Rowe1-47/+47
2018-06-22Kernel/Arbiters: Fix casts, cleanup comments/magic numbersMichael Scire1-4/+4
2018-06-22Add additional missing format.Michael Scire1-19/+21
2018-06-21Kernel/Arbiters: Initialize arb_wait_address in thread struct.Michael Scire1-0/+4
2018-06-21Kernel/Arbiters: Mostly implement SignalToAddressMichael Scire1-1/+1
2018-06-21Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs.Michael Scire1-3/+50
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-05-31Kernel/SVC: Support special core values -2 and -3 in svcSetThreadCoreMask.Subv1-1/+26
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-11thread: Rename mask to affinity_masks.bunnei1-1/+1
2018-05-11threading: Reschedule only on cores that are necessary.bunnei1-2/+2
2018-05-11svc: Implement GetThreadCoreMask and SetThreadCoreMask.bunnei1-7/+22
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.bunnei1-21/+22
2018-05-02general: Make formatting of logged hex values more straightforwardLioncash1-38/+39
2018-04-30string_util: Remove StringFromFormat() and related functionsLioncash1-1/+1
2018-04-27general: Convert assertion macros over to be fmt-compatibleLioncash1-1/+1
2018-04-26kernel: Migrate logging macros to fmt-compatible onesLioncash1-69/+69
2018-04-23Kernel: Implemented mutex priority inheritance.Subv1-0/+9
2018-04-21Kernel: Remove unused ConditionVariable class.Subv1-6/+0
2018-04-21Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKeySubv1-83/+46
2018-04-21Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.Subv1-20/+2
2018-04-21resource_limit: Make ResourceTypes an enum classLioncash1-2/+2
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-03svc: Stub out SetThreadActivity, GetThreadContext.bunnei1-2/+14
2018-03-30svc: Stub GetThreadCoreMask.bunnei1-3/+11
2018-03-19More Warning cleanupsN00byKing1-1/+1
2018-03-19Clean Warnings (?)N00byKing1-1/+1
2018-03-16svc: Use more correct values for GetInfo MapRegion and NewMapRegion.bunnei1-5/+5
2018-03-16MemoryState: Add additional memory states and improve naming.bunnei1-1/+1
2018-03-14core: Move process creation out of global state.bunnei1-18/+20
2018-02-25(Hopefully) Fix MinGW BuildN00byKing1-1/+1
2018-02-25Add UnmapSharedMemoryN00byKing1-1/+12
2018-02-22Stub more functionsmailwl1-1/+11
2018-02-18kernel: Use Scheduler class for threading.bunnei1-2/+2
2018-02-04GetInfo: Implement IsCurrentProcessBeingDebugged.bunnei1-0/+3
2018-02-04WaitProcessWideKeyAtomic: Handle case where condition variable was already created.bunnei1-8/+15
2018-02-03svc: SharedMemory size should be 64-bits and cleanup.bunnei1-8/+8
2018-02-03ArbitrateLock: Assert that requesting_thread is current_thread.bunnei1-0/+1
2018-01-25hle: Remove Domain and SyncObject kernel objects.bunnei1-2/+1
2018-01-21Format: Run the new clang format on everythingJames Rowe1-4/+6
2018-01-20Added CreateSharedMemory & UNIMPLEMENTED() for non existent services. (#113)David1-1/+13
2018-01-19svc: Fix svcGetInfo MapRegionBaseAddr.bunnei1-1/+1
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-17SVC: Correct some return values in svcGetInfo and added TitleId and PrivilegedProcessId stubs.Subv1-6/+21
2018-01-16SetThreadCoreMask stub, time to implement fspDavid Marcec1-1/+6
2018-01-16Added more svcGetInfo pairsDavid Marcec1-0/+12
2018-01-16clang-formatMerryMage1-6/+4
2018-01-14svc: Implement svcMapSharedMemory.bunnei1-1/+33
2018-01-13yuzu: Update license text to be consistent across project.bunnei1-1/+1
2018-01-12core: Include <algorithm> where used.bunnei1-0/+2
2018-01-12svc: Implement GetSystemTick.bunnei1-2/+13
2018-01-11svc: Stub ResetSignal and CreateTransferMemorySubv1-3/+20
2018-01-11svc: Stub SetMemoryAttributeSubv1-0/+5
2018-01-10Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask)Subv1-6/+11
2018-01-09SVC: Fixed WaitSynchronization with multiple handles when none is immediately ready.Subv1-7/+18
2018-01-09SVC: Implemented CancelSynchronization.Subv1-1/+17
2018-01-09SVC: Fixed WaitSynchronization with multiple handles when at least one of them is ready.Subv1-1/+24
2018-01-09kernel: Rename Semaphore to ConditionVariable.bunnei1-25/+33
2018-01-09Kernel: Actually wake up the requested number of threads in Semaphore::Release.Subv1-1/+1
2018-01-09Kernel: Properly keep track of mutex lock data in the guest memory. This fixes userland locking/unlocking.Subv1-1/+4
2018-01-09Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback.Subv1-15/+41
2018-01-07svc: Implement svcSignalProcessWideKey.bunnei1-2/+21
2018-01-06svc: Implement svcWaitProcessWideKeyAtomic.bunnei1-1/+49
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.bunnei1-19/+9
2018-01-03svc: Remove unnecessary "svc" prefix to naming scheme.bunnei1-106/+106
2018-01-03hle: Move SVC code to kernel namespace.bunnei1-100/+93
2018-01-01svc: Improve svcGetInfo.bunnei1-7/+29
2018-01-01svc: Fix string formatting for CreateThread.bunnei1-1/+1
2018-01-01svc: Stub out svcWaitSynchronization.bunnei1-1/+9
2018-01-01svc: Implement svcExitProcess.bunnei1-4/+39
2018-01-01svc: Implement svcUnlockMutex.bunnei1-1/+11
2018-01-01svc: Implement svcLockMutex.bunnei1-1/+39
2017-12-31thread: Keep track of the initially created handle.bunnei1-1/+2
2017-12-31svc: Implement svcExitThread.bunnei1-1/+9
2017-12-31svc: Implement svcCreateThread.bunnei1-2/+57
2017-12-31svc: Cleanup svcGetThreadPriority.bunnei1-3/+5
2017-12-31svc: Stub out svcGetCurrentProcessorNumber.bunnei1-1/+7
2017-12-31svc: Implement svcSetThreadPriority.bunnei1-1/+30
2017-12-31svc: Change SignalProcessWideKey to a stub.bunnei1-2/+2
2017-12-31svc: Implement svcUnmapMemory.bunnei1-1/+8
2017-12-30svc: Minor cleanups.bunnei1-8/+9
2017-12-30svc: Implement svcStartThread.bunnei1-0/+16
2017-12-29kernel: Add SyncObject primitive, use it for ClientSession.bunnei1-2/+2
2017-12-29svc: Implement MapMemory.bunnei1-3/+11
2017-12-28svc: Implement SetHeapSize.bunnei1-1/+9
2017-10-23svc: Implement GetThreadId and GetProcessId.bunnei1-2/+29
2017-10-20hle: Fix QueryMemory response for MemoryInfo.bunnei1-17/+11
2017-10-15hle: Initial implementation of NX service framework and IPC.bunnei1-0/+1
2017-10-14svc: Some logging cleanup.bunnei1-7/+5
2017-10-14svc: Initial nx impl. for QueryMemory, ConnectToPort, SendSyncRequest, etc.bunnei1-1185/+185
2017-10-04SVC: Removed GetPointer usage in the GetResourceLimit functions.Subv1-10/+16
2017-10-04SVC: Remove GetPointer usage in CreatePort.Subv1-2/+2
2017-10-04SVC: Replace GetPointer usage with ReadCString in ConnectToPort.Subv1-5/+9
2017-10-04SVC: Replace GetPointer usage with ReadBlock in OutputDebugString.Subv1-2/+4
2017-10-04SVC: Replace GetPointer usage with Read32 in ReplyAndReceive.Subv1-4/+4
2017-10-04SVC: Replace GetPointer usage with Read32 in WaitSynchronizationN.Subv1-4/+4
2017-09-30Moved down_count to CoreTimingHuw Pascoe1-1/+1
2017-09-30Fixed type conversion ambiguityHuw Pascoe1-4/+4
2017-09-28Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken.Subv1-4/+65
2017-09-27Kernel/Thread: Allow specifying which process a thread belongs to when creating it.Subv1-2/+3
2017-08-29Use recursive_mutex instead of mutex to fix #2902danzel1-1/+1
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-2/+6
2017-06-29Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest.Subv1-1/+1
2017-06-26Kernel/SVC: Partially implemented svcReplyAndReceive.Subv1-1/+108
2017-06-23Kernel: Implement AcceptSession SVCYuri Kunde Schlesner1-1/+12
2017-06-23Kernel: Implement CreateSessionToPort SVCYuri Kunde Schlesner1-1/+12
2017-06-22Kernel: Implement CreateSession SVCYuri Kunde Schlesner1-3/+16
2017-05-30Kernel: Move HandleTable to a separate fileYuri Kunde Schlesner1-0/+2
2017-05-30Kernel: Move WaitObject to a separate fileYuri Kunde Schlesner1-0/+1
2017-05-30Kernel: Removed HandleTable::GetWaitObjectYuri Kunde Schlesner1-2/+2
2017-05-25Kernel: Centralize error definitions in errors.hYuri Kunde Schlesner1-65/+31
2017-05-08Remove ability to load symbol mapsYuri Kunde Schlesner1-8/+2
2017-04-01Fix OutputDebugString syscallMichael Theall1-2/+2
2017-03-09Refined thread launch on syscore error messagesFernando Sahmkow1-5/+15
2017-02-22Timers: Return an error when calling SetTimer with negative timeouts.Subv1-0/+5
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