| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 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-21 | hle: kernel: KSystemControl: Use 6GB memory layout when ↵ | bunnei | |
| "use_extended_memory_layout" setting is enabled. - This uses a larger 6GB DRAM memory layout, which is useful for some mods that require more memory. | |||
| 2022-02-21 | core: hle: kernel: Remove resource limit hack for PhysicalMemory. | bunnei | |
| - With prior changes, we now report the correct amount of physical memory available to the emulated process. | |||
| 2022-02-21 | core: hle: kernel: KProcess: Pass in KResourceLimit on process creation. | bunnei | |
| - This allows us to have a resource limit per process, rather than use the global system resource limit. | |||
| 2022-02-21 | core: hle: kernel: KEvent: Pass in owner KProcess on event creation. | bunnei | |
| - This is necessary to ensure resource limits are freed from the right process. | |||
| 2022-02-21 | core: hle: kernel: KResourceLimit: Add a helper function for creating a ↵ | bunnei | |
| KResourceLimit for a process. | |||
| 2022-02-21 | Merge pull request #7919 from bunnei/phys-mem-updates | bunnei | |
| core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory. | |||
| 2022-02-19 | fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory. | bunnei | |
| 2022-02-18 | core: hle: kernel: KPageTable: Fix UnmapPages. | bunnei | |
| - Fixes a logic bug in KPageTable::UnmapPages. | |||
| 2022-02-18 | core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory. | bunnei | |
| - Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS. | |||
| 2022-02-15 | kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32 | Sergi Granell | |
| Very straightforward, they are just wrappers to the 64-bit version of the SVC. | |||
| 2022-02-14 | Merge pull request #7871 from german77/svc2 | bunnei | |
| svc: Set unique names for function tables | |||
| 2022-02-08 | svc: Set unique names for function tables | Narr the Reg | |
| 2022-02-08 | hle: kernel: KCodeMemory: Remove unused QueryMemory. | bunnei | |
| 2022-02-08 | hle: kernel: KCodeMemory: Correct m_page_group number of pages. | bunnei | |
| Credits to @xerpi for finding this issue and pointing it out on #7519. | |||
| 2022-02-04 | service: pm: Implement AtmosphereGetProcessInfo | tech-ticks | |
| 2022-02-02 | Merge pull request #7835 from bunnei/page-table-lock | bunnei | |
| hle: kernel: KPageTable: Migrate locks to KScopedLightLock. | |||
| 2022-02-02 | general: Replace NonCopyable struct with equivalents | Lioncash | |
| 2022-02-02 | general: Move deleted copy/move constructor/assignment operators to public ↵ | Lioncash | |
| interface This allows for better compiler errors, where the compiler will state a copy or move couldn't occur due to the relevant function being deleted. Previously a compiler would warn about the relevant function not being accessible (which, while true, isn't as informative as it could be). | |||
| 2022-02-01 | hle: kernel: KPageTable: Migrate locks to KScopedLightLock. | bunnei | |
| - More accurately reflects real kernel behavior by using guest locks. | |||
| 2022-01-31 | svc: Add 32 bit SynchronizePreemptionState | Narr the Reg | |
| Used by Espgaluda II | |||
| 2022-01-27 | hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock ↵ | bunnei | |
| that has migrated. - Previously, it was possible for a thread migration to occur from core A to core B. - Next, core B waits on a guest lock that must be released by a thread queued for core A. - Meanwhile, core A is still waiting on the core B's current thread lock - resulting in a deadlock. - Fix this by try-locking the thread lock. - Fixes softlocks in FF8 and Pokemon Legends Arceus. | |||
| 2022-01-26 | Merge pull request #7762 from bunnei/un-map-improve | bunnei | |
| Kernel Memory Updates (Part 4): Improve Un/MapPages, and more. | |||
| 2022-01-25 | Merge pull request #7771 from lioncash/assert | Morph | |
| kernel/k_affinity_mask: Remove duplicated assert | |||
| 2022-01-24 | kernel/k_affinity_mask: Remove duplicated assert | Lioncash | |
| This is already checked inside GetCoreBit() | |||
| 2022-01-22 | hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount. | bunnei | |
| - Previously implementation was incorrect, and would occasionally underflow. | |||
| 2022-01-22 | core: hle: kernel: KPageTable: Various improvements to MapPages and UnmapPages. | bunnei | |
| 2022-01-22 | core: hle: kernel: KPageTable: MapProcessCode: Various cleanup. | bunnei | |
| 2022-01-22 | core: hle: kernel: KPageTable: ReserveTransferMemory: Various cleanup. | bunnei | |
| 2022-01-22 | core: hle: kernel: KPageTable: ResetTransferMemory: Various cleanup. | bunnei | |
| 2022-01-22 | core: hle: kernel: KPageTable: SetMemoryAttribute: Various cleanup. | bunnei | |
| 2022-01-22 | core: hle: kernel: KPageTable: Assert valid address on GetPhysicalAddr. | bunnei | |
| 2022-01-22 | core: hle: kernel: KPageTable: Operate: Assert lock ownership. | bunnei | |
| 2022-01-22 | core: hle: kernel: KPageTable: SetHeapSize: Cleanup & take physical memory lock. | bunnei | |
| 2022-01-22 | core: hle: kernel: Refactor Un/MapPhysicalMemory to remove unnecessary methods. | bunnei | |
| 2022-01-22 | core: hle: kernel: Rename Un/Map to Un/MapMeory. | bunnei | |
| 2022-01-21 | hle: kernel: KThread: Ensure host (dummy) threads block on locking. | bunnei | |
| - But do not enter the priority queue, as otherwise they will be scheduled. - Allows dummy threads to use guest synchronization primitives. | |||
| 2022-01-20 | hle: kernel: Remove redundant tracking of dummy threads. | bunnei | |
| - These are already tracked by kernel's registered_objects member. | |||
| 2022-01-20 | hle: kernel: KThread: DummyThread can be waited, ensure wait_queue is not ↵ | bunnei | |
| nullptr. | |||
| 2022-01-20 | hle: kernel: KThread: Decrease DummyThread priority to ensure it is never ↵ | bunnei | |
| scheduled. | |||
| 2022-01-20 | hle: kernel: service_thread: Ensure dummy thread is closed & destroyed on ↵ | bunnei | |
| thread exit. | |||
| 2022-01-20 | hle: kernel: KServerSession: Remove hack for CompleteSyncRequest. | bunnei | |
| - This does not appear to be necessary anymore. | |||
| 2022-01-20 | hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait. | bunnei | |
| - Considering is_thread_waiting is never set, so we can remove IsThreadWaiting. - KThread::EndWait will take the scheduler lock, so we can remove the redundant lock. | |||
| 2022-01-20 | hle: kernel: KThread: Ensure dummy threads never call EndWait. | bunnei | |
| - These are only used by host threads for locking and will never have a wait_queue. | |||
| 2022-01-20 | hle: kernel: KScheduler: Ensure dummy threads are never scheduled. | bunnei | |
| - These are only used by host threads for locking. | |||
| 2022-01-20 | hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type. | bunnei | |
| - This will be used to ensure that we do not schedule dummy threads. | |||
| 2022-01-18 | Merge pull request #7701 from bunnei/clear-mem-pages | bunnei | |
| Kernel Memory Updates (Part 3): Clear KMemoryManager pages & other fixes | |||
| 2022-01-17 | Merge pull request #7712 from bunnei/fix-thread-exit | bunnei | |
| Accurately implement thread exit | |||
| 2022-01-17 | hle: remove no-op code | Valeri | |
| Found by static analysis with PVS-Studio. Nobody seems to really know what was it doing there. | |||
| 2022-01-14 | hle: kernel: k_memory_manager: Clear pages on allocation & free. | bunnei | |
| - Heap pages should be zero'd. - Also explicitly passed along heap allocation option. | |||
