bunnei
1bdae0fe29
common_func: Use std::array for INSERT_PADDING_* macros.
- Zero initialization here is useful for determinism.
6 years ago
bunnei
ece5287843
kernel: readable_event: Signal only once.
6 years ago
bunnei
b0ab803ce8
kernel: events: Remove ResetType::Automatic.
- This does not actually seem to exist in the real kernel - games reset these automatically.
# Conflicts:
# src/core/hle/service/am/applets/applets.cpp
# src/core/hle/service/filesystem/fsp_srv.cpp
6 years ago
bunnei
28bb248db6
kernel: readable_event: Initialize members.
6 years ago
FearlessTobi
832c138eff
core/am: Stub InitializeApplicationCopyrightFrameBuffer, SetApplicationCopyrightImage and SetApplicationCopyrightVisibility
These commands require Screenshots to be implemented anyway, so they are safe to stub for now.
6 years ago
Lioncash
6c8f28813c
scheduler: Mark parameter of AskForReselectionOrMarkRedundant() as const
This is only compared against, so it can be made const.
6 years ago
Lioncash
f19c1a7cda
scheduler: Silence sign conversion warnings
6 years ago
Lioncash
2fb0bbff29
scheduler: Initialize class members directly where applicable
Reduces the overall amount of code.
6 years ago
Lioncash
2dc469ceba
scheduler: Amend documentation comments
Adjusts the formatting of a few of the comments an ensures they get
recognized as proper Doxygen comments.
6 years ago
Zach Hilman
bb207fe27a
savedata_factory: Automatically create certain savedata
After further hardware investigation, it appears that some games, perhaps those more lazily coded, will not call EnsureSaveData, meaning that they expect the normal (current) save to be automatically made. Additionally, some games do not create a cache or temporary save before use.
In these 3 specific instances, the save is created automatically for the game if it doesn't exist.
6 years ago
bunnei
a86a88109a
core: Fix clang-format errors.
6 years ago
Nicolae-Andrei Cociorba
20521da259
Fix null pointer deref.
6 years ago
Lioncash
2c34d8aabb
dmnt_cheat_vm: Correct register Restore and ClearRegs behavior
Previously these were performing the same behavior as the Save and
ClearSaved opcode types.
6 years ago
Lioncash
8d8e495248
hid/npad: Fix incorrect connection boolean value in ConnectAllDisconnectedControllers()
We should be setting the connection state to true, otherwise we aren't
actually making the controllers connected like the function name
indicates.
6 years ago
Lioncash
d076466f26
hid/npad: Add missing break in default case
While not an issue, it does prevent fallthrough from occurring if
anything is ever added after this case (unlikely to occur, but this
turns a trivial "should not cause issues" into a definite "won't cause
issues).
6 years ago
Lioncash
26c84718c8
hid/npad: Replace std::for_each with ranged for loops
Performs the same behavior, but is built into the core language itself.
No functional change.
6 years ago
Lioncash
e433e99191
hid/npad: Remove redundant non-const variant of IsControllerSupported()
The const qualified variant can also be called in non-const contexts, so
we can remove the non-const variant to eliminate a bit of code
duplication.
6 years ago
Lioncash
a71e8066a1
hid/npad: Move function declarations
Clearly separate these from the variable declarations to make them more
visible.
6 years ago
Lioncash
98c6a95079
core/core: Resolve -Wreorder warnings
Amends the initializer lists to be ordered in the same manner that
they're declared within the class.
6 years ago
Lioncash
6414d9e2e5
core/memory/cheat_engine: Resolve -Wreorder warnings
Amends the initializer lists to be ordered in the same manner that
they're declared within the class.
6 years ago
Lioncash
b77430df70
apm/controller: Make SetPerformanceConfiguration() use an array of pairs over a map
While a map is an OK way to do lookups (and usually recommended in most
cases), this is a map that lives for the entire duration of the program
and only deallocates its contents when the program terminates.
Given the total size of the map is quite small, we can simply use a
std::array of pairs and utilize std::find_if to perform the same
behavior without loss of performance.
This eliminates a static constructor and places the data into the
read-only segment.
While we're at it, we can also handle malformed inputs instead of
directly dereferencing the resulting iterator.
6 years ago
Lioncash
141d929929
apm/controller: Make GetCurrentPerformanceMode() a const member function
This doesn't modify instance state, so it can be made const qualified.
6 years ago
Lioncash
cc1d7048b5
bcat: Remove use of global system accessors
Removes all uses of the global system accessor within the BCAT
interface.
6 years ago
Fernando Sahmkow
64e652d8cb
Kernel Thread: Cleanup THREADPROCESSORID_DONT_UPDATE.
6 years ago
Fernando Sahmkow
e28c7f5217
Kernel: Address Feedback 2
6 years ago
Fernando Sahmkow
a3524879be
Kernel: Clang Format
6 years ago
Fernando Sahmkow
c32520ceb7
Kernel: Reverse global accessor removal.
6 years ago
Fernando Sahmkow
3073615dbc
Kernel: Address Feedback.
6 years ago
Fernando Sahmkow
25f8606a6d
Kernel Scheduler: Make sure the global scheduler shutdowns correctly.
6 years ago
Fernando Sahmkow
b3c1deba49
Kernel_Thread: Eliminate most global accessors.
6 years ago
Fernando Sahmkow
0b72b34d89
KernelSVC: Assert that condition variable address is aligned to 4 bytes.
6 years ago
Fernando Sahmkow
96b1b144af
Kernel: Correct Paused scheduling
6 years ago
Fernando Sahmkow
1c6a11ab14
Kernel: Corrections to Wait Objects clearing in which a thread could still be signalled after a timeout or a cancel.
6 years ago
Fernando Sahmkow
27d571c084
Kernel: Correct redundant yields to only advance time forward.
6 years ago
Fernando Sahmkow
7176857177
Kernel: Corrections to ModifyByWaitingCountAndSignalToAddressIfEqual
6 years ago
Fernando Sahmkow
44e09e5f21
Kernel: Correct Results in Condition Variables and Mutexes
6 years ago
Fernando Sahmkow
1ec1e81373
Kernel: Clang Format
6 years ago
Fernando Sahmkow
e05a8c2385
Kernel: Remove global system accessor from WaitObject
6 years ago
Fernando Sahmkow
0cf26cee59
Scheduler: Implement Yield Count and Core migration on Thread Preemption.
6 years ago
Fernando Sahmkow
2d382de6fa
Scheduler: Corrections to YieldAndBalanceLoad and Yield bombing protection.
6 years ago
Fernando Sahmkow
b49c0dab87
Kernel: Initial implementation of thread preemption.
6 years ago
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.
6 years ago
Fernando Sahmkow
82218c925a
Kernel: Style and Corrections
7 years ago
Fernando Sahmkow
fcc6b34fff
Correct PrepareReschedule
7 years ago
Fernando Sahmkow
3a94e7ea33
Comment and reorganize the scheduler
7 years ago
Fernando Sahmkow
b5d1e44782
Add PrepareReschedule where required.
7 years ago
Fernando Sahmkow
b8b7ebcece
Correct compiling errors and addapt to the new interface.
7 years ago
Fernando Sahmkow
9031502974
Correct Supervisor Calls to work with the new scheduler,
7 years ago
Fernando Sahmkow
47c6c78c03
Redesign CPU Cores to work with the new scheduler
7 years ago
Fernando Sahmkow
57a71f899a
Add interfacing to the Global Scheduler
7 years ago