bunnei
ec0ce96c56
core_timing: Use better reference tracking for EventType. ( #3159 )
* core_timing: Use better reference tracking for EventType.
- Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects.
- Removes need for unique names - we won't be using this for save states anyways.
6 years ago
bunnei
f6b9b7910e
kernel: Fix reference management for client/server session.
- Fixes shutdown crash and crash in Pokemon SwSh.
6 years ago
bunnei
9046d4a548
kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. ( #3154 )
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects.
- See https://github.com/citra-emu/citra/pull/4710 for details.
6 years ago
bunnei
63248f4edd
Update svc.cpp
6 years ago
bunnei
6eaf7ab55f
svc: GetSystemTick should return cntpct_el0, not core ticks.
6 years ago
Fernando Sahmkow
46bb609981
Kernel: Optimize condition variable threads management.
6 years ago
Fernando Sahmkow
2ab41ceff4
Kernel: Correct SignalProcessWideKey
When the target is 0, all threads must be processed.
6 years ago
Fernando Sahmkow
2d16507f9f
Kernel: Correct behavior of Condition Variables to be more similar to real hardware.
This commit ensures cond var threads act exactly as they do in the real
console. The original implementation uses an RBTree and the behavior of
cond var threads is that at the same priority level they act like a
FIFO.
6 years ago
Fernando Sahmkow
7d16b2d2dd
Kernel: Correct Cancel Synchronization.
This commit corrects the behavior of cancel synchronization when the
thread is running/ready and ensures the next wait is cancelled as it's
suppose to.
6 years ago
Lioncash
2c4c2b5eee
service/am: Remove unnecessary Skip calls
We can simplify these by wrapping the necessary members in structs and
then simply reading out the whole struct.
6 years ago
Lioncash
1cd8637bf0
am: Stub QueryApplicationPlayStatistics
Maintains implementation parity between QueryApplicationPlayStatistics
and QueryApplicationPlayStatisticsByUid.
These function the same behaviorally underneath the hood, with the only
difference being that one allows specifying a UID.
6 years ago
Lioncash
e21b6ff79d
service: Update function tables
Keeps the function tables up to date.
Updated based off information from Switchbrew.
6 years ago
Lioncash
e0c46e6879
core: Migrate off deprecated mbedtls functions
These functions are marked for deprecation and it's recommended that the
*_ret variants be used instead.
6 years ago
Lioncash
f11b87ebf1
service: Resolve sign conversion errors
These are fairly trivial to resolve and most of the changes entail
using RESULT_UNKNOWN over ResultCode(-1).
6 years ago
Lioncash
12dc918937
kernel: Resolve sign conversion warnings
Uncovered a bug within Thread's SetCoreAndAffinityMask() where an
unsigned variable (ideal_core) was being compared against "< 0", which
would always be a false condition.
We can also get rid of an unused function (GetNextProcessorId) which contained a sign
mismatch warning.
6 years ago
Lioncash
ef060ed40c
result: Add default error code for the ResultCode(-1) case
Will be used to reduce the overall duplication of the same magic value
all over the codebase in following changes.
6 years ago
Lioncash
27ab99490e
result: Resolve sign-coversion warnings
The constructor was implicitly using signed->unsigned conversions to
produce 0xFFFFFFFF. We can just specify this explicitly with UINT32_MAX.
6 years ago
Michael Scire
b0b0786493
Implement stub for QueryApplicationPlayStatisticsByUid
6 years ago
Fernando Sahmkow
3c95e49c42
nifm: Only return that there's an internet connection when there's a BCATServer
This helps games that need internet for other purposes boot as the rest
of our internet infrastructure is incomplete.
6 years ago
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
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
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