aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle/kernel/kernel.cpp
Commit message (Collapse)AuthorAge
* Common: Cleanup key_map includes.Gravatar Emmanuel Gil Peyrot2015-06-28
|
* kernel: Fix svcWaitSynch to always acquire requested wait objects.Gravatar bunnei2015-06-16
|
* Core/ResourceLimits: Implemented the basic structure of ResourceLimits.Gravatar Subv2015-05-14
| | | | | | Implemented svcs GetResourceLimit, GetResourceLimitCurrentValues and GetResourceLimitLimitValues. Note that the resource limits do not currently keep track of used objects, since we have no way to distinguish between an object created by the application, and an object created by some HLE module once we're inside Kernel::T::Create.
* fixup!Gravatar Subv2015-05-11
|
* Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThreadGravatar Subv2015-05-11
|
* Kernel: Remove unused g_main_thread variableGravatar Yuri Kunde Schlesner2015-05-08
|
* Kernel: Remove g_program_idGravatar Yuri Kunde Schlesner2015-05-08
| | | | This has been obsoleted by the field in Process.
* Kernel: Introduce skeleton Process class to hold process dataGravatar Yuri Kunde Schlesner2015-05-08
|
* Common: Remove common.hGravatar Yuri Kunde Schlesner2015-05-07
|
* Kernel: Properly initialize and shutdown all modules.Gravatar bunnei2015-05-01
|
* Kernel: Fixed default thread priority.Gravatar bunnei2015-04-09
|
* Build: Fixed some warningsGravatar Subv2015-02-12
|
* Asserts: break/crash program, fit to style guide; log.h->assert.hGravatar archshift2015-02-10
| | | | | | | Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.
* Scheduler refactor Pt. 1Gravatar Kevin Hartman2015-02-09
| | | | | | | | | | | | | * Simplifies scheduling logic, specifically regarding thread status. It should be much clearer which statuses are valid for a thread at any given point in the system. * Removes dead code from thread.cpp. * Moves the implementation of resetting a ThreadContext to the corresponding core's implementation. Other changes: * Fixed comments in arm interfaces. * Updated comments in thread.cpp * Removed confusing, useless, functions like MakeReady() and ChangeStatus() from thread.cpp. * Removed stack_size from Thread. In the CTR kernel, the thread's stack would be allocated before thread creation.
* core: Fix some warnings on OSXGravatar Lioncash2015-02-03
|
* Kernel: Make WaitObjects share ownership of Threads waiting on themGravatar Yuri Kunde Schlesner2015-02-02
| | | | | | | | | | | | | | | | During normal operation, a thread waiting on an WaitObject and the object hold mutual references to each other for the duration of the wait. If a process is forcefully terminated (The CTR kernel has a SVC to do this, TerminateProcess, though no equivalent exists for threads.) its threads would also be stopped and destroyed, leaving dangling pointers in the WaitObjects. The solution is to simply have the Thread remove itself from WaitObjects when it is stopped. The vector of Threads in WaitObject has also been changed to hold SharedPtrs, just in case. (Better to have a reference cycle than a crash.)
* Kernel: Fix bug in HandleTable::CloseGravatar Yuri Kunde Schlesner2015-02-02
|
* Kernel: Remove Object::GetHandle (it's not used anymore :D)Gravatar Yuri Kunde Schlesner2015-02-02
|
* Kernel: Introduce unique Object ids for debuggingGravatar Yuri Kunde Schlesner2015-02-02
|
* Kernel: Renamed some functions for clarity.Gravatar bunnei2015-01-21
| | | | | - ReleaseNextThread->WakeupNextThread - ReleaseAllWaitingThreads->WakeupAllWaitingThreads.
* Session: Change to a WaitObject.Gravatar bunnei2015-01-21
|
* Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.Gravatar bunnei2015-01-21
|
* AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that ↵Gravatar bunnei2015-01-21
| | | | made no sense.
* Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.Gravatar bunnei2015-01-21
|
* WaitSynchronizationN: Implement return valuesGravatar bunnei2015-01-21
|
* WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.Gravatar bunnei2015-01-21
|
* Kernel: Added WaitObject and changed "waitable" objects inherit from it.Gravatar bunnei2015-01-21
|
* Kernel: Start using boost::intrusive_ptr for lifetime managementGravatar Yuri Kunde Schlesner2015-01-09
|
* Kernel: Don't re-assign object's handle when duplicating oneGravatar Yuri Kunde Schlesner2015-01-09
|
* Thread: Reduce use of Handles and move some funcs to inside the class.Gravatar Yuri Kunde Schlesner2015-01-09
|
* Kernel: Move Thread's definition to the header fileGravatar Yuri Kunde Schlesner2015-01-09
|
* Move ThreadContext to core/core.h and deal with the falloutGravatar Yuri Kunde Schlesner2015-01-09
|
* Merge pull request #255 from Subv/cbranch_3Gravatar bunnei2015-01-08
|\ | | | | Implemented timers
| * SVC: Implemented the Timer service calls.Gravatar Subv2015-01-08
| |
* | Threads: Use a dummy idle thread when no other are ready.Gravatar Subv2015-01-07
|/ | | | 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.
* Kernel: New handle managerGravatar Yuri Kunde Schlesner2014-12-28
| | | | | | | | | | | 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.
* Rename ObjectPool to HandleTableGravatar Yuri Kunde Schlesner2014-12-28
|
* License changeGravatar purpasmart962014-12-20
|
* Filesystem/Archives: Implemented the SaveData archiveGravatar Subv2014-12-17
| | | | | | | | | | 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
* HLE: Rename namespaces to match move & fix initialization orderGravatar Yuri Kunde Schlesner2014-12-16
|
* HLE: Move kernel/archive.* to service/fs/Gravatar Yuri Kunde Schlesner2014-12-16
|
* Convert old logging calls to new logging macrosGravatar Yuri Kunde Schlesner2014-12-13
|
* kernel: Shorten GetCountGravatar Lioncash2014-12-03
|
* kernel: Make some functions constGravatar Lioncash2014-12-03
|
* Remove trailing spaces in every file but the ones imported from SkyEye, AOSP ↵Gravatar Emmanuel Gil Peyrot2014-11-19
| | | | or generated
* Core: Get rid of unnecessary switch statement in KernelGravatar Lioncash2014-09-14
|
* core: Prune redundant includesGravatar archshift2014-09-08
|
* Core: Use std::array for managing kernel object spaceGravatar Lioncash2014-08-19
| | | | These avoid relying on memset for clearing the arrays.
* Core: Alter the kernel string functions to use std::string instead of const ↵Gravatar Lioncash2014-08-17
| | | | | | char*. Most functions already operate on std::strings. This also removes the need to manually null terminate thread names.
* Archive: Added Init/Shutdown methods to reset kernel archive state.Gravatar bunnei2014-07-04
|