Commit Graph

23 Commits

Author SHA1 Message Date
99ceb03a1c general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
25a97e0139 core: cpu_manager: Use jthread. 2021-09-03 19:05:41 -07:00
0c8594b225 Revert "kernel: Various improvements to scheduler" 2021-08-25 20:59:28 -07:00
5ea0d3629a core: cpu_manager: Use jthread. 2021-08-07 12:18:47 -07:00
9a07ed53eb core: Make variable shadowing a compile-time error
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
2021-05-16 03:43:16 -04:00
ebb64d5bf4 core: Resolve misc cases of variable shadowing
Resolves shadowing warnings that aren't in a particularly large
subsection of core. Brings us closer to turning -Wshadow into an error.

All that remains now is for cases in the kernel (left untouched for now
since a big change by bunnei is pending), and a few left over in the
service code (will be tackled next).
2021-05-03 01:19:13 -04:00
a5ab85ac37 Revert "core: Switch to unique_ptr for usage of Common::Fiber." 2021-03-05 17:08:17 -08:00
51fb0a6f96 core: Switch to unique_ptr for usage of Common::Fiber.
- With using unique_ptr instead of shared_ptr, we have more explicit ownership of the context.
- Fixes a memory leak due to circular reference of the shared pointer.
2021-02-27 11:56:04 -08:00
f0125b2be8 cpu_manager: Mark function getters as static
All these do are return std::function instances of static functions, so
these can be used without an instance of the CPU manager.
2020-07-16 13:30:56 -04:00
51546ce57e cpu_manager: Remove unused preemption_count variable
Shrinks the data structure by 8 bytes.
2020-07-16 13:24:25 -04:00
201514cb50 cpu_manager: Add missing includes
Previously this header was relying on indirect inclusions that are no
longer satisfied.
2020-07-16 13:22:58 -04:00
ad92865497 General: Correct rebase, sync gpu and context management. 2020-06-27 11:36:08 -04:00
f5e32935ca SingleCore: Use Cycle Timing instead of Host Timing. 2020-06-27 11:36:01 -04:00
f2ade343e2 SingleCore: Move Host Timing from a sepparate thread to main cpu thread. 2020-06-27 11:35:52 -04:00
5d3a2be04f GUI: Make multicore only work with Async and add GUI for multicore. 2020-06-27 11:35:52 -04:00
d494b074e8 Kernel: Preempt Single core on redudant yields. 2020-06-27 11:35:45 -04:00
a439cdf22e CPU_Manager: Unload/Reload threads on preemption on SingleCore 2020-06-27 11:35:43 -04:00
ab9aae28bf General: Initial Setup for Single Core. 2020-06-27 11:35:42 -04:00
04e0f8776c General: Add better safety for JIT use. 2020-06-27 11:35:20 -04:00
e31425df38 General: Recover Prometheus project from harddrive failure
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host 
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and 
Suspended State, Recreates the bootmanager, Initializes Multicore 
system.
2020-06-27 11:35:06 -04:00
1e6f8aba04 Core: Set all hardware emulation constants in a single file. 2020-02-11 20:19:11 -04:00
2d1984c20c System: Address Feedback 2020-01-27 09:54:11 -04:00
e4a1ead897 Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.
This commit instends on better naming the new purpose of this classes.
2020-01-26 14:07:22 -04:00