aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2021-01-28kernel: svc_types: Add ThreadActivity.bunnei
2021-01-28kernel: KSchedulerPriorityQueue: Lowest priority should be LowestThreadPriority.bunnei
2021-01-28kernel: k_light_lock: Simplify EmuThreadHandle implementation.bunnei
2021-01-28hle: kernel: TimeManager: Simplify to not rely on previous EmuThreadHandle ↵bunnei
implementation.
2021-01-28core: hle: kernel: object: Implement Finalize() virtual method.bunnei
2021-01-28core: hle: kernel: svc_results: Populate with several missing error codes.bunnei
2021-01-28core: hle: kernel: Implement KLightLock.bunnei
2021-01-28core: hle: kernel: Implement KThreadQueue.bunnei
2021-01-28hle: kernel: KThread: Clean up thread priorities.bunnei
2021-01-28hle: kernel: KThread: Reorganize thread priority defaults.bunnei
2021-01-28hle: kernel: KThread: Fix ThreadType definition.bunnei
2021-01-28hle: kernel: Move single core "phantom mode" out of KThread.bunnei
- This is a workaround that does not belong in a kernel primitive.
2021-01-28hle: kernel: KThread: Remove thread types that do not exist.bunnei
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei
2021-01-28hle_ipc: Add Can(Read, Write)BufferMorph
Allows us to test whether a buffer can be read from or written to memory
2021-01-15common/bit_util: Replace CLZ/CTZ operations with standardized onesLioncash
Makes for less code that we need to maintain.
2021-01-11hle: kernel: thread: Preserve thread wait reason for debugging only.bunnei
- This is decoupled from core functionality and used for debugging only.
2021-01-11hle: kernel: k_scheduler_lock: Fix shadowing errors.bunnei
2021-01-11core: hle: Integrate new KConditionVariable and KAddressArbiter implementations.bunnei
2021-01-11core: hle: kernel: Update KAddressArbiter.bunnei
2021-01-11core: hle: kernel: Update KConditionVariable.bunnei
2021-01-11core: hle: kernel: Begin moving common SVC defintions to its own header.bunnei
2021-01-11hle: kernel: Remove unnecessary AddressArbiter definition.bunnei
2021-01-11hle: kernel: k_scheduler: Cleanup OnThreadPriorityChanged.bunnei
2021-01-11hle: kernel: Rename thread "status" to "state".bunnei
2021-01-11hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ↵bunnei
ThreadState. - This is how the real kernel works, and is more accurate and simpler.
2021-01-11core: hle: kernel: Add some useful functions for checking kernel addresses.bunnei
2021-01-11core: hle: kernel: svc_types: Add type definitions for KAddressArbiter.bunnei
2021-01-11core: hle: kernel: Update KSynchronizationObject.bunnei
2021-01-11core: hle: kernel: Begin moving common SVC results to its own header.bunnei
2021-01-05core: Silence warnings when compiling without assertsReinUsesLisp
2021-01-02general: Fix various spelling errorsMorph
2021-01-01Merge pull request #5249 from ReinUsesLisp/lock-free-pagesbunnei
core/memory: Read and write page table atomically
2020-12-30Merge pull request #5208 from bunnei/service-threadsbunnei
Service threads
2020-12-29core/memory: Read and write page table atomicallyReinUsesLisp
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-29Merge pull request #5247 from comex/xx-conceptsbunnei
k_priority_queue: Fix concepts use
2020-12-29hle: kernel: service_thread: Make thread naming more consistent.bunnei
2020-12-29hle: kernel: Manage service threads on another thread.bunnei
- This is to allow service threads to defer destruction of themselves.
2020-12-29Merge pull request #5246 from comex/xx-includebunnei
Add missing include of "core/hle/kernel/kernel.h"
2020-12-29hle: kernel: Manage host thread IDs using TLS.bunnei
- Avoids the need to have a large map of host to guest thread IDs.
2020-12-29k_priority_queue: Fix concepts usecomex
- 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-29Add missing include of "core/hle/kernel/kernel.h"comex
This is needed as the header invokes methods on KernelCore.
2020-12-29svc: demote SleepThread log to LOG_TRACEameerj
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-29hle: kernel: Move ServiceThread ownership to KernelCore.bunnei
- Fixes a circular dependency which prevented threads from being released on shutdown.
2020-12-29hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.bunnei
2020-12-28core: hle: kernel: Clear process list on boot.bunnei
2020-12-28core: kernel: Clear process list earlier.bunnei
2020-12-28hle: kernel: hle_ipc: Remove SleepClientThread.bunnei
- This was kind of hacky, and no longer is necessary with service threads.
2020-12-28hle: kernel: service_thread: Add parameter for thread pool size.bunnei
2020-12-28core: hle: server_session: Use separate threads for each service connection.bunnei