Skip to content
Snippets Groups Projects
  1. Mar 10, 2019
  2. Feb 16, 2019
    • Lioncash's avatar
      core_timing: Convert core timing into a class · bd983414
      Lioncash authored
      Gets rid of the largest set of mutable global state within the core.
      This also paves a way for eliminating usages of GetInstance() on the
      System class as a follow-up.
      
      Note that no behavioral changes have been made, and this simply extracts
      the functionality into a class. This also has the benefit of making
      dependencies on the core timing functionality explicit within the
      relevant interfaces.
      bd983414
  3. Dec 13, 2018
    • Jens Schmer's avatar
      Fix Service object leak on emulation stop · 27a9cc2e
      Jens Schmer authored
      Services created with the ServiceFramework base class install themselves as HleHandlers with an owning shared_ptr in the ServerPort ServiceFrameworkBase::port member variable, creating a cyclic ownership between ServiceFrameworkBase and the ServerPort, preventing deletion of the service objects.
      
      Fix that by removing the ServiceFrameworkBase::port member because that was only used to detect multiple attempts at installing a port. Instead store a flag if the port was already installed to achieve the same functionality.
      27a9cc2e
  4. Dec 06, 2018
  5. Nov 14, 2018
  6. Oct 21, 2018
  7. Oct 20, 2018
  8. Oct 13, 2018
    • Lioncash's avatar
      filesystem: Make CreateFactories() and InstallInterface() take a VfsFilesystem... · 0149162d
      Lioncash authored
      filesystem: Make CreateFactories() and InstallInterface() take a VfsFilesystem instance by reference
      
      Neither of these functions alter the ownership of the provided pointer,
      so we can simply make the parameters a reference rather than a direct
      shared pointer alias. This way we also disallow passing incorrect memory values like
      nullptr.
      0149162d
  9. Sep 15, 2018
  10. Sep 13, 2018
  11. Sep 10, 2018
  12. Sep 02, 2018
  13. Aug 29, 2018
    • Lioncash's avatar
      kernel: Eliminate kernel global state · 0cbcd6ec
      Lioncash authored
      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.
      0cbcd6ec
  14. Aug 09, 2018
  15. Aug 08, 2018
  16. Aug 07, 2018
    • Lioncash's avatar
      service: Add usb services · 45bc449f
      Lioncash authored
      Adds basic skeleton for the usb services based off the information provided by Switch Brew.
      45bc449f
  17. Aug 04, 2018
    • Lioncash's avatar
      service: Add arp services · de729561
      Lioncash authored
      Adds the basic skeleton of the arp services based off the information
      provided by Switch Brew.
      de729561
  18. Aug 02, 2018
  19. Aug 01, 2018
  20. Jul 31, 2018
  21. Jul 29, 2018
  22. Jul 27, 2018
  23. Jul 26, 2018
  24. Jul 25, 2018
    • Lioncash's avatar
      service: Add pm services · c664f8a2
      Lioncash authored
      Adds the skeleton for the process management services based off
      information on Switch Brew.
      c664f8a2
Loading