Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2018-08-31 | core/core: Replace includes with forward declarations where applicable | Lioncash | 1 | -0/+2 | |
The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which replaces most of the includes in the core header with forward declarations. This makes it so that if any of the headers the core header was previously including change, then no one will need to rebuild the bulk of the core, due to core.h being quite a prevalent inclusion. This should make turnaround for changes much faster for developers. | |||||
2018-08-05 | address_arbiter: Return by value from GetThreadsWaitingOnAddress() | Lioncash | 1 | -15/+15 | |
In all cases the vector being supplied is empty, so we can just return by value in these instances. | |||||
2018-08-02 | kernel: Move object class to its own source files | Lioncash | 1 | -1/+1 | |
General moving to keep kernel object types separate from the direct kernel code. Also essentially a preliminary cleanup before eliminating global kernel state in the kernel code. | |||||
2018-07-31 | kernel: Remove unnecessary includes | Lioncash | 1 | -2/+4 | |
Removes unnecessary direct dependencies in some headers and also gets rid of indirect dependencies that were being relied on to be included. | |||||
2018-07-20 | thread: Convert ThreadStatus into an enum class | Lioncash | 1 | -2/+2 | |
Makes the thread status strongly typed, so implicit conversions can't happen. It also makes it easier to catch mistakes at compile time. | |||||
2018-07-19 | address_arbiter: Correct assignment within an assertion statement in WakeThreads() | Lioncash | 1 | -1/+1 | |
This was introduced within 4f81bc4e1bd12e4df7410c6790ba818d8dbba9c0, and considering there's no comment indicating that this is intentional, this is very likely a bug. | |||||
2018-07-17 | Kernel/Arbiter: Fix bug in WaitIfLessThan | Michael Scire | 1 | -2/+4 | |
2018-06-22 | Kernel/Arbiters: Fix casts, cleanup comments/magic numbers | Michael Scire | 1 | -13/+12 | |
2018-06-22 | Run clang-format on PR. | Michael Scire | 1 | -156/+157 | |
2018-06-22 | Kernel/Arbiters: HLE is atomic, adjust code to reflect that. | Michael Scire | 1 | -36/+13 | |
2018-06-21 | Kernel/Arbiters: Clear WaitAddress in SignalToAddress | Michael Scire | 1 | -0/+1 | |
2018-06-21 | Kernel/Arbiters: Mostly implement SignalToAddress | Michael Scire | 1 | -6/+104 | |
2018-06-21 | Kernel/Arbiters: Implement WaitForAddress | Michael Scire | 1 | -4/+55 | |
2018-06-21 | Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs. | Michael Scire | 1 | -0/+46 | |
2018-02-18 | kernel: Remove unused address_arbiter code. | bunnei | 1 | -91/+0 | |
2017-05-25 | Kernel: Centralize error definitions in errors.h | Yuri Kunde Schlesner | 1 | -4/+3 | |
2016-12-22 | core: Remove HLE module, consolidate code & various cleanups. | bunnei | 1 | -1/+0 | |
2016-12-04 | Threading: Reworked the way our scheduler works. | Subv | 1 | -2/+0 | |
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then. The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback. This new implementation is based off reverse-engineering of the real kernel. See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling. | |||||
2016-09-21 | Use negative priorities to avoid special-casing the self-include | Yuri Kunde Schlesner | 1 | -1/+1 | |
2016-09-21 | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 1 | -4/+2 | |
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | |||||
2016-09-19 | Manually tweak source formatting and then re-run clang-format | Yuri Kunde Schlesner | 1 | -4/+2 | |
2016-09-18 | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 1 | -12/+14 | |
2015-12-28 | SVC: Fixed ArbitrateAddress to behave as it does on hardware. | Subv | 1 | -8/+17 | |
This was verified with hwtests that i plan to upload later on. | |||||
2015-05-21 | Kernel: Move reschedules from SVCs to actual mechanisms that reschedule. | bunnei | 1 | -0/+3 | |
2015-05-15 | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 1 | -1/+1 | |
memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory. | |||||
2015-05-07 | Common: Remove common.h | Yuri Kunde Schlesner | 1 | -0/+1 | |
2015-04-10 | SVC: Update various SVCs to cause a reschedule. | bunnei | 1 | -4/+0 | |
- CreateMutex/ReleaseMutex/ReleaseSemaphore/SetTimer/CancelTimer/ArbitrateAddress | |||||
2015-02-02 | Kernel: Stop creating useless Handles during object creation | Yuri Kunde Schlesner | 1 | -4/+2 | |
They're finally unnecessary, and will stop cluttering the application's handle table. | |||||
2015-02-02 | Explicitly instantiate constructors/destructors for Kernel objects | Yuri Kunde Schlesner | 1 | -0/+3 | |
This should speed up compile times a bit, as well as enable more liberal use of forward declarations. (Due to SharedPtr not trying to emit the destructor anymore.) | |||||
2015-02-02 | Thread: Modernize two functions that slipped through previous rebases | Yuri Kunde Schlesner | 1 | -2/+2 | |
2015-01-30 | Kernel: Convert AddressArbiter to not use Handles | Yuri Kunde Schlesner | 1 | -30/+9 | |
2015-01-30 | Kernel: Remove useless/duplicated comments; mark functions static | Yuri Kunde Schlesner | 1 | -4/+1 | |
2015-01-22 | AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense. | bunnei | 1 | -8/+8 | |
2015-01-22 | WaitSynchronizationN: Implement return values | bunnei | 1 | -4/+4 | |
2015-01-22 | Thread: Keep track of multiple wait objects. | bunnei | 1 | -2/+3 | |
2015-01-13 | AddrArbiter: Implement arbitration types 3 and 4. | Subv | 1 | -2/+19 | |
2015-01-09 | Kernel: Start using boost::intrusive_ptr for lifetime management | Yuri Kunde Schlesner | 1 | -1/+1 | |
2015-01-09 | Thread: Reduce use of Handles and move some funcs to inside the class. | Yuri Kunde Schlesner | 1 | -4/+8 | |
2015-01-03 | AddressArbiter: Ported arbitration type 2 from 3dmoo. | Subv | 1 | -0/+11 | |
(Thanks 3dmoo!) | |||||
2014-12-28 | Kernel: New handle manager | Yuri Kunde Schlesner | 1 | -1/+2 | |
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-28 | Kernel: Replace GetStaticHandleType by HANDLE_TYPE constants | Yuri Kunde Schlesner | 1 | -2/+2 | |
2014-12-28 | Rename ObjectPool to HandleTable | Yuri Kunde Schlesner | 1 | -1/+1 | |
2014-12-21 | License change | purpasmart96 | 1 | -1/+1 | |
2014-12-13 | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 1 | -7/+1 | |
2014-12-09 | Thread: Fixed to wait on address when in arbitration. | bunnei | 1 | -1/+1 | |
2014-11-24 | Remove duplicated docs/update them for changed parameters. | Yuri Kunde Schlesner | 1 | -5/+0 | |
2014-11-24 | HLE: Revamp error handling throrough the HLE code | Yuri Kunde Schlesner | 1 | -5/+5 | |
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. | |||||
2014-10-26 | Add `override` keyword through the code. | Yuri Kunde Schlesner | 1 | -4/+4 | |
This was automated using `clang-modernize`. | |||||
2014-08-18 | Core: Alter the kernel string functions to use std::string instead of const char*. | Lioncash | 1 | -2/+2 | |
Most functions already operate on std::strings. This also removes the need to manually null terminate thread names. | |||||
2014-08-06 | AddressArbiter: Removed unnecessary HLE::Reschedule. | bunnei | 1 | -1/+0 | |
2014-08-06 | AddressArbiter: Fixed bug with break statements missing from case statements. | bunnei | 1 | -0/+2 | |
2014-07-09 | Kernel: Added preliminary support for address arbiters. | bunnei | 1 | -0/+87 | |
AddressArbiter: Added documentation comment, fixed whitespace issue. AddressArbiter: Fixed incorrect comment, reordered if-statement to be more clear. SVC: Removed trailing whitespace. |