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
b928936457
core: device_memory: Use memory size reported by KSystemControl.
- That way, we can consolidate the memory layout to one place.
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
Kelebek1
9ae0aaed6a
Dump patched exefs rather than base
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
Narr the Reg
11680706a7
nfp: Separate nfc tag from amiibo data
4 years ago
Narr the Reg
d5873beb51
svc: Set unique names for function tables
4 years ago
bunnei
c40b56b554
hle: kernel: KCodeMemory: Remove unused QueryMemory.
4 years ago
bunnei
9ab27ece86
hle: kernel: KCodeMemory: Correct m_page_group number of pages.
Credits to @xerpi for finding this issue and pointing it out on #7519 .
4 years ago
german77
f2b6837fb7
nfp: Address compiler issues
4 years ago
Narr the Reg
bb831fae3a
nfp: Validate amiibo files
4 years ago
german77
68ed8e2388
nfp: Improve implementation
5 years ago
german77
78aa2441d8
nfp: Move IUser class to header and add missing enum and structs
5 years ago
german77
2dba88f9fd
nfp: Sort functions by command number
5 years ago
Morph
e47b5e6a26
general: Rename NewUUID to UUID, and remove the previous UUID impl
This completes the removal of the old UUID implementation.
4 years ago
Morph
26f74468c4
profile: Migrate to the new UUID implementation
4 years ago
Morph
4c1b4cc486
hle: ipc_helpers: Ignore -Wclass-memaccess
This warning is triggered by GCC when copying into non-trivially default constructible types, as it uses the more restrictive std::is_trivial (which includes std::is_trivially_default_constructible) to determine whether memcpy is safe instead of std::is_trivially_copyable.
4 years ago
Morph
da3c2dc90c
service: Migrate to the new UUID implementation
4 years ago
Morph
51c445f7e8
input/hid: Migrate to the new UUID implementation
4 years ago
tech-ticks
be026c6b6d
service: pm: Implement AtmosphereGetProcessInfo
4 years ago
Narr the Reg
2198237e42
yuzu: ui: Improve battery symbols
4 years ago
Lioncash
8a509e5a2c
general: Replace NonCopyable struct with equivalents
4 years ago
Lioncash
2c2e08df02
general: Move deleted copy/move constructor/assignment operators to public 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).
4 years ago
bunnei
1552c524ad
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
- More accurately reflects real kernel behavior by using guest locks.
4 years ago
Narr the Reg
33594225c7
svc: Add 32 bit SynchronizePreemptionState
Used by Espgaluda II
4 years ago
bunnei
1b8ed3a76d
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock 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.
4 years ago
Lioncash
1e57fbe71d
kernel/k_affinity_mask: Remove duplicated assert
This is already checked inside GetCoreBit()
4 years ago
german77
1fca7203d3
input_common: Add option to configure gyro threshold
4 years ago
bunnei
a2731424a6
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
- Previously implementation was incorrect, and would occasionally underflow.
4 years ago