| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-04-05 | k_system_control: Fix data race | lat9nq | |
| `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-03 | k_auto_object: Fix data race | lat9nq | |
| Change the memory order to acqure-release when we decrement the reference count. Prevents a race with line 89 reported by TSan. | |||
| 2022-04-03 | k_thread: Fix data race | lat9nq | |
| 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-03 | k_process: Fix data race | lat9nq | |
| 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-03 | kernel: Fix current_process race | lat9nq | |
| TSan reported a race at :258 and :803, so make current_process an atomic pointer. | |||
| 2022-04-03 | k_scheduler_lock: Fix data race | lat9nq | |
| 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-03-26 | hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & ↵ | bunnei | |
| UnlockForCodeMemory. | |||
| 2022-03-26 | hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory. | bunnei | |
| 2022-03-26 | hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use ↵ | bunnei | |
| physical address space. | |||
| 2022-03-26 | hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer. | bunnei | |
| - This does not seem terribly useful and is inconsistent with other usage. | |||
| 2022-03-26 | hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical ↵ | bunnei | |
| address space. | |||
| 2022-03-26 | hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup. | bunnei | |
| 2022-03-26 | hle: kernel: k_page_table: Add IsHeapPhysicalAddress method. | bunnei | |
| 2022-03-26 | hle: kernel: k_page_linked_list: Add Empty method. | bunnei | |
| 2022-03-26 | hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check. | bunnei | |
| 2022-03-21 | Merge pull request #8048 from ameerj/include-purge | bunnei | |
| general: Reduce unused includes across the project | |||
| 2022-03-19 | Merge pull request #8040 from Morph1984/handle-table | bunnei | |
| KHandleTable: Optimize table entry layout | |||
| 2022-03-19 | core: Reduce unused includes | ameerj | |
| 2022-03-18 | general: Reduce core.h includes | ameerj | |
| 2022-03-18 | KHandleTable: Optimize table entry layout | Morph | |
| Since the handle type is not being used, we can reduce the amount of space each entry takes up by 4 bytes. | |||
| 2022-03-14 | core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global ↵ | bunnei | |
| namespace. | |||
| 2022-03-14 | core: 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-14 | core: 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-14 | core: hle: kernel: Make object list container global and ensure it is reset ↵ | bunnei | |
| on each emulation session. | |||
| 2022-03-14 | core: 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-14 | core: hle: kernel: k_process: Remove handle table finalize, reset page table. | bunnei | |
| 2022-03-14 | core: hle: kernel: k_process: Implement thread local storage accurately. | bunnei | |
| 2022-03-14 | core: hle: kernel: k_page_table: Add implementations of MapPages, ↵ | bunnei | |
| UnmapPages, and FindFreeArea for TLS. | |||
| 2022-03-14 | core: hle: kernel: k_slab_heap: Refresh to use guest allocations. | bunnei | |
| 2022-03-14 | core: 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-14 | core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive. | bunnei | |
| 2022-03-14 | core: hle: kernel: k_page_buffer: Add KPageBuffer primitive. | bunnei | |
| 2022-03-14 | core: hle: kernel: k_thread: Ensure host Fiber is freed. | bunnei | |
| 2022-03-14 | core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed. | bunnei | |
| 2022-03-14 | core: hle: kernel: k_thread: Update to reflect tree changes. | bunnei | |
| 2022-03-14 | core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and ↵ | bunnei | |
| SessionRequestManager. | |||
| 2022-03-14 | core: hle: kernel: k_memory_layout: Update kernel slab memory sizes. | bunnei | |
| 2022-03-14 | core: hle: kernel: svc_types: Add ThreadLocalRegionSize. | bunnei | |
| 2022-03-14 | core: hle: kernel: k_condition_variable: Update to reflect tree changes. | bunnei | |
| 2022-03-14 | core: hle: kernel: k_address_arbiter: Update to reflect tree changes. | bunnei | |
| 2022-03-08 | hle: service: ldr: Use deterministic addresses when mapping NROs. | bunnei | |
| - Instead of randomization, choose in-order addresses for where to map NROs into memory. - This results in predictable behavior when debugging and consistent behavior when reproducing issues. | |||
| 2022-03-07 | hle: kernel: KPageTable: Improve implementations of MapCodeMemory and ↵ | bunnei | |
| UnmapCodeMemory. - This makes these functions more accurate to the real HOS implementations. - Fixes memory access issues in Super Smash Bros. Ultimate that occur when un/mapping NROs. | |||
| 2022-03-02 | Merge pull request #7956 from bunnei/improve-mem-manager | bunnei | |
| Kernel Memory Updates (Part 4): Revamp KMemoryManager & other fixes | |||
| 2022-02-27 | hle: kernel: Re-create memory layout at initialization. | bunnei | |
| - As this can only be derived once. | |||
| 2022-02-27 | hle: kernel: Remove unused pool locals. | bunnei | |
| 2022-02-27 | hle: kernel: k_memory_manager: Rework for latest kernel behavior. | bunnei | |
| - Updates the KMemoryManager implementation against latest documentation. - Reworks KMemoryLayout to be accessed throughout the kernel. - Fixes an issue with pool sizes being incorrectly reported. | |||
| 2022-02-27 | dynarmic: Inline exclusive memory accesses | merry | |
| Inlines implementation of exclusive instructions into JITted code, improving performance of applications relying heavily on these instructions. We also fastmem these instructions for additional speed, with support for appropriate recompilation on fastmem failure. An unsafe optimization to disable the intercore global_monitor is also provided, should one wish to rely solely on cmpxchg semantics for safety. See also: merryhime/dynarmic#664 | |||
| 2022-02-27 | hle: kernel: k_page_heap: GetPhysicalAddr can be const. | bunnei | |
| 2022-02-27 | hle: kernel: k_page_heap: Remove superfluous consexpr. | bunnei | |
| 2022-02-27 | hle: kernel: k_page_heap: Various updates and improvements. | bunnei | |
| - KPageHeap tracks physical addresses, not virtual addresses. - Various updates and improvements to match latest documentation for this type. | |||
