aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2020-12-11Merge pull request #5172 from lioncash/svc-widebunnei
svc: Remove unnecessary casts
2020-12-08svc: Remove unnecessary castsLioncash
Simplifies and removes some casts. In all cases, these were generally widening from a 32-bit unsigned type to a 64-bit unsigned type, so no information would be lost from the conversion.
2020-12-07core: Remove unnecessary enum casts in log callsLioncash
Follows the video core PR. fmt doesn't require casts for enum classes anymore, so we can remove quite a few casts.
2020-12-06Merge pull request #5148 from comex/xx-unused-fieldsbunnei
core: Mark unused fields as [[maybe_unused]]
2020-12-07Merge pull request #5136 from lioncash/video-shadow3LC
video_core: Resolve more variable shadowing scenarios pt.3
2020-12-06Fix "explicitly defaulted but implicitly deleted" warningcomex
`PhysicalCore`'s move assignment operator was declared as `= default`, but was implicitly deleted because `PhysicalCore` has fields of reference type. Switch to explicitly deleting it to avoid a Clang warning. The move *constructor* is still defaulted, and is required to exist due to the use of `std::vector<PhysicalCore>`.
2020-12-06core: Mark unused fields as [[maybe_unused]]comex
2020-12-05video_core: Resolve more variable shadowing scenarios pt.3Lioncash
Cleans out the rest of the occurrences of variable shadowing and makes any further occurrences of shadowing compiler errors.
2020-11-29kernel: scheduler: Minor cleanup to remove duplicated code.bunnei
2020-11-29kernel: time_manager: Protect access with a mutex.bunnei
2020-11-29hle: kernel: thread: Remove unused "Running" state.bunnei
2020-11-29core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei
2020-11-29hle: kernel: time_manager: Avoid a crash on process exit.bunnei
2020-11-29hle: kernel: AddressArbiter: Remove unused code.bunnei
2020-11-29hle: kernel: SynchronizationObject: Use atomic_bool for is_signaled.bunnei
2020-11-29common: fiber: Use boost::context instead of native fibers on Windows.bunnei
2020-11-29hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei
2020-11-23svc: Remove unnecessary [[maybe_unused]] tagLioncash
The parameter is used in this function, so this suppression isn't necessary.
2020-11-08ipc_helpers: Remove usage of the global system instanceLioncash
Resolves numerous deprecation warnings throughout the codebase due to inclusion of this header. Now building core should be significantly less noisy (and also relying on less global state). This also uncovered quite a few modules that were relying on indirect includes, which have also been fixed.
2020-11-03core: Remove usage of unicornLioncash
Unicorn long-since lost most of its use, due to dynarmic gaining support for handling most instructions. At this point any further issues encountered should be used to make dynarmic better. This also allows us to remove our dependency on Python.
2020-10-29kernel/process: Add missing <ctime> includeMorph
Fixes compilation on MSVC
2020-10-28Merge pull request #4835 from lat9nq/rng-default-timebunnei
kernel: Use the current time as the default RNG seed
2020-10-27hle/kernel: Remove unused registered_core_threads to fix data racesReinUsesLisp
This member was only used on asserts and it triggered data races. Remove it to fix them.
2020-10-26kernel: Use the current time as the default RNG seedlat9nq
Use the current time, not zero, as the default RNG seed.
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-20kernel: Fix build with recent compiler flag changesLioncash
This slipped through the cracks due to another change being merged before the compiler flag changes.
2020-10-20Merge pull request #4796 from lioncash/clangLC
core: Fix clang build
2020-10-19Merge pull request #4788 from ReinUsesLisp/lockfree-host-threadbunnei
kernel: Implement host thread register methods without locking
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-10-13kernel: Implement host thread register methods without lockingReinUsesLisp
Locks on GetCurrentHostThreadID were causing performance issues according to Visual Studio's profiler. It was consuming twice the time as arm_interface.Run(). The cost was not in the function itself but in the lockinig it required. Reimplement these functions using atomics and static storage instead of an unordered_map. This is a side effect to avoid locking and using linked lists for reads. Replace unordered_map with a linear search.
2020-10-13core/CMakeLists: Make some warnings errorsLioncash
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-09-14kernel: Remove all dependencies on the global system instanceLioncash
With this, the kernel finally doesn't depend directly on the global system instance anymore.
2020-09-11Merge pull request #4323 from ReinUsesLisp/no-spinbunnei
kernel/scheduler: Use std::mutex instead of spin lock
2020-09-03Merge pull request #4590 from ReinUsesLisp/tsan-schedbunnei
hle/scheduler: Fix data race in is_context_switch_pending
2020-08-26hle/scheduler: Fix data race in is_context_switch_pendingReinUsesLisp
As reported by tsan, SelectThreads could write to is_context_switch_pending holding a mutex while SwitchToCurrent reads it without holding any. It is assumed that the author didn't want an atomic here, so the code is reordered so that whenever is_context_switch_pending is read inside SwitchToContext, the mutex is locked.
2020-08-26hle/kernel: Fix data race in GetCurrentHostThreadIDReinUsesLisp
As reported by tsan, host_thread_ids could be read while any of the RegisterHostThread variants were called. To fix this, lock the register mutex when yuzu is running in multicore mode and GetCurrentHostThreadID is called.
2020-08-15Merge pull request #4492 from lioncash/linkagebunnei
system_control: Make functions internally linked where applicable
2020-08-14kernel/scheduler: Mark SchedulerLock constructor as nodiscardLioncash
Allows the compiler to warn about cases where the constructor is used but then immediately discarded, which is a potential cause of locking/unlocking bugs.
2020-08-13General: Tidy up clang-format warnings part 2Lioncash
2020-08-10Merge pull request #4491 from lioncash/unused-varsbunnei
kernel: Remove unused variables
2020-08-05system_control: Make functions internally linked where applicableLioncash
These functions are only ever used internally as implementation details for GenerateRandomRange(), so these can be given internal linkage.
2020-08-05kernel: Remove unused variablesLioncash
Resolves a few compiler warnings.
2020-08-05scheduler: Resolve sign conversion warningLioncash
2020-08-05address_arbiter: Resolve sign conversion warningLioncash
Makes our type conversion explicit.
2020-08-03ipc: Allow all trivially copyable objects to be passed directly into ↵David
WriteBuffer (#4465) * ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer With the support of C++20, we can use concepts to deduce if a type is an STL container or not. * More agressive concept for stl containers * Add -fconcepts * Move to common namespace * Add Common::IsBaseOf
2020-07-27core_timing: Make use of uintptr_t to represent user_dataLioncash
Makes the interface future-proofed for supporting other platforms in the event we ever support platforms with differing pointer sizes. This way, we have a type in place that is always guaranteed to be able to represent a pointer exactly.
2020-07-18Merge pull request #4348 from lioncash/nanobunnei
core_timing: Make usage of nanoseconds more consistent in the interface
2020-07-17Merge pull request #4357 from lioncash/unused4David
kernel: Remove unused variables
2020-07-17Merge pull request #4358 from lioncash/unused5David
kernel/thread: Remove unimplemented function prototype
2020-07-16Merge pull request #4327 from lioncash/desig2Rodrigo Locatti
address_space_info: Make use of designated initializers