Skip to content
Snippets Groups Projects
  1. May 29, 2019
  2. May 23, 2019
    • Lioncash's avatar
      service/aoc: Avoid allocating and discarding data · 3e7d3730
      Lioncash authored
      Previously, the code was accumulating data into a std::vector and then
      tossing all of it away if a setting was disabled.
      
      Instead, we can just check if it's disabled and do no work at all if
      possible. If it's enabled, then we can append to the vector and
      allocate.
      
      Unlikely to impact usage much, but it is slightly less sloppy with
      resources.
      3e7d3730
    • Lioncash's avatar
      service/aoc: Remove unnecessary includes · d0e200a8
      Lioncash authored
      Removes two header dependencies related to file handling that aren't
      actually used within the source file.
      d0e200a8
    • Lioncash's avatar
      service/aoc: Pop all passed values where applicable · 819d229e
      Lioncash authored
      A few of the aoc service stubs/implementations weren't fully popping all
      of the parameters passed to them. This ensures that all parameters are
      popped and, at minimum, logged out.
      819d229e
  3. May 19, 2019
  4. May 18, 2019
    • Lioncash's avatar
      kernel/svc: Mark GetThreadList() and UnmapProcessCodeMemory() as internally linked · d5cce864
      Lioncash authored
      These are only used from within this translation unit, so they don't
      need to have external linkage. They were intended to be marked with this
      anyways to be consistent with the other service functions.
      d5cce864
    • Lioncash's avatar
      service/am: Add missing return in error case for IStorageAccessor's Read()/Write(). · 88c263ee
      Lioncash authored
      Previously this would fall through and return successfully, despite
      being an out of bounds read or write.
      88c263ee
    • Lioncash's avatar
      core/kernel/object: Rename ResetType enum members · a47aaa7f
      Lioncash authored
      Renames the members to more accurately indicate what they signify.
      "OneShot" and "Sticky" are kind of ambiguous identifiers for the reset
      types, and can be kind of misleading. Automatic and Manual communicate
      the kind of reset type in a clearer manner. Either the event is
      automatically reset, or it isn't and must be manually cleared.
      
      The "OneShot" and "Sticky" terminology is just a hold-over from Citra
      where the kernel had a third type of event reset type known as "Pulse".
      Given the Switch kernel only has two forms of event reset types, we
      don't need to keep the old terminology around anymore.
      a47aaa7f
    • Weiyi Wang's avatar
      HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread · 8d634238
      Weiyi Wang authored
      This reduces the boilerplate that services have to write out the current thread explicitly. Using current thread instead of client thread is also semantically incorrect, and will be a problem when we implement multicore (at which time there will be multiple current threads)
      8d634238
  5. May 10, 2019
    • Lioncash's avatar
      service/set: Correct and simplify behavior related to copying language codes · c823cf65
      Lioncash authored
      This corrects cases where it was possible to write more entries into the
      write buffer than were requested. Now, we check the size of the buffer
      before actually writing into them.
      
      We were also returning the wrong value for
      GetAvailableLanguageCodeCount2(). This was previously returning 64, but
      only 17 should have been returned. 64 entries is the size of the static
      array used in MakeLanguageCode() within the service binary itself, but
      isn't the actual total number of language codes present.
      c823cf65
  6. May 07, 2019
  7. May 04, 2019
  8. May 01, 2019
  9. Apr 29, 2019
    • Lioncash's avatar
      kernel/svc: Make svcCreateThread/svcStartThread/svcSleepThread/svcExitThread... · 19632d24
      Lioncash authored
      kernel/svc: Make svcCreateThread/svcStartThread/svcSleepThread/svcExitThread calls show up in the debug log
      
      These are actually quite important indicators of thread lifetimes, so
      they should be going into the debug log, rather than being treated as
      misc info and delegated to the trace log.
      19632d24
    • Lioncash's avatar
      kernel/svc: Reorganize svcSetThreadCoreMask() · d672c6e7
      Lioncash authored
      Makes the code much nicer to follow in terms of behavior and control
      flow. It also fixes a few bugs in the implementation.
      
      Notably, the thread's owner process shouldn't be accessed in order to
      retrieve the core mask or ideal core. This should be done through the
      current running process. The only reason this bug wasn't encountered yet
      is because we currently only support running one process, and thus every
      owner process will be the current process.
      
      We also weren't checking against the process' CPU core mask to see if an
      allowed core is specified or not.
      
      With this out of the way, it'll be less noisy to implement proper
      handling of the affinity flags internally within the kernel thread
      instances.
      d672c6e7
    • Lioncash's avatar
      kernel/thread: Update thread processor ID flags · 69a2003a
      Lioncash authored
      Adds the missing flags to the enum and documents them.
      69a2003a
  10. Apr 28, 2019
  11. Apr 20, 2019
  12. Apr 19, 2019
  13. Apr 18, 2019
  14. Apr 17, 2019
Loading