bunnei
88bfec37ce
hle_ipc: Remove const from WriteBuffer size.
8 years ago
bunnei
6fd19f05f1
hle_ipc: Add GetReadBufferSize and check write buffer size.
8 years ago
bunnei
1ce6fff064
hle_ipc: Add helper functions for reading and writing buffers.
8 years ago
bunnei
f0035420d7
ipc_helpers: Make interface domain agnostic and add header validation.
8 years ago
bunnei
27bad0598a
hle: Integrate Domain handling into ServerSession.
8 years ago
gdkchan
59575d5cae
Stub PopLaunchParameter and implement Buffer C Descriptors reading on hle_ipc ( #96 )
* Stub PopLaunchParameter and implement Buffer C Descriptors reading
* Address PR feedback
* Ensure we push a u64 not a size_t
* Fix formatting
8 years ago
Subv
5bc14e791a
IPC: Push domain objects as move handles when not in a domain.
8 years ago
MerryMage
e35644c005
clang-format
8 years ago
bunnei
1247c53786
yuzu: Update license text to be consistent across project.
8 years ago
bunnei
039fc7f985
core: Fix recent GCC build breaks.
8 years ago
Subv
ab86b80cac
IPC: Corrected some definitions for the buffer C descriptor flags.
8 years ago
Subv
32847d8b86
IPC: Add functions to read the input move/copy objects from an IPC request.
8 years ago
Subv
0368324f79
IPC Cleanup: Remove 3DS-specific code and translate copy, move and domain objects in IPC requests.
Popping objects from the buffer is still not implemented.
8 years ago
Subv
226786f0b0
IPC: Use the correct size when pushing raw data to the command buffer and fixed pushing domain objects.
Domain object ids are always stored immediately after the raw data.
8 years ago
bunnei
dcdaac8a0b
kernel: Fix implementation of ConvertSessionToDomain.
8 years ago
bunnei
3597650f22
service: Return proper result code for IPC::CommandType::Close.
8 years ago
bunnei
b283cf7348
hle_ipc: Parse out buffer X/A/B/B descriptors from incoming command buffer.
8 years ago
bunnei
4fb1b24d68
hle: Implement ConvertSessionToDomain, various cleanups.
8 years ago
bunnei
960a1416de
hle: Initial implementation of NX service framework and IPC.
8 years ago
Yuri Kunde Schlesner
0dfafdbe59
Kernel/IPC: Make HLERequestContext usable from outside kernel
9 years ago
Yuri Kunde Schlesner
d8f6000f54
Kernel/IPC: Use boost::small_vector for HLE context objects
9 years ago
Yuri Kunde Schlesner
92ca422088
Kernel: Allow clearing request_objects to re-use buffer space
Reduces the necessary allocation to max(in_handles, out_handles) rather
than (in_handles + out_handles).
9 years ago
Yuri Kunde Schlesner
8cb65fe65a
Kernel: Basic support for IPC translation for HLE services
9 years ago
Yuri Kunde Schlesner
05fee70211
Kernel: Add methods in HLERequestContext abstracting handle creation
9 years ago
Yuri Kunde Schlesner
20e5abb308
ServiceFramework: Use separate copy of command buffer
Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests.
9 years ago
Yuri Kunde Schlesner
84c497292a
Service: Add new ServiceFramework framework for writing HLE services
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.
9 years ago
Yuri Kunde Schlesner
6dc133c24a
Kernel: Remove some unnecessary namespace qualifications
9 years ago
Yuri Kunde Schlesner
6354d08359
Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
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.
9 years ago
Yuri Kunde Schlesner
e626a520ca
HLE: Move SessionRequestHandler from Service:: to Kernel::
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.
9 years ago