diff options
author | Kevin Hartman <kevin@hart.mn> | 2015-01-25 22:56:17 -0800 |
---|---|---|
committer | Kevin Hartman <kevin@hart.mn> | 2015-02-09 21:47:12 -0800 |
commit | 5fcbfc06eb247c0a4c1db201ac9050d80d4e4020 (patch) | |
tree | 4cdac59449b025c7a07e8655f29eda2fbcb423fe /src/core/arm/arm_interface.h | |
parent | 848795f3834c30695208e86c5bbebf6c71a57d96 (diff) |
Scheduler refactor Pt. 1
* 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.
Diffstat (limited to 'src/core/arm/arm_interface.h')
-rw-r--r-- | src/core/arm/arm_interface.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h index e612f743..ef37ee05 100644 --- a/src/core/arm/arm_interface.h +++ b/src/core/arm/arm_interface.h @@ -86,6 +86,15 @@ public: virtual void AddTicks(u64 ticks) = 0; /** + * Initializes a CPU context for use on this CPU + * @param context Thread context to reset + * @param stack_top Pointer to the top of the stack + * @param entry_point Entry point for execution + * @param arg User argument for thread + */ + virtual void ResetContext(Core::ThreadContext& context, u32 stack_top, u32 entry_point, u32 arg) = 0; + + /** * Saves the current CPU context * @param ctx Thread context to save */ |