aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/handle_table.cpp
AgeCommit message (Collapse)Author
2021-05-05hle: kernel: Migrate to KHandleTable.bunnei
2021-05-05hle: kernel: Rename Process to KProcess.bunnei
2021-05-05hle: kernel: HandleTable: Remove deprecated APIs.bunnei
2021-05-05hle: kernel: Migrate KTransferMemory to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate KSession, KClientSession, and KServerSession to ↵bunnei
KAutoObject.
2021-05-05hle: kernel: svc_results: Update naming..bunnei
2021-05-05hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate KEvent to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate KSharedMemory to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate KProcess to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate more of KThread to KAutoObject.bunnei
2021-02-12kernel: Unify result codes (#5890)Chloe
* kernel: Unify result codes Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways. * oops * rename errors to svc_results
2021-01-28core: hle: kernel: object: Implement Finalize() virtual method.bunnei
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-10-13core/CMakeLists: Make some warnings errorsLioncash
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-07-15kernel/handle_table: Remove usages of the global system instanceLioncash
Removes even more usages of the global system instance, trimming away more dependencies on global variables and making them explicit in the interface.
2020-07-15kernel/thread: Remove global GetCurrentThread()Lioncash
This is only used in one place, so we can fold it into the calling code, eliminating a place for the global system instance to be used.
2020-04-29kernel: Don't fail silentlyDavid Marcec
2019-11-24kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for ↵bunnei
kernel objects. (#3154) * kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. - See https://github.com/citra-emu/citra/pull/4710 for details.
2019-10-06core: Remove Core::CurrentProcess()Lioncash
This only encourages the use of the global system instance (which will be phased out long-term). Instead, we use the direct system function call directly to remove the appealing but discouraged short-hand.
2019-02-25kernel/handle_table: Make local variables as const where applicableLioncash
Makes immutable state explicit.
2019-02-25kernel/handle_table: Allow process capabilities to limit the handle table sizeLioncash
The kernel allows restricting the total size of the handle table through the process capability descriptors. Until now, this functionality wasn't hooked up. With this, the process handle tables become properly restricted. In the case of metadata-less executables, the handle table will assume the maximum size is requested, preserving the behavior that existed before these changes.
2019-02-25kernel/handle-table: In-class initialize data membersLioncash
Directly initializes members where applicable.
2019-02-25kernel/handle_table: Resolve truncation warningsLioncash
Avoids implicit truncation warnings from u32 -> u16 (the truncation is desirable behavior here).
2018-12-04kernel/handle_table: Amend reference to CTR-OS in Create()Lioncash
Another hold-over from Citra.
2018-11-21kernel/handle_table: Move private static functions into the cpp fileLioncash
These don't depend on class state, and are effectively implementation details, so they can go into the cpp file .
2018-11-21kernel/handle_table: Default destructor in the cpp fileLioncash
We don't need to potentially inline the teardown logic of all of the handle instances.
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-08-28kernel: Eliminate kernel global stateLioncash
As means to pave the way for getting rid of global state within core, This eliminates kernel global state by removing all globals. Instead this introduces a KernelCore class which acts as a kernel instance. This instance lives in the System class, which keeps its lifetime contained to the lifetime of the System class. This also forces the kernel types to actually interact with the main kernel instance itself instead of having transient kernel state placed all over several translation units, keeping everything together. It also has a nice consequence of making dependencies much more explicit. This also makes our initialization a tad bit more correct. Previously we were creating a kernel process before the actual kernel was initialized, which doesn't really make much sense. The KernelCore class itself follows the PImpl idiom, which allows keeping all the implementation details sealed away from everything else, which forces the use of the exposed API and allows us to avoid any unnecessary inclusions within the main kernel header.
2018-08-25kernel/error: Add error code for the handle table being fullLioncash
This replaces the lingering 3DS constant with the proper one, and utilizes it within HandleTable's Create() member function.
2018-08-01kernel: Move object class to its own source filesLioncash
General moving to keep kernel object types separate from the direct kernel code. Also essentially a preliminary cleanup before eliminating global kernel state in the kernel code.
2018-07-02Rename logging macro back to LOG_*James Rowe
2018-04-25kernel: Migrate logging macros to fmt-compatible onesLioncash
2018-03-14core: Move process creation out of global state.bunnei
2018-01-24handle_table: Remove ConvertSessionToDomain.bunnei
2018-01-20Format: Run the new clang format on everythingJames Rowe
2017-12-29kernel: Fix implementation of ConvertSessionToDomain.bunnei
2017-05-29Kernel: Move HandleTable to a separate fileYuri Kunde Schlesner