| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-01-05 | core: Silence warnings when compiling without asserts | ReinUsesLisp | |
| 2021-01-02 | general: Fix various spelling errors | Morph | |
| 2021-01-01 | Merge pull request #5249 from ReinUsesLisp/lock-free-pages | bunnei | |
| core/memory: Read and write page table atomically | |||
| 2020-12-30 | Merge pull request #5208 from bunnei/service-threads | bunnei | |
| Service threads | |||
| 2020-12-29 | core/memory: Read and write page table atomically | ReinUsesLisp | |
| Squash attributes into the pointer's integer, making them an uintptr_t pair containing 2 bits at the bottom and then the pointer. These bits are currently unused thanks to alignment requirements. Configure Dynarmic to mask out these bits on pointer reads. While we are at it, remove some unused attributes carried over from Citra. Read/Write and other hot functions use a two step unpacking process that is less readable to stop MSVC from emitting an extra AND instruction in the hot path: mov rdi,rcx shr rdx,0Ch mov r8,qword ptr [rax+8] mov rax,qword ptr [r8+rdx*8] mov rdx,rax -and al,3 and rdx,0FFFFFFFFFFFFFFFCh je Core::Memory::Memory::Impl::Read<unsigned char> mov rax,qword ptr [vaddr] movzx eax,byte ptr [rdx+rax] | |||
| 2020-12-29 | Merge pull request #5247 from comex/xx-concepts | bunnei | |
| k_priority_queue: Fix concepts use | |||
| 2020-12-29 | hle: kernel: service_thread: Make thread naming more consistent. | bunnei | |
| 2020-12-29 | hle: kernel: Manage service threads on another thread. | bunnei | |
| - This is to allow service threads to defer destruction of themselves. | |||
| 2020-12-29 | Merge pull request #5246 from comex/xx-include | bunnei | |
| Add missing include of "core/hle/kernel/kernel.h" | |||
| 2020-12-29 | hle: kernel: Manage host thread IDs using TLS. | bunnei | |
| - Avoids the need to have a large map of host to guest thread IDs. | |||
| 2020-12-29 | k_priority_queue: Fix concepts use | comex | |
| - For `std::same_as`, add missing include of `<concepts>`. - For `std::convertible_to`, create a replacement in `common/concepts.h` and use that instead. This would also be found in `<concepts>`, but unlike `std::same_as`, `std::convertible_to` is not yet implemented in libc++, LLVM's STL implementation - not even in master. (In fact, `std::same_as` is the *only* concept currently implemented. For some reason.) | |||
| 2020-12-29 | Add missing include of "core/hle/kernel/kernel.h" | comex | |
| This is needed as the header invokes methods on KernelCore. | |||
| 2020-12-29 | svc: demote SleepThread log to LOG_TRACE | ameerj | |
| This log is called often, and introduces a lot of noise when debug logging is enabled, making it difficult to see other debug logs. | |||
| 2020-12-29 | hle: kernel: Move ServiceThread ownership to KernelCore. | bunnei | |
| - Fixes a circular dependency which prevented threads from being released on shutdown. | |||
| 2020-12-29 | hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession. | bunnei | |
| 2020-12-28 | core: hle: kernel: Clear process list on boot. | bunnei | |
| 2020-12-28 | core: kernel: Clear process list earlier. | bunnei | |
| 2020-12-28 | hle: kernel: hle_ipc: Remove SleepClientThread. | bunnei | |
| - This was kind of hacky, and no longer is necessary with service threads. | |||
| 2020-12-28 | hle: kernel: service_thread: Add parameter for thread pool size. | bunnei | |
| 2020-12-28 | core: hle: server_session: Use separate threads for each service connection. | bunnei | |
| 2020-12-20 | Merge pull request #5131 from bunnei/scheduler-rewrite | bunnei | |
| Rewrite Kernel scheduler based on Atmosphere | |||
| 2020-12-11 | Merge pull request #5172 from lioncash/svc-wide | bunnei | |
| svc: Remove unnecessary casts | |||
| 2020-12-08 | svc: Remove unnecessary casts | Lioncash | |
| 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-07 | core: Remove unnecessary enum casts in log calls | Lioncash | |
| Follows the video core PR. fmt doesn't require casts for enum classes anymore, so we can remove quite a few casts. | |||
| 2020-12-06 | Merge pull request #5148 from comex/xx-unused-fields | bunnei | |
| core: Mark unused fields as [[maybe_unused]] | |||
| 2020-12-07 | Merge pull request #5136 from lioncash/video-shadow3 | LC | |
| video_core: Resolve more variable shadowing scenarios pt.3 | |||
| 2020-12-06 | Fix "explicitly defaulted but implicitly deleted" warning | comex | |
| `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-06 | core: Mark unused fields as [[maybe_unused]] | comex | |
| 2020-12-06 | hle: kernel: Process: Various style fixes based on code review feedback. | bunnei | |
| 2020-12-06 | hle: kernel: Thread: Various style fixes based on code review feedback. | bunnei | |
| 2020-12-06 | hle: kernel: KScopedSchedulerLockAndSleep: Various style fixes based on code ↵ | bunnei | |
| review feedback. | |||
| 2020-12-06 | hle: kernel: KScopedLock: Various style fixes based on code review feedback. | bunnei | |
| 2020-12-06 | hle: kernel: KAbstractSchedulerLock: Various style fixes based on code ↵ | bunnei | |
| review feedback. | |||
| 2020-12-06 | hle: kernel: KScheduler: Various style fixes based on code review feedback. | bunnei | |
| 2020-12-06 | hle: kernel: KPriorityQueue: Various style fixes based on code review feedback. | bunnei | |
| 2020-12-06 | hle: kernel: KAffinityMask: Various style fixes based on code review feedback. | bunnei | |
| 2020-12-06 | hle: kernel: GlobalSchedulerContext: Various style fixes based on code ↵ | bunnei | |
| review feedback. | |||
| 2020-12-06 | hle: kernel: Use C++ style comments in KScheduler, etc. | bunnei | |
| 2020-12-06 | kernel: KScopedSchedulerLockAndSleep: Remove unused ctor. | bunnei | |
| 2020-12-06 | kernel: time_manager: Add missing lock guards. | bunnei | |
| 2020-12-06 | hle: kernel: Migrate to KScopedSchedulerLock. | bunnei | |
| 2020-12-06 | hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler. | bunnei | |
| 2020-12-06 | hle: kernel: Separate KScheduler from GlobalSchedulerContext class. | bunnei | |
| 2020-12-06 | hle: kernel: Rewrite scheduler implementation based on Mesopshere. | bunnei | |
| 2020-12-06 | hle: kernel: physical_core: Clear exclusive state after each run. | bunnei | |
| - This is closer to pre-multicore behavior, and works a bit better. | |||
| 2020-12-06 | hle: kernel: Port KAbstractSchedulerLock from Mesosphere. | bunnei | |
| 2020-12-06 | hle: kernel: svc: Remove reschedule on svcBreak. | bunnei | |
| - This breaks things, and is unnecessary, since emulation will be done at this point. | |||
| 2020-12-06 | hle: kernel: process: Add schedule count tracking, to be used for yield impl. | bunnei | |
| 2020-12-06 | hle: kernel: svc: Remove unnecessary hack in svcSleep. | bunnei | |
| 2020-12-06 | common: Port KPriorityQueue from Mesosphere. | bunnei | |
