Skip to content
Snippets Groups Projects
  1. Nov 21, 2018
  2. Sep 15, 2018
  3. 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
  4. Aug 25, 2018
  5. Aug 02, 2018
  6. Jan 25, 2018
  7. Jan 20, 2018
  8. Dec 29, 2017
  9. May 30, 2017
  10. May 29, 2017
  11. May 25, 2017
  12. Jan 05, 2017
  13. Jan 04, 2017
  14. Dec 22, 2016
  15. Dec 09, 2016
  16. Dec 05, 2016
  17. Dec 04, 2016
    • Subv's avatar
      Threading: Reworked the way our scheduler works. · 8634b8cb
      Subv authored
      Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.
      
      The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.
      
      This new implementation is based off reverse-engineering of the real kernel.
      
      See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
      8634b8cb
  18. Dec 01, 2016
  19. Nov 20, 2016
  20. Sep 22, 2016
  21. Sep 21, 2016
  22. Sep 19, 2016
  23. Sep 18, 2016
  24. Jun 11, 2016
  25. Jun 05, 2016
  26. Jul 12, 2015
  27. Jun 27, 2015
  28. Jun 17, 2015
  29. May 21, 2015
  30. May 15, 2015
    • Subv's avatar
      Core/ResourceLimits: Implemented the basic structure of ResourceLimits. · d3634d4b
      Subv authored
      Implemented svcs GetResourceLimit, GetResourceLimitCurrentValues and GetResourceLimitLimitValues.
      
      Note that the resource limits do not currently keep track of used objects, since we have no way to distinguish between an object created by the application, and an object created by some HLE module once we're inside Kernel::T::Create.
      d3634d4b
Loading