aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2015-01-09Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner
2015-01-09Kernel: Don't re-assign object's handle when duplicating oneYuri Kunde Schlesner
2015-01-09Thread: Fix nullptr access in a logging functionYuri Kunde Schlesner
2015-01-09Thread: Rename thread_queue => thread_listYuri Kunde Schlesner
2015-01-09Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner
2015-01-09Kernel: Move Thread's definition to the header fileYuri Kunde Schlesner
2015-01-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner
2015-01-08Merge pull request #255 from Subv/cbranch_3bunnei
Implemented timers
2015-01-08SVC: Implemented the Timer service calls.Subv
2015-01-08SVC: Fixed SleepThread.Subv
It will now properly wait the specified number of nanoseconds and then wake up the thread.
2015-01-07Threads: Use a dummy idle thread when no other are ready.Subv
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.
2015-01-07Common: Clean up ThreadQueueListYuri Kunde Schlesner
Replace all the C-style complicated buffer management with a std::deque. In addition to making the code easier to understand it also adds support for non-POD IdTypes. Also clean the rest of the code to follow our code style.
2015-01-05Merge pull request #407 from Subv/arbiterbunnei
AddressArbiter: Ported arbitration type 2 from 3dmoo.
2015-01-04Mutex: Add the calling thread to the waiting list when neededSubv
This will happen when the mutex is already owned by another thread. Should fix some issues with games being stuck due to waiting threads not being awoken.
2015-01-03AddressArbiter: Ported arbitration type 2 from 3dmoo.Subv
(Thanks 3dmoo!)
2014-12-28Kernel: New handle managerYuri Kunde Schlesner
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.
2014-12-28Kernel: Replace GetStaticHandleType by HANDLE_TYPE constantsYuri Kunde Schlesner
2014-12-28Rename ObjectPool to HandleTableYuri Kunde Schlesner
2014-12-21Merge pull request #291 from purpasmart96/licensebunnei
License change
2014-12-20License changepurpasmart96
2014-12-20Thread: Wait current thread on svc_SleepThreadbunnei
- Removed unused VBLANK sleep mode - Added error log for bad context switch - Renamed VerifyWait to CheckWaitType to be more clear
2014-12-20Merge pull request #316 from yuriks/thread-handlebunnei
Kernel: Implement support for current thread pseudo-handle
2014-12-20Clean up some warningsChin
2014-12-20Kernel: Implement support for current thread pseudo-handleYuri Kunde Schlesner
This boots a few (mostly Nintendo 1st party) games further.
2014-12-17Merge pull request #185 from purpasmart96/mem_permbunnei
Kernel: Add missing permissions
2014-12-17Filesystem/Archives: Implemented the SaveData archiveSubv
The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information Got rid of the code duplication in File and Directory Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive. FS_U: Use the correct error code when a file wasn't found
2014-12-16HLE: Rename namespaces to match move & fix initialization orderYuri Kunde Schlesner
2014-12-16HLE: Move kernel/archive.* to service/fs/Yuri Kunde Schlesner
2014-12-15Remove SyncRequest from K::Object and create a new K::Session typeYuri Kunde Schlesner
This is a first step at fixing the conceptual insanity that is our handling of service and IPC calls. For now, interfaces still directly derived from Session because we don't have the infrastructure to do it properly. (That is, Processes and scheduling them.)
2014-12-13Kernel/Semaphore: Small style changeSubv
2014-12-13Kernel/Semaphores: Invert the available count checking.Subv
Same semantics, idea by @yuriks
2014-12-13Kernel/Semaphores: Addressed some issues.Subv
2014-12-13Semaphore: Removed an unneeded functionSubv
2014-12-13Semaphores: Addressed some style issuesSubv
2014-12-13Semaphore: Implemented the initial_count parameter.Subv
2014-12-13SVC: Implemented ReleaseSemaphore.Subv
This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has
2014-12-13SVC: Implemented svcCreateSemaphoreSubv
ToDo: Implement svcReleaseSemaphore * Some testing against hardware needed
2014-12-13kernel: Remove unused log argumentsLioncash
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner
2014-12-10Merge pull request #256 from Subv/mutexbunnei
Kernel/Mutex: Properly lock the mutex when a thread enters it
2014-12-08Thread: Fixed to wait on address when in arbitration.bunnei
2014-12-07Make OpenDirectory fail if the directory doesn't existarchshift
This is in line with what the hardware itself does. It does this by splitting the initial directory opening into Directory.Open(), which will return false if a stat fails. Then, Archive::OpenDirectory will return nullptr, and archive.cpp will return an error code .
2014-12-07Mutex: Remove some forward declarationsSubv
Moved Mutex::WaitSynchronization to the end of the file.
2014-12-07Mutex: Release all held mutexes when a thread exits.Subv
2014-12-05Mutex: Properly lock the mutex when a thread enters itSubv
Also resume only the next immediate thread waiting for the mutex when it is released, instead of resuming them all.
2014-12-04Merge pull request #250 from Subv/cbranch_2bunnei
SVC: Implemented GetThreadId.
2014-12-04Merge pull request #222 from archshift/renamexyzbunnei
Implemented RenameFile and RenameDirectory in FS:USER
2014-12-04Threads: Remove a redundant function.Subv
Use the next_thread_id variable directly.
2014-12-04Threads: Implemented a sequential thread idSubv
2014-12-03Updated archive.cpp functions for proper error handlingarchshift