merry
5a37246da6
arm_dynarmic_64: Invalidate on all cores
2022-03-27 15:37:19 +01:00
Fernando S
64222c5f34
Merge pull request #8088 from bunnei/fixup-nvflinger
...
Follow-up fixes for NVFlinger rewrite
2022-03-27 13:09:59 +02:00
bunnei
b149526098
Revert "Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory."
2022-03-26 12:38:30 -07:00
bunnei
533ff8b1a9
hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & UnlockForCodeMemory.
2022-03-26 01:49:34 -07:00
bunnei
003d5761e1
hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory.
2022-03-26 01:46:41 -07:00
merry
e752529c4c
configuration: Add Paranoid CPU accuracy level
...
Disables most optimizations for the paranoid.
2022-03-26 08:46:25 +00:00
bunnei
3beb4d4273
hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space.
2022-03-26 01:35:37 -07:00
bunnei
f84511eb4f
hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer.
...
- This does not seem terribly useful and is inconsistent with other usage.
2022-03-26 01:34:29 -07:00
bunnei
7e6a6bb505
hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical address space.
2022-03-26 01:33:16 -07:00
bunnei
506961d8cc
hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup.
2022-03-26 01:25:52 -07:00
bunnei
416944c501
hle: kernel: k_page_table: Add IsHeapPhysicalAddress method.
2022-03-26 01:23:43 -07:00
bunnei
f5415480de
hle: kernel: k_page_linked_list: Add Empty method.
2022-03-26 01:02:42 -07:00
bunnei
58a4c17e98
hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check.
2022-03-26 01:01:55 -07:00
bunnei
94f381d789
Merge pull request #8041 from Morph1984/inline-swkbd
...
applets/swkbd: Add support for an updated inline software keyboard
2022-03-25 23:19:11 -07:00
bunnei
25e4089d54
hle: service: nvflinger: buffer_queue: Remove AutoLock and fix free buffer tracking.
2022-03-25 23:01:03 -07:00
bunnei
8da842dd90
hle: service: nvflinger: buffer_queue_consumer: Use scoped_lock instead of unique_lock.
2022-03-25 22:59:06 -07:00
bunnei
a2ad35b9ec
hle: service: nvflinger: consumer_base: Use scoped_lock instead of unique_lock.
2022-03-25 22:58:52 -07:00
bunnei
a841fd8034
hle: service: nvflinger: Remove unused BufferQueue.
2022-03-25 22:58:23 -07:00
Fernando Sahmkow
6e2cfc4310
Memory: Don't protect reads on Normal accuracy.
2022-03-25 04:24:25 +01:00
bunnei
f6bcf6c7e2
hle: nvflinger: ConsumerBase: Mark ctor as explicit.
2022-03-24 18:13:34 -07:00
bunnei
fa9f75819a
hle: vi: NativeWindow: Fix trivially copyable issues.
2022-03-24 18:13:34 -07:00
bunnei
4fce11872d
hle: nvdrv: nvdata: buffer_queue_producer: Minor cleanup.
2022-03-24 18:13:34 -07:00
bunnei
f496aa102d
hle: nvdrv: nvdata: Cleanup NvFence static assert.
2022-03-24 18:13:34 -07:00
bunnei
1299876ebe
hle: nvflinger: Remove unused unordered_map include.
2022-03-24 18:13:34 -07:00
bunnei
21d554f464
hle: nvflinger: buffer_queue_consumer: AcquireBuffer: Fix typo.
2022-03-24 18:13:34 -07:00
bunnei
0b6b398bd4
hle: nvflinger: Merge Rect with Common::Rectangle.
2022-03-24 18:13:33 -07:00
bunnei
ea2045efdf
hle: nvflinger: buffer_queue_core: Declare default dtor.
2022-03-24 18:13:33 -07:00
bunnei
2d84848c24
hle: nvflinger: buffer_queue_producer: DequeueBuffer: Remove unnecessary lock.
2022-03-24 18:13:33 -07:00
bunnei
6828db705e
hle: nvflinger: consumer_base: StillTracking: Should be const.
2022-03-24 18:13:33 -07:00
bunnei
e7304f6bd2
hle: nvflinger: graphic_buffer_producer: Remove unnecessary pragma pack.
2022-03-24 18:13:33 -07:00
bunnei
a08c906878
hle: nvflinger: parcel: Reserve token size.
2022-03-24 18:13:33 -07:00
bunnei
e941573bb7
hle: nvflinger: buffer_queue_core: StillTracking: Take const reference.
2022-03-24 18:13:33 -07:00
bunnei
411a53eaf3
hle: nvflinger: buffer_queue_core: Cleanup locking.
2022-03-24 18:13:33 -07:00
bunnei
d89257ddea
hle: nvflinger: Use std::chrono for present_ns.
2022-03-24 18:13:33 -07:00
bunnei
1f6dcd3784
hle: nvflinger: Migrate android namespace -> Service::android.
2022-03-24 18:13:33 -07:00
bunnei
a7f407ab22
hle: nvflinger: BufferQueueProducer: Handle SetPreallocatedBuffer with empty buffer.
...
- Used by Naruto Ultimate Ninja Storm.
2022-03-24 18:13:33 -07:00
bunnei
f1a91e0397
hle: vi: Integrate new NVFlinger and HosBinderDriverServer service.
2022-03-24 18:13:33 -07:00
bunnei
13c1932008
hle: nvflinger: Add implementation for HosBinderDriverServer service.
2022-03-24 18:13:33 -07:00
bunnei
072445a74f
hle: nvflinger: Add implementation for BufferQueueProducer class.
2022-03-24 18:13:33 -07:00
bunnei
12304ee7b6
hle: nvflinger: Add implementation for BufferQueueCore class.
2022-03-24 18:13:33 -07:00
bunnei
3693b78a28
hle: nvflinger: Add implementation for BufferQueueConsumer class.
2022-03-24 18:13:32 -07:00
bunnei
398f63e321
hle: nvflinger: Add implementation for QueueBufferInput and QueueBufferOutput structs.
2022-03-24 18:13:32 -07:00
bunnei
0de0899357
hle: nvflinger: Add implementation for BufferItemConsumer class.
2022-03-24 18:13:32 -07:00
bunnei
1955deb602
hle: nvflinger: Add implementation for ConsumerBase class.
2022-03-24 18:13:32 -07:00
bunnei
e5f998f631
hle: nvflinger: Add implementation for BufferSlot class.
2022-03-24 18:13:32 -07:00
bunnei
a5f9fbabfd
hle: nvflinger: Add implementation for BufferItem class.
2022-03-24 18:13:32 -07:00
bunnei
c1eed4083a
hle: nvflinger: Move implementation for Parcel to its own header.
2022-03-24 18:13:32 -07:00
bunnei
466b74b507
hle: nvflinger: Add android buffer queue definitions to its own header.
2022-03-24 18:13:32 -07:00
bunnei
2112b078a2
hle: nvflinger: Add IBinder interface.
2022-03-24 18:13:32 -07:00
bunnei
753377ebe8
hle: nvflinger: Add IConsumerListener interface.
2022-03-24 18:13:32 -07:00
bunnei
3fdb53d4d5
hle: nvflinger: Add ProducerListener interface.
2022-03-24 18:13:32 -07:00
bunnei
36937d8f31
hle: nvflinger: Add android window enumerations to its own header.
2022-03-24 18:13:32 -07:00
bunnei
6ec03eded9
hle: nvflinger: Add android Status flags to its own header.
2022-03-24 18:13:32 -07:00
bunnei
476f456d2f
hle: nvflinger: Move BufferTransformFlags to its own header.
2022-03-24 18:13:32 -07:00
bunnei
a8ff414423
hle: nvdrv: Rename Fence to NvFence to avoid naming conflicts.
2022-03-24 18:13:32 -07:00
bunnei
3396730b85
hle: nvflinger: Move PixelFormat to its own header.
2022-03-24 18:13:32 -07:00
bunnei
7c04c18560
hle: nvflinger: Add implementation for GraphicBuffer class.
2022-03-24 18:13:32 -07:00
bunnei
d5d04d5684
hle: nvflinger: Add implementation for Fence class.
2022-03-24 18:13:32 -07:00
bunnei
fbd0e594ba
hle: nvflinger: Add implementation for Rect class.
2022-03-24 18:13:32 -07:00
bunnei
853746deb2
Merge pull request #8031 from Morph1984/cleanup-mii-please
...
applets: Cleanup MiiEdit applet implementation
2022-03-22 21:56:42 -07:00
bunnei
89a97915a8
Revert "dynarmic: Reduce size of code caches"
2022-03-22 18:32:54 -07:00
Morph
f7d582a655
applets/swkbd: Split software keyboard initialization
...
Since the CalcArg struct has been updated with a new size and fields, we have to split the initialization of the keyboard into multiple functions.
This also adds support for parsing the new CalcArg struct used by updated versions of Monster Hunter Rise.
2022-03-21 23:58:50 -04:00
Morph
07954ef117
applets/swkbd: Add new inline software keyboard types
...
These were added in newer firmware versions.
2022-03-21 23:58:50 -04:00
Morph
3b6c02f774
applets/mii: Remove unused include
2022-03-21 23:57:31 -04:00
Morph
94be8a907d
applets/mii: Remove frontend parameters
...
These are unused for now as we do not support a frontend implementation.
2022-03-21 23:57:31 -04:00
Morph
67bdfcb7ff
applets/mii: Cleanup MiiEdit applet implementation
...
This also enables proper support for MiiEdit applets which are used in games with firmware versions prior to 10.2.0 by handling the 2 different versions of applet inputs and outputs.
2022-03-21 23:57:31 -04:00
Morph
d91788fe38
applets/mii: Cleanup MiiEdit applet types
2022-03-21 23:57:31 -04:00
Morph
061eceaf0d
applets/mii: Move MiiEdit applet types into its own file
2022-03-21 23:57:31 -04:00
Morph
6e2ff19bc7
service: Move mii enums and structs into its own file
...
Moves these into types.h, since other files also make use of these types.
2022-03-21 23:57:31 -04:00
Morph
a8663c9f5c
applets: Rename Mii to MiiEdit
2022-03-21 23:57:31 -04:00
bunnei
c9ffc287bf
Merge pull request #8048 from ameerj/include-purge
...
general: Reduce unused includes across the project
2022-03-21 18:03:54 -07:00
ameerj
f9709bb9e9
general: Fix clang/gcc build errors
2022-03-20 02:25:09 -04:00
bunnei
15dca3345c
Merge pull request #8040 from Morph1984/handle-table
...
KHandleTable: Optimize table entry layout
2022-03-19 23:17:37 -07:00
ameerj
e70b4f3fc5
common: Reduce unused includes
2022-03-19 15:01:31 -04:00
ameerj
22e01068e1
core: Reduce unused includes
2022-03-19 02:23:32 -04:00
bunnei
4fb93cbb3f
Merge pull request #8028 from v1993/patch-9
...
bsd: Allow inexact match for address length in AcceptImpl
2022-03-18 18:06:13 -07:00
ameerj
1967757627
general: Reduce core.h includes
2022-03-18 02:13:02 -04:00
Morph
c2a970b67d
KHandleTable: Optimize table entry layout
...
Since the handle type is not being used, we can reduce the amount of space each entry takes up by 4 bytes.
2022-03-18 00:28:25 -04:00
bunnei
fdac72a864
Merge pull request #7964 from german77/miiii
...
applet: mii: Simple implementation of mii applet
2022-03-16 21:37:53 -07:00
Valeri
bbf69903e9
bsd: Allow inexact match for address length in AcceptImpl
...
Minecraft passes in zero for length, but this should account for all possible cases
2022-03-15 14:06:34 +03:00
bunnei
1494a66aa3
core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global namespace.
2022-03-14 18:14:54 -07:00
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.
2022-03-14 18:14:54 -07:00
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).
2022-03-14 18:14:54 -07:00
bunnei
58b39c8ad8
core: hle: kernel: Make object list container global and ensure it is reset on each emulation session.
2022-03-14 18:14:54 -07:00
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.
2022-03-14 18:14:54 -07:00
bunnei
b7535cd853
core: hle: kernel: k_process: Remove handle table finalize, reset page table.
2022-03-14 18:14:54 -07:00
bunnei
2b881f4ccc
core: hle: kernel: k_process: Implement thread local storage accurately.
2022-03-14 18:14:54 -07:00
bunnei
c8dba7c578
core: hle: kernel: k_page_table: Add implementations of MapPages, UnmapPages, and FindFreeArea for TLS.
2022-03-14 18:14:54 -07:00
bunnei
cb294300ea
core: hle: kernel: k_slab_heap: Refresh to use guest allocations.
2022-03-14 18:14:54 -07:00
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.
2022-03-14 18:14:54 -07:00
bunnei
8e8d8724a2
core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive.
2022-03-14 18:14:53 -07:00
bunnei
f92568936a
core: hle: kernel: k_page_buffer: Add KPageBuffer primitive.
2022-03-14 18:14:53 -07:00
bunnei
84ced13966
core: hle: kernel: k_thread: Ensure host Fiber is freed.
2022-03-14 18:14:53 -07:00
bunnei
4aa9e8543d
core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed.
2022-03-14 18:14:53 -07:00
bunnei
dfbf03438f
core: hle: service: kernel_helpers: Use system resource limit.
2022-03-14 18:14:53 -07:00
bunnei
c0a2ae3186
core: hle: service: sm: Fix KPort reference count.
2022-03-14 18:14:53 -07:00
bunnei
c5516b1800
core: hle: kernel: k_thread: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
8421193857
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
2022-03-14 18:14:53 -07:00
bunnei
cbf7c2eb40
core: hle: kernel: k_memory_layout: Update kernel slab memory sizes.
2022-03-14 18:14:53 -07:00
bunnei
33c5eca64c
core: hle: kernel: svc_types: Add ThreadLocalRegionSize.
2022-03-14 18:14:53 -07:00
bunnei
bb2c956cf9
core: hle: kernel: k_condition_variable: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
075ae485b1
core: hle: kernel: k_address_arbiter: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
Merry
eb30b2382a
dynarmic: Reduce size of code caches
2022-03-13 22:17:14 +00:00
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.
2022-03-08 17:38:20 -08:00
bunnei
d1aae938a9
Merge pull request #7986 from lat9nq/vk-callback
...
core, video_core: Fix two crashes when failing to create the emulated GPU instance
2022-03-08 12:36:57 -08:00
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.
2022-03-07 17:18:20 -08:00
lat9nq
e3f8340bec
emu_window: Create a way to Cancel the exit of a Scoped
...
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-07 18:21:56 -05:00
lat9nq
7df809b8b1
core: Don't shutdown a null GPU
...
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-07 15:25:20 -05:00
BytesGalore
8f530cbb09
loader: log the type of mismatching file-extension
2022-03-03 06:45:13 +01:00
bunnei
ae301a650e
Merge pull request #7956 from bunnei/improve-mem-manager
...
Kernel Memory Updates (Part 4): Revamp KMemoryManager & other fixes
2022-03-02 17:55:51 -08:00
german77
9188dfafc4
applet: mii: Simple implementation of mii applet
2022-02-28 18:53:41 -06:00
bunnei
82ca8230ad
hle: kernel: Re-create memory layout at initialization.
...
- As this can only be derived once.
2022-02-27 18:00:09 -08:00
bunnei
41c9c93736
hle: kernel: Remove unused pool locals.
2022-02-27 18:00:09 -08:00
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.
2022-02-27 18:00:09 -08:00
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
2022-02-27 19:40:05 +00:00
bunnei
d780096c3c
hle: kernel: k_page_heap: GetPhysicalAddr can be const.
2022-02-27 10:34:02 -08:00
bunnei
00d395c330
hle: kernel: k_page_heap: Remove superfluous consexpr.
2022-02-27 10:34:02 -08:00
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.
2022-02-27 10:34:02 -08:00
bunnei
8ef7b10f92
hle: kernel: Add initial_process.h header.
2022-02-27 10:34:02 -08:00
bunnei
75b111b6de
hle: kernel: board: nx: Add k_memory_layout.h header.
2022-02-27 10:34:02 -08:00
bunnei
99acfba11f
hle: kernel: k_system_control: Add GetRealMemorySize and update GetKernelPhysicalBaseAddress.
2022-02-27 10:34:02 -08:00
bunnei
f562f3780e
hle: kernel: k_memory_layout: Add GetPhysicalLinearRegion.
2022-02-27 10:34:02 -08:00
bunnei
a48d756692
hle: kernel: k_memory_region_types: Update for new regions.
2022-02-27 10:34:02 -08:00
bunnei
2bbcc3d1c4
Merge pull request #7932 from bunnei/extended-mem-layout
...
Add extended memory layout (6GB) support and improve KResourceLimit management
2022-02-26 01:41:08 -08:00
Narr the Reg
273b9b5772
service: am: Update enum names to match documentation
2022-02-21 18:00:50 -06:00
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.
2022-02-21 13:07:19 -08:00
bunnei
b928936457
core: device_memory: Use memory size reported by KSystemControl.
...
- That way, we can consolidate the memory layout to one place.
2022-02-21 13:07:19 -08:00
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.
2022-02-21 12:41:31 -08:00
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.
2022-02-21 12:41:31 -08:00
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.
2022-02-21 12:41:06 -08:00
bunnei
fe48c772e9
core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process.
2022-02-21 12:40:09 -08:00
bunnei
0e50d2914a
Merge pull request #7919 from bunnei/phys-mem-updates
...
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-21 13:39:05 -07:00
bunnei
0b8e6347ee
Merge pull request #7920 from bunnei/fix-unmap-pages
...
core: hle: kernel: KPageTable: Fix UnmapPages.
2022-02-21 13:38:52 -07:00
bunnei
e1af26d5b3
fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-19 00:14:27 -08:00
bunnei
5e81f38950
Merge pull request #7867 from german77/amiibo
...
nfp: Improve amiibo support
2022-02-19 00:57:47 -07:00
bunnei
eb65836f69
core: hle: kernel: KPageTable: Fix UnmapPages.
...
- Fixes a logic bug in KPageTable::UnmapPages.
2022-02-18 23:48:16 -08:00
bunnei
6075031e99
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
...
- Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS.
2022-02-18 23:42:27 -08:00
Mai M
53f6a61ff8
Merge pull request #7866 from xerpi/svc-OutputDebugString32-CreateCodeMemory32-ControlCodeMemory32
...
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
2022-02-16 22:49:56 -05:00
bunnei
3f85da2231
Merge pull request #7878 from german77/mnpp
...
service/mnpp: Stub mnpp_app
2022-02-16 18:42:49 -07:00
Morph
754fde3c90
Merge pull request #7899 from Kelebek1/test
...
file_sys: Dump patched exefs rather than base
2022-02-16 16:37:09 -05:00
Kelebek1
9ae0aaed6a
Dump patched exefs rather than base
2022-02-15 04:52:28 +00:00
Sergi Granell
dbfe017c9f
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
...
Very straightforward, they are just wrappers to the 64-bit version of
the SVC.
2022-02-15 00:45:19 +01:00
bunnei
7cecfa8369
Merge pull request #7871 from german77/svc2
...
svc: Set unique names for function tables
2022-02-14 16:32:54 -07:00
german77
c2942fa5c3
nfp: Allow files without password data
2022-02-13 13:52:34 -06:00
lat9nq
558fef2464
program_metadata: Unpack FileAccessHeader and FileAccessControl
...
Avoids a reference binding to a misaligned addresses. Unpacking one
requires unpacking the other, otherwise there'll be a misaligned address
on the leftover one.
2022-02-13 02:20:56 -05:00
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
2022-02-12 15:42:50 -05:00
bunnei
fa8505dfbb
Merge pull request #7852 from Morph1984/new-uuid
...
common: Revise and fix the UUID implementation
2022-02-10 21:52:13 -07:00
Narr the Reg
4eef3a0cde
service/mnpp: Stub mnpp_app
...
Used in Super Nintendo Entertainment System™ - Nintendo Switch Online
2022-02-10 21:55:28 -06:00
Narr the Reg
11680706a7
nfp: Separate nfc tag from amiibo data
2022-02-10 10:58:37 -06:00
Narr the Reg
d5873beb51
svc: Set unique names for function tables
2022-02-08 21:03:31 -06:00
bunnei
c40b56b554
hle: kernel: KCodeMemory: Remove unused QueryMemory.
2022-02-08 18:49:41 -08:00
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 .
2022-02-08 18:47:11 -08:00
german77
f2b6837fb7
nfp: Address compiler issues
2022-02-08 18:52:44 -06:00
Narr the Reg
bb831fae3a
nfp: Validate amiibo files
2022-02-08 14:09:30 -06:00
german77
68ed8e2388
nfp: Improve implementation
2022-02-08 10:08:04 -06:00
german77
78aa2441d8
nfp: Move IUser class to header and add missing enum and structs
2022-02-07 09:18:22 -06:00
german77
2dba88f9fd
nfp: Sort functions by command number
2022-02-07 09:18:22 -06:00
Morph
58df24fdde
Merge pull request #7847 from tech-ticks/master
...
service: pm: Implement AtmosphereGetProcessInfo
2022-02-05 19:22:45 -05:00
Morph
e47b5e6a26
general: Rename NewUUID to UUID, and remove the previous UUID impl
...
This completes the removal of the old UUID implementation.
2022-02-05 13:56:21 -05:00
Morph
26f74468c4
profile: Migrate to the new UUID implementation
2022-02-05 13:56:21 -05:00
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.
2022-02-05 13:56:20 -05:00
Morph
da3c2dc90c
service: Migrate to the new UUID implementation
2022-02-05 13:18:46 -05:00
Morph
51c445f7e8
input/hid: Migrate to the new UUID implementation
2022-02-05 13:18:41 -05:00
bunnei
5e4fcf041e
Merge pull request #7839 from german77/battery
...
yuzu: ui: Improve battery symbols
2022-02-04 18:23:35 -07:00
tech-ticks
be026c6b6d
service: pm: Implement AtmosphereGetProcessInfo
2022-02-04 01:41:36 +01:00
bunnei
d1c4e9be9b
Merge pull request #7835 from bunnei/page-table-lock
...
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
2022-02-02 17:58:55 -07:00
Narr the Reg
2198237e42
yuzu: ui: Improve battery symbols
2022-02-02 13:18:06 -06:00
Lioncash
8a509e5a2c
general: Replace NonCopyable struct with equivalents
2022-02-02 13:17:12 -05:00
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).
2022-02-02 12:17:08 -05:00
bunnei
1552c524ad
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
...
- More accurately reflects real kernel behavior by using guest locks.
2022-02-01 19:34:24 -08:00
Narr the Reg
33594225c7
svc: Add 32 bit SynchronizePreemptionState
...
Used by Espgaluda II
2022-01-31 19:02:41 -06:00
Morph
d45b236672
Merge pull request #7787 from bunnei/scheduler-deadlock-fix
...
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
2022-01-28 18:30:29 -05:00
bunnei
584eb04402
Merge pull request #7770 from german77/motion-threshold
...
input_common: Add option to configure gyro threshold
2022-01-27 15:44:04 -08:00
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.
2022-01-27 12:17:14 -08:00
bunnei
f73ced739a
Merge pull request #7762 from bunnei/un-map-improve
...
Kernel Memory Updates (Part 4): Improve Un/MapPages, and more.
2022-01-26 17:54:20 -08:00
Morph
c2fd2c56e9
Merge pull request #7771 from lioncash/assert
...
kernel/k_affinity_mask: Remove duplicated assert
2022-01-25 16:15:18 -05:00
Lioncash
1e57fbe71d
kernel/k_affinity_mask: Remove duplicated assert
...
This is already checked inside GetCoreBit()
2022-01-24 10:35:22 -05:00
german77
1fca7203d3
input_common: Add option to configure gyro threshold
2022-01-23 21:54:33 -06:00
bunnei
a2731424a6
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
...
- Previously implementation was incorrect, and would occasionally underflow.
2022-01-22 21:09:45 -08:00
bunnei
912b6b9ef4
core: hle: kernel: KPageTable: Various improvements to MapPages and UnmapPages.
2022-01-22 20:51:34 -08:00
bunnei
c46f07a62a
core: hle: kernel: KPageTable: MapProcessCode: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
4f848b6f68
core: hle: kernel: KPageTable: ReserveTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
bf904afa0f
core: hle: kernel: KPageTable: ResetTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
1b3dd42de4
core: hle: kernel: KPageTable: SetMemoryAttribute: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
05918a20c3
core: hle: kernel: KPageTable: Assert valid address on GetPhysicalAddr.
2022-01-22 01:33:26 -08:00
bunnei
a8476d9db0
core: hle: kernel: KPageTable: Operate: Assert lock ownership.
2022-01-22 01:33:26 -08:00
bunnei
8f3c7cb89b
core: hle: kernel: KPageTable: SetHeapSize: Cleanup & take physical memory lock.
2022-01-22 01:33:26 -08:00
bunnei
24efadee60
core: hle: kernel: Refactor Un/MapPhysicalMemory to remove unnecessary methods.
2022-01-22 01:33:26 -08:00
bunnei
ebb9ec197e
core: hle: kernel: Rename Un/Map to Un/MapMeory.
2022-01-22 01:33:26 -08:00
bunnei
7240568f00
Merge pull request #7737 from bunnei/fix-dummy-thread-leak
...
Various fixes to HLE service thread management
2022-01-21 22:34:47 -08:00
bunnei
606e643378
Merge pull request #7752 from Morph1984/SetCpuOverclockEnabled
...
service: apm: Stub ISession SetCpuOverclockEnabled
2022-01-21 17:13:52 -08:00
bunnei
b3f8d2491d
hle: kernel: KThread: Ensure host (dummy) threads block on locking.
...
- But do not enter the priority queue, as otherwise they will be scheduled.
- Allows dummy threads to use guest synchronization primitives.
2022-01-21 17:12:06 -08:00
Lioncash
46d9dc557c
service/wlan: Update function tables
2022-01-21 16:35:51 -05:00
Lioncash
3599c5f7c8
service/usb: Update function tables
2022-01-21 16:31:57 -05:00
Lioncash
50af00640b
service/set: Update function tables
2022-01-21 16:26:12 -05:00
Lioncash
114ce2ae13
service/ns: Update function tables
2022-01-21 16:21:35 -05:00
Lioncash
41f1cceefe
service/nim: Update unknown function table entries
2022-01-21 16:17:40 -05:00
Lioncash
cc5f02e0a5
service/friend: Update unknown function table entries
2022-01-21 16:08:46 -05:00
Lioncash
ee4adcada2
service/filsystem: Update fsp-srv function table
2022-01-21 16:07:01 -05:00
Lioncash
2495e8d6e1
service/btm: Update function tables
2022-01-21 15:59:41 -05:00
Lioncash
74a98a01de
service/audio: Update audctl unknown function names
2022-01-21 15:50:38 -05:00
Lioncash
aa0d0e91a0
service/am: Update omm function tables
2022-01-21 15:40:08 -05:00
Lioncash
1a50cb9468
service/acc: Update unknown function names
...
Switchbrew has the function names now.
2022-01-21 15:33:22 -05:00
Morph
00dc684fb0
service: apm: Stub ISession SetCpuOverclockEnabled
...
Since we don't currently support CPU overclocking within the emulated system, this can be stubbed for now, like APM IsCpuOverclockEnabled.
- Used by Gravity Rider Zero
2022-01-20 21:07:26 -05:00
bunnei
8f2630de0a
hle: kernel: Remove redundant tracking of dummy threads.
...
- These are already tracked by kernel's registered_objects member.
2022-01-20 17:08:00 -08:00
bunnei
f2e870d6b6
hle: kernel: KThread: DummyThread can be waited, ensure wait_queue is not nullptr.
2022-01-20 17:08:00 -08:00
bunnei
668af26696
hle: kernel: KThread: Decrease DummyThread priority to ensure it is never scheduled.
2022-01-20 17:08:00 -08:00
bunnei
db3c11506b
hle: kernel: service_thread: Ensure dummy thread is closed & destroyed on thread exit.
2022-01-20 17:08:00 -08:00
bunnei
e885b0ab0d
hle: kernel: KServerSession: Remove hack for CompleteSyncRequest.
...
- This does not appear to be necessary anymore.
2022-01-20 17:08:00 -08:00
bunnei
af11abed3f
hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait.
...
- 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 17:08:00 -08:00
bunnei
247a7e2205
hle: kernel: KThread: Ensure dummy threads never call EndWait.
...
- These are only used by host threads for locking and will never have a wait_queue.
2022-01-20 17:08:00 -08:00
bunnei
f1e06f984d
hle: kernel: KScheduler: Ensure dummy threads are never scheduled.
...
- These are only used by host threads for locking.
2022-01-20 17:08:00 -08:00
bunnei
cc4cbff1ca
hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type.
...
- This will be used to ensure that we do not schedule dummy threads.
2022-01-20 17:08:00 -08:00
bunnei
015c2dbd68
Merge pull request #7710 from german77/just-shake-it
...
core/hid: Increment shake force
2022-01-20 16:53:22 -08:00
Morph
ac59980bd0
Merge pull request #7726 from german77/clamp
...
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:31:15 -08:00
german77
d678dfda6e
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:20:31 -06:00
bunnei
70b2b91f71
Merge pull request #7701 from bunnei/clear-mem-pages
...
Kernel Memory Updates (Part 3): Clear KMemoryManager pages & other fixes
2022-01-18 21:20:42 -08:00
bunnei
74407b1348
Merge pull request #7712 from bunnei/fix-thread-exit
...
Accurately implement thread exit
2022-01-17 18:08:24 -08:00
bunnei
4e3c9cdde6
Merge pull request #7732 from v1993/patch-7
...
kernel: remove no-op code
2022-01-17 15:37:16 -08:00
Mai M
2567283d86
Merge pull request #7728 from v1993/patch-4
...
hid: fix std::transform call
2022-01-17 13:43:11 -05:00
Valeri
01852ee857
hle: remove no-op code
...
Found by static analysis with PVS-Studio. Nobody seems to really know what was it doing there.
2022-01-17 13:51:12 +03:00
Valeri
8b3ea1258c
hid: fix std::transform call
...
Found by static analysis with PVS-Studio.
2022-01-17 10:47:38 +03:00
Valeri
347574b398
Correct assignment source for rotations
...
Found by static analysis with PVS-Studio
2022-01-17 10:40:41 +03:00
bunnei
d3702fe297
Merge pull request #7711 from bunnei/fix-service-thread-race-v2
...
hle: kernel: Fix service_threads access to be thread safe V2.
2022-01-14 22:22:39 -08:00
bunnei
4148fde355
hle: kernel: k_memory_manager: Clear pages on allocation & free.
...
- Heap pages should be zero'd.
- Also explicitly passed along heap allocation option.
2022-01-14 21:16:33 -08:00
bunnei
d87fc832f4
Merge pull request #7707 from german77/slow-update
...
service/hid: Decrease motion update rate
2022-01-14 17:13:30 -08:00
bunnei
b52516263d
core: hle: kernel: KThread: Integrate with KWorkerTask and implement DoWorkerTaskImpl.
...
- This is used to terminate a thread asynchronously after it has been exited.
- This fixes a crash that can occur in Pokemon Sword/Shield because a thread is incorrectly closed on svcExitThread, then, the thread is destroyed on svcCloseHandle while it is still scheduled.
- Instead, we now wait for the thread to no longer be scheduled on all cores before destroying it from KWorkerTaskManager, which is accurate to HOS behavior.
2022-01-14 16:44:14 -08:00
bunnei
18969b5d8e
core: hle: kernel: KProcess: Integrate with KWorkerTask and add unimplemented DoWorkerTaskImpl.
2022-01-14 16:44:14 -08:00
bunnei
914431487b
core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates.
...
- This makes our implementations of these more closely match HOS.
2022-01-14 16:44:14 -08:00
bunnei
b6bf119a43
core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.
2022-01-14 16:44:14 -08:00
bunnei
b722faaf7a
core: hle: kernel: Add KWorkerTask and KWorkerTaskManager.
...
- These primitives are used to dispatch asynchronous kernel tasks from KThread and KProcess.
2022-01-14 16:43:59 -08:00
bunnei
fbab3dc017
hle: kernel: Fix service_threads access to be thread safe V2.
...
- PR #7699 attempted to fix CreateServiceThread and ReleaseServiceThread to be thread safe, but inadvertently introduced a possible dead-lock.
- With this PR, we use a worker thread to manage the service thread list, allowing it only to be accessed by a single thread, and guaranteeing threads will not destroy themselves.
- Fixes a rare crash in Pokemon Sword/Shield, I've now run this game for ~12 hours non-stop and am quite confident this is a good solution for this issue.
2022-01-14 16:02:57 -08:00
Narr the Reg
f217849d21
core/hid: Increment shake force
...
With the current settings 2p mode in pokemon let's go wasn't showing up. By making the shake more violent we can make it appear without any effort using the keyboard
2022-01-14 11:11:20 -06:00
Mai M
8fb335ff3f
Merge pull request #7699 from bunnei/fix-service-thread-race
...
hle: kernel: Fix service_threads access to be thread safe.
2022-01-14 00:46:16 -05:00
Mai M
0872f9ff89
Merge pull request #7698 from bunnei/mem-code-memory-updates
...
Kernel Memory Updates (Part 2): SetProcessMemoryPermission, update permissions, and other minor changes.
2022-01-14 00:41:17 -05:00
bunnei
ef9186172f
hle: kernel: Fix service_threads access to be thread safe.
...
- CreateServiceThread and ReleaseServiceThread can be accessed by different threads, uses a lock to make this thread safe.
- Fixes a rare crash in Pokemon Sword/Shield that can occur when a new service thread is being created while an old one is being destroyed.
2022-01-13 21:26:10 -08:00
bunnei
c8933c02cc
Merge pull request #7700 from german77/no-gyro
...
core/hid: Reduce gyro threshold even more
2022-01-13 21:24:41 -08:00
Narr the Reg
01d886a3ba
service/hid: Decrease motion update rate
...
Motion stops working in Mario Tennis in swing mode if the update rate is too fast even when HW it updates at the same speed. 10ms it's the minimum period that the game needs to start working again.
2022-01-12 22:55:33 -06:00
Narr the Reg
56ac40bfc4
core/hid: Reduce gyro threshold even more
2022-01-11 23:15:39 -06:00
bunnei
d45b65b4d9
hle: kernel: k_page_table: Update SetProcessMemoryPermission.
2022-01-11 16:28:11 -08:00
bunnei
7526489b8b
hle: service: ldr: UnmapCodeMemory BSS only when set.
2022-01-11 16:28:11 -08:00
bunnei
84a61db25b
hle: kernel: k_page_table: ReadAndWrite -> UserReadWrite.
2022-01-11 16:28:11 -08:00
bunnei
0942533d2f
hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.
2022-01-11 16:28:11 -08:00
bunnei
e2df1ad6a1
Merge pull request #7684 from bunnei/set-mem-perm-attr
...
Kernel Memory Updates (Part 1): SetMemoryAttribute, and other minor changes.
2022-01-11 16:26:17 -08:00
bunnei
5d1080d2a8
Merge pull request #7633 from german77/hotkeys
...
yuzu: Add controller hotkeys
2022-01-11 10:49:23 -08:00
bunnei
7f49c22fc4
Merge pull request #7682 from german77/udp_fix
...
input_common: Fix UDP controller mappings
2022-01-08 13:41:39 -08:00
bunnei
b227426ae5
core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.
2022-01-08 12:18:14 -08:00
bunnei
090f1c400e
core: hle: kernel: k_page_table: Update CheckMemoryState.
2022-01-08 03:20:57 -08:00
german77
a52791af6b
yuzu: Use pad parameter to choose the correct controller
2022-01-07 16:56:36 -06:00
german77
353317f31e
yuzu: Add controller hotkeys
2022-01-06 21:26:05 -06:00
german77
06d840652f
core/hid: Add home and screenshot button support
2022-01-06 21:11:27 -06:00
german77
f333340a9c
core/hid: Set minimum gyro threshold
2022-01-06 20:05:59 -06:00
bunnei
ccfce4da6f
Merge pull request #7636 from vonchenplus/buffer_queue_query
...
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-04 11:28:49 -08:00
ameerj
664fcdc64b
gpu: Add shut down method to synchronize threads before destruction
2022-01-03 20:47:26 -05:00
ameerj
8badb6f4a7
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
...
This reverts commit 5a612e9217 , reversing
changes made to 2e61bc3d51 .
2022-01-03 20:28:54 -05:00
bunnei
5a612e9217
Merge pull request #7668 from ameerj/fence-stop-token
...
gpu: Use std::stop_token in WaitFence for VSync thread
2022-01-03 16:40:36 -08:00
bunnei
2e61bc3d51
Merge pull request #7664 from german77/fallback
...
core/hid: Add fallback to fullkey controllers
2022-01-03 15:04:37 -08:00
ameerj
0585c60227
gpu: Use std::stop_token in WaitFence for VSync thread
...
Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.
2022-01-03 12:31:33 -05:00
Fernando S
dd9be795bf
Merge pull request #7648 from bunnei/thread-pinning
...
core: hle: kernel: Implement thread pinning.
2022-01-03 02:01:26 +01:00
german77
0e9f010ed6
core/hid: Add fallback to fullkey controllers
2022-01-01 22:01:13 -06:00
bunnei
1b4fa1cba3
Merge pull request #7647 from german77/toad
...
core/hid: Fix controller type validation
2021-12-30 16:54:35 -08:00
bunnei
b12695ddc4
core: hle: kernel: Implement thread pinning.
...
- We largely had the mechanics in place for thread pinning, this change hooks these up.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_thread_pinning.cpp .
2021-12-30 15:50:45 -08:00
german77
5dab578691
core/hid: Fix controller type validation
2021-12-29 22:51:53 -06:00
Feng Chen
064470286d
Remove invalid assertion statement
2021-12-28 18:51:11 +08:00
Feng Chen
669cb21687
Implement few type in bufferqueue query method
2021-12-28 18:51:03 +08:00
bunnei
714dcea191
core: hle: kernel: Updated implementation of svcSetHeapSize.
...
- Updates our svcSetHeapSize with latest HOS, furthermore allowing heap size to properly be extended/shrunk.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_set_heap_size.cpp .
2021-12-28 01:25:20 -08:00
bunnei
5217285536
Merge pull request #7621 from bunnei/set-mem-perm
...
core: hle: kernel: Implement SetMemoryPermission.
2021-12-27 23:33:11 -08:00
bunnei
555481005d
core: hle: kernel: Implement SetMemoryPermission.
...
- Not seen in any games yet, but validated with kernel tests.
2021-12-23 01:10:36 -08:00
bunnei
bc45d0fc1a
core: hle: kernel: KThread: X18 should be a cryptographically random number.
...
- This was added with firmware 11.0.0 (https://switchbrew.org/wiki/11.0.0 ).
- X18 is OR'd by kernel with 1, to make sure it is odd.
2021-12-23 00:03:39 -08:00
bunnei
a1f637a6d0
hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.
...
- Enforce tha the supplied handle is invalid, not valid.
- This gets Witcher 3 booting.
2021-12-21 22:41:23 -08:00
bunnei
d7d066e266
Merge pull request #7481 from german77/gyro-bias
...
service/hid: Improve console motion accuracy
2021-12-21 00:13:54 -08:00
bunnei
3f3eb16bc9
Merge pull request #7597 from bunnei/remove-global-lock
...
core: hle: Remove global HLE lock.
2021-12-20 14:24:50 -08:00
ameerj
1fff9ea35e
kernel: Manually destroy the current process during shut down
...
Avoids a memory leak.
2021-12-19 01:38:25 -05:00
Morph
5d73d0b0ae
Merge pull request #7593 from german77/brrr_test
...
core/hid: Cancel any vibration after the test
2021-12-18 15:53:15 -05:00
bunnei
acd1fff964
core: loader: kip: Minimal changes to fix KIP loading.
...
- Allows us to boot KIP (kernal apps), useful for testing the kernel.
2021-12-17 23:08:51 -08:00
bunnei
5192e8e092
core: hle: Remove global HLE lock.
...
- This was added early on as a hack to protect against some concurrency issues.
- It's not clear that this serves any purpose anymore, and if it does, individual components should be fixed rather than using a global recursive mutex.
2021-12-17 16:05:51 -08:00
Narr the Reg
3554c18269
core/hid: Cancel any vibration after the test
2021-12-16 13:35:15 -06:00
Narr the Reg
3e0a577553
core/hid: Fix faulty analog triggers
2021-12-14 19:49:44 -06:00
Lioncash
726de453bb
common/input: Avoid numerous large copies of CallbackStatus
...
CallbackStatus instances aren't the cheapest things to copy around
(relative to everything else), given that they're currently 520 bytes in
size and are currently copied numerous times when callbacks are invoked.
Instead, we can pass the status by const reference to avoid all the
copying.
2021-12-13 21:22:02 -05:00
Valeri
295b676fe6
Remove erroneous #pragma once
2021-12-13 16:49:01 +03:00
bunnei
5273e0665e
Merge pull request #7462 from bunnei/kernel-improve-scheduling
...
Kernel: Improve threading & scheduling V3
2021-12-12 22:43:25 -08:00
Narr the Reg
66a86f54af
service/hid: Improve console motion accuracy
2021-12-12 23:26:04 -06:00
bunnei
99f7732667
Merge pull request #7519 from itsmeft24/master
...
kernel: svc: Implement ProcessMemory and CodeMemory SVCs
2021-12-09 00:29:09 -08:00
bunnei
abecd3905d
Merge pull request #7525 from german77/notifa
...
service/notif: Add notif:a and stub ListAlarmSettings, Initialize
2021-12-07 23:31:44 -08:00
bunnei
d3b0025bd1
Merge pull request #7521 from german77/dual_single_joycons
...
service/hid: Implement SetNpadJoyAssignmentMode
2021-12-07 21:03:42 -08:00
bunnei
962a2a65a0
Merge pull request #7488 from vonchenplus/support_multiple_videos_playing
...
Support multiple videos playing
2021-12-07 18:38:14 -08:00
itsmeft24
9a28199c5a
Update k_code_memory.h
2021-12-07 16:58:23 -05:00
itsmeft24
4b0b2d7d1d
make KCodeMemory::GetSourceAddress const
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-12-07 07:58:33 -05:00
bunnei
5788e077cd
hle: kernel k_scheduler: EnableScheduling: Remove redundant GetCurrentThreadPointer calls.
2021-12-06 16:39:18 -08:00
bunnei
1b1ed86ec7
hle: kernel k_process: Remove unnecessary .at usage with thread pinning methods.
2021-12-06 16:39:18 -08:00
bunnei
38a6477770
hle: kernel: Remove unnecessary virtual specifier on NotifyAvailable.
2021-12-06 16:39:18 -08:00
bunnei
829c4b6144
hle: kernel: Remove unnecessary virtual specifier on EndWait.
2021-12-06 16:39:18 -08:00
bunnei
1457a75a40
hle: kernel: k_light_condition_variable: Revert unnecessary license comment changes.
2021-12-06 16:39:18 -08:00
bunnei
cd4582dc8b
hle: kernel: k_condition_variable: Revert unnecessary style changes.
2021-12-06 16:39:18 -08:00
bunnei
4b2aa52da9
hle: kernel: Remove unnecessary virtual specifier on CancelWait.
2021-12-06 16:39:18 -08:00
bunnei
273223d5f1
hle: kernel: service_thread: Force stop threads on destruction.
2021-12-06 16:39:18 -08:00
bunnei
0231cbd79f
hle: kernel: k_light_lock: Implement CancelWait.
...
- Fixes a crash in Megadimension Neptunia VII.
2021-12-06 16:39:18 -08:00
bunnei
d17b7268f6
hle: kernel: service_thread: Use std::jthread.
...
- Fixes a potential deadlock on service thread shutdown.
2021-12-06 16:39:18 -08:00
bunnei
b5970145a5
hle: kernel: k_thread: Skip reschedule on DisableDispatch with SC.
2021-12-06 16:39:18 -08:00
bunnei
6d2bf18df9
hle: kernel: k_thread: Rename sleeping_queue -> wait_queue.
2021-12-06 16:39:18 -08:00
bunnei
43d706c7d2
hle: kernel: svc: Fix deadlock that can occur with single core.
2021-12-06 16:39:18 -08:00
bunnei
826b07162a
hle: kernel: k_thread: Treat dummy threads as a special type.
2021-12-06 16:39:18 -08:00
FernandoS27
8a38790bd3
hle: kernel: fix timing on thread preemption
2021-12-06 16:39:18 -08:00
FernandoS27
2a7b4489a0
hle: kernel: fix scheduling ops from HLE host thread.
2021-12-06 16:39:17 -08:00
bunnei
58da4d5a6e
hle: kernel: Add a flag for indicating that the kernel is currently shutting down.
2021-12-06 16:39:17 -08:00
bunnei
975a4f786b
hle: kernel: KSynchronizationObject: Fix variable shadowing.
2021-12-06 16:39:17 -08:00
bunnei
eb34276885
hle: kernel: Cleanup to match coding style.
2021-12-06 16:39:17 -08:00
bunnei
8fc7d6e631
hle: kernel: KProcess: Improvements for thread pinning.
2021-12-06 16:39:17 -08:00
bunnei
e9231a0b8c
hle: kernel: KThreadQueue: Remove deprecated code.
2021-12-06 16:39:17 -08:00
bunnei
ecd17bbbe4
hle: kernel: KConditionVariable: Various updates & simplifications.
2021-12-06 16:39:17 -08:00
bunnei
050a4270d6
hle: kernel: KThread: Migrate to updated KThreadQueue (part 2).
2021-12-06 16:39:17 -08:00
bunnei
778f03c57a
hle: kernel: KThread: Migrate to updated KThreadQueue (part 1).
2021-12-06 16:39:17 -08:00
bunnei
756fdcbdb1
hle: kernel: KConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
f81a6a07c0
hle: kernel: KServerSession: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
346f6e54b5
hle: kernel: KLightConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
5ff19c33fc
hle: kernel: KLightLock: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
2ff578f0ee
hle: kernel: KAddressArbiter: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
0ad0543cde
hle: kernel: KThread: Remove tracking of sync object from threads.
2021-12-06 16:39:17 -08:00
bunnei
e9cdb3cccb
hle: kernel: Update KThreadQueue and migrate KSynchronizationObject.
2021-12-06 16:39:17 -08:00
bunnei
01b0e5b168
core: hle: kernel: Disable dispatch count tracking on single core.
...
- This would have limited value, and would be a mess to handle properly.
2021-12-06 16:39:17 -08:00
bunnei
a3dd417cbf
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
2021-12-06 16:39:17 -08:00
bunnei
6fd0256f77
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
2021-12-06 16:39:17 -08:00
bunnei
5892c23e30
core: hle: kernel: k_auto_object: Add GetName method.
...
- Useful purely for debugging.
2021-12-06 16:39:16 -08:00
bunnei
51a7f04b81
core: hle: kernel: DisableDispatch on suspend threads.
2021-12-06 16:39:16 -08:00
bunnei
d31fc39e05
core: hle: kernel: k_scheduler: Improve DisableScheduling and EnableScheduling.
2021-12-06 16:39:16 -08:00
bunnei
1d5872511c
core: cpu_manager: Use KScopedDisableDispatch.
2021-12-06 16:39:16 -08:00
bunnei
3a83c9c027
core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate.
2021-12-06 16:39:16 -08:00
bunnei
1e03387d98
core: hle: kernel: k_scheduler: Remove unnecessary MakeCurrentProcess.
2021-12-06 16:39:16 -08:00
bunnei
454970983d
core: hle: kernel: k_scheduler: Improve ScheduleImpl.
2021-12-06 16:39:16 -08:00
bunnei
90310b9c03
core: hle: kernel: k_scheduler: Improve Unload.
2021-12-06 16:39:16 -08:00
bunnei
3ca8aca719
core: hle: kernel: k_process: DisableDispatch on main thread.
2021-12-06 16:39:16 -08:00
bunnei
67e8861da4
core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary.
2021-12-06 16:39:16 -08:00
bunnei
4bd80abd17
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
2021-12-06 16:39:16 -08:00
bunnei
fa26f905c8
core: hle: kernel: Ensure idle threads are closed before destroying scheduler.
2021-12-06 16:39:16 -08:00
bunnei
cae0bef7ec
core: hle: kernel: Reflect non-emulated threads as core 3.
2021-12-06 16:39:16 -08:00
bunnei
3809ab520b
Merge pull request #7524 from german77/hid_stub
...
service/hid: Stub SetNpadCaptureButtonAssignment and ClearNpadCaptureButtonAssignment
2021-12-06 13:06:18 -08:00
german77
57ceda21b7
service/notif: Add notif:a and stub ListAlarmSettings,Initialize
...
Used by ring fit adventure 1.2.0
2021-12-06 10:36:37 -06:00
itsmeft24
01d66693ce
fix formatting
2021-12-06 11:02:33 -05:00
itsmeft24
329e58ad79
move private members below public members
2021-12-06 10:37:13 -05:00
itsmeft24
1dcb18cf3e
fix formatting
2021-12-06 10:37:09 -05:00
itsmeft24
c1a1ffa949
fix formatting
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-12-06 07:58:28 -05:00
german77
df845d5d6e
service/hid: Stub SetNpadCaptureButtonAssignment and ClearNpadCaptureButtonAssignment
...
Used by ring fit adventure 1.2.0
2021-12-05 22:44:31 -06:00
jam1garner
9ea4d9cb8c
loader: Support loading subsdk{8,9}
2021-12-05 23:07:50 -05:00
itsmeft24
3df8201e46
fix formatting
2021-12-05 19:00:29 -05:00
itsmeft24
291a398405
Remove unnecessary includes
2021-12-05 18:49:40 -05:00
german77
2352826bf7
service/hid: Implement SetNpadJoyAssignmentMode
2021-12-05 16:18:23 -06:00
itsmeft24
c27936368a
Add copyright notice
2021-12-05 16:49:52 -05:00
ameerj
8969273d2d
general: Add missing copyright notices
2021-12-05 16:18:53 -05:00
itsmeft24
e380100026
Add KCodeMemory to CMakeLists.txt
2021-12-05 15:56:44 -05:00
itsmeft24
033c9dff92
kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory
...
Used by Skyline modding framework
2021-12-05 15:04:08 -05:00
german77
2ba6890141
core/hid: Add missing controller type
2021-12-05 13:57:59 -06:00
german77
5fae083bc3
core/hid: Ensure only valid npad are connected
2021-12-04 23:20:18 -06:00
Feng Chen
4a3c1192b8
Address feedback
2021-12-05 00:06:14 +08:00
bunnei
89d029ff31
Merge pull request #7489 from Morph1984/steady-clock
...
general: Replace high_resolution_clock with steady_clock
2021-12-03 16:08:20 -08:00
Morph
f650d11a53
service: am: ISelfController: Stub SaveCurrentScreenshot
...
- Used by Disney Magical World 2: Enchanted Edition
2021-12-02 20:12:24 -05:00
Morph
2b9afa4d56
general: Replace high_resolution_clock with steady_clock
...
On some OSes, high_resolution_clock is an alias to system_clock and is not monotonic in nature. Replace this with steady_clock.
2021-12-02 14:20:43 -05:00
Feng Chen
10cc89bfdf
Support multiple videos playing
2021-12-02 12:48:42 +08:00
Morph
2bd51ec9e5
service: friend: Implement GetCompletionEvent
...
- Used by Super Bomberman R Online
2021-11-30 12:19:21 -05:00
Morph
ef31afb71f
input_interpreter: Make use of NpadButton instead of a u64
...
Allows us to be more explicit with the representation of button states and use the provided bit manipulation operators
2021-11-29 19:21:51 -05:00
Morph
f34773ee36
npad: Return NpadButton in GetAndResetPressState
...
We were previously truncating this to a u32 as there were no known buttons that used the full 64 bits of this type. Fix this now that we know they are used.
2021-11-29 19:21:51 -05:00
Morph
978c1c2853
core: hid: hid_types: Add "All" to NpadButton
...
This represents a bitmask for all pressed buttons
2021-11-29 19:21:51 -05:00
Morph
715d4bdbc6
core: hid: hid_core: Add (Enable/DIsable)AllControllerConfiguration
2021-11-29 17:59:58 -05:00
Morph
726d16f266
general: Fix handheld typo
2021-11-29 17:22:59 -05:00
Morph
bc2f114e75
core: hid: Mark constructors as explicit
2021-11-29 17:20:15 -05:00
Morph
24b6822c56
core: hid: Cleanup and amend documentation
2021-11-29 17:20:14 -05:00
bunnei
05cd56b716
Merge pull request #7438 from german77/homebrew2
...
Core: Stub services and functions needed for checkpoint
2021-11-28 00:54:48 -08:00
Narr the Reg
9139019352
core/ns: Implement GetReadOnlyApplicationControlDataInterface
...
Used in checkpoint homebrew
2021-11-27 20:30:16 -06:00
Narr the Reg
979bdaeddd
core/pdm: Stub QueryPlayStatisticsByApplicationIdAndUserAccountId
...
Used in checkpoint homebrew
2021-11-27 20:30:16 -06:00
german77
b7357d95a7
settings: Add debug setting to enable all controllers
2021-11-27 20:24:37 -06:00
Narr the Reg
297b5accab
core/hid: Stub GetUniquePadsFromNpad
...
Used in checkpoint homebrew
2021-11-27 09:03:10 -06:00
german77
8df8dd6c5c
config: Remove vibration configuration
2021-11-26 19:31:04 -06:00
Narr the Reg
7b56b2cab6
input_common: Fully implement UDP controllers
2021-11-26 15:46:36 -06:00
Narr the Reg
d20817d2f1
service/hid: Finish converting LIFO objects and address some nits
2021-11-24 20:30:29 -06:00
german77
af121ded18
bootmanager: Use cross-platform keyboard input
2021-11-24 20:30:28 -06:00
german77
30de38ee7f
kraken: Address comments from review
...
Fix compiler bug
2021-11-24 20:30:28 -06:00
german77
25521cd948
core/hid: Improve accuary of mouse implementation
2021-11-24 20:30:28 -06:00
german77
dfb63175d1
core/hid: Fully implement native mouse
2021-11-24 20:30:28 -06:00
german77
6032358402
input_common: Allow keyboard to be backwards compatible
2021-11-24 20:30:28 -06:00
german77
ebfe40dec8
core/hid: Improve accuracy of the keyboard implementation
2021-11-24 20:30:28 -06:00
german77
41dbb2d3cb
core/hid: Fix keyboard alignment
2021-11-24 20:30:28 -06:00
german77
99485a06a7
core/hid: Remove usage of native types, fix a couple of errors with motion
2021-11-24 20:30:28 -06:00
german77
d12525737a
service/hid: Remove includes of core.h and settings.h
2021-11-24 20:30:27 -06:00
german77
8d9d6516fd
service/hid: Add support for new controllers
2021-11-24 20:30:27 -06:00
german77
0cf8201c5d
settings: Fix controller preview not displaying the correct controller
2021-11-24 20:30:27 -06:00
german77
8517d89be0
core/hid: Rename NpadType to NpadStyleIndex
2021-11-24 20:30:27 -06:00
german77
ddcdaac727
config: Cleanup and documentation
2021-11-24 20:30:27 -06:00
german77
a4cdafed54
core/hid: Prevent Emulated controller from flapping with multiple inputs devices
2021-11-24 20:30:27 -06:00
german77
93997b234f
core/hid: Fully emulate motion from button
2021-11-24 20:30:27 -06:00
german77
4736326a05
second commit lion review
2021-11-24 20:30:26 -06:00
german77
a8852024b6
settings: Fix Debug controller type options
2021-11-24 20:30:26 -06:00
german77
9f91335a71
kraken: Address comments from review
...
start lion review
2021-11-24 20:30:26 -06:00
german77
f63c6fce6d
input_common: Revert deleted TAS functions
2021-11-24 20:30:26 -06:00
german77
df91c97a36
core/hid: Explain better what a temporary value does
2021-11-24 20:30:26 -06:00
german77
92a9205566
core/hid: Update structs to 13.1.0
2021-11-24 20:30:26 -06:00
german77
d0389d2971
core/hid: Add TAS input
2021-11-24 20:30:26 -06:00
german77
124404e756
input_common: Add multiple vibration curves
2021-11-24 20:30:26 -06:00
german77
012691087a
core/hid: Rework battery mappings
2021-11-24 20:30:26 -06:00
german77
ae6ba2c8bd
input_common: Add manual update options to input devices
2021-11-24 20:30:26 -06:00
german77
c545dca53b
service/hid: Fix memory allocated incorrectly
2021-11-24 20:30:25 -06:00
german77
d1bac9024d
settings: Fix mouse and keyboard mappings
2021-11-24 20:30:25 -06:00
german77
d813cbd592
Morph review first wave
2021-11-24 20:30:25 -06:00
german77
ecb9ca0dc2
service/hid: Match shared memory closer to HW
2021-11-24 20:30:25 -06:00
german77
498dd14bc7
yuzu: Fix loading input profiles
2021-11-24 20:30:25 -06:00
german77
b3f59b4407
kraken: Address comments from review
...
review fixes
2021-11-24 20:30:25 -06:00
german77
1f0a7a8bca
service/hid: Use ring buffer for gestures
2021-11-24 20:30:25 -06:00
german77
8ea02d19a1
service/hid: Fix gesture input
2021-11-24 20:30:25 -06:00
german77
6774c7988b
configuration: Migrate controller settings to emulated controller
2021-11-24 20:30:25 -06:00
german77
6c7814bc9c
core/hid: Fix rumble too strong at 1%
2021-11-24 20:30:24 -06:00
german77
00f654cd22
core/hid: Only signal when needed
2021-11-24 20:30:24 -06:00
german77
88cb39be9f
hid: Fix controller connection/disconnection
2021-11-24 20:30:24 -06:00
german77
c39001eaa6
core/hid: Documment some files
2021-11-24 20:30:24 -06:00
german77
0292fe0198
kraken: Fix errors from rebase and format files
2021-11-24 20:30:24 -06:00
german77
66cf94709a
core/hid: Add output devices
2021-11-24 20:30:24 -06:00
german77
a197599d08
core: Update input interpreter
2021-11-24 20:30:24 -06:00
german77
d879443146
core/frontend: Update applets
2021-11-24 20:30:24 -06:00
german77
9f38fa7ffe
core: Remove frontend/input
2021-11-24 20:30:24 -06:00
german77
0655b8da59
service/hid: Rewrite npad to use ring lifo and the emulated controller
2021-11-24 20:30:24 -06:00
german77
8b1126f80e
service/hid: Update console sixaxis to the emulated console
2021-11-24 20:30:24 -06:00
german77
6b6628651f
service/hid: Update mouse and keyboard to use ring lifo and the emulated device
2021-11-24 20:30:24 -06:00
german77
9c28d458bd
service/hid: Update touch and gestures to use ring lifo and the emulated console
2021-11-24 20:30:24 -06:00
german77
b749bd7498
service/hid: Update debug pad, xpad, stubbed and controller base to use ring lifo and the emulated controller
2021-11-24 20:30:23 -06:00
german77
70a0aba81d
service/hid: Use remove duplicated code, update names
2021-11-24 20:30:23 -06:00
german77
461b19a681
service/hid: Create ring LIFO
2021-11-24 20:30:23 -06:00
german77
84bda35f14
settings: Cleanup settings
2021-11-24 20:30:23 -06:00
german77
d2f31e805b
core/emu_window: Remove touch input
2021-11-24 20:30:23 -06:00
german77
4f3c5f0101
core: Register HID
2021-11-24 20:30:23 -06:00
german77
5298dba88e
core/hid: Add emulated controllers
2021-11-24 20:30:23 -06:00
german77
61e34f0759
core/hid: Move motion_input, create input converter and hid_types
2021-11-24 20:30:22 -06:00
german77
341d3e2f11
core/hid: Move input_interpreter to hid
2021-11-24 20:30:22 -06:00
bunnei
1d8b5271b4
Merge pull request #7394 from Morph1984/svc-SetMemoryPermission
...
kernel: svc: Implement SetProcessMemoryPermission
2021-11-22 14:06:09 -08:00
jam1garner
4b9926e608
arm: dynarmic: Cleanup icache op handling
2021-11-21 22:44:13 -05:00
jam1garner
068124d506
arm: dynarmic: Implement icache op handling for 'ic iallu' instruction
2021-11-21 21:18:56 -05:00
jam1garner
3f51dd23da
arm: dynarmic: Implement icache op handling for 'ic ivau' instruction
2021-11-21 21:10:14 -05:00
bunnei
15212de85a
Merge pull request #7389 from ameerj/screenshot-1x
...
Fix screenshot dimensions when at 1x scale
2021-11-21 02:31:32 -08:00
bunnei
bdacff6b39
Merge pull request #7359 from heinermann/kthread_crash
...
Fix crash on exit due to static scoped dummy threads
2021-11-20 23:59:58 -08:00
Morph
463793ccb5
kernel: svc: Move all IsValid functions to an anonymous namespace
2021-11-20 22:49:13 -05:00
Morph
64079bc2f2
kernel: svc: Implement SetProcessMemoryPermission
...
- Used by Skyline modding framework
2021-11-20 22:18:56 -05:00
Morph
d9bfc2d546
kernel: KPageTable: Rename SetCodeMemoryPermission to SetProcessMemoryPermission
2021-11-20 22:18:56 -05:00
Morph
a1da80a1cd
service: pm: Implement AtmosphereGetProcessId
...
- Used by Skyline modding framework
2021-11-20 20:56:29 -05:00
Morph
5ed5db7883
service: pm: Add all relevant result codes
2021-11-20 20:56:28 -05:00
Morph
20ac4fd61b
service: pm: Rename title id to program id
2021-11-20 19:39:26 -05:00
ameerj
69759e55ee
Fix screenshot dimensions when at 1x scale
...
This was regressed by ART.
Prior to ART, the screenshots were saved at the title's framebuffer resolution. A misunderstanding of the existing logic led to screenshot dimensions becoming dependent on the host render window size.
This changes the behavior to match how it was prior to ART at 1x, with screenshots now always being the title's framebuffer dimensions scaled by the resolution scaling factor.
2021-11-20 17:50:24 -05:00
Adam Heinermann
fc017ead67
Fix crash on exit due to static scoped dummy threads
2021-11-17 15:29:25 -08:00
ameerj
4919d2d00f
bootmanager: Fix screenshot resolution factor usage
...
Fixes screenshots at non integer scaling
2021-11-16 22:11:30 +01:00
Fernando Sahmkow
fcae5dab7b
Settings: eliminate rescaling_factor.
2021-11-16 22:11:27 +01:00
OatmealDome
3a4b8bac08
program_metadata: Add default ThreadInfo kernel capability
2021-11-10 22:01:05 -05:00
Morph
6e09e0f8ed
applets/swkbd: Fix text check message encoding
...
The text check message can be encoded in UTF-8.
2021-11-08 14:57:53 -05:00
Morph
ab736f254f
applets/swkbd: Skip text checking if the text has been confirmed
...
Confirm means that the text has already been checked by the application to be correct, but is asking the user for confirmation.
The confirmation text itself seems to be corrupted though, this needs to be investigated.
Fixes the software keyboard in Famicom Detective Club: The Missing Heir
2021-11-08 13:05:50 -05:00
Narr the Reg
22ab930f36
service/pctl: Stub EndFreeCommunication
...
- Used by Just Dance 2022
2021-11-05 12:16:19 -04:00
Morph
86d6531083
Merge pull request #7279 from Morph1984/system-get-program-id
...
general: Get the current process program id directly from the system
2021-11-04 20:34:20 -04:00
Morph
d60da025cf
Merge pull request #7289 from ameerj/perf-stat-shutdown
...
core: Reorder perf_stats destruction order on Shutdown
2021-11-04 20:34:09 -04:00
ameerj
a09800057a
core: Reorder perf_stats destruction order on Shutdown
...
Avoids the gpu_core using perf_stats after it's been freed.
2021-11-04 20:19:58 -04:00
Fernando S
fceef14159
Merge pull request #7287 from Morph1984/stub-aoc
...
service: aoc: Stub more 13.x functions used by Animal Crossing
2021-11-05 00:26:10 +01:00
Morph
41a0c088ba
general: Get the current process program id directly from the system
...
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04 16:59:39 -04:00
Morph
10508e7af2
general: Rename GetTitleID to GetProgramID
2021-11-04 16:57:16 -04:00
bunnei
0a2f5932e2
Merge pull request #7282 from ameerj/core-includes
...
core: Reduce unused header includes
2021-11-04 13:56:10 -07:00
Morph
f6eb11caca
service: aoc: Stub NotifyUnmountAddOnContent
...
Used by Animal Crossing: New Horizons v2.0.0 DLC
2021-11-04 16:50:08 -04:00
Morph
8096484995
service: aoc: Stub NotifyMountAddOnContent and NotifyMountAddOnContent
...
Used by Animal Crossing: New Horizons v2.0.0 DLC
2021-11-04 16:48:47 -04:00
german77
c3e27a75b1
service/acc: Rename Unknown160 to InitializeApplicationInfoV2
2021-11-04 10:10:58 -06:00
Morph
22584e2ade
service: acc: Stub acc:u0 '160'
...
- Used by Animal Crossing: New Horizons v2.0.0
Since the name is currently unknown, '160' is used as a placeholder.
2021-11-04 02:57:13 -04:00
ameerj
a3d1429aa5
core: Fix transitive include build errors
2021-11-03 21:42:58 -04:00
ameerj
d27abf5546
core: Remove unused includes
2021-11-03 21:42:57 -04:00
Morph
c3c09ca222
svc: Correct WaitSynchronization num_handles param type
...
num_handles is a s32
2021-11-02 22:31:04 -04:00
Morph
fddd57db61
general: Remove MakeResult helpers
...
This is made obsolete by the presence of implicit constructors.
2021-11-02 17:23:19 -04:00
Morph
13a85dcad5
hle/result: Amend ResultVal documentation
...
This amends the documentation slightly to reflect the updated interface.
2021-11-02 15:20:36 -04:00
Morph
44dc3bd9a9
hle/result: Reimplement ResultVal using Common::Expected
...
Common::Expected effectively provides the same functions as ResultVal, so we can implement it with this.
This can be replaced with std::expected with minimal effort should it be standardized in the C++ Standard Template Library.
2021-11-02 15:20:35 -04:00
bunnei
58377818a1
Merge pull request #7227 from vonchenplus/fix_memory_leak_v2
...
Fix memory leak v2
2021-11-01 20:11:30 -07:00
bunnei
25b17a3ae0
Merge pull request #7244 from Morph1984/application-lang-pt-br
...
file_sys/ns: Add Brazilian Portuguese to the list of ApplicationLanguage
2021-10-29 22:32:38 -07:00
bunnei
b9a3be8125
Merge pull request #7240 from Morph1984/resultval-remove-cv
...
hle/result: Remove cv-qualifiers from Arg in MakeResult
2021-10-29 21:35:32 -07:00
Morph
a901de67c6
file_sys: control_metadata: Add BrazilianPortuguese
2021-10-28 20:05:26 -04:00
Morph
6616cd1b59
ns: language: Add BrazilianPortuguese to ApplicationLanguage
...
It seems that Nintendo finally filled that last empty spot in ApplicationLanguage for a total of 16 supported languages.
2021-10-28 20:05:05 -04:00
Morph
55362bccd9
hle/result: Declare copy/move constructor/assignment as noexcept
...
While we're at it, we can also declare these copy/move constructor/assignment as noexcept.
2021-10-28 04:00:21 -04:00
Morph
696c2cec31
hle/result: Add move assignment operator in ResultVal
...
ResultVal was missing a move assignment operator, add it.
2021-10-28 03:52:21 -04:00
Morph
498f7ed966
hle/result: Remove cv-qualifiers from Arg in MakeResult
...
This removes the const qualification for types when MakeResult(arg) is used in a const member function, allowing for automatic deduction and removing the need to manually specify the non-const type as the template argument.
2021-10-28 03:07:18 -04:00
Feng Chen
60df1f9030
Fix dangling kernel objects when exiting
2021-10-27 09:06:30 +08:00
Feng Chen
301d0ac5e0
Revert PR7009
2021-10-27 09:06:30 +08:00
Feng Chen
c13d1e0b0f
Fix memory leak
2021-10-27 09:06:22 +08:00
Morph
875a6f4432
Merge pull request #7193 from FernandoS27/idle
...
SVC: Implement svcInfo:IdleTickCount
2021-10-25 09:17:49 -04:00
Ameer J
2086226f1c
Merge pull request #7218 from bylaws/aswdqdsam
...
Fixup channel submit IOCTL syncpoint parameters
2021-10-24 19:35:00 -04:00
Andrew Strelsky
5179872db6
Fixed ARM_Dynamic_64 Step
2021-10-24 11:16:32 -04:00
Billy Laws
d53ca1dfdf
Fixup channel submit IOCTL syncpoint parameters
...
The current arguments worked by happenstance as games only ever submit
one syncpoint and request one fence back, if a game were to do something
other than this then the arguments would've been parsed entirely wrong.
2021-10-24 00:01:35 +01:00
bunnei
1637f6a578
Merge pull request #7198 from ameerj/settings-chrono
...
settings: Remove std::chrono usage
2021-10-19 09:55:50 -07:00
bunnei
1b75cdaf19
Merge pull request #7173 from Morph1984/invalidate-unmap
...
KPageTable: Perform ranged invalidation when unmapping code memory
2021-10-17 03:25:26 -07:00
ameerj
6cfd975469
settings: Remove std::chrono usage
...
Alleviates the dependency on chrono for all files that include settings.h
2021-10-17 00:37:49 -04:00
Fernando Sahmkow
69b1cad803
SVC: Implement svcInfo:IdleTickCount
...
Used by the Witcher 3
2021-10-16 20:33:44 +02:00
bunnei
fed3ca02b1
Merge pull request #7187 from FernandoS27/boy-i-say-boy
...
NVHost_Ctrl: Force wait if the gpu falls behind too long.
2021-10-15 16:14:32 -07:00
Feng Chen
e0d5680fc2
service/vi: Stub IHOSBinderDriver::TransactParcel GetBufferHistory ( #7184 )
2021-10-15 18:50:45 -04:00
Fernando Sahmkow
3aaf788385
NvHost/Core: Address Feedback.
2021-10-16 00:23:27 +02:00
FernandoS27
50495de641
Suspend temporally
2021-10-16 00:23:23 +02:00
FernandoS27
d265a37688
NVHost_Ctrl: Force wait if the gpu falls behind too long.
2021-10-16 00:22:01 +02:00
Morph
458ab5a916
core: Move ResultStatus outside of System
...
Allows it to be a forward declaration in other header files.
2021-10-15 17:34:49 -04:00
Morph
3de2a8ba2c
core: Remove static system instance
2021-10-15 17:34:48 -04:00
Morph
c7f9f19c64
KPageTable: Perform ranged invalidation when unmapping code memory
...
Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
2021-10-13 14:27:11 -04:00
Morph
df32c5e496
Merge pull request #7110 from vonchenplus/fix_extract_offline_romefs_error
...
applets/web: Fallback to loader to get the manual romfs if none is found
2021-10-11 02:09:42 -04:00
Feng Chen
bd64cc420f
applets/web: Fallback to loader to get the manual romfs if none is found
2021-10-11 13:12:51 +08:00
Morph
6bc7f27655
kernel: hle_ipc: Foward declare KAutoObject
2021-10-07 13:32:36 -04:00
Morph
52fa30ab7d
service: Reduce header include overhead
2021-10-07 13:32:21 -04:00
Fernando S
d40819cfb1
Merge pull request #7118 from ameerj/vc-gpu-impl
...
gpu: Migrate implementation to the cpp file
2021-10-06 20:02:31 +02:00
bunnei
7d40321e67
Merge pull request #7115 from ameerj/log-compile
...
common/logging: Reduce dependent header include overhead
2021-10-05 10:05:46 -07:00
bunnei
8234e911f2
Merge pull request #7103 from Morph1984/service-ctx-event
...
service: Replace all service event creation with ServiceContext::CreateEvent
2021-10-04 17:20:46 -07:00
bunnei
04fdf31f0f
Merge pull request #7107 from astrelsky/iob_fix
...
prevent access violation from iob in Memory::IsValidVirtualAddress
2021-10-04 11:08:35 -07:00
Ameer J
170284cf1c
Merge pull request #7091 from vonchenplus/fix_memroy_leak
...
core: Fix memory leak
2021-10-04 00:09:08 -04:00
bunnei
5e9f62b844
Merge pull request #7113 from Morph1984/no-log-ip-addr
...
network: Do not log IP address
2021-10-02 23:19:34 -07:00
ameerj
7a94851e9b
nvflinger: Use jthread and stop_token for VSync thread
...
Avoids a destruction data race that may occur on the vsync thread
2021-10-03 00:35:57 -04:00
ameerj
ae3422e3b7
nvhost_ctrl: Refactor usage of gpu.LockSync()
...
This seems to only be used to protect a later gpu function call. So we can move the lock into that call instead.
2021-10-03 00:35:57 -04:00
ameerj
20a88d9d62
gpu: Migrate implementation to the cpp file
2021-10-03 00:35:57 -04:00
Morph
13f4f14223
service: am: Make use of Exit to exit the currently running application
...
This also moves the call to the end to ensure services are properly destructed on exit.
2021-10-01 23:39:55 -04:00
Morph
37e30e80ed
core: Add Exit and ExitCallback
...
This allows ISelfController::Exit to stop the currently running application. This is typically used by homebrew to exit back to the homebrew menu after calling consoleExit with libnx.
2021-10-01 23:39:54 -04:00
Morph
0f5f1ec430
service: Replace service event creation with ServiceContext::CreateEvent
...
The service context helps to manage all created events and allows us to close them upon destruction.
2021-10-01 23:38:59 -04:00
Morph
d929edf269
network: Do not log IP address
...
Logging this may be a privacy concern for some users.
2021-10-01 23:38:44 -04:00
bunnei
56926a137f
Merge pull request #7102 from Morph1984/remove-boxcat
...
Remove Boxcat BCAT backend
2021-10-01 18:41:41 -07:00
ameerj
98b3b5e0e3
common/logging: Reduce scope of fmt include
2021-10-01 20:48:49 -04:00
ameerj
f222d1e4ce
common/logging: Move Log::Entry declaration to a separate header
...
This reduces the load of requiring to include std::chrono in all files which include log.h
2021-10-01 20:48:49 -04:00
Andrew Strelsky
5a02e7aabf
prevent access violation from iob in Memory::IsValidVirtualAddress
2021-09-29 19:26:44 -04:00
Morph
203d8f7f60
style: Remove extra space preceding the :: operator
2021-09-29 01:26:01 -04:00
Morph
4be0824b5f
service: bcat: Remove BoxCat BCAT implementation
...
The current implementation of BoxCat as it stands is non-functional due to the reliance on a server providing BCAT files.
This implementation will eventually be replaced with one that allows the use of local BCAT files dumped from a Nintendo Switch.
2021-09-29 01:21:35 -04:00
Morph
ca8400ec1d
externals: Remove libzip
2021-09-28 23:18:39 -04:00
Morph
aa68bcdcae
file_sys: Remove vfs_libzip
2021-09-28 23:18:39 -04:00
Morph
aee79cc758
Merge pull request #7018 from lat9nq/splat-stubs
...
audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
2021-09-28 22:06:11 -04:00
Feng Chen
38fc397b0f
Fix KShareMemory object leak
2021-09-29 09:51:20 +08:00
german77
2a13524331
service/es: Update to 13.0.0
2021-09-26 20:17:07 -05:00
german77
40a0ba8eea
service/npns: Update to 13.0.0
2021-09-26 20:13:09 -05:00
german77
108969dc60
service/vi: Update to 13.0.0
2021-09-26 20:12:02 -05:00
german77
e2a4e12057
service/am: Update to 13.0.0
2021-09-26 20:00:12 -05:00
german77
b6af532687
service/audio: Update to 13.0.0
2021-09-26 19:49:09 -05:00
german77
f444f41880
service/hid: Update to 13.0.0
2021-09-26 19:45:47 -05:00
german77
6b95545f8a
service/btdrv: Update to 13.0.0
2021-09-26 19:32:45 -05:00
german77
dccf0b7f82
service/usb: Update to 13.0.0
2021-09-26 19:26:52 -05:00
Morph
b93255d853
Merge pull request #7078 from ameerj/vc-jthread-fixes
...
video_core: Fix jthread related hangs when stopping emulation
2021-09-26 16:40:13 -04:00
Feng Chen
974547f98f
Fix KScopedAutoObject object leak when SendSyncRequest
2021-09-25 22:16:21 +08:00
Morph
f9b3d812b2
service: bsd: Stub Read
...
- Used by Diablo II: Resurrected
2021-09-25 08:04:33 -04:00
Morph
498cb34b8e
service: bsd: Implement Read
...
- Used by Diablo II: Resurrected
2021-09-24 16:46:52 -04:00
ameerj
d7977be416
general: Update style to clang-format-12
2021-09-24 15:52:05 -04:00
ameerj
a07f80d672
video_core: Fix jthread related hangs when stopping emulation
...
jthread on some compilers is more picky when it comes to the order in which objects are destroyed.
2021-09-23 20:34:02 -04:00
Lioncash
ebeb5086b1
core/profile_select: Avoid uninitialized read in SelectProfile()
...
The default constructor of UUID doesn't initialize its data members, so
we need to directly initialize it to be invalid.
2021-09-22 18:10:39 -04:00
Lioncash
e37bea609c
common/uuid: Add validity checking functions to interface
...
Given we have a function to invalidate, we should also have ones to
query the validity. Also makes the code more straightforward to read.
2021-09-22 17:59:00 -04:00
bunnei
08e300eb38
Merge pull request #7019 from ameerj/videocore-jthread
...
videocore: Use std::jthread for worker threads
2021-09-18 20:37:40 -07:00
bunnei
4fde9d058b
Merge pull request #7020 from Moonlacer/remove_audio_stretching
...
Remove audio stretching
2021-09-18 11:18:24 -07:00
bunnei
a6f7c06446
Merge pull request #7015 from german77/NotGoodForTerra
...
ngct: Stub Match
2021-09-17 10:58:55 -07:00
Moonlacer
1c445d1050
remove-audio-stretching-setting
2021-09-15 19:52:43 -05:00
ameerj
2cb4bb689b
gpu: Use std::jthread for async gpu thread
2021-09-15 20:49:07 -04:00
lat9nq
7fc8560939
audin_u: Return a buffer event in RegisterBufferEvent
...
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2021-09-15 16:38:12 -04:00
lat9nq
34c6afd6c1
audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
...
This also moves IAudioIn's definition to the header.
Required for Splatoon 2 LAN play.
2021-09-15 15:52:09 -04:00
Narr the Reg
77886a6134
ngct: Stub Match
...
Needed for Cruis'n Blast
2021-09-15 00:17:31 -05:00
Morph
65c2d00bd9
vfs: Partially implement GetFileTimeStampRaw
...
Gets rid of homebrew warnings using this func
2021-09-14 08:48:01 -04:00
bunnei
d3cab3095d
Merge pull request #7009 from ameerj/main_process_cleanup
...
core: Destroy main_process during shutdown
2021-09-13 23:32:43 -07:00
ameerj
177affe3ce
core: Destroy main_process during shutdown
...
The main_process was never being cleaned up, causing a noticeable memory leak after subsequent launches. This change cleans up the memory during Core Shutdown, mitigating the leak.
2021-09-13 23:44:52 -04:00
Morph
9191db654d
FS: Mark recursive CreateDirectory as inaccurate and temporary
2021-09-12 14:06:01 -04:00
Morph
26734981cf
Merge pull request #6975 from ogniK5377/acc-async-ctx
...
account: EnsureTokenIdCacheAsync
2021-09-12 12:03:10 -04:00
Morph
26b459393d
Merge pull request #6974 from ogniK5377/fs-recursive-createdir
...
FS: Recursively create directories for CreateDirectory
2021-09-12 12:02:39 -04:00
Morph
f2f9009a9b
Merge pull request #6992 from german77/brains
...
hid/am: Stub SetTouchScreenConfiguration and implement GetNotificationStorageChannelEvent
2021-09-12 12:01:43 -04:00
Morph
4520ae9eed
Merge pull request #6987 from Morph1984/common-error
...
common: Move error handling functions out of common_funcs
2021-09-12 12:01:23 -04:00
Morph
e01b714fd5
Merge pull request #6986 from Morph1984/version-update
...
api_version: Update and add AtmosphereTargetFirmware
2021-09-12 12:01:11 -04:00
Morph
3e49eac2de
kernel: Add missing <functional> include
2021-09-11 17:19:15 -04:00
Morph
b529f4b6b7
file_sys/kernel_executable: Add missing <string> include
2021-09-11 17:19:14 -04:00
Morph
c0ff1dce0b
common: Move error handling to error.cpp/h
...
This allows us to avoid implicitly including <string> every time common_funcs.h is included.
2021-09-11 17:19:14 -04:00
Fernando S
f35f5c5072
Merge pull request #6846 from ameerj/nvdec-gpu-decode
...
nvdec: Add GPU video decoding for all capable drivers and platforms
2021-09-11 23:11:32 +02:00
Fernando S
67c075d51d
Merge pull request #6981 from ameerj/nvflinger-hb-format
...
nvflinger: Use external surface format for framebuffer creation
2021-09-11 22:35:25 +02:00
german77
a36409ff16
am: Implement GetNotificationStorageChannelEvent
2021-09-10 12:24:50 -05:00
german77
9847b58137
hid: Stub SetTouchScreenConfiguration
2021-09-10 12:24:28 -05:00
Morph
e92bc1f091
api_version: Update and add AtmosphereTargetFirmware
2021-09-10 01:10:47 -04:00
Chloe
82fca3ab45
Addressed issues
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-09-09 03:00:08 +10:00
Chloe Marcec
398b0ce799
Mark is_complete as atomic
2021-09-09 00:10:52 +10:00
Chloe Marcec
dd526c8bf5
Addressed issues
2021-09-09 00:09:04 +10:00
Ameer J
b9193040cf
Merge pull request #6971 from bunnei/buffer-queue-kevent
...
core: hle: service: buffer_queue: Improve management of KEvent.
2021-09-08 00:34:36 -04:00
ameerj
3e19187560
nvflinger: Use external surface format for framebuffer creation
...
The format member the IGBPBuffer may not always specify the correct desired format. Using the external format member ensures a valid format is provided when creating the framebuffer.
Fixes homebrew using the wrong framebuffer format.
2021-09-06 23:14:31 -04:00
Chloe Marcec
0b8d28b62a
address name shadowing with system
2021-09-06 22:13:51 +10:00
Chloe Marcec
e27cb5526b
account: EnsureTokenIdCacheAsync
...
Closes #2547 , #6946
2021-09-06 21:16:21 +10:00
bunnei
54d33383e8
Merge pull request #6965 from bunnei/cpu_manager_jthread
...
core: cpu_manager: Use jthread.
2021-09-06 03:49:14 -07:00
Chloe Marcec
2cf086d244
FS: Recursively create directories for CreateDirectory
...
Originally we only created the parent directory, this caused issues for creating directories which also contained subdirectories, eg `/Folder1/Folder2`
This allows the ultimate mod manager homebrew to at least boot
2021-09-06 19:35:55 +10:00
bunnei
b690071dd5
core: hle: service: buffer_queue: Improve management of KEvent.
2021-09-04 22:25:46 -07:00
bunnei
a1a415914d
core: hle: service: nvflinger/vi: Improve management of KEvent.
2021-09-03 21:53:00 -07:00
bunnei
14d3f114a5
core: cpu_manager: Use jthread.
2021-09-03 19:05:41 -07:00
bunnei
c7662fd962
Merge pull request #6905 from Morph1984/nifm-misc
...
nifm/network_interface: Cleanup and populate fields in GetCurrentNetworkProfile
2021-08-29 00:04:58 -07:00
german77
b036d9df7d
ngct: Stub NGCT:U service
2021-08-27 14:15:34 -05:00
Morph
43f7dc615e
service: nifm: Populate fields in GetCurrentNetworkProfile
...
Populates the current_address, subnet_mask, and gateway fields from the selected network interface.
2021-08-27 02:10:59 -04:00
Morph
40e406f9d1
service: nifm: Cleanup GetCurrentIpConfigInfo
2021-08-27 02:10:58 -04:00
Morph
b755cdbd57
network_interface: Cleanup code
2021-08-27 02:10:58 -04:00
Morph
2d685e5a51
network_interface: Replace default return value with std::nullopt
2021-08-27 02:10:58 -04:00
bunnei
5e600cba3a
Revert "kernel: Various improvements to scheduler"
2021-08-25 20:59:28 -07:00
ameerj
0debad63cc
logging: Fix log filter during initialization
...
The log filter was being ignored on initialization due to the logging instance being initialized before the config instance, so the log filter was set to its default value.
This fixes that oversight, along with using descriptive exceptions instead of abort() calls.
2021-08-24 01:32:38 -04:00
Ameer J
b53a87b6b4
Merge pull request #6878 from BreadFish64/optimize-GetHostThreadID
...
kernel: Optimize GetHostThreadID
2021-08-24 00:01:13 -04:00
bunnei
f3931fe2b5
Merge pull request #6869 from yzct12345/shiny-logs-in-the-fireplace
...
logging: Simplify and make thread-safe
2021-08-22 20:40:18 -07:00
Morph
1c1292b13c
applet_error: Fix 64-bit error code conversion
2021-08-19 13:16:48 -04:00
Valeri
6a1ad26160
Fix crash in logging in CreateStrayLayer
...
It was trying to log value of layer_id which is specifically known not to exist, potentially leading to segfault. Log display_id instead.
2021-08-19 19:33:07 +03:00
Valeri
190e12a072
Fix check is thread current in GetThreadContext
...
Misplaced break made it only check for the first core.
2021-08-19 16:46:30 +03:00
bunnei
7a90ad5238
Merge pull request #6832 from bunnei/scheduler-improvements
...
kernel: Various improvements to scheduler
2021-08-18 15:42:46 -07:00
ameerj
82906e26a5
configure_graphics: Add GPU nvdec decoding as an option
...
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference.
Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
2021-08-16 14:40:53 -04:00
BreadFish64
8c4f818e77
kernel: Optimize GetHostThreadID
2021-08-16 07:30:23 -05:00
Sönke Holz
12499a34e6
network_interface: correct formatting
2021-08-16 12:18:19 +02:00
spholz
9701ec5ddf
network_interface: fix mingw-w64 build
2021-08-16 12:06:35 +02:00
Sönke Holz
363236e2c6
network: retrieve subnet mask and gateway info
2021-08-16 10:32:25 +02:00
bunnei
b2f859f47c
core: hle: kernel: Disable dispatch count tracking on single core.
...
- This would have limited value, and would be a mess to handle properly.
2021-08-14 02:14:19 -07:00
yzct12345
aee8cc20ea
logging: Simplify and make thread-safe
...
This simplifies the logging system.
This also fixes some lost messages on startup.
The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation.
With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
2021-08-13 18:39:45 +00:00
spholz
9826ea72b2
network: don't use reinterpret_cast in GetAvailableNetworkInterfaces
2021-08-13 11:58:34 +02:00
Sönke Holz
8c9ce19145
network: fix mingw-w64 build
...
The header "combaseapi.h" of mingw-w64 defines "interface" as "struct".
2021-08-13 11:23:50 +02:00
Sönke Holz
da59702a7d
network: don't use assert to check if no network interfaces are returned
2021-08-13 11:21:34 +02:00
Sönke Holz
b8b4170dd6
network: use Common::BitCast instead of std::bit_cast
2021-08-13 01:28:14 +02:00
Sönke Holz
8e6aa553c0
network: narrow down scope of "result" in win32 code for
...
GetAvailableNetworkInterfaces
2021-08-13 00:37:03 +02:00
Sönke Holz
a7e514f3db
network: use explicit bool conversions in GetAvailableNetworkInterfaces
2021-08-13 00:31:33 +02:00