summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/hle_ipc.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* service: move hle_ipc from kernelLiam2023-03-011-531/+0
|
* service: refactor server architectureLiam2023-02-211-24/+6
| | | | Converts services to have their own processes
* Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"ameerj2023-02-031-1/+29
| | | | | This reverts commit 25fc5c0e1158cb8e81cbc769b24ad84032a1fbfd, reversing changes made to af20e25081f97d55b451606c87922e2b49f0d363.
* Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer"liamwhite2023-02-021-29/+1
|
* hle_ipc: Use thread_local ReadBufferameerj2022-12-291-4/+14
|
* hle_ipc: Rename ReadBufferSpan to ReadBufferameerj2022-12-291-1/+1
|
* hle_ipc: Rename ReadBuffer to ReadBufferCopyameerj2022-12-291-1/+1
| | | | Indicates explicitly that a copy is occurring
* service: Use ReadBufferSpan where it is trivial to do soameerj2022-12-251-1/+0
|
* hle_ipc: Add ReadBufferSpan functionameerj2022-12-251-0/+19
| | | | Returns a std::span to the buffer address, rather than create a copy of the memory into a std::vector
* Merge pull request #9452 from ameerj/hle-read-buffer-resreveliamwhite2022-12-171-8/+6
|\ | | | | hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
| * hle_ipc: Refactor ReadBuffer to set buffer size upon initializationameerj2022-12-161-8/+6
| | | | | | | | Initializing the vector size during initialization is more efficient than a later call to resize()
* | hle_ipc: Reserve vectors before populatingameerj2022-12-161-0/+8
|/
* service_thread: fix deletionLiam2022-11-071-9/+5
|
* kernel: invert session request handling flowLiam2022-10-311-33/+22
|
* kernel: remove most SessionRequestManager handling from KServerSessionLiam2022-10-191-11/+99
|
* Project AndioKelebek12022-07-221-2/+36
|
* core: Replace all instances of ResultCode with Resultgerman772022-06-271-3/+3
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* hle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession.bunnei2022-04-081-0/+3
| | | | - These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
* hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking.bunnei2022-04-081-1/+1
|
* hle: service: Add option for service interfaces to create or use the default thread.bunnei2022-04-021-2/+9
|
* core: Reduce unused includesameerj2022-03-191-1/+0
|
* core: hle: kernel: Remove server session tracking.bunnei2022-03-151-3/+0
| | | | - These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
* core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.bunnei2022-03-151-1/+1
|
* core: Remove unused includesameerj2021-11-041-6/+0
|
* kernel: hle_ipc: Foward declare KAutoObjectMorph2021-10-071-0/+1
|
* hle: kernel: Track and release server sessions, and protect methods with locks.bunnei2021-07-211-0/+3
|
* hle: kernel: KServerSession: Fix client disconnected.bunnei2021-06-101-2/+2
| | | | | - Prevents a cloned session's handler from being overwritten by another disconnected session. - Fixes session handler nullptr asserts with Pokemon Sword & Shield.
* hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.bunnei2021-06-081-0/+15
|
* hle: kernel: hle_ipc: Use default destructor for SessionRequestManager.bunnei2021-06-071-1/+1
|
* hle: kernel: Refactor to allocate a ServiceThread per service handler.bunnei2021-06-051-2/+9
| | | | | | - Previously, we would allocate a thread per session, which adds new threads on CloneCurrentObject. - This results in race conditions with N sessions queuing requests to the same service interface. - Fixes Pokken Tournament DX crashes/softlocks, which were regressed by #6347.
* general: Replace RESULT_SUCCESS with ResultSuccessMorph2021-06-021-3/+3
| | | | Transition to PascalCase for result names.
* hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.bunnei2021-05-211-10/+6
|
* hle: kernel: Implement CloneCurrentObject and improve session management.bunnei2021-05-211-16/+4
|
* hle_ipc: unsigned -> u32Morph2021-05-161-7/+7
| | | | This is more concise and consistent with the rest of the codebase.
* hle_ipc: Add a getter for PIDMorph2021-05-161-1/+1
|
* hle: kernel: hle_ipc: Fix outgoing IPC response size calculation.bunnei2021-05-111-1/+13
|
* hle: kernel: hle_ipc: Improve IPC code and add initial support for TIPC.bunnei2021-05-111-80/+55
| | | | | - Fixes our move handles implementation to actually move objects. - Simplifies the traditional IPC path.
* hle: kernel: Further cleanup and add TIPC helpers.bunnei2021-05-111-1/+1
|
* kernel: Eliminate variable shadowingLioncash2021-05-081-4/+4
| | | | | Now that the large kernel refactor is merged, we can eliminate the remaining variable shadowing cases.
* hle: kernel: Migrate to KHandleTable.bunnei2021-05-061-3/+3
|
* hle: kernel: Rename Process to KProcess.bunnei2021-05-061-1/+1
|
* hle: kernel: Remove deprecated Object class.bunnei2021-05-061-1/+0
|
* hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.bunnei2021-05-061-6/+4
|
* hle: kernel: HandleTable: Remove deprecated APIs.bunnei2021-05-061-4/+4
|
* hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.bunnei2021-05-061-14/+9
|
* hle: kernel: Migrate KSharedMemory to KAutoObject.bunnei2021-05-061-2/+2
|
* hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.bunnei2021-05-061-5/+7
|
* hle: kernel: Refactor out various KThread std::shared_ptr usage.bunnei2021-05-061-5/+5
|
* hle_ipc: Add helper functions to get copy/move handlesMorph2021-04-151-2/+6
|
* kernel: Unify result codes (#5890)Chloe2021-02-131-1/+1
| | | | | | | | | * 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
* hle: kernel: Rename WritableEvent to KWritableEvent.bunnei2021-02-051-1/+1
|
* hle: kernel: Rename ReadableEvent to KReadableEvent.bunnei2021-02-051-1/+1
|
* core: hle: kernel: Rename Thread to KThread.bunnei2021-01-291-3/+3
|
* hle_ipc: Add Can(Read, Write)BufferMorph2021-01-281-0/+22
| | | | Allows us to test whether a buffer can be read from or written to memory
* hle: kernel: hle_ipc: Remove SleepClientThread.bunnei2020-12-291-37/+0
| | | | - This was kind of hacky, and no longer is necessary with service threads.
* hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler.bunnei2020-12-061-4/+4
|
* hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei2020-12-061-1/+1
|
* Revert "core: Fix clang build"bunnei2020-10-211-1/+1
|
* core: Fix clang buildLioncash2020-10-181-1/+1
| | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* General: Tidy up clang-format warnings part 2Lioncash2020-08-131-20/+26
|
* HLE_IPC: Correct HLE Event behavior on timeout.Fernando Sahmkow2020-06-271-0/+1
|
* Core: Correct HLE Event Callbacks and other issues.Fernando Sahmkow2020-06-271-9/+10
|
* SVC: Correct SendSyncRequest.Fernando Sahmkow2020-06-271-10/+14
|
* Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSGDavid Marcec2020-06-241-25/+22
| | | | Previously if applications would send faulty buffers(example homebrew) it would lead to us returning uninitalized data. Switching from ASSERT_MSG to ASSERT_OR_EXECUTE_MSG allows us to have a fail safe to prevent crashes but also continue execution without introducing undefined behavior
* hle_ipc: Eliminate core memory globalsLioncash2020-05-031-7/+4
| | | | | We can just pass the required instances into the constructor of the request, eliminating all usages of the global system accessor.
* hle_ipc: Remove std::size_t casts where applicableLioncash2020-04-171-16/+16
| | | | | | | | | These were added in the change that enabled -Wextra on linux builds so as not to introduce interface changes in the same change as a build-system flag addition. Now that the flags are enabled, we can freely change the interface to make these unnecessary.
* CMakeLists: Specify -Wextra on linux buildsLioncash2020-04-161-12/+12
| | | | | | | | | | | Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
* Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.Fernando Sahmkow2020-02-111-10/+10
|
* hle_ipc: Add error checking to read/write buffer access.bunnei2020-02-061-8/+42
|
* kernel: Implement a more accurate IPC dispatch.bunnei2019-11-281-0/+2
|
* core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory classLioncash2019-11-271-4/+5
| | | | | | | | | The Write functions are used slightly less than the Read functions, which make these a bit nicer to move over. The only adjustments we really need to make here are to Dynarmic's exclusive monitor instance. We need to keep a reference to the currently active memory instance to perform exclusive read/write operations.
* core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classLioncash2019-11-271-6/+6
| | | | | | | | | | | | | | With all of the trivial parts of the memory interface moved over, we can get right into moving over the bits that are used. Note that this does require the use of GetInstance from the global system instance to be used within hle_ipc.cpp and the gdbstub. This is fine for the time being, as they both already rely on the global system instance in other functions. These will be removed in a change directed at both of these respectively. For now, it's sufficient, as it still accomplishes the goal of de-globalizing the memory code.
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154)bunnei2019-11-251-9/+11
| | | | | | * 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.
* kernel: events: Remove ResetType::Automatic.bunnei2019-11-031-2/+1
| | | | | | | | - This does not actually seem to exist in the real kernel - games reset these automatically. # Conflicts: # src/core/hle/service/am/applets/applets.cpp # src/core/hle/service/filesystem/fsp_srv.cpp
* Merge pull request #2489 from FearlessTobi/port-4716bunnei2019-05-251-3/+4
|\ | | | | Port citra-emu/citra#4716: "HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread"
| * Address review commentTobias2019-05-191-1/+1
| | | | | | Co-Authored-By: Mat M. <mathew1800@gmail.com>
| * HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThreadWeiyi Wang2019-05-181-3/+4
| | | | | | | | This reduces the boilerplate that services have to write out the current thread explicitly. Using current thread instead of client thread is also semantically incorrect, and will be a problem when we implement multicore (at which time there will be multiple current threads)
* | core/kernel/object: Rename ResetType enum membersLioncash2019-05-181-1/+1
|/ | | | | | | | | | | | | Renames the members to more accurately indicate what they signify. "OneShot" and "Sticky" are kind of ambiguous identifiers for the reset types, and can be kind of misleading. Automatic and Manual communicate the kind of reset type in a clearer manner. Either the event is automatically reset, or it isn't and must be manually cleared. The "OneShot" and "Sticky" terminology is just a hold-over from Citra where the kernel had a third type of event reset type known as "Pulse". Given the Switch kernel only has two forms of event reset types, we don't need to keep the old terminology around anymore.
* kernel/hle_ipc: Convert std::shared_ptr IPC header instances to std::optionalLioncash2019-03-081-8/+6
| | | | | | | | | There's no real need to use a shared lifetime here, since we don't actually expose them to anything else. This is also kind of an unnecessary use of the heap given the objects themselves are so small; small enough, in fact that changing over to optionals actually reduces the overall size of the HLERequestContext struct (818 bytes to 808 bytes).
* kernel/server_session: Make data members privateLioncash2019-03-061-4/+4
| | | | | Makes it much nicer to locally reason about server session behavior, as part of its functionality isn't placed around other classes.
* core/kernel: Remove unnecessary inclusionsLioncash2019-01-011-0/+5
| | | | Gets rid of a few unnecessary header dependencies in some source files.
* hle_ipc: Refactor SleepClientThread to avoid ReadableEventZach Hilman2018-11-291-3/+3
|
* kernel/event: Reference ReadableEvent from WritableEventZach Hilman2018-11-291-2/+4
|
* hle_ipc: Use event pair for SleepClientThreadZach Hilman2018-11-291-14/+13
|
* kernel/process: Make the handle table per-processLioncash2018-10-201-13/+12
| | | | | | | | In the kernel, there isn't a singular handle table that everything gets tossed into or used, rather, each process gets its own handle table that it uses. This currently isn't an issue for us, since we only execute one process at the moment, but we may as well get this out of the way so it's not a headache later on.
* kernel/thread: Make all instance variables privateLioncash2018-10-041-7/+7
| | | | | | | | | | | | | | | | | | | | Many of the member variables of the thread class aren't even used outside of the class itself, so there's no need to make those variables public. This change follows in the steps of the previous changes that made other kernel types' members private. The main motivation behind this is that the Thread class will likely change in the future as emulation becomes more accurate, and letting random bits of the emulator access data members of the Thread class directly makes it a pain to shuffle around and/or modify internals. Having all data members public like this also makes it difficult to reason about certain bits of behavior without first verifying what parts of the core actually use them. Everything being public also generally follows the tendency for changes to be introduced in completely different translation units that would otherwise be better introduced as an addition to the Thread class' public interface.
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-13/+14
|
* core/core: Replace includes with forward declarations where applicableLioncash2018-08-311-0/+1
| | | | | | | | | | | The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which replaces most of the includes in the core header with forward declarations. This makes it so that if any of the headers the core header was previously including change, then no one will need to rebuild the bulk of the core, due to core.h being quite a prevalent inclusion. This should make turnaround for changes much faster for developers.
* kernel: Eliminate kernel global stateLioncash2018-08-291-5/+12
| | | | | | | | | | | | | | | | | | | | | | 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.
* hle_ipc: Make WriteToOutgoingCommandBuffer()'s reference parameter constLioncash2018-08-091-1/+1
| | | | | This function doesn't modify anything within the reference Thread instance.
* kernel: Move object class to its own source filesLioncash2018-08-021-1/+5
| | | | | | 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.
* kernel: Remove unnecessary includesLioncash2018-07-311-0/+1
| | | | | Removes unnecessary direct dependencies in some headers and also gets rid of indirect dependencies that were being relied on to be included.
* thread: Convert ThreadStatus into an enum classLioncash2018-07-201-2/+2
| | | | | Makes the thread status strongly typed, so implicit conversions can't happen. It also makes it easier to catch mistakes at compile time.
* hle_ipc: Introduce generic WriteBuffer overload for multiple container typesLioncash2018-07-191-4/+0
| | | | | | | | | | | | | | | This introduces a slightly more generic variant of WriteBuffer(). Notably, this variant doesn't constrain the arguments to only accepting std::vector instances. It accepts whatever adheres to the ContiguousContainer concept in the C++ standard library. This essentially means, std::array, std::string, and std::vector can be used directly with this interface. The interface no longer forces you to solely use containers that dynamically allocate. To ensure our overloads play nice with one another, we only enable the container-based WriteBuffer if the argument is not a pointer, otherwise we fall back to the pointer-based one.
* hle_ipc: Amend usage of buffer_index within one of HLERequestContext's WriteBuffer() overloadsLioncash2018-07-191-1/+1
| | | | | | | | | Previously, the buffer_index parameter was unused, causing all writes to use the buffer index of zero, which is not necessarily what is wanted all the time. Thankfully, all current usages don't use a buffer index other than zero, so this just prevents a bug before it has a chance to spring.
* core/memory, core/hle/kernel: Use std::move where applicableLioncash2018-07-191-2/+4
| | | | Avoids pointless copies
* nvflinger: Fix for BufferQueue event handling.bunnei2018-07-171-2/+8
|
* No need to use ASSERT_MSG with an empty messageDavid Marcec2018-07-141-2/+2
|
* Update clang formatJames Rowe2018-07-031-1/+1
|
* Rename logging macro back to LOG_*James Rowe2018-07-031-3/+3
|
* IPC: skip empty buffer writemailwl2018-06-221-0/+5
| | | | prevent yuzu crash, if games, like Axiom Verge, trying to read 0 bytes from file
* Added RequestWithContext & ControlWithContextDavid Marcec2018-05-171-1/+3
|
* GetSharedFontInOrderOfPriority (#381)David2018-05-011-18/+22
| | | | | | | | | | | | | | | | | | | | * GetSharedFontInOrderOfPriority * Update pl_u.cpp * Ability to use ReadBuffer and WriteBuffer with different buffer indexes, fixed up GetSharedFontInOrderOfPriority * switched to NGLOG * Update pl_u.cpp * Update pl_u.cpp * language_code is actually language code and not index * u32->u64 * final cleanups
* kernel: Migrate logging macros to fmt-compatible onesLioncash2018-04-261-2/+3
|
* hle_ipc, fsp_srv: Cleanup logging.bunnei2018-04-011-1/+1
|
* hle_ipc: Do not ensure write buffer size.bunnei2018-03-311-2/+5
|
* Clean Warnings (?)N00byKing2018-03-191-1/+1
|
* hle_ipc: Add SleepClientThread to block current thread within HLE routines.bunnei2018-03-191-0/+27
|
* hle_ipc: Use shared_ptr instead of unique_ptr to allow copies.bunnei2018-03-191-4/+4
|
* hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.bunnei2018-03-191-3/+11
|
* Add warning if Domain request has no domain message headermailwl2018-02-201-0/+3
|
* Fix: change check for domain order and existance of domain message headermailwl2018-02-201-1/+1
|
* IPC: add domain header to response if only it exists in requestmailwl2018-02-201-4/+6
|
* Service/hid: stub some functionsmailwl2018-02-161-0/+51
|
* hle_ipc: Remove const from WriteBuffer size.bunnei2018-02-141-1/+1
|
* hle_ipc: Add GetReadBufferSize and check write buffer size.bunnei2018-02-141-0/+7
|
* hle_ipc: Add helper functions for reading and writing buffers.bunnei2018-02-141-4/+2
|
* hle_ipc: Add helper functions for reading and writing buffers.bunnei2018-02-141-0/+39
|
* hle: Integrate Domain handling into ServerSession.bunnei2018-01-251-7/+3
|
* hle: Remove Domain and SyncObject kernel objects.bunnei2018-01-251-1/+0
|
* Format: Run the new clang format on everythingJames Rowe2018-01-211-3/+2
|
* Fixes some cast warnings, partial port of citra #3064 (#106)River City Ransomware2018-01-201-1/+1
| | | | | | | | * Fixes some cast warnings, partially fixes citra #3064 * Converted casts to uint32_t to u32 * Ran clang-format
* Stub PopLaunchParameter and implement Buffer C Descriptors reading on hle_ipc (#96)gdkchan2018-01-181-7/+27
| | | | | | | | | | * Stub PopLaunchParameter and implement Buffer C Descriptors reading * Address PR feedback * Ensure we push a u64 not a size_t * Fix formatting
* hle_ipc: Clang format.bunnei2018-01-171-2/+3
|
* ipc: Implement domain command CloseVirtualHandle.bunnei2018-01-171-1/+8
|
* yuzu: Update license text to be consistent across project.bunnei2018-01-131-1/+1
|
* IPC: Corrected some definitions for the buffer C descriptor flags.Subv2018-01-111-1/+4
|
* IPC: Add functions to read the input move/copy objects from an IPC request.Subv2018-01-071-2/+14
|
* IPC: Don't attempt to read the command buffer if it holds a Close request.Subv2018-01-071-0/+5
|
* IPC Cleanup: Remove 3DS-specific code and translate copy, move and domain objects in IPC requests.Subv2018-01-071-52/+55
| | | | Popping objects from the buffer is still not implemented.
* IPC: Skip the entire u64 of the command id when receiving an IPC request.Subv2018-01-071-1/+2
| | | | Service code now doesn't have to deal with this.
* IPC: Use the correct size when pushing raw data to the command buffer and fixed pushing domain objects.Subv2018-01-071-1/+1
| | | | Domain object ids are always stored immediately after the raw data.
* kernel: Fix implementation of ConvertSessionToDomain.bunnei2017-12-291-13/+17
|
* hle_ipc: Only copy necessary fields for outgoing command buffer.bunnei2017-10-191-1/+1
|
* hle_ipc: Parse out buffer X/A/B/B descriptors from incoming command buffer.bunnei2017-10-191-14/+11
|
* hle: Implement ConvertSessionToDomain, various cleanups.bunnei2017-10-151-4/+19
|
* hle: Initial implementation of NX service framework and IPC.bunnei2017-10-151-68/+84
|
* Fixed type conversion ambiguityHuw Pascoe2017-09-301-1/+1
|
* Kernel/IPC: Support translation of null handlesYuri Kunde Schlesner2017-06-211-7/+12
| | | | | Missed this in my first implementation. Thanks to @wwylele for pointing out that this was missing.
* Kernel/IPC: Make HLERequestContext usable from outside kernelYuri Kunde Schlesner2017-06-191-0/+5
|
* Kernel: Allow clearing request_objects to re-use buffer spaceYuri Kunde Schlesner2017-06-111-0/+4
| | | | | Reduces the necessary allocation to max(in_handles, out_handles) rather than (in_handles + out_handles).
* Kernel: Basic support for IPC translation for HLE servicesYuri Kunde Schlesner2017-06-111-4/+90
|
* Kernel: Add methods in HLERequestContext abstracting handle creationYuri Kunde Schlesner2017-06-111-0/+9
|
* Service: Add new ServiceFramework framework for writing HLE servicesYuri Kunde Schlesner2017-06-081-0/+2
| | | | | | | | | | | | The old "Interface" class had a few problems such as using free functions (Which didn't allow you to write the service handler as if it were a regular class.) which weren't very extensible. (Only received one parameter with a pointer to the Interface object.) The new ServiceFramework aims to solve these problems by working with member functions and passing a generic context struct as parameter. This struct can be extended in the future without having to update all existing service implementations.
* Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSessionYuri Kunde Schlesner2017-06-061-0/+2
| | | | | | This allows attaching a HLE handle to a ServerPort at any point after it is created, allowing port/session creation to be generic between HLE and regular services.
* HLE: Move SessionRequestHandler from Service:: to Kernel::Yuri Kunde Schlesner2017-06-061-0/+22
Most of the code that works with this is or will be in the kernel, so it's a more appropriate place for it to be.