aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
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: service: kernel_helpers: Use system resource limit.bunnei
2022-03-14core: hle: service: sm: Fix KPort reference count.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.
2022-03-14core: hle: kernel: k_memory_layout: Update kernel slab memory sizes.bunnei
2022-03-14core: hle: kernel: svc_types: Add ThreadLocalRegionSize.bunnei
2022-03-14core: hle: kernel: k_condition_variable: Update to reflect tree changes.bunnei
2022-03-14core: hle: kernel: k_address_arbiter: Update to reflect tree changes.bunnei
2022-03-13dynarmic: Reduce size of code cachesMerry
2022-03-08hle: 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-08Merge pull request #7986 from lat9nq/vk-callbackbunnei
core, video_core: Fix two crashes when failing to create the emulated GPU instance
2022-03-07hle: 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-07emu_window: Create a way to Cancel the exit of a Scopedlat9nq
If a GraphicsContext is destroyed before its Scoped is destroyed, this causes a crash as the Scoped tries to call a method in the destroyed context on exit. Add a way to Cancel the call when we know that calling the GraphicsContext will not work.
2022-03-07core: Don't shutdown a null GPUlat9nq
When CreateGPU fails, yuzu would try and shutdown the GPU instance regardless of whether any instance was actually created. Check for nullptr before calling its methods to prevent a crash.
2022-03-02Merge pull request #7956 from bunnei/improve-mem-managerbunnei
Kernel Memory Updates (Part 4): Revamp KMemoryManager & other fixes
2022-02-28applet: mii: Simple implementation of mii appletgerman77
2022-02-27hle: kernel: Re-create memory layout at initialization.bunnei
- As this can only be derived once.
2022-02-27hle: kernel: Remove unused pool locals.bunnei
2022-02-27hle: 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-27dynarmic: Inline exclusive memory accessesmerry
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-27hle: kernel: k_page_heap: GetPhysicalAddr can be const.bunnei
2022-02-27hle: kernel: k_page_heap: Remove superfluous consexpr.bunnei
2022-02-27hle: 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.
2022-02-27hle: kernel: Add initial_process.h header.bunnei
2022-02-27hle: kernel: board: nx: Add k_memory_layout.h header.bunnei
2022-02-27hle: kernel: k_system_control: Add GetRealMemorySize and update ↵bunnei
GetKernelPhysicalBaseAddress.
2022-02-27hle: kernel: k_memory_layout: Add GetPhysicalLinearRegion.bunnei
2022-02-27hle: kernel: k_memory_region_types: Update for new regions.bunnei
2022-02-26Merge pull request #7932 from bunnei/extended-mem-layoutbunnei
Add extended memory layout (6GB) support and improve KResourceLimit management
2022-02-21service: am: Update enum names to match documentationNarr the Reg
2022-02-21hle: 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-21core: device_memory: Use memory size reported by KSystemControl.bunnei
- That way, we can consolidate the memory layout to one place.
2022-02-21core: 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-21core: 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-21core: 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-21core: hle: kernel: KResourceLimit: Add a helper function for creating a ↵bunnei
KResourceLimit for a process.