Skip to content
Snippets Groups Projects
  1. Oct 30, 2018
  2. Oct 26, 2018
  3. Oct 25, 2018
  4. Oct 24, 2018
  5. Oct 23, 2018
  6. Oct 20, 2018
    • Lioncash's avatar
      kernel/process: Make the handle table per-process · 90a981a0
      Lioncash authored
      In the kernel, there isn't a singular handle table that everything gets
      tossed into or used, rather, each process gets its own handle table that
      it uses. This currently isn't an issue for us, since we only execute one
      process at the moment, but we may as well get this out of the way so
      it's not a headache later on.
      90a981a0
    • Lioncash's avatar
      svc: Fix vma boundary check in svcQueryMemory · 896c0f61
      Lioncash authored
      This should be comparing against the queried process' vma_map, not the
      current process'. The only reason this hasn't become an issue yet is we
      currently only handle one process being active at any time.
      896c0f61
  7. Oct 18, 2018
  8. Oct 15, 2018
    • Lioncash's avatar
    • Lioncash's avatar
      svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo() · 90f8474f
      Lioncash authored
      So, one thing that's puzzled me is why the kernel seemed to *not* use
      the direct code address ranges in some cases for some service functions.
      For example, in svcMapMemory, the full address space width is compared
      against for validity, but for svcMapSharedMemory, it compares against
      0xFFE00000, 0xFF8000000, and 0x7FF8000000 as upper bounds, and uses
      either 0x200000 or 0x8000000 as the lower-bounds as the beginning of the
      compared range. Coincidentally, these exact same values are also used in
      svcGetInfo, and also when initializing the user address space, so this
      is actually retrieving the ASLR extents, not the extents of the address
      space in general.
      90f8474f
  9. Oct 14, 2018
    • David Marcec's avatar
      Stop all threads on svcBreak · 92fae7e1
      David Marcec authored
      This should help diagnose crashes easier and prevent many users thinking that a game is still running when in fact it's just an audio thread still running(this is typically not killed when svcBreak is hit since the game expects us to do this)
      92fae7e1
  10. Oct 13, 2018
    • Lioncash's avatar
      svc: Implement svcGetProcessInfo · 1c7a7ed7
      Lioncash authored
      A fairly basic service function, which only appears to currently support
      retrieving the process state. This also alters the ProcessStatus enum to
      contain all of the values that a kernel process seems to be able of
      reporting with regards to state.
      1c7a7ed7
  11. Oct 12, 2018
  12. Oct 11, 2018
    • Lioncash's avatar
      svc: Add missing address range sanitizing checks to MapMemory/UnmapMemory · 72e9cb52
      Lioncash authored
      This adds the missing address range checking that the service functions
      do before attempting to map or unmap memory. Given that both service
      functions perform the same set of checks in the same order, we can wrap
      these into a function and just call it from both functions, which
      deduplicates a little bit of code.
      72e9cb52
  13. Oct 10, 2018
  14. Oct 09, 2018
  15. Oct 06, 2018
  16. Oct 05, 2018
    • balika011's avatar
      thread: Make the scheduler pointer a regular pointer · 1a5d6de0
      balika011 authored
      Conceptually, it doesn't make sense for a thread to be able to persist
      the lifetime of a scheduler. A scheduler should be taking care of the
      threads; the threads should not be taking care of the scheduler.
      
      If the threads outlive the scheduler (or we simply don't actually
      terminate/shutdown the threads), then it should be considered a bug
      that we need to fix.
      
      Attributing this to balika011, as they opened #1317 to attempt to fix
      this in a similar way, but my refactoring of the kernel code caused
      quite a few conflicts.
      1a5d6de0
Loading