Skip to content
Snippets Groups Projects
  1. Jan 09, 2015
  2. Jan 08, 2015
    • Subv's avatar
      SVC: Fixed SleepThread. · dfc44078
      Subv authored
      It will now properly wait the specified number of nanoseconds and then wake up the thread.
      dfc44078
    • Subv's avatar
      Threads: Use a dummy idle thread when no other are ready. · 60a373a7
      Subv authored
      This thread will not actually execute instructions, it will only advance the timing/events and try to yield immediately to the next ready thread, if there aren't any ready threads then it will be rescheduled and start its job again.
      60a373a7
  3. Dec 28, 2014
    • Yuri Kunde Schlesner's avatar
      Kernel: New handle manager · 7e2903cb
      Yuri Kunde Schlesner authored
      This handle manager more closely mirrors the behaviour of the CTR-OS
      one. In addition object ref-counts and support for DuplicateHandle have
      been added.
      
      Note that support for DuplicateHandle is still experimental, since parts
      of the kernel still use Handles internally, which will likely cause
      troubles if two different handles to the same object are used to e.g.
      wait on a synchronization primitive.
      7e2903cb
  4. Dec 21, 2014
  5. Dec 20, 2014
  6. Dec 09, 2014
  7. Dec 04, 2014
    • Subv's avatar
      Threads: Implemented a sequential thread id · ef1d5cda
      Subv authored
      ef1d5cda
    • Subv's avatar
      SVC: Implemented GetThreadId. · 029ff9f1
      Subv authored
      For now threads are using their Handle value as their Id, it should not really cause any problems because Handle values are unique in Citra, but it should be changed. I left a ToDo there because this is not correct behavior as per hardware.
      029ff9f1
  8. Nov 24, 2014
    • Yuri Kunde Schlesner's avatar
      HLE: Revamp error handling throrough the HLE code · c2588403
      Yuri Kunde Schlesner authored
      All service calls in the CTR OS return result codes indicating the
      success or failure of the call. Previous to this commit, Citra's HLE
      emulation of services and the kernel universally either ignored errors
      or returned dummy -1 error codes.
      
      This commit makes an initial effort to provide an infrastructure for
      error reporting and propagation which can be use going forward to make
      HLE calls accurately return errors as the original system. A few parts
      of the code have been updated to use the new system where applicable.
      
      One part of this effort is the definition of the `ResultCode` type,
      which provides facilities for constructing and parsing error codes in
      the structured format used by the CTR.
      
      The `ResultVal` type builds on `ResultCode` by providing a container for
      values returned by function that can report errors. It enforces that
      correct error checking will be done on function returns by preventing
      the use of the return value if the function returned an error code.
      
      Currently this change is mostly internal since errors are still
      suppressed on the ARM<->HLE border, as a temporary compatibility hack.
      As functionality is implemented and tested this hack can be eventually
      removed.
      c2588403
  9. Nov 19, 2014
  10. Aug 06, 2014
  11. Jul 08, 2014
  12. Jun 13, 2014
    • bunnei's avatar
      Kernel: Added real support for thread and event blocking · f5c7c154
      bunnei authored
      - SVC: Added ExitThread support
      - SVC: Added SignalEvent support
      - Thread: Added WAITTYPE_EVENT for waiting threads for event signals
      - Thread: Added support for blocking on other threads to finish (e.g. Thread::Join)
      - Thread: Added debug function for printing current threads ready for execution
      - Thread: Removed hack/broken thread ready state code from Kernel::Reschedule
      - Mutex: Moved WaitCurrentThread from SVC to Mutex::WaitSynchronization
      - Event: Added support for blocking threads on event signalling
      
      Kernel: Added missing algorithm #include for use of std::find on non-Windows platforms.
      f5c7c154
  13. Jun 02, 2014
  14. May 22, 2014
  15. May 21, 2014
  16. May 20, 2014
  17. May 17, 2014
  18. May 15, 2014
  19. May 14, 2014
  20. May 10, 2014
Loading