Commit Graph

4374 Commits (b724a4d90c2dcff0e800f7ab630b6ad0d5be1e58)

Author SHA1 Message Date
Fernando Sahmkow 2f8947583f Core/Common: Address Feedback. 5 years ago
Fernando Sahmkow e486c66850 NvFlinger: Clang Format. 5 years ago
Fernando Sahmkow 4105f38022 SVC: Implement 32-bits wrappers and update Dynarmic. 5 years ago
Fernando Sahmkow ce350e7ce0 SVC: Add GetCurrentProcessorNumber32, CreateTransferMemory32, SetMemoryAttribute32 5 years ago
Fernando Sahmkow 22ceaca2f4 SVC: Add GetThreadPriority32 & SetThreadPriority32 5 years ago
Fernando Sahmkow 7fd7d05838 Common/Kernel: Corrections and small bug fixing. 5 years ago
Fernando Sahmkow 272a87127a Services/NvFlinger: Do vSync in a sepparate thread on Multicore. 5 years ago
Fernando Sahmkow d240143588 Kernel: Correct Host Context on Threads and Scheduler. 5 years ago
Fernando Sahmkow 467d43570e Clang Format. 5 years ago
Fernando Sahmkow 48fa3b7a0f General: Cleanup legacy code. 5 years ago
Fernando Sahmkow c8bf47dcfb Kernel/svcBreak: Implement CacheInvalidation for Singlecore and correct svcBreak. 5 years ago
Fernando Sahmkow 19165cd859 HLE_IPC: Correct HLE Event behavior on timeout. 5 years ago
Fernando Sahmkow 7e2ce2f7f4 SingleCore: Improve Cycle timing Behavior and replace mutex in global scheduler for spinlock. 5 years ago
Fernando Sahmkow a7ecd9e19c FrameLimiting: Enable frame limiting for single core. 5 years ago
Fernando Sahmkow f5e32935ca SingleCore: Use Cycle Timing instead of Host Timing. 5 years ago
Fernando Sahmkow 9bde28d7b1 Scheduler: Correct Reload/Unload 5 years ago
Fernando Sahmkow 5974e3ea33 Thread: Release the ARM Interface on exitting. 5 years ago
Fernando Sahmkow 1567824d2d General: Move ARM_Interface into Threads. 5 years ago
Fernando Sahmkow 1b82ccec22 Core: Refactor ARM Interface. 5 years ago
Fernando Sahmkow 87c49aa7be SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface. 5 years ago
Fernando Sahmkow f2ade343e2 SingleCore: Move Host Timing from a sepparate thread to main cpu thread. 5 years ago
Fernando Sahmkow 25565dffd5 ARM: Addapt to new Exclusive Monitor Interface. 5 years ago
Fernando Sahmkow db68fba4a6 Scheduler: Correct yielding interaction with SetThreadActivity. 5 years ago
Fernando Sahmkow 7020d498c5 General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running. 5 years ago
Fernando Sahmkow e6f8bde74b General: Fix Stop function 5 years ago
Fernando Sahmkow f370de84b1 Kernel: Rewind on SVC change. 5 years ago
Fernando Sahmkow d494b074e8 Kernel: Preempt Single core on redudant yields. 5 years ago
Fernando Sahmkow a439cdf22e CPU_Manager: Unload/Reload threads on preemption on SingleCore 5 years ago
Fernando Sahmkow 8a78fc2580 Synchronization: Correct wide Assertion. 5 years ago
Fernando Sahmkow ab9aae28bf General: Initial Setup for Single Core. 5 years ago
Fernando Sahmkow 391f5f360d Scheduler: Set last running time on thread. 5 years ago
Fernando Sahmkow 9e9c287f8b Kernel: Corrections to TimeManager, Scheduler and Mutex. 5 years ago
Fernando Sahmkow 6515c6e8c6 Kernel: Fixes, corrections and asserts to scheduler and different svcs. 5 years ago
Fernando Sahmkow 4217e58a10 Scheduler: Correct yields. 5 years ago
Fernando Sahmkow 445b4342b3 Mutex: Revert workaround due to poor exclusive memory. 5 years ago
Fernando Sahmkow cd1c38be8d ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes. 5 years ago
Fernando Sahmkow 535c542d84 SVC: WaitSynchronization add Termination Pending Result. 5 years ago
Fernando Sahmkow 725bac1404 Scheduler: Remove arm_interface lock and a few corrections. 5 years ago
Fernando Sahmkow 83c7ba1ef7 SVC: Correct SetThreadActivity. 5 years ago
Fernando Sahmkow a66c61ca2d SCC: Small corrections to CancelSynchronization 5 years ago
Fernando Sahmkow 44cb9997b3 Scheduler: Correct locking for hle threads. 5 years ago
Fernando Sahmkow 6ed28e15fa Scheduler: Fix HLE Threads on guard 5 years ago
Fernando Sahmkow 3de33348e4 Scheduler: Protect on closed threads. 5 years ago
Fernando Sahmkow 19847d4d42 Scheduler: Correct assert. 5 years ago
Fernando Sahmkow a33fbaddec Core: Correct rebase. 5 years ago
Fernando Sahmkow 1c672128c4 Scheduler: Release old thread fiber before trying to switch to the next thread fiber. 5 years ago
Fernando Sahmkow c43e559734 NVDRV: Remove frame limiting as Host Timing already takes care. 5 years ago
Fernando Sahmkow a6bce296ad Mutex: Correct Result writting to clear exclusivity. 5 years ago
Fernando Sahmkow e4b175ade2 SVC: Correct svcWaitForAddress and svcSignalToAddress. 5 years ago
Fernando Sahmkow 1e987dbe8d Scheduler: Correct Select Threads Step 2. 5 years ago
Fernando Sahmkow 07993ac8c8 Kernel: Corrections to Scheduling. 5 years ago
Fernando Sahmkow b4dc01f16a Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for Debugging 5 years ago
Fernando Sahmkow 75e10578f1 Core: Correct HLE Event Callbacks and other issues. 5 years ago
Fernando Sahmkow de5b521c09 Process: Protect TLS region and Modules. 5 years ago
Fernando Sahmkow 2a8837ff51 General: Add Asserts 5 years ago
Fernando Sahmkow 04e0f8776c General: Add better safety for JIT use. 5 years ago
Fernando Sahmkow bd36eaf15d SVC: Correct races on physical core switching. 5 years ago
Fernando Sahmkow cc3aa95926 NVFlinger: Lock race condition between CPU, Host Timing, VSync. 5 years ago
Fernando Sahmkow 3902067008 SVC: Add locks to the memory management. 5 years ago
Fernando Sahmkow d4ebb510a0 SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey. 5 years ago
Fernando Sahmkow 5b6a67f849 SVC: Cleanup old methods. 5 years ago
Fernando Sahmkow 3d9fbb8226 CPU_Manager: Reconfigre guest threads for dynamrmic downsides 5 years ago
Fernando Sahmkow 15a79eb0d7 SVC: Correct SendSyncRequest. 5 years ago
Fernando Sahmkow 203e706302 SVC: Correct ArbitrateUnlock 5 years ago
Fernando Sahmkow 3b5b950c89 SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock 5 years ago
Fernando Sahmkow ef4afa9760 SVC: Remove global HLE Lock. 5 years ago
Fernando Sahmkow 589f9cf108 SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumber 5 years ago
Fernando Sahmkow 49ba563995 SVC: Correct CreateThread, StartThread, ExitThread, SleepThread. 5 years ago
Fernando Sahmkow e31425df38 General: Recover Prometheus project from harddrive failure
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host 
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and 
Suspended State, Recreates the bootmanager, Initializes Multicore 
system.
5 years ago
VolcaEM 23515e0ccc
nfc: Update function table
This was based on Switchbrew page: https://switchbrew.org/wiki/NFC_services
5 years ago
VolcaEM c56414b80d
ncm: Update function table
This was based on Switchbrew page: https://switchbrew.org/wiki/NCM_services

ILocationResolver's 16, 17, 18 and 19 have unofficial names
5 years ago
VolcaEM b829643946
mm: Update function table
This was based on Switchbrew page: https://switchbrew.org/wiki/Display_services
5 years ago
VolcaEM 5219424226
mig: Update function table
This was based on Switchbrew page: https://switchbrew.org/wiki/Migration_services
5 years ago
VolcaEM b9be484a51
ldn: Update function table
This was based on Switchbrew page: https://switchbrew.org/wiki/LDN_services
5 years ago
VolcaEM a8d17adb7c
Oops (fix typo) 5 years ago
VolcaEM 73b035d2e2
lbl: Update function table
This was based on Switchbrew page: https://switchbrew.org/wiki/Backlight_services
5 years ago
VolcaEM 64fa9b9f57
grc: Update function table
This was based on Switchbrew page: https://switchbrew.org/wiki/GRC_services
5 years ago
VolcaEM af88767508
friend: Update function table 5 years ago
bunnei 6f16f54f10
Merge pull request #4158 from Morph1984/caps
caps: Use enum classes and check struct sizes on compile time
5 years ago
bunnei a91f92a89d
Merge pull request #4152 from ogniK5377/ipc-err
Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSG
5 years ago
bunnei 705cccb1e4
Merge pull request #4154 from ogniK5377/swkbd-nullptr
Prevent nullptr dereference on swkbd error case
5 years ago
David b32b7c6e74
Merge pull request #4178 from VolcaEM/patch-6
es: Update function table
5 years ago
VolcaEM 2d82b7f1a1
Use better names for "Unknown"s 5 years ago
VolcaEM bc51a9365b
Update function names 5 years ago
David Marcec 0b23ce6ef2 btm: Give better names for unknown functions 5 years ago
VolcaEM 032b7d490d
btdrv: Update function table (#4174)
* btdrv: Update function table
5 years ago
VolcaEM 6e14edbcc2
bpc: Update function tables (#4173)
* bpc: Update function tables

This was based on Switchbrew page: https://switchbrew.org/wiki/PCV_services
5 years ago
VolcaEM e6fee39ae7
bcat: Update function tables and add missing classes (#4172)
* bcat: Update function tables and add missing classes
5 years ago
VolcaEM ca25a3845e
am: Update function tables and add missing classes (#4169)
* am: Update function tables and add missing classes

* Remove comments (1/5)

* Remove comments (2/5)

* Remove comments (3/5)

* Remove comments (4/5)

* Remove comments (5/5)

* Remove unused classes (1/2)

* Remove unused classes (2/2)
5 years ago
VolcaEM b5d54619cc
aoc: Update function table (#4170)
* aoc: Update function table

* Remove comments
5 years ago
LC 98bbab8030
Merge pull request #4177 from VolcaEM/patch-5
btm: Update function tables
5 years ago
VolcaEM 0f4a611129
eupld: Update function table
This was based on Switchbrew page: https://switchbrew.org/wiki/Error_Upload_services
5 years ago
VolcaEM 3828aa4927
es: Update function table
This was based on Switchbrew page: https://switchbrew.org/wiki/ETicket_services
5 years ago
VolcaEM d3e9b45ce0
btm: Update function tables
This was based on Switchbrew page: https://switchbrew.org/wiki/BTM_services

"No comment" edition
5 years ago
Morph 72f14ae21f caps_u: Fix GetAlbumContentsFileListForApplication stub 5 years ago
Morph 3017be7855 caps: Use enum classes and check struct sizes on compile time 5 years ago
Morph 02a33feef4 caps: Update copyright headers
Updated to "yuzu Emulator Project"
5 years ago
bunnei c4fe83a7bc
Merge pull request #4159 from ogniK5377/mem-manager-dumb-assert
memory_manager: Remove useless assertion
5 years ago
David d11baf8bf8
Merge pull request #4141 from Morph1984/SevenSixAxisSensor
hid: Stub a series of "SevenSixAxisSensor" service commands
5 years ago
David Marcec 38868e5750 memory_manager: Remove useless assertion
num_pages is an std::size_t. It will always be >= 0
5 years ago
Morph 2c9308954c hid: Stub a series of "SevenSixAxisSensor" service commands
- Used by Captain Toad: Treasure Tracker Update 1.3.0

While we're at it, fix the input parameters for SetIsPalmaAllConnectable and SetPalmaBoostMode
5 years ago
David Marcec 510838759f Prevent nullptr dereference on swkbd error case 5 years ago
David Marcec 2f0b322e72 prepo: : Don't read extra buffer from report unless passed
Prepo doesn't always pass a secondary buffer, we assume it always does which leads to a bad read.
5 years ago
David Marcec 82ecdd0104 Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSG
Previously if applications would send faulty buffers(example homebrew) it would lead to us returning uninitalized data. Switching from ASSERT_MSG to ASSERT_OR_EXECUTE_MSG allows us to have a fail safe to prevent crashes but also continue execution without introducing undefined behavior
5 years ago
David Marcec 380fbd8cb7 Move GetKeyCodeMapImpl to an anonymous namespace 5 years ago
David Marcec e3d2b646e0 Fixed logging output 5 years ago
David Marcec 5226610a15 Implement GetKeyCodeMap & GetKeyCodeMap2
Closes #3919
5 years ago
bunnei 3bab5a5e4a
Merge pull request #4138 from Morph1984/GyroscopeZeroDriftMode
hid: Implement Get/ResetGyroscopeZeroDriftMode
5 years ago
bunnei 1d1489da80
Merge pull request #4128 from lioncash/move2
software_keyboard: Eliminate trivial redundant copies
5 years ago
Morph 45dac6bc5c lm: Silence no return value warning 5 years ago
VolcaEM e193aa3f53
account: Update function tables and add missing classes (#4145)
* account: Update function tables and add missing classes

* clang-format

* Add missing "public"

* Add missing public again

* Add missing final
5 years ago
Morph 0235915baa hid: Implement Get/ResetGyroscopeZeroDriftMode
- Used by Captain Toad Treasure Tracker
5 years ago
Lioncash a5ed0c3df7 software_keyboard: Eliminate trivial redundant copies
We can just make use of moves here to get rid of two redundant copies
5 years ago
MerryMage b19fe55f84 memory_manager: Explicitly specifcy std::min<size_t> 5 years ago
VolcaEM 684dfbf209
Move SHA256Hash to its original position
It's not needed to have it in its previous position anymore
5 years ago
VolcaEM bd9495c9ab
Remove unnecessary pragmas 5 years ago
VolcaEM c0d6162050
Revert IsValidNRO refactor but make it more readable 5 years ago
VolcaEM 4b71bf654d
Update assert string 5 years ago
bunnei 55ebf68636
Merge pull request #4070 from ogniK5377/GetTPCMasks-fix
nvdrv: Fix GetTPCMasks for ioctl3
5 years ago
VolcaEM 39213b1c59
Clang-format again 5 years ago
VolcaEM 198b0fa790
Use consistent variable names 5 years ago
VolcaEM 1520d7865d
Clang-format 5 years ago
VolcaEM 761d206049
Make assert strings consistent 5 years ago
VolcaEM 151a3fe7b3
Attempt to fix crashes in SSBU and refactor IsValidNRO 5 years ago
bunnei 89d11f2268
Merge pull request #4069 from ogniK5377/total-phys-mem
kernel: Account for system resource size for memory usage
5 years ago
bunnei e1911e5c8b
Merge pull request #4010 from ogniK5377/reserve-always-break
kernel: ResourceLimit::Reserve remove useless while loop
5 years ago
David Marcec b15cbf9bcf nvdrv: Fix GetTPCMasks for ioctl3
Fixes animal crossing svcBreak on launch
5 years ago
David Marcec 74ff1db758 kernel: Account for system resource size for memory usage
GetTotalPhysicalMemoryAvailableWithoutSystemResource & GetTotalPhysicalMemoryUsedWithoutSystemResource seem to subtract the resource size from the usage.
5 years ago
David Marcec c0d2e3212f Downgrade "handle not signaled" error to trace
clogs logs quite a bit
5 years ago
VolcaEM dfd1badc12
Address review comments 5 years ago
VolcaEM 8c84a7e7ec
Clang-format 5 years ago
VolcaEM 4d10d3113f
hid: Stub GetXpadIDs
Allows Minecraft: Nintendo Switch Edition (a.k.a. old Minecraft) to boot and go ingame
5 years ago
VolcaEM a087b3365a
Add comment to nrr_kind
According to Atmosphére (c7026b9094/libraries/libstratosphere/include/stratosphere/ro/ro_types.hpp), nrr_kind (Atmosphére calls it "type") is 7.0.0+
5 years ago
VolcaEM 2b1cc232bc
ldr: Update NRR/NRO structs
This was based on Switchbrew pages:

https://switchbrew.org/wiki/NRR

https://switchbrew.org/wiki/NRO
5 years ago
David Marcec 43bf860b22 kernel: ResourceLimit::Reserve remove useless while loop
Timeout is a u64, it will always be >= 0
5 years ago
VolcaEM cb75ccc1f7
clang-format 5 years ago
VolcaEM 235805edf3
nifm: correct assert in CreateTemporaryNetworkProfile
This has been wrong since 0432af5ad1
I haven't found a game that called this function (and I haven't tried this on a real Switch), and because of this I haven't been able to check if the number in assert OR the string in the assert is wrong, but one of the two is wrong:
NetworkProfileData is 0x18E, while SfNetworkProfileData is 0x17C, according to Switchbrew
Switchbrew doesn't officially say that NetworkProfileData's size is 0x18E but it's possible to calculate its size since Switchbrew provides the size and the offset of all the components of NetworkProfileData (which isn't currently implemented in yuzu, alongside SfNetworkProfileData)
NetworkProfileData documentation: https://switchbrew.org/wiki/Network_Interface_services#NetworkProfileData
SfNetworkProfileData documentation: https://switchbrew.org/wiki/Network_Interface_services#SfNetworkProfileData
Since I trust ogniK's work on reversing NIFM, I'd assume this was just a typo in the string
5 years ago
FearlessTobi 9f82a9a244 crypto: Make KeyManager a singleton class
Previously, we were reading the keys everytime a KeyManager object was created, causing yuzu to reread the keys file multiple hundreds of times when loading the game list.
With this change, it is only loaded once.
On my system, this decreased game list loading times by a factor of 20.
5 years ago
bunnei cf4ee279c6
Merge pull request #3926 from ogniK5377/keyboard-states
hid: Clear keyboard states & fix logic issue
5 years ago
bunnei 65010607b7
Merge pull request #3665 from bunnei/device-save
FS: Improve emulation of device saves
5 years ago
David Marcec 6f0360690b nv_flinger: Use enum for pixel format instead of u32 5 years ago
bunnei bba54e1880 time_zone: Use std::chrono::seconds for strong typing. 5 years ago
David Marcec a79f060ea2 hid: Clear keyboard states & fix logic issue
Previously we never cleared the states of the entries and the key would stay held down, also looping over the key bytes for each key lead to setting every bit for the key state instead of the key we wanted
5 years ago
bunnei 3c8cd62b0d hle: service: time_zone_manager: Use current time zone setting. 5 years ago
bunnei 47b97b9577 service: fsp_srv: Stub implementation of OpenMultiCommitManager. 5 years ago
David Marcec ecc8ccc9d3 Stub SendKeyboardLockKeyEvent
Needed for Puchikon 4 SmileBASIC 1.0.0
5 years ago
James Rowe bc30a591ba
Replace externals with Conan (#3735)
* Remove git submodules that will be loaded through conan

* Move custom Find modules to their own folder

* Use conan for downloading missing external dependencies

* CI: Change the yuzu source folder user to the user that the containers run on

* Attempt to remove dirty mingw build hack

* Install conan on the msvc build

* Only set release build type when using not using multi config generator

* Re-add qt bundled to workaround an issue with conan qt not downloading prebuilt binaries

* Add workaround for submodules that use legacy CMAKE variables

* Re-add USE_BUNDLED_QT on the msvc build bot
5 years ago
bunnei 1121960f0e
Merge pull request #3879 from lioncash/global2
hle_ipc: Eliminate core memory globals
5 years ago
bunnei 88141bb2d4
Merge pull request #3881 from lioncash/mem-warning
kernel/memory: Resolve several compiler warnings
5 years ago
bunnei 929acd4d1e
Merge pull request #3880 from lioncash/encoding
kernel/memory: Amend potential encoding warnings
5 years ago