bunnei
1494a66aa3
core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global namespace.
4 years ago
bunnei
8b109f8a69
core: hle: kernel: Allocate dummy threads on host thread storage.
- Fixes a crash where on subsequent boots, long-lived host threads would have their dummy threads freed.
4 years ago
bunnei
18baef2ec9
core: hle: kernel: Downgrade dangling objects warning to debug.
- It is not impossible to leak kernel objects, so this is not really any issue anymore (albeit, still interesting).
4 years ago
bunnei
58b39c8ad8
core: hle: kernel: Make object list container global and ensure it is reset on each emulation session.
4 years ago
bunnei
29924a999e
core: hle: kernel: Remove server session tracking.
- These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
4 years ago
bunnei
b7535cd853
core: hle: kernel: k_process: Remove handle table finalize, reset page table.
4 years ago
bunnei
2b881f4ccc
core: hle: kernel: k_process: Implement thread local storage accurately.
4 years ago
bunnei
c8dba7c578
core: hle: kernel: k_page_table: Add implementations of MapPages, UnmapPages, and FindFreeArea for TLS.
4 years ago
bunnei
cb294300ea
core: hle: kernel: k_slab_heap: Refresh to use guest allocations.
4 years ago
bunnei
4b022badf0
core: hle: kernel: Update init_slab_heap, use device memory, and add 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.
4 years ago
bunnei
8e8d8724a2
core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive.
4 years ago
bunnei
f92568936a
core: hle: kernel: k_page_buffer: Add KPageBuffer primitive.
4 years ago
bunnei
84ced13966
core: hle: kernel: k_thread: Ensure host Fiber is freed.
4 years ago
bunnei
4aa9e8543d
core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed.
4 years ago
bunnei
dfbf03438f
core: hle: service: kernel_helpers: Use system resource limit.
4 years ago
bunnei
c0a2ae3186
core: hle: service: sm: Fix KPort reference count.
4 years ago
bunnei
c5516b1800
core: hle: kernel: k_thread: Update to reflect tree changes.
4 years ago
bunnei
8421193857
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
4 years ago
bunnei
cbf7c2eb40
core: hle: kernel: k_memory_layout: Update kernel slab memory sizes.
4 years ago
bunnei
33c5eca64c
core: hle: kernel: svc_types: Add ThreadLocalRegionSize.
4 years ago
bunnei
bb2c956cf9
core: hle: kernel: k_condition_variable: Update to reflect tree changes.
4 years ago
bunnei
075ae485b1
core: hle: kernel: k_address_arbiter: Update to reflect tree changes.
4 years ago
bunnei
86eaedbf19
hle: service: ldr: Use deterministic addresses when mapping NROs.
- 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.
4 years ago
bunnei
9dd48f8f89
hle: kernel: KPageTable: Improve implementations of MapCodeMemory and 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.
4 years ago
german77
9188dfafc4
applet: mii: Simple implementation of mii applet
4 years ago
bunnei
82ca8230ad
hle: kernel: Re-create memory layout at initialization.
- As this can only be derived once.
4 years ago
bunnei
41c9c93736
hle: kernel: Remove unused pool locals.
4 years ago
bunnei
939707cf75
hle: kernel: k_memory_manager: Rework for latest kernel behavior.
- Updates the KMemoryManager implementation against latest documentation.
- Reworks KMemoryLayout to be accessed throughout the kernel.
- Fixes an issue with pool sizes being incorrectly reported.
4 years ago
merry
3fe2c2d40d
dynarmic: Inline exclusive memory accesses
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
4 years ago
bunnei
d780096c3c
hle: kernel: k_page_heap: GetPhysicalAddr can be const.
4 years ago
bunnei
00d395c330
hle: kernel: k_page_heap: Remove superfluous consexpr.
4 years ago
bunnei
3f129b2700
hle: kernel: k_page_heap: Various updates and improvements.
- KPageHeap tracks physical addresses, not virtual addresses.
- Various updates and improvements to match latest documentation for this type.
4 years ago
bunnei
8ef7b10f92
hle: kernel: Add initial_process.h header.
4 years ago
bunnei
75b111b6de
hle: kernel: board: nx: Add k_memory_layout.h header.
4 years ago
bunnei
99acfba11f
hle: kernel: k_system_control: Add GetRealMemorySize and update GetKernelPhysicalBaseAddress.
4 years ago
bunnei
f562f3780e
hle: kernel: k_memory_layout: Add GetPhysicalLinearRegion.
4 years ago
bunnei
a48d756692
hle: kernel: k_memory_region_types: Update for new regions.
4 years ago
Narr the Reg
273b9b5772
service: am: Update enum names to match documentation
4 years ago
bunnei
d3198bb960
hle: kernel: KSystemControl: Use 6GB memory layout when "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.
4 years ago
bunnei
f2cc07cc2c
core: hle: kernel: Remove resource limit hack for PhysicalMemory.
- With prior changes, we now report the correct amount of physical memory available to the emulated process.
4 years ago
bunnei
09adf10025
core: hle: kernel: KProcess: Pass in KResourceLimit on process creation.
- This allows us to have a resource limit per process, rather than use the global system resource limit.
4 years ago
bunnei
64ae76bff6
core: hle: kernel: KEvent: Pass in owner KProcess on event creation.
- This is necessary to ensure resource limits are freed from the right process.
4 years ago
bunnei
fe48c772e9
core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process.
4 years ago
bunnei
e1af26d5b3
fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
4 years ago
bunnei
eb65836f69
core: hle: kernel: KPageTable: Fix UnmapPages.
- Fixes a logic bug in KPageTable::UnmapPages.
4 years ago
bunnei
6075031e99
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
- Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS.
4 years ago
Sergi Granell
dbfe017c9f
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
Very straightforward, they are just wrappers to the 64-bit version of
the SVC.
4 years ago
german77
c2942fa5c3
nfp: Allow files without password data
4 years ago
lat9nq
94dec8e568
hid: Stub IsUsbFullKeyControllerEnabled
Used by Splatoon 2, when opening the inventory from a LAN battle lobby.
Reference: https://switchbrew.org/wiki/HID_services
4 years ago
Narr the Reg
4eef3a0cde
service/mnpp: Stub mnpp_app
Used in Super Nintendo Entertainment System™ - Nintendo Switch Online
4 years ago