aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2018-11-20Merge pull request #1734 from lioncash/sharedbunnei
kernel/shared_memory: Make data members private, plus minor interface changes
2018-11-20kernel/process: Move <random> include to the cpp fileLioncash
<random> isn't necesary directly within the header and can be placed in the cpp file where its needed. Avoids propagating random generation utilities via a header file.
2018-11-20Merge pull request #1667 from DarkLordZach/swkbdbunnei
am: Implement HLE software keyboard applet
2018-11-19kernel/resource_limit: Clean up interfaceLioncash
Cleans out the citra/3DS-specific implementation details that don't apply to the Switch. Sets the stage for implementing ResourceLimit instances properly. While we're at it, remove the erroneous checks within CreateThread() and SetThreadPriority(). While these are indeed checked in some capacity, they are not checked via a ResourceLimit instance. In the process of moving out Citra-specifics, this also replaces the system ResourceLimit instance's values with ones from the Switch.
2018-11-19kernel/shared_memory: Make Map() and Unmap() take the target process by ↵Lioncash
reference rather than as a pointer Both member functions assume the passed in target process will not be null. Instead of making this assumption implicit, we can change the functions to be references and enforce this at the type-system level.
2018-11-19kernel/shared_memory: Add a const qualified member function overload for ↵Lioncash
GetPointer() Given this doesn't mutate instance state, we can provide a const-qualified variant as well.
2018-11-19kernel/shared_memory: Use 64-bit types for offset and size in CreateForAppletLioncash
Keeps the interface consistent with the regular Create() function.
2018-11-19kernel/shared_memory: Make GetPointer() take a std::size_t instead of a u32Lioncash
Makes the interface nicer to use in terms of 64-bit code, as it makes it less likely for one to get truncation warnings (and also makes sense in the context of the rest of the interface where 64-bit types are used for sizes and offsets
2018-11-19kernel/shared_memory: Make data members privateLioncash
Rather than allow unfettered access to the class internals, we hide all members by default and create and API that other code can operate against.
2018-11-18Merge pull request #1620 from DarkLordZach/ldr-robunnei
ldr_ro: Complete LDR:RO implementation
2018-11-18Merge pull request #1728 from FearlessTobi/reset-signalMat M
svc: ResetSignal is not stubbed
2018-11-18svc: ResetSignal is not stubbedTobias
https://user-images.githubusercontent.com/20753089/48677874-b8e01c80-eb7b-11e8-8043-b99faa29022c.PNG
2018-11-18am: Deglobalize software keyboard appletZach Hilman
2018-11-18svc: Implement svcCreateTransferMemoryZach Hilman
Seems to be used and created identically to SharedMemory, so just reuse that.
2018-11-17ldr_ro: Add error check for memory allocation failureZach Hilman
2018-11-16kernel/errors: Clean up error codesLioncash
Similar to PR 1706, which cleans up the error codes for the filesystem code, but done for the kernel error codes. This removes the ErrCodes namespace and specifies the errors directly. This also fixes up any straggling lines of code that weren't using the named error codes where applicable.
2018-11-16Merge pull request #1638 from FreddyFunk/SetMemoryPermission-StubbedMat M
Implement SetMemoryPermission
2018-11-15Merge pull request #1687 from lioncash/deduplicationbunnei
kernel/thread: Deduplicate scheduler switching code
2018-11-15process: Make MirrorMemory take state to map new memory asZach Hilman
Credits to Subv
2018-11-14Merge pull request #1679 from DarkLordZach/deterministic-rng-2bunnei
svc: Use proper random entropy generation algorithm
2018-11-14kernel/thread: Deduplicate scheduler switching codeLioncash
The code in both places was the same verbatim, so we can extract it to a function to deduplicate the logic.
2018-11-13vm_manager: Unstub GetTotalHeapUsage()Lioncash
Now that we've moved all of the heap-related stuff to the VMManager class, we can unstub this function, as the necessary members are visible now.
2018-11-13kernel/process: Migrate heap-related memory management out of the process ↵Lioncash
class and into the vm manager Avoids a breach of responsibilities in the interface and keeps the direct code for memory management within the VMManager class.
2018-11-13svc: Use proper random entropy generation algorithmZach Hilman
2018-11-12svc: Return random seed for svcGetInfo RandomEntropyZach Hilman
2018-11-07svcBreak now dumps information from the debug buffer passed (#1646)David
* svcBreak now dumps information from the debug buffer passed info1 and info2 seem to somtimes hold an address to a buffer, this is usually 4 bytes or the size of the int and contains an error code. There's other circumstances where it can be something different so we hexdump these to examine them at a later date. * Addressed comments
2018-11-06Implement SetMemoryPermissionFrederic Laing
2018-11-03Stubbed SetMemoryPermissionFrederic Laing
2018-10-30general: Remove unused boost inclusions where applicableLioncash
Cleans up unused includes and trims off some dependencies on externals.
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L
* get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
2018-10-29Merge pull request #1621 from lioncash/ipcbunnei
hle_ipc: Make GetDomainMessageHeader return a regular pointer
2018-10-29hle_ipc: Add member function for querying the existence of a domain headerLioncash
Gets rid of the need to call the getter and then check for null.
2018-10-29hle_ipc: Make GetDomainMessageHeader return a regular pointerLioncash
Nothing requires the shared owner ship here, so we can just return a plain pointer.
2018-10-28core: Make System references const where applicableLioncash
2018-10-26svc: Localize the GetInfo enum class to the function itselfLioncash
Nothing from this enum is intended to be used outside of this function.
2018-10-26svc: Implement svcGetInfo command 0xF0000002Lioncash
This retrieves: if (curr_thread == handle_thread) { result = total_thread_ticks + (hardware_tick_count - last_context_switch_ticks); } else if (curr_thread == handle_thread && sub_id == current_core_index) { result = hardware_tick_count - last_context_switch_ticks; }
2018-10-25process: LoadModule should clear JIT instruction cache.bunnei
2018-10-25Kernel/Memory: Added a function to first a suitable guest address at which ↵bunnei
to allocate a region of a given size.
2018-10-24kernel/errors: Remove now-unused, unnecessary, error codesLioncash
Now that we've gotten the innaccurate error codes out of the way, we can finally toss away a bunch of these, trimming down the error codes to ones that are actually used and knocking out two TODO comments.
2018-10-24kernel/shared_memory: Return ERR_INVALID_MEMORY_PERMISSIONS instead of ↵Lioncash
ERR_INVALID_COMBINATION This is more consistent with what the kernel does.
2018-10-24kernel/server_port: Simplify emptiness check within ShouldWait()Lioncash
2018-10-24kernel/server_port: Change error case return value in Accept() to ERR_NOT_FOUNDLioncash
This is what the kernel does in this instance.
2018-10-24kernel/error: Remove leftover 3DS error codesLioncash
These are now entirely unused and can be removed.
2018-10-24kernel/svc: Amend returned error code for invalid priorities in CreateThreadLioncash
Like with the previous change, the kernel doesn't return NOT_AUTHORIZED here. It returns INVALID_THREAD_PRIORITY.
2018-10-24kernel/svc: Move and correct returned error code for invalid thread ↵Lioncash
priorities in SetThreadPriority() All priority checks are supposed to occur before checking the validity of the thread handle, we're also not supposed to return ERR_NOT_AUTHORIZED here.
2018-10-24kernel/error: Add error code for invalid pointersLioncash
The kernel appears to return 0xE601 for this situation. Particularly in svcWaitSynchronization, svcReplyAndReceive, and svcGetThreadContext
2018-10-24kernel/error: Add error code for closed sessionsLioncash
The kernel appears to return 0xF601 for this case.
2018-10-23Merge pull request #1551 from ogniK5377/improved-svcbreakbunnei
Added break types to svcBreak
2018-10-23Merge pull request #1540 from lioncash/handlebunnei
kernel/process: Make the handle table per-process
2018-10-23Added assertion failed, reworked logging levelsDavid Marcec