aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2017-06-26UDS: Use the ToDS and FromDS fields to properly calculate the AAD used ↵Subv
during encryption.
2017-06-26UDS: Move the UDS keyslot used to generate the CCMP key to the ↵Subv
AES::KeySlotID enum.
2017-06-26UDS: Run clang-format.Subv
2017-06-26UDS: Added functions to encrypt and decrypt the data frames.Subv
The responsibility of encryption and encapsulation into an 802.11 MAC frame will fall into the callers of GenerateDataPayload.
2017-06-25Kernel/Sessions: Clean up the list of pending request threads of a session ↵Subv
when the client endpoint is closed.
2017-06-25Kernel/SVC: Partially implemented svcReplyAndReceive.Subv
It behaves mostly as WaitSynchronizationN with wait_all = false, except for IPC buffer translation. The target thread of an IPC response will now wake up when responding. IPC buffer translation is currently not implemented. Error passing back to svcSendSyncRequest is currently not implemented.
2017-06-26apt: load shared font from system archivewwylele
2017-06-26apt/shared_font: don't relocate zero offsetwwylele
2017-06-25Kernel/ServerSession: Keep track of which threads have issued sync requests.Subv
2017-06-23Kernel: Implement AcceptSession SVCYuri Kunde Schlesner
2017-06-23Kernel: Fix SVC wrapper for CreatePortYuri Kunde Schlesner
The return parameters were flipped.
2017-06-23Kernel: Implement CreateSessionToPort SVCYuri Kunde Schlesner
2017-06-23Merge pull request #2798 from yuriks/svc-create-sessionYuri Kunde Schlesner
Kernel: Implement CreateSession SVC
2017-06-22Kernel: Implement CreateSession SVCYuri Kunde Schlesner
2017-06-21Memory: Add function to flush a virtual range from the rasterizer cacheYuri Kunde Schlesner
This is slightly more ergonomic to use, correctly handles virtual regions which are disjoint in physical addressing space, and checks only regions which can be cached by the rasterizer.
2017-06-21Memory: Fix crash when unmapping a VMA covering cached surfacesYuri Kunde Schlesner
Unmapping pages tries to flush any cached GPU surfaces touching that region. When a cached page is invalidated, GetPointerFromVMA() is used to restore the original pagetable pointer. However, since that VMA has already been deleted, this hits an UNREACHABLE case in that function. Now when this happens, just set the page type to Unmapped and continue, which arrives at the correct end result.
2017-06-21Memory: Add TryVirtualToPhysicalAddress, returning a boost::optionalYuri Kunde Schlesner
2017-06-21Memory: Make PhysicalToVirtualAddress return a boost::optionalYuri Kunde Schlesner
And fix a few places in the code to take advantage of that.
2017-06-21Kernel/IPC: Support translation of null handlesYuri Kunde Schlesner
Missed this in my first implementation. Thanks to @wwylele for pointing out that this was missing.
2017-06-21Merge pull request #2789 from yuriks/misc-kernelWeiyi Wang
Trivial no-op additions
2017-06-20Merge pull request #2790 from yuriks/remove-movefromYuri Kunde Schlesner
Remove ResultVal::MoveFrom
2017-06-20Memory: Add enum definitions for the n3DS FCRAM sizeYuri Kunde Schlesner
2017-06-21Merge pull request #2779 from Subv/uds_more2Sebastian Valle
UDS: Added a hook for updating the connection status when a client connects to the network.
2017-06-18ResultVal: Remove MoveFrom()Yuri Kunde Schlesner
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in case you already have an rvalue.
2017-06-18ResultVal: Add an rvalue overload of Unwrap()Yuri Kunde Schlesner
2017-06-18Kernel: Add comment about the extended linear heap areaYuri Kunde Schlesner
2017-06-18Kernel/IPC: Make HLERequestContext usable from outside kernelYuri Kunde Schlesner
2017-06-15UDS: Clarify comment about the first 4 bytes of the SecureData header.Subv
It is likely that these 4 bytes are actually a different header, part of some protocol that encapsulates the SecureData protocol.
2017-06-15UDS: Return the correct error messages in SendTo when not connected to a ↵Subv
network or trying to send to itself.
2017-06-15UDS: Stub SendTo to generate the unencrypted data frame with the right headers.Subv
2017-06-15UDS: Added a hook for updating the connection status when a client connects ↵Subv
to the network.
2017-06-13Services/UDS: Set the proper bit in the ConnectionStatus structure when ↵Sebastian Valle
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.
2017-06-11Kernel/IPC: Use boost::small_vector for HLE context objectsYuri Kunde Schlesner
2017-06-11Kernel: Allow clearing request_objects to re-use buffer spaceYuri Kunde Schlesner
Reduces the necessary allocation to max(in_handles, out_handles) rather than (in_handles + out_handles).
2017-06-11Kernel: Basic support for IPC translation for HLE servicesYuri Kunde Schlesner
2017-06-11Service/sm: Convert srv: to use IPC helpersYuri Kunde Schlesner
2017-06-11IPC: Add Pop/PushObjects methods to RequestParser/BuilderYuri Kunde Schlesner
These use the context functions to create and look-up handles for the user.
2017-06-11IPC: Add basic HLERequestContext support to RequestParser/BuilderYuri Kunde Schlesner
2017-06-11Kernel: Add methods in HLERequestContext abstracting handle creationYuri Kunde Schlesner
2017-06-11ServiceFramework: Use separate copy of command bufferYuri Kunde Schlesner
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.
2017-06-08Merge pull request #2756 from yuriks/service-frameworkYuri Kunde Schlesner
New service framework
2017-06-08Service/sm: Convert 'srv:' to ServiceFrameworkYuri Kunde Schlesner
2017-06-08Session: Remove/add some forward declarationsYuri Kunde Schlesner
2017-06-08Kernel: Ensure objects are kept alive during ClientSession disconnectionYuri Kunde Schlesner
Fixes #2760
2017-06-08Service: Remove a few redundant namespace qualifiersYuri Kunde Schlesner
2017-06-08Service: Add new ServiceFramework framework for writing HLE servicesYuri Kunde Schlesner
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.
2017-06-07Merge pull request #2737 from Subv/decryptbeacondataJames Rowe
Services/UDS: Implement DecryptBeaconData.
2017-06-06Kernel: Remove some unnecessary namespace qualificationsYuri Kunde Schlesner
2017-06-06Services/UDS: Implement DecryptBeaconData.Subv
This function decrypts the encrypted data tags contained in the 802.11 beacon frames.
2017-06-06Service: Remove unnecessary includes from service.hYuri Kunde Schlesner
This has a huge fallout in terms of needing to fix other files because all service implementations included that file.