summaryrefslogtreecommitdiff
path: root/src/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | KHandleTable: Optimize table entry layoutGravatar Morph2022-03-182-30/+12
| | | | | | | | | | | | | | | | Since the handle type is not being used, we can reduce the amount of space each entry takes up by 4 bytes.
* | | | Merge pull request #8028 from v1993/patch-9Gravatar bunnei2022-03-181-2/+2
|\ \ \ \ | | | | | | | | | | bsd: Allow inexact match for address length in AcceptImpl
| * | | | bsd: Allow inexact match for address length in AcceptImplGravatar Valeri2022-03-151-2/+2
| |/ / / | | | | | | | | Minecraft passes in zero for length, but this should account for all possible cases
* | | | general: Reduce core.h includesGravatar ameerj2022-03-184-7/+23
| | | |
* | | | Merge pull request #7964 from german77/miiiiGravatar bunnei2022-03-167-5/+270
|\ \ \ \ | | | | | | | | | | applet: mii: Simple implementation of mii applet
| * | | | applet: mii: Simple implementation of mii appletGravatar german772022-02-287-5/+270
| | | | |
* | | | | core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global ↵Gravatar bunnei2022-03-141-6/+6
| | | | | | | | | | | | | | | | | | | | namespace.
* | | | | core: hle: kernel: Allocate dummy threads on host thread storage.Gravatar bunnei2022-03-142-8/+6
| | | | | | | | | | | | | | | | | | | | - Fixes a crash where on subsequent boots, long-lived host threads would have their dummy threads freed.
* | | | | core: hle: kernel: Downgrade dangling objects warning to debug.Gravatar bunnei2022-03-141-2/+2
| | | | | | | | | | | | | | | | | | | | - It is not impossible to leak kernel objects, so this is not really any issue anymore (albeit, still interesting).
* | | | | core: hle: kernel: Make object list container global and ensure it is reset ↵Gravatar bunnei2022-03-141-7/+9
| | | | | | | | | | | | | | | | | | | | on each emulation session.
* | | | | core: hle: kernel: Remove server session tracking.Gravatar bunnei2022-03-144-37/+1
| | | | | | | | | | | | | | | | | | | | - These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
* | | | | core: hle: kernel: k_process: Remove handle table finalize, reset page table.Gravatar bunnei2022-03-141-3/+3
| | | | |
* | | | | core: hle: kernel: k_process: Implement thread local storage accurately.Gravatar bunnei2022-03-143-111/+99
| | | | |
* | | | | core: hle: kernel: k_page_table: Add implementations of MapPages, ↵Gravatar bunnei2022-03-142-2/+141
| | | | | | | | | | | | | | | | | | | | UnmapPages, and FindFreeArea for TLS.
* | | | | core: hle: kernel: k_slab_heap: Refresh to use guest allocations.Gravatar bunnei2022-03-142-125/+107
| | | | |
* | | | | core: hle: kernel: Update init_slab_heap, use device memory, and add ↵Gravatar bunnei2022-03-144-55/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive.Gravatar bunnei2022-03-143-0/+179
| | | | |
* | | | | core: hle: kernel: k_page_buffer: Add KPageBuffer primitive.Gravatar bunnei2022-03-142-0/+35
| | | | |
* | | | | core: hle: kernel: k_thread: Ensure host Fiber is freed.Gravatar bunnei2022-03-141-0/+3
| | | | |
* | | | | core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed.Gravatar bunnei2022-03-141-0/+3
| | | | |
* | | | | core: hle: service: kernel_helpers: Use system resource limit.Gravatar bunnei2022-03-141-10/+1
| | | | |
* | | | | core: hle: service: sm: Fix KPort reference count.Gravatar bunnei2022-03-141-0/+2
| | | | |
* | | | | core: hle: kernel: k_thread: Update to reflect tree changes.Gravatar bunnei2022-03-141-3/+3
| | | | |
* | | | | core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and ↵Gravatar bunnei2022-03-147-14/+25
| | | | | | | | | | | | | | | | | | | | SessionRequestManager.
* | | | | core: hle: kernel: k_memory_layout: Update kernel slab memory sizes.Gravatar bunnei2022-03-141-3/+3
| | | | |
* | | | | core: hle: kernel: svc_types: Add ThreadLocalRegionSize.Gravatar bunnei2022-03-141-0/+2
| | | | |
* | | | | core: hle: kernel: k_condition_variable: Update to reflect tree changes.Gravatar bunnei2022-03-141-1/+1
| | | | |
* | | | | core: hle: kernel: k_address_arbiter: Update to reflect tree changes.Gravatar bunnei2022-03-141-3/+3
| |/ / / |/| | |
* | | | dynarmic: Reduce size of code cachesGravatar Merry2022-03-132-4/+4
| | | |
* | | | hle: service: ldr: Use deterministic addresses when mapping NROs.Gravatar bunnei2022-03-082-24/+62
| | | | | | | | | | | | | | | | | | | | - 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.
* | | | Merge pull request #7986 from lat9nq/vk-callbackGravatar bunnei2022-03-082-2/+13
|\ \ \ \ | | | | | | | | | | core, video_core: Fix two crashes when failing to create the emulated GPU instance
| * | | | emu_window: Create a way to Cancel the exit of a ScopedGravatar lat9nq2022-03-071-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | core: Don't shutdown a null GPUGravatar lat9nq2022-03-071-1/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | 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.
* / | | hle: kernel: KPageTable: Improve implementations of MapCodeMemory and ↵Gravatar bunnei2022-03-072-47/+116
|/ / / | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #7956 from bunnei/improve-mem-managerGravatar bunnei2022-03-0215-376/+848
|\ \ \ | | | | | | | | Kernel Memory Updates (Part 4): Revamp KMemoryManager & other fixes
| * | | hle: kernel: Re-create memory layout at initialization.Gravatar bunnei2022-02-271-41/+43
| | | | | | | | | | | | | | | | - As this can only be derived once.
| * | | hle: kernel: Remove unused pool locals.Gravatar bunnei2022-02-271-2/+0
| | | |
| * | | hle: kernel: k_memory_manager: Rework for latest kernel behavior.Gravatar bunnei2022-02-276-173/+548
| | | | | | | | | | | | | | | | | | | | | | | | - Updates the KMemoryManager implementation against latest documentation. - Reworks KMemoryLayout to be accessed throughout the kernel. - Fixes an issue with pool sizes being incorrectly reported.
| * | | hle: kernel: k_page_heap: GetPhysicalAddr can be const.Gravatar bunnei2022-02-271-2/+1
| | | |
| * | | hle: kernel: k_page_heap: Remove superfluous consexpr.Gravatar bunnei2022-02-272-4/+4
| | | |
| * | | hle: kernel: k_page_heap: Various updates and improvements.Gravatar bunnei2022-02-272-155/+192
| | | | | | | | | | | | | | | | | | | | - KPageHeap tracks physical addresses, not virtual addresses. - Various updates and improvements to match latest documentation for this type.
| * | | hle: kernel: Add initial_process.h header.Gravatar bunnei2022-02-272-0/+24
| | | |
| * | | hle: kernel: board: nx: Add k_memory_layout.h header.Gravatar bunnei2022-02-272-0/+14
| | | |
| * | | hle: kernel: k_system_control: Add GetRealMemorySize and update ↵Gravatar bunnei2022-02-272-1/+12
| | | | | | | | | | | | | | | | GetKernelPhysicalBaseAddress.
| * | | hle: kernel: k_memory_layout: Add GetPhysicalLinearRegion.Gravatar bunnei2022-02-271-0/+4
| | | |
| * | | hle: kernel: k_memory_region_types: Update for new regions.Gravatar bunnei2022-02-271-1/+9
| |/ /
* / / dynarmic: Inline exclusive memory accessesGravatar merry2022-02-276-6/+31
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge pull request #7932 from bunnei/extended-mem-layoutGravatar bunnei2022-02-2614-55/+69
|\ \ | | | | | | Add extended memory layout (6GB) support and improve KResourceLimit management
| * | hle: kernel: KSystemControl: Use 6GB memory layout when ↵Gravatar bunnei2022-02-211-20/+4
| | | | | | | | | | | | | | | | | | "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.
| * | core: device_memory: Use memory size reported by KSystemControl.Gravatar bunnei2022-02-213-7/+5
| | | | | | | | | | | | - That way, we can consolidate the memory layout to one place.