1. 05 Dec, 2018 2 commits
  2. 04 Dec, 2018 19 commits
  3. 03 Dec, 2018 12 commits
  4. 02 Dec, 2018 7 commits
    • Lioncash's avatar
      service/usb: Update function table · 6306e54f
      Lioncash authored
      Updates the function table for IClientEpSession based off information
      provided by SwitchBrew.
      6306e54f
    • Lioncash's avatar
      service/erpt: Update function table · f933b337
      Lioncash authored
      Updates the function table according to information provided by
      SwitchBrew.
      f933b337
    • Lioncash's avatar
      yuzu/configuration: Make slots private where applicable · 195cad96
      Lioncash authored
      These slots are only ever attached to event handling mechanisms within
      the class itself, they're never used externally. Because of this, we can
      make the functions private.
      
      This also removes redundant usages of the private access specifier.
      195cad96
    • Lioncash's avatar
      yuzu/configuration: Add missing override specifiers to configuration-related classes · eabfb773
      Lioncash authored
      Resolves trivial compiler warnings.
      eabfb773
    • Lioncash's avatar
      yuzu/configuration/configure_input: Default destructor in the cpp file · f3253d0f
      Lioncash authored
      The previous code could potentially be a compilation issue waiting to
      occur, given we forward declare the type for a std::unique_ptr. If the
      complete definition of the forward declared type isn't visible in a
      translation unit that the class is used in, then it would fail to
      compile.
      
      Defaulting the destructor in a cpp file ensures the std::unique_ptr's
      destructor is only invoked where its complete type is known.
      f3253d0f
    • David Marcec's avatar
      Fixed crash with SetNpadMode · a9223c81
      David Marcec authored
      fixed crash due to handheld
      a9223c81
    • Lioncash's avatar
      svc: Use the current process' handle table for retrieving the process instance to act upon · 7fe27de2
      Lioncash authored
      The kernel uses the handle table of the current process to retrieve the
      process that should be used to retrieve certain information. To someone
      not familiar with the kernel, this might raise the question of "Ok,
      sounds nice, but doesn't this make it impossible to retrieve information
      about the current process?".
      
      No, it doesn't, because HandleTable instances in the kernel have the
      notion of a "pseudo-handle", where certain values allow the kernel to
      lookup objects outside of a given handle table. Currently, there's only
      a pseudo-handle for the current process (0xFFFF8001) and a pseudo-handle
      for the current thread (0xFFFF8000), so to retrieve the current process,
      one would just pass 0xFFFF8001 into svcGetInfo.
      
      The lookup itself in the handle table would be something like:
      
      template <typename T>
      T* Lookup(Handle handle) {
          if (handle == PSEUDO_HANDLE_CURRENT_PROCESS) {
              return CurrentProcess();
          }
      
          if (handle == PSUEDO_HANDLE_CURRENT_THREAD) {
              return CurrentThread();
          }
      
          return static_cast<T*>(&objects[handle]);
      }
      
      which, as is shown, allows accessing the current process or current
      thread, even if those two objects aren't actually within the HandleTable
      instance.
      7fe27de2