Commit Graph

2284 Commits (458fdda7005f5c84dad652792254260b01a1f389)

Author SHA1 Message Date
Zach Hilman 69bfe075b5 General Filesystem and Save Data Fixes (#670) 7 years ago
bunnei 88a3140c9b
Merge pull request #671 from MerryMage/clear-exclusive-state
scheduler: Clear exclusive state when switching contexts
7 years ago
bunnei 519035db3d
Merge pull request #672 from SciresM/to_address_fix
svc:: Fix bug in svcWaitForAddress
7 years ago
bunnei 170e19d4ea nvflinger: Fix for BufferQueue event handling. 7 years ago
Michael Scire 3b885691a1 Kernel/Arbiter: Fix bug in WaitIfLessThan 7 years ago
MerryMage 56cc1c11ec scheduler: Clear exclusive state when switching contexts 7 years ago
James Rowe 7d209b3c9f HID: Update controllers less often 7 years ago
bunnei c324a378ac
Merge pull request #663 from Subv/bsd
Services/BSD: Corrected the return for StartMonitoring according to SwIPC
7 years ago
Subv b07f4d6afb Services/BSD: Corrected the return for StartMonitoring according to SwIPC. 7 years ago
David Marcec a7d6c0d6ea No need to use ASSERT_MSG with an empty message 7 years ago
David Marcec 8bd8d1e3da We only need to alert for memory pool changes 7 years ago
David Marcec 6642011706 initialized voice status and unused sizes in the update data header 7 years ago
bunnei 4f41ffdd41
Merge pull request #648 from ogniK5377/no-net
Let games/application know that we're offline
7 years ago
David Marcec 706892de7d Audout "Auto" functions
Audout autos are identical to their counterpart except for the buffer type which yuzu already handles for us.
7 years ago
David Marcec 3d68f6ba6c Added IsWirelessCommunicationEnabled, IsEthernetCommunicationEnabled, IsAnyInternetRequestAccepted
Since we have no socket implementation we should be returning 0 to indicate we're currently offline.
7 years ago
bunnei 7230ceb584
Merge pull request #559 from Subv/mount_savedata
Services/FS: Return the correct error code when trying to mount a nonexistent savedata.
7 years ago
bunnei 12a6996262 hid: Fix timestamps and controller type.
- This fixes user input in SMO.
7 years ago
David Marcec 0944bfe3cb NvOsGetConfigU32 production impl
Settings are only  used when RMOS_SET_PRODUCTION_MODE is set to 0.
If production mode is set, the error code 0x30006 is returned instead
7 years ago
bunnei 1b3dd30ba8 nvhost_ctrl: Fix NvOsGetConfigU32 for Snipper Clips. 7 years ago
bunnei 913896cbd9 Revert "Virtual Filesystem (#597)"
This reverts commit 77c684c114.
7 years ago
Zach Hilman 77c684c114 Virtual Filesystem (#597)
* Add VfsFile and VfsDirectory classes

* Finish abstract Vfs classes

* Implement RealVfsFile (computer fs backend)

* Finish RealVfsFile and RealVfsDirectory

* Finished OffsetVfsFile

* More changes

* Fix import paths

* Major refactor

* Remove double const

* Use experimental/filesystem or filesystem depending on compiler

* Port partition_filesystem

* More changes

* More Overhaul

* FSP_SRV fixes

* Fixes and testing

* Try to get filesystem to compile

* Filesystem on linux

* Remove std::filesystem and document/test

* Compile fixes

* Missing include

* Bug fixes

* Fixes

* Rename v_file and v_dir

* clang-format fix

* Rename NGLOG_* to LOG_*

* Most review changes

* Fix TODO

* Guess 'main' to be Directory by filename
7 years ago
David 3dab0e284b Update AudioRenderer Voice Sections (#614)
* voice section updating

* fixed slight offset miscalculation

* fixed overflow
7 years ago
James Rowe 0d46f0df12 Update clang format 7 years ago
James Rowe 638956aa81 Rename logging macro back to LOG_* 7 years ago
Subv 6c0c81dfdc GPU: Remove a surface from the cache when its backing memory is being unmapped from the GPU's MMU. 7 years ago
Subv a093feca62 nvmap: Return the address of the nvmap object when Freeing it for the last time.
This behavior is confirmed by reverse engineering.
7 years ago
bunnei da2bdbc0d7
Merge pull request #588 from mailwl/hwopus
Service/Audio: add hwopus service, stub GetWorkBufferSize function
7 years ago
David c9e821e93e Send the correct RequestUpdateAudioRenderer revision in the output header (#587)
* We should be returning our revision instead of what is requested.

Hardware test on a 5.1.0 console

* Added sysversion comment
7 years ago
mailwl 11fb17054e Service/Audio: add hwopus service, stub GetWorkBufferSize function 7 years ago
David 838724c588 Removed duplicate structs, changed AudioRendererResponse -> UpdateDataHeader (#583)
* Removed duplicate structs, changed AudioRendererResponse -> UpdateDataHeader

According to game symbols(SMO), there's references to UpdateDataHeader which seems to be what AudioRendererResponse actually is

* oops

* AudioRendererParameters should be AudioRendererParameter according to SMO
7 years ago
David 81f24f5685 Fixed RequestUpdateAudioRenderer deadlocks and calculated section sizes properly (#580)
* Fixed RequestUpdateAudioRenderer deadlocks and calculated section sizes properly

This fixes RequestUpdateAudioRenderer deadlocks in games like Puyo Puyo Tetris and games which require a proper section size in games such as Retro City Rampage. This fixes causes various games to start rendering or trying to render
7 years ago
bunnei 6d7941042b
Merge pull request #579 from SciresM/master
svc: Fully implement svcSignalToAddress and svcWaitForAddress
7 years ago
mailwl a27befe456 IPC: skip empty buffer write
prevent yuzu crash, if games, like Axiom Verge, trying to read 0 bytes from file
7 years ago
Michael Scire 067ac434ba Kernel/Arbiters: Fix casts, cleanup comments/magic numbers 7 years ago
Michael Scire 5f8aa02584 Add additional missing format. 7 years ago
Michael Scire 08d454e30d Run clang-format on PR. 7 years ago
Michael Scire dc70a87af1 Kernel/Arbiters: HLE is atomic, adjust code to reflect that. 7 years ago
Michael Scire 8f8fe62a19 Kernel/Arbiters: Initialize arb_wait_address in thread struct. 7 years ago
Michael Scire 62bd1299ea Kernel/Arbiters: Clear WaitAddress in SignalToAddress 7 years ago
Michael Scire 4f81bc4e1b Kernel/Arbiters: Mostly implement SignalToAddress 7 years ago
Michael Scire 9d71ce88ce Kernel/Arbiters: Implement WaitForAddress 7 years ago
mailwl c06d6b27f3 Service/Audio: update audren:u service 7 years ago
Michael Scire 7e191dccc1 Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs. 7 years ago
Subv a3d82ef5d9 Build: Fixed some MSVC warnings in various parts of the code. 7 years ago
greggameplayer be1f5dedfb Implement GetAvailableLanguageCodes2 (#575)
* Implement GetAvailableLanguageCodes2

* Revert "Implement GetAvailableLanguageCodes2"

This reverts commit caadd9eea3497ae2a13382aecb8ca29e1c02c5af.

* Implement GetAvailableLanguageCodes2

* Implement GetAvailableLanguageCodes2
7 years ago
bunnei 0d8ae773f1
Merge pull request #561 from DarkLordZach/fix-odyssey-input-crash
Avoid initializing single-joycon layouts with handheld controller
7 years ago
Subv 5f57a70a7d Services/FS: Return the correct error code when trying to mount a nonexistent savedata. 7 years ago
bunnei 4ac4b308e4
Merge pull request #572 from Armada651/user-except-stub
svc: Add a stub for UserExceptionContextAddr.
7 years ago
Jules Blok bf4e2b2f0b svc: Add a stub for UserExceptionContextAddr. 7 years ago
Zach Hilman ac88d3e89f Narrow down filter of layout configs 7 years ago
Zach Hilman a353322b58 Move loop condition to free function 7 years ago
Zach Hilman 50153a1cb2 Avoid initializing single-joycon layouts with handheld controller 7 years ago
shinyquagsire23 2f9c0e7c7e hid: Update all layouts and only show handheld as connected, fixes libnx input for P1_AUTO 7 years ago
mailwl a2efb1dd48 Common/string_util: add StringFromBuffer function
convert input buffer (std::vector<u8>) to string, stripping zero chars
7 years ago
bunnei ee1eb8cfdf
Merge pull request #522 from mailwl/mm-u
Service/MM: add service and stub some functions
7 years ago
bunnei 9f21f20d7c
Merge pull request #503 from mailwl/nfp-stubs
Service/nfp:user : stub some functions.
7 years ago
mailwl 61fbf5c8e6 Stub IUser::AttachAvailabilityChangeEvent 7 years ago
greggameplayer be09dfeed9 nvdrv/devices/nvidia_ctrl_gpu : add IoctlCommands with their params (#524)
* add IoctlCommands with their params in nvidia_ctrl_gpu.h

* add function related to the changes done previously

* fix clang-format

* delete trailing whitespace

* correct mistake
7 years ago
mailwl a776464a55 Remove unused header files 7 years ago
bunnei c5684411a0 nifm: Stub out IRequest::SetConnectionConfirmationOption. 7 years ago
bunnei 2abe5e39fc am: Stub out IApplicationFunctions::GetPseudoDeviceId. 7 years ago
mailwl 62cd19e4ae Small fixes 7 years ago
mailwl 7e3d746b06 Service/MM: add service and stub some functions 7 years ago
greggameplayer 4fad069870 Nvdrv/devices/nvhost_gpu : Add some IoctlCommands with their params (#511)
* Add some IoctlCommand with their params to nvhost_gpu

* fix clang-format

* delete trailing whitespace

* fix some clang-format

* delete one other trailing whitespace

* last clang-format fix
7 years ago
mailwl bb081dd1d2 Correct function results 7 years ago
mailwl 019778707d Service/nfp:user : stub some functions.
Used by Zelda: BoTW
7 years ago
bunnei afdd2f4cad am: Implement ILibraryAppletAccessor::PopOutData. 7 years ago
bunnei df4336a85e am: ISelfController:LaunchableEvent should be sticky. 7 years ago
bunnei 51d8a2c322 am: Stub out ILibraryAppletAccessor Start and GetResult methods. 7 years ago
bunnei 876b805e50 am: Implement ILibraryAppletAccessor::PushInData. 7 years ago
bunnei 2dcb98226b am: Implement IStorageAccessor::Write. 7 years ago
bunnei 9fedfbe141 am: Cleanup IStorageAccessor::Read. 7 years ago
bunnei d73c22bf4d am: Implement ILibraryAppletCreator::CreateStorage. 7 years ago
bunnei 41faeeeb03
Merge pull request #484 from mailwl/nvhost-nvdec
Services/nvdrv: add '/dev/nvhost-nvdec' device
7 years ago
Subv 9cd87a6352 Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may already have an assigned lock owner.
This situation may happen like so:
Thread 1 with low priority calls WaitProcessWideKey with timeout.
Thread 2 with high priority calls WaitProcessWideKey without timeout.
Thread 3 calls SignalProcessWideKey
- Thread 2 acquires the lock and awakens.
- Thread 1 can't acquire the lock and is put to sleep with the lock owner being Thread 2.
Thread 1's timeout expires, with the lock owner still being set to Thread 2.
7 years ago
mailwl 11568c2ea3 Service/time: implement posix time to calendar conversion 7 years ago
bunnei bdd68fc210
Merge pull request #488 from Subv/thread_masks
Kernel/SVC: Corrected the behavior of svcSetThreadCoreMask for core values -2 and -3.
7 years ago
Subv c02d7c8ce7 Kernel/Thread: Corrected a typo that caused the affinity mask to never be changed. 7 years ago
Subv 3957b0c34e Kernel/SVC: Support special core values -2 and -3 in svcSetThreadCoreMask.
Also added some proper error handling.
7 years ago
greggameplayer 94fecef137 add IPC CommandType & Some HID FunctionInfo (#487)
* add some CommandType

* add some hid FunctionInfo

* add some other HID FunctionInfo

* delete non useful comments
7 years ago
Subv d1f9c750a6 Kernel/Thread: Corrected a typo in an assert about the processor id. 7 years ago
mailwl 9a273bb23b Services/nvdrv: add '/dev/nvhost-nvdec' device 7 years ago
bunnei 6306655665 nvhost_ctrl: Stub out IocCtrlEventRegister. 7 years ago
bunnei 0658973a4e nvhost_ctrl: Stub out IocCtrlEventWaitAsyncCommand. 7 years ago
mailwl 7757cc1a7f Service/BCAT: add module and services 7 years ago
bunnei 7029daa32e
Merge pull request #475 from ogniK5377/nvos-getconfig
NvOsGetConfigU32 should return null instead of 0 for default output value
7 years ago
David Marcec 6138075df0 NvOsGetConfigU32 should return null instead of 0 for default output 7 years ago
bunnei 0d681f7a7a am: Stub IApplicationFunctions GetDisplayVersion. 7 years ago
greggameplayer b16e5c6a81 Add & correct miscellaneous things (#470)
* add some InfoType

* correct OpenApplicationProxy cmd number

* add IDisplayController functions

* fix clang-format

* add more system languages
7 years ago
bunnei 87f21657f8
Merge pull request #466 from mailwl/nv-timeout
Stub NVGPU_IOCTL_CHANNEL_SET_TIMEOUT
7 years ago
David e6df4b37db GetAudioRendererWorkBufferSize impl (#465)
* GetAudioRendererWorkBufferSize impl

Impl of GetAudioRendererWorkBufferSize based on RE, if this can be cleaned up, please contribute!

* Naming conventions

* Removed unneeded placeholder

* lioncache changes

* fixed const

* switched to Common::AlignUp
7 years ago
David e3a92b09ba Stubbed NVGPU_GPU_IOCTL_ZBC_SET_TABLE (#463)
We have no clue on what this actually does yet so stubbing it since it's just input only should be fine for now
7 years ago
mailwl e6a87428ae Stub NVGPU_IOCTL_CHANNEL_SET_TIMEOUT
Used in Nintendo Labo ToyCon 1&2
7 years ago
David Marcec c74d24f841 Fix deadlocks caused from HID having too many layouts
Games such as SMO deadlock if we have more than 2 layouts
7 years ago
bunnei 4cb92b776c
Merge pull request #460 from greggameplayer/patch-6
Add & correct some error modules
7 years ago
bunnei a55f112cb1
Merge pull request #459 from greggameplayer/patch-5
Add ioctl commands with their params and size check
7 years ago
bunnei 3825b703fa
Merge pull request #454 from Subv/signal_processwide
Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey
7 years ago
greggameplayer 1efb81a61d
Add & correct some error modules 7 years ago
greggameplayer 3c26b7179d
change some functions
according to the changes made previously
7 years ago
greggameplayer 8c648b59cd
correct placement and add size check 7 years ago
greggameplayer f217d6c66f
Add ioctl commands with their params and size check 7 years ago
David 58d9078742 Implemented NVHOST_IOCTL_CHANNEL_GET_WAITBASE (#440)
* Implemented NVHOST_IOCTL_CHANNEL_GET_WAITBASE

struct + 4 seems to be hard coded at 0 and struct + 0 seems to be ignored?

* IocGetWaitbase -> IocChannelGetWaitbaseCommand

* Added super late fixes
7 years ago
bunnei 58857b9f46
Merge pull request #456 from Subv/unmap_buffer
Implemented nvhost-as-gpu's UnmapBuffer and nvmap's Free ioctls.
7 years ago
greggameplayer c6eaf0b2cf Correct audio command numbers & add or rename some functions (#455)
* Add unknown function at the number command 2

* correct audout:u commands numbers

* correct audrec:u cmd number & add Unknown function

* correct IAudioDevice command numbers

* correct codecctl cmd numbers & rename the 8 function

* correct place of unknown function & fix clang-format
7 years ago
bunnei 693f78e6c2
Merge pull request #457 from Subv/mutex_waiters
Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release.
7 years ago
bunnei ff54287a73
Merge pull request #445 from greggameplayer/patch-2
Properly rename functions of Fatal Module & add ThrowFatal to this module
7 years ago
Subv fd500d3da6 Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release.
A thread may own multiple mutexes at the same time, and only release one of them while other threads are waiting for the other mutexes.
7 years ago
Subv 525492428d GPU: Implemented the nvmap Free ioctl.
It releases a reference to an nvmap object
7 years ago
Subv 72b5c448cf GPU: Implemented nvhost-as-gpu's UnmapBuffer ioctl.
It removes a mapping previously created with the MapBufferEx ioctl.
7 years ago
Sebastian Valle 353e1dd7e4
Merge pull request #443 from ogniK5377/ipc-500
Added IPC RequestWithContext & ControlWithContext
7 years ago
greggameplayer a215f63235 Add and correct some Error Modules (#444)
* Add and correct some Error Modules
7 years ago
Subv 2a35a36251 Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey. 7 years ago
Subv c74f2555b6 Kernel/Threads: Reschedule the proper core when operating on that core's threads. 7 years ago
Subv fab3dd98fe SVC: Removed unused WaitSynchronization1 function 7 years ago
greggameplayer abe79b2724
rename fatal:u functions & add ThrowFatal 7 years ago
greggameplayer 536cfb13e6
Properly update fatal.h void name 7 years ago
greggameplayer e35cfc1b03
Properly rename fatal module functions 7 years ago
David Marcec fd86cdb2e2 Added RequestWithContext & ControlWithContext 7 years ago
Hexagon12 0984e9d601 Updated nfp with more service names 7 years ago
bunnei 1b5c02fc37
Merge pull request #436 from bunnei/multi-core
Initial support for multi-core
7 years ago
David Marcec e7b0e8a3cc More accurate GetTPCMasks impl 7 years ago
bunnei 46ec9a9bc9 thread: Rename mask to affinity_masks. 7 years ago
bunnei fbd7afefaa thread: Support core change on ResumeFromWait and improve ChangeCore. 7 years ago
bunnei 91af2f94e8 scheduler: Protect scheduling functions with a global mutex. 7 years ago
bunnei 4822765fef thread: Initialize ideal_core and mask members. 7 years ago
bunnei 8aa5d25f82 threading: Reschedule only on cores that are necessary. 7 years ago
bunnei d6e3cd9a17 svc: Implement GetThreadCoreMask and SetThreadCoreMask. 7 years ago
bunnei 6ea8b3ef60 thread: Implement ChangeCore function. 7 years ago
bunnei 1c36f2a798 svc: SignalProcessWideKey should apply to all cores. 7 years ago
bunnei 6a890023e9 svc: Implement GetCurrentProcessorNumber. 7 years ago
bunnei a434fdcb10 core: Implement multicore support. 7 years ago
Hexagon12 5e9c547952 Stubs for QLaunch (#428)
* Stubs for QLaunch

* Wiped unrelated stuff

* Addressed comment

* Dropped GetPopFromGeneralChannelEvent
7 years ago
Max Thomas 266703b50e hid: Tweaks, Analog Sticks (#435)
* hid: Update mouse/keyboard state

* hid: Working analog sticks

* hid: Nits

* hid: Nits

* hid: Update mystery sections

* hid: Tweaks
7 years ago
bunnei 1147db9dd1
Merge pull request #431 from lioncash/fmt
general: Make formatting of logged hex values more straightforward
7 years ago
Lioncash 7c9644646f
general: Make formatting of logged hex values more straightforward
This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on).
7 years ago
bunnei fadab1d5f3 ipc: Add support for PopIpcInterface() method.
- This can be used for domain objects as inputs to service functions.
7 years ago
bunnei 8262aeeac8
Merge pull request #429 from Subv/ioctl_corruption
GPU: Don't write to invalid memory locations when handling ioctls that don't have an output.
7 years ago
David ff2f0d980a GetSharedFontInOrderOfPriority (#381)
* GetSharedFontInOrderOfPriority

* Update pl_u.cpp

* Ability to use ReadBuffer and WriteBuffer with different buffer indexes, fixed up GetSharedFontInOrderOfPriority

* switched to NGLOG

* Update pl_u.cpp

* Update pl_u.cpp

* language_code is actually language code and not index

* u32->u64

* final cleanups
7 years ago
Subv 0c8b7c00e8 GPU: Don't write to invalid memory locations when handling ioctls that don't have an output. 7 years ago
Lioncash 0197e28cc9
core_timing: Namespace all functions and constants in core_timing's header
All of these variables and functions are related to timings and should be within the namespace.
7 years ago
Lioncash 3abba08080
string_util: Remove StringFromFormat() and related functions
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
7 years ago
bunnei 334e859ab1 am: Fix GetDesiredLanguage implementation. 7 years ago
bunnei 17b16cf6f6 set: Fix GetAvailableLanguageCodes implementation. 7 years ago
Lioncash 843dd62c81
core: Replace usages of LOG_GENERIC with new fmt-capable equivalents 7 years ago
Lioncash 8475496630
general: Convert assertion macros over to be fmt-compatible 7 years ago
David Marcec abc23416e8 Switched to NGLOG_WARNING 7 years ago
David Marcec 7391741a20 Merge branch 'master' of https://github.com/yuzu-emu/yuzu into service-impl 7 years ago
David Marcec f1f7f2cba9 Added PREPO to logging backend, Removed comments from SaveReportWithUser 7 years ago
Lioncash 1913cf4783
kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions()
Functions don't need to be terminated by semicolons.
7 years ago
Lioncash 40dee76c57
kernel: Migrate logging macros to fmt-compatible ones 7 years ago
mailwl 2ba4e2263c Service/PCTL: convert to module, add services, stub
PCTL::CreateServiceWithoutInitialize and IParentalControlService::Initialize, required by Kirby Star Allies
7 years ago
Lioncash d08cfb55fe
service: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 88eb612718
vi: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash bd9c2aa51f
time: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash bfe49edb2a
ssl: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 82413a6c89
spl: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 62c69f4a1e
sockets: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 2a3f3bf977
sm: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 32ece18bb6
set: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 13f9cf2bd0
pctl: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 72b497e876
nvflinger: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 285d8d8b7d
nvdrv: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 022fc59dcd
ns: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 47054327c2
nifm: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 28b92db7fd
nfp: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash dabfd90dfe
lm: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 9cd7485cd7
hid: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 8fc4003dab
friend: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash b5b613ea29
filesystem: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash c6a740d7c2
fatal: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 8d32bf9a96
audio: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash d652e41365
apm: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash e74dbfc572
aoc: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash 5483c08b44
am: Move logging macros over to new fmt-compatible ones 7 years ago
Lioncash f85d880ac6
acc: Move logging macros over to new fmt-compatible ones 7 years ago
mailwl a0179e5ca5 Service/FS: implement IFileSystem::RenameFile 7 years ago
bunnei 0214351f4f
Merge pull request #370 from Subv/sync_primitives
Kernel: Reworked the new kernel synchronization primitives.
7 years ago
bunnei bf25299272
Merge pull request #384 from Subv/nvhost-remap
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
7 years ago
Subv 46572d027d Kernel: Implemented mutex priority inheritance.
Verified with a hwtest and implemented based on reverse engineering.

Thread A's priority will get bumped to the highest priority among all the threads that are waiting for a mutex that A holds.
Once A releases the mutex and ownership is transferred to B, A's priority will return to normal and B's priority will be bumped.
7 years ago
Subv 0d6eafe11a NvDrv/nvhost-as-gpu: Ensure that the object passed to MapBufferEx has already been allocated.
Also added a consistency check and a comment for the case when the object id is different than its handle. The real nvservices doesn't make a distinction between ids and handles, each object gets an unique handle which doubles as its id.
7 years ago
Subv e4bd0bddea Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
It takes a previously-reserved (AllocateSpace) GPU memory address and maps it to the address of the nvmap object passed to Remap.
7 years ago
Subv e862c50a70 Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers. 7 years ago
David Marcec 27650499bc GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport. 7 years ago
David df669bc540
lioncash proposed changes 7 years ago
David Marcec f3137d3bc1 Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids) 7 years ago
Subv a70ed9c8ae Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs 7 years ago
Subv 013778aa21 Qt: Update the WaitTree widget to show info about the current mutex of each thread. 7 years ago
Subv be155f4d9d Kernel: Remove unused ConditionVariable class. 7 years ago
Subv 5fdfbfe25a Kernel: Remove old and unused Mutex code. 7 years ago
Subv b18ccf9399 Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKey
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
7 years ago
Subv e81a2080eb Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.
Switch mutexes are no longer kernel objects, they are managed in userland and only use the kernel to handle the contention case.
Mutex addresses store a special flag value (0x40000000) to notify the guest code that there are still some threads waiting for the mutex to be released. This flag is updated when a thread calls ArbitrateUnlock.

TODO:
* Fix svcWaitProcessWideKey
* Fix svcSignalProcessWideKey
* Remove the Mutex class.
7 years ago
bunnei 1723b4d8d4
Merge pull request #372 from lioncash/enum
resource_limit: Make ResourceTypes an enum class
7 years ago
Lioncash 659a612368 core: Relocate g_service_manager to the System class
Converts the service manager from a global into an instance-based
variable.
7 years ago
Lioncash bec05db746 resource_limit: Make ResourceTypes an enum class
Prevents enum identifiers from leaking into the surrounding scope.
7 years ago
bunnei 1df3a7710e
Merge pull request #340 from mailwl/vi-update
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
7 years ago
bunnei b11f6f90e7
Merge pull request #360 from lioncash/namespaces
service: Use nested namespace specifiers where applicable
7 years ago
bunnei 701dd649e6
Merge pull request #363 from lioncash/array-size
common_funcs: Remove ARRAY_SIZE macro
7 years ago
Lioncash d9e316e353 common_funcs: Remove ARRAY_SIZE macro
C++17 has non-member size() which we can just call where necessary.
7 years ago
Lioncash ccca5e7c28 service: Use nested namespace specifiers where applicable
Tidies up namespace declarations
7 years ago
Lioncash 3990da488b vi: Remove redundant initializers in the constructors 7 years ago