Yuri Kunde Schlesner
f94093d0fd
Kernel: Implement CreateSession SVC
9 years ago
Yuri Kunde Schlesner
f64d0b3f26
Kernel/IPC: Support translation of null handles
Missed this in my first implementation. Thanks to @wwylele for pointing
out that this was missing.
9 years ago
Yuri Kunde Schlesner
42b198eb0a
Memory: Add enum definitions for the n3DS FCRAM size
9 years ago
Yuri Kunde Schlesner
723dc644fa
ResultVal: Remove MoveFrom()
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in
case you already have an rvalue.
9 years ago
Yuri Kunde Schlesner
4cb47b0278
ResultVal: Add an rvalue overload of Unwrap()
9 years ago
Yuri Kunde Schlesner
90b8d4dd36
Kernel: Add comment about the extended linear heap area
9 years ago
Yuri Kunde Schlesner
0dfafdbe59
Kernel/IPC: Make HLERequestContext usable from outside kernel
9 years ago
Subv
38ceab13f6
UDS: Added a hook for updating the connection status when a client connects to the network.
9 years ago
Sebastian Valle
ac168eeb5d
Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network. ( #2738 )
* Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network.
This lets the application know that the host was successfully added to the session.
* Services/UDS: Reset the connection status when destroying the network
* Services/UDS: Reset the connection status's bitmask of changed nodes after reporting it to the game.
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
7656d83df5
Service/sm: Convert srv: to use IPC helpers
9 years ago
Yuri Kunde Schlesner
21436f5ef7
IPC: Add Pop/PushObjects methods to RequestParser/Builder
These use the context functions to create and look-up handles for the
user.
9 years ago
Yuri Kunde Schlesner
1c4b0ebb1f
IPC: Add basic HLERequestContext support to RequestParser/Builder
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
6f368abe13
Service/sm: Convert 'srv:' to ServiceFramework
9 years ago
Yuri Kunde Schlesner
838faf147e
Session: Remove/add some forward declarations
9 years ago
Yuri Kunde Schlesner
d666e01cdf
Kernel: Ensure objects are kept alive during ClientSession disconnection
Fixes #2760
9 years ago
Yuri Kunde Schlesner
c92a8a6154
Service: Remove a few redundant namespace qualifiers
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
Subv
d7d0b46fc1
Services/UDS: Implement DecryptBeaconData.
This function decrypts the encrypted data tags contained in the 802.11 beacon frames.
9 years ago
Yuri Kunde Schlesner
d96a9e0c11
Service: Remove unnecessary includes from service.h
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
9 years ago
Yuri Kunde Schlesner
23ec6b3d8f
Service: Make service registration part of the sm implementation
Also enhances the GetServiceHandle implementation to be more accurate.
9 years ago
Yuri Kunde Schlesner
e5a59ef27c
Service/sm: Use an actual semaphore for the notification semaphore
An Event was used way back then when we didn't have proper working
semaphores. Our Semaphore implementation is good enough now.
9 years ago
Yuri Kunde Schlesner
1eee09f364
Service: Move SRV interface to a new sm/ subdirectory
This will contain the implementation of the sm (Service Manager) system
module.
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
7e5dd46cf4
ResultVal: Add more convenience utils for creating and cascading results
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
TheKoopaKingdom
f008b22e3b
Addressed Bunnei's review comments, and made some other tweaks:
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System.
- Fixed design flaw where the message bar status could be set despite the game being stopped.
9 years ago
TheKoopaKingdom
59de38b965
Switched to the ERROR_NOT_FOUND constant from errors.h.
9 years ago
TheKoopaKingdom
cea19fd659
Moved whitelist checks from FS_User to the Archive_NCCH handler.
9 years ago
TheKoopaKingdom
a8aef599e0
Created a whitelist of system archives to prevent false positives creating dialogs.
9 years ago
TheKoopaKingdom
0409bdfea5
Optimized messages that were repetitive and added ability for core errors to specify more details optionally.
9 years ago
TheKoopaKingdom
37bec598ea
Made some changes from review comments:
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review).
- Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore.
- Made dialog messages more clear.
- Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic.
- Cleaned up some other stuff.
9 years ago
TheKoopaKingdom
1ecb322daa
Added system for handling core errors in citra-qt.
9 years ago
TheKoopaKingdom
e523c76cc8
Fixed encrypted ROM error messages.
9 years ago
Yuri Kunde Schlesner
be031989ee
Kernel: Move HandleTable to a separate file
9 years ago
Yuri Kunde Schlesner
64ecf81a3c
Kernel: Move WaitObject to a separate file
Now that HandleTable doesn't directly depend on WaitObject anymore, this
can be separated from the main kernel.h header.
9 years ago
Yuri Kunde Schlesner
9453223075
Kernel: Removed HandleTable::GetWaitObject
This isn't necessary anymore since plain Get works correctly for
WaitObjects.
9 years ago
Yuri Kunde Schlesner
b17754f998
Kernel: Extract dynamic Object pointer cast into its own function
9 years ago
Yuri Kunde Schlesner
3b68600f81
CMake: Remove unnecessary include_directories for dynarmic
Dynarmic already adds the correct include paths to the library target.
9 years ago
Yuri Kunde Schlesner
4f84372bc2
CMake: Add cryptopp include path to target property
9 years ago
Yuri Kunde Schlesner
0f563111a2
CMake: Use IMPORTED target for Boost
9 years ago
Yuri Kunde Schlesner
7b81903756
CMake: Correct inter-module dependencies and library visibility
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.
Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
9 years ago
Yuri Kunde Schlesner
e91f2b7663
Remove some unnecessary inclusions of video_core.h
9 years ago
Yuri Kunde Schlesner
eb10f25025
Move screen size constants from video_core to core
video_core didn't even properly use them, and they were the source of
many otherwise-unnecessary dependencies from core to video_core.
9 years ago
Yuri Kunde Schlesner
ae095cfb71
Core: Fix some out-of-style includes
9 years ago