Commit Graph

5935 Commits

Author SHA1 Message Date
Fernando Sahmkow
44e09e5f21 Kernel: Correct Results in Condition Variables and Mutexes 2019-10-15 11:55:18 -04:00
Fernando Sahmkow
1ec1e81373 Kernel: Clang Format 2019-10-15 11:55:17 -04:00
Fernando Sahmkow
e05a8c2385 Kernel: Remove global system accessor from WaitObject 2019-10-15 11:55:16 -04:00
Fernando Sahmkow
0cf26cee59 Scheduler: Implement Yield Count and Core migration on Thread Preemption. 2019-10-15 11:55:16 -04:00
Fernando Sahmkow
2d382de6fa Scheduler: Corrections to YieldAndBalanceLoad and Yield bombing protection. 2019-10-15 11:55:15 -04:00
Fernando Sahmkow
b49c0dab87 Kernel: Initial implementation of thread preemption. 2019-10-15 11:55:14 -04:00
Fernando Sahmkow
103f3a2fe5 Scheduler: Add protections for Yield bombing
In case of redundant yields, the scheduler will now idle the core for 
it's timeslice, in order to avoid continuously yielding the same thing 
over and over.
2019-10-15 11:55:13 -04:00
Fernando Sahmkow
82218c925a Kernel: Style and Corrections 2019-10-15 11:55:12 -04:00
Fernando Sahmkow
fcc6b34fff Correct PrepareReschedule 2019-10-15 11:55:12 -04:00
Fernando Sahmkow
3a94e7ea33 Comment and reorganize the scheduler 2019-10-15 11:55:11 -04:00
Fernando Sahmkow
b5d1e44782 Add PrepareReschedule where required. 2019-10-15 11:55:10 -04:00
Fernando Sahmkow
b8b7ebcece Correct compiling errors and addapt to the new interface. 2019-10-15 11:55:09 -04:00
Fernando Sahmkow
9031502974 Correct Supervisor Calls to work with the new scheduler, 2019-10-15 11:55:08 -04:00
Fernando Sahmkow
47c6c78c03 Redesign CPU Cores to work with the new scheduler 2019-10-15 11:55:07 -04:00
Fernando Sahmkow
57a71f899a Add interfacing to the Global Scheduler 2019-10-15 11:55:07 -04:00
Fernando Sahmkow
a1ac0c6cb4 Addapt thread class to the new Scheduler 2019-10-15 11:55:06 -04:00
Fernando Sahmkow
b164d8ee53 Implement a new Core Scheduler 2019-10-15 11:55:04 -04:00
bunnei
cab2619aeb
Merge pull request #2965 from FernandoS27/fair-core-timing
Core Timing: Rework Core Timing to run all cores evenly.
2019-10-15 11:48:30 -04:00
bunnei
0378babd15
Merge pull request #2897 from DarkLordZach/oss-ext-fonts-1
pl_u: Move open source font archives and fix NAND error
2019-10-14 15:13:41 -04:00
bunnei
cd2efed922
Merge pull request #2930 from DarkLordZach/gamecard-partitions
file_sys: Add code to access raw gamecard partitions and lazily load them
2019-10-14 10:29:10 -04:00
Zach Hilman
e0b9ee9b94 card_image: Implement system update commands in XCI 2019-10-13 14:18:45 -04:00
Zach Hilman
1911f85391 pl_u: Fix mismatched rebase size error in font encryption 2019-10-13 13:46:27 -04:00
Zach Hilman
36d829c27b pl_u: Use kernel physical memory 2019-10-13 13:46:27 -04:00
Zach Hilman
b3a8a094a5 pl_u: Remove excess static qualifier 2019-10-13 13:46:27 -04:00
Zach Hilman
40284c6868 pl_u: Use OSS system archives if real archives don't exist 2019-10-13 13:46:27 -04:00
Zach Hilman
920742d418 system_archive: Synthesize shared fonts system archives 2019-10-13 13:46:10 -04:00
Zach Hilman
d6d6a87bde externals: Move OSS font data to file_sys in core 2019-10-13 13:46:10 -04:00
Fernando Sahmkow
a4ae11d63e Core_Timing: Address Remaining feedback. 2019-10-12 07:26:38 -04:00
Fernando Sahmkow
e0650a2034 Core_Timing: Address Feedback and suppress warnings. 2019-10-11 14:44:14 -04:00
Fernando Sahmkow
96f2b16356 Core Timing: Correct Idle and remove lefting pragma 2019-10-09 12:30:33 -04:00
Fernando Sahmkow
65aff6930b Core Timing: General corrections and added tests. 2019-10-09 12:30:33 -04:00
Fernando Sahmkow
555866f8dc Core Timing: Rework Core Timing to run all cores evenly. 2019-10-09 12:30:31 -04:00
bunnei
e664c24355
Merge pull request #2921 from FreddyFunk/compiler-warnings-core
Services::ES fix casting warnings
2019-10-09 10:34:48 -04:00
bunnei
b9c831de62
Merge pull request #2654 from DarkLordZach/lm-log-rewrite
lm: Rewrite logger to use core reporting services
2019-10-08 20:23:13 -04:00
Morph
29e15601f3 hid: Implement DeactivateNpad
Makes use of the already existing DeactivateController function.
2019-10-07 04:44:09 -07:00
Zach Hilman
5326d3cb3a
Merge pull request #2951 from lioncash/global
core: Remove Core::CurrentProcess()
2019-10-06 20:47:48 -04:00
Lioncash
0705ce0ed1 bcat/module: Silence truncation warnings
We need to perform explicit casts here, otherwise we're implicitly
truncating a 64-bit type to a 32-bit one.
2019-10-06 15:38:12 -04:00
Lioncash
7e77d1593f bcat: Take std::function instance by value in NullBackend's constructor
Without this, the std::move within the constructor initializer list
won't be able to actually perform a move.
2019-10-06 15:38:12 -04:00
Lioncash
81adf46d1d bcat: In-class initialize ProgressServiceBackend's impl member
Allows us to remove a constructor initializer list.
2019-10-06 15:38:12 -04:00
Lioncash
3fcd2180e4 bcat: Make ProgressServiceBackend's constructor take a std::string_view
Given the string is appended to another, we can make it a view so a
redundant full copy of the string isn't made.
2019-10-06 15:38:09 -04:00
Lioncash
f2fa16b609 bcat: Make ProgressServiceBackend's GetEvent() const
This member function doesn't modify internal member state, so it can be
marked const.
2019-10-06 14:03:18 -04:00
Lioncash
329081fcb7 boxcat: Silence an unused variable warning
On parse errors, we can log out the explanatory string indicating what
the parsing error was, rather than just ignoring the variable and
returning an overly broad error code.
2019-10-06 14:00:32 -04:00
Lioncash
839b38c404 core/core: Remove unused header
This isn't used anywhere in either the cpp or header file.
2019-10-06 13:54:27 -04:00
Lioncash
f1382cf0e7 core: Remove Core::CurrentProcess()
This only encourages the use of the global system instance (which will
be phased out long-term). Instead, we use the direct system function
call directly to remove the appealing but discouraged short-hand.
2019-10-06 13:53:12 -04:00
Lioncash
69f16ba50e hle/service: Replace global system instance calls with instance-based ones
Migrates the HLE service code off the use of directly accessing the
global system instance where trivially able to do so.

This removes all usages of Core::CurrentProcess from the service code,
only 8 occurrences of this function exist elsewhere. There's still quite
a bit of "System::GetInstance()" being used, however this was able to
replace a few instances.
2019-10-06 13:42:23 -04:00
ReinUsesLisp
25ee892d5e audio/audout_u: Change formatting for old clang-format versions 2019-10-04 23:51:56 +00:00
ReinUsesLisp
8d0b1a957e service/nvdrv: Silence -Wswitch 2019-10-04 23:41:22 +00:00
ReinUsesLisp
5c907f85fc service/nfp: Silence -Wunused and -Wswitch 2019-10-04 23:41:22 +00:00
ReinUsesLisp
0759df0aff service/hid: Silence -Wunused and -Wswitch 2019-10-04 23:41:22 +00:00
ReinUsesLisp
ab6f8d8a1e service/am: Silence -Wreorder 2019-10-04 23:41:21 +00:00