aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2022-04-13service: jit: Implement the JIT serviceLiam
2022-04-12Merge pull request #8165 from bunnei/ensure-session-port-cleanupbunnei
Kernel: Track open references to KServerPort and KServerSession.
2022-04-12Merge pull request #8178 from tech-ticks/skyline-icache-fixbunnei
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory (fixes #8174)
2022-04-11Merge pull request #8157 from lat9nq/kernel-racesbunnei
kernel: Fix some data races
2022-04-09hle: kernel: Invalidate entire icache in UnmapProcessMemory and ↵tech-ticks
UnmapCodeMemory (fixes #8174)
2022-04-08hle: kernel: Unify and integrate reference tracking for ↵bunnei
KServerPort/KServerSession. - These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
2022-04-08hle: kernel: k_server_port: Release ref-counted host emulation members on ↵bunnei
Destroy.
2022-04-08hle: kernel: k_auto_object: Move unregister with kernel to after Destroy.bunnei
- Destructor is no longer invoked, so our object counting was off.
2022-04-08hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is ↵bunnei
expired rather than locking.
2022-04-07core/hle: Replace lock_guard with scoped_lockMerry
2022-04-07Merge pull request #8148 from merryhime/interruptsFernando S
dynarmic: Better interrupts
2022-04-05k_system_control: Fix data racelat9nq
`return distribution(gen)` is a data race between a read and a write in two threads, reported by TSan. Remove static random number generators so they aren't using the same generator.
2022-04-03k_auto_object: Fix data racelat9nq
Change the memory order to acqure-release when we decrement the reference count. Prevents a race with line 89 reported by TSan.
2022-04-03k_thread: Fix data racelat9nq
TSan reports a data race between writing at cpp:1162 and reading at h:262. Make the thread_state atomic to prevent this.
2022-04-03k_process: Fix data racelat9nq
TSan reported a race between thread 36 and thread 34, a read at :225 and a write at :225 respectively. Make total_proces_running_time_ticks atomic to avoid this race.
2022-04-03kernel: Fix current_process racelat9nq
TSan reported a race at :258 and :803, so make current_process an atomic pointer.
2022-04-03k_scheduler_lock: Fix data racelat9nq
TSan reports a race between the main thread and T37 during IsLockedByCurrentThread and when it's set at the end of Lock(), respectively. Set owner_thread to an atomic pointer to fix it. Co-authored-by: bunnei <bunneidev@gmail.com>
2022-04-03dynarmic: Better interruptsmerry
2022-04-02hle: service: Add option for service interfaces to create or use the default ↵bunnei
thread.
2022-04-02hle: kernel: Create a default thread for services that do not need their own ↵bunnei
host thread.
2022-03-26hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & ↵bunnei
UnlockForCodeMemory.
2022-03-26hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory.bunnei
2022-03-26hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use ↵bunnei
physical address space.
2022-03-26hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer.bunnei
- This does not seem terribly useful and is inconsistent with other usage.
2022-03-26hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical ↵bunnei
address space.
2022-03-26hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup.bunnei
2022-03-26hle: kernel: k_page_table: Add IsHeapPhysicalAddress method.bunnei
2022-03-26hle: kernel: k_page_linked_list: Add Empty method.bunnei
2022-03-26hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check.bunnei
2022-03-21Merge pull request #8048 from ameerj/include-purgebunnei
general: Reduce unused includes across the project
2022-03-19Merge pull request #8040 from Morph1984/handle-tablebunnei
KHandleTable: Optimize table entry layout
2022-03-19core: Reduce unused includesameerj
2022-03-18general: Reduce core.h includesameerj
2022-03-18KHandleTable: Optimize table entry layoutMorph
Since the handle type is not being used, we can reduce the amount of space each entry takes up by 4 bytes.
2022-03-14core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global ↵bunnei
namespace.
2022-03-14core: hle: kernel: Allocate dummy threads on host thread storage.bunnei
- Fixes a crash where on subsequent boots, long-lived host threads would have their dummy threads freed.
2022-03-14core: hle: kernel: Downgrade dangling objects warning to debug.bunnei
- It is not impossible to leak kernel objects, so this is not really any issue anymore (albeit, still interesting).
2022-03-14core: hle: kernel: Make object list container global and ensure it is reset ↵bunnei
on each emulation session.
2022-03-14core: hle: kernel: Remove server session tracking.bunnei
- These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
2022-03-14core: hle: kernel: k_process: Remove handle table finalize, reset page table.bunnei
2022-03-14core: hle: kernel: k_process: Implement thread local storage accurately.bunnei
2022-03-14core: hle: kernel: k_page_table: Add implementations of MapPages, ↵bunnei
UnmapPages, and FindFreeArea for TLS.
2022-03-14core: hle: kernel: k_slab_heap: Refresh to use guest allocations.bunnei
2022-03-14core: hle: kernel: Update init_slab_heap, use device memory, and add ↵bunnei
KThreadLocalPage and KPageBuffer. - Refreshes our slab initialization code to latest known behavior. - Moves all guest kernel slabs into emulated device memory. - Adds KThreadLocalPage and KPageBuffer, which we will use for accurate TLS management.
2022-03-14core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive.bunnei
2022-03-14core: hle: kernel: k_page_buffer: Add KPageBuffer primitive.bunnei
2022-03-14core: hle: kernel: k_thread: Ensure host Fiber is freed.bunnei
2022-03-14core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed.bunnei
2022-03-14core: hle: kernel: k_thread: Update to reflect tree changes.bunnei
2022-03-14core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and ↵bunnei
SessionRequestManager.