Skip to content
Snippets Groups Projects
  1. Feb 26, 2019
    • Lioncash's avatar
      core/ipc_helper: Allow popping all signed value types with RequestParser · 254b1e3d
      Lioncash authored
      There's no real reason this shouldn't be allowed, given some values sent
      via a request can be signed. This also makes it less annoying to work
      with popping enum values, given an enum class with no type specifier
      will work out of the box now.
      
      It's also kind of an oversight to allow popping s64 values, but nothing
      else.
      254b1e3d
  2. Jan 30, 2019
  3. Jan 29, 2019
  4. Jan 01, 2019
  5. Oct 30, 2018
  6. Sep 19, 2018
  7. Sep 15, 2018
  8. 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
  9. Aug 02, 2018
  10. Jul 24, 2018
  11. Jul 20, 2018
    • Lioncash's avatar
      ipc_helpers: Add PushEnum() member function to ResponseBuilder · 0a0b3c4b
      Lioncash authored
      Allows pushing strongly-typed enum members without the need to always
      cast them at the call sites.
      
      Note that we *only* allow strongly-typed enums in this case. The reason
      for this is that strongly typed enums have a guaranteed defined size, so
      the size of the data being pushed is always deterministic. With regular
      enums this can be a little more error-prone, so we disallow them.
      
      This function simply uses the underlying type of the enum to determine
      the size of the data. For example, if an enum is defined as:
      
      enum class SomeEnum : u16 {
        SomeEntry
      };
      
      if PushEnum(SomeEnum::SomeEntry); is called, then it will push a
      u16-size amount of data.
      0a0b3c4b
  12. May 02, 2018
  13. Feb 20, 2018
  14. Jan 25, 2018
  15. Jan 22, 2018
  16. Jan 21, 2018
  17. Jan 18, 2018
  18. Jan 16, 2018
  19. Jan 11, 2018
  20. Jan 07, 2018
  21. Dec 29, 2017
  22. Oct 17, 2017
  23. Oct 15, 2017
  24. Sep 30, 2017
  25. Jun 11, 2017
  26. May 30, 2017
Loading