aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/nvdrv/nvdrv_interface.cpp
Commit message (Collapse)AuthorAgeFilesLines
* nvdrv: let Switch 2 callers open nvhost-prof-gpuTakoroka4 days1-1/+5
| | | | | | Switch 2 lists the node with the other GPU nodes and Fire Emblem's CUDA driver opens it. Switch 2 opens get the logged stub device; Switch 1 callers are still refused.
* nvdrv: serve Switch 2 nvsrv with Eden's nvdrv; Ampere characteristicsTakoroka7 days1-0/+9
| | | | | | | | | | | - gsv 1402's nvsrv session speaks the nvdrv INvDrvServices protocol; serve it with an NVDRV on the shared module, initialised for the calling process (Switch 2 doesn't call Initialize). - GetCharacteristics3 callers asking for the 0xD0-byte Switch 2 layout get chip 0x17E (Ampere; the Switch 2 NvRm rejects Maxwell for NVN), Ampere classes, and s16 interface versions at 0x70..0x80. - After that, unknown nvhost-ctrl-gpu Ioctl3 commands from such callers return a zeroed success (logged).
* Revert "[hle] constexpr handler dispatch maps, introduce version gating ↵PavelBARABANOV2026-10-151-0/+18
| | | | | | | | | | | | | | | | | (#4480)" (#4532) This reverts commit 218c6705d950635bc18f8458d738a1996fb592b6. - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md). - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4532 Reviewed-by: lizzie <lizzie@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [hle] constexpr handler dispatch maps, introduce version gating (#4480)lizzie2026-10-131-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR primarily focuses on upbringing constexpr maps for handlers. Each time an HLE object of a service is construed, it registers it's own handlers, over and over. Regardless of whetever it needs them at the moment or not. Additionally we don't require to keep track of different function pointers amongst each object. This can be done by overriding the given function instead, as opposed to having a separate hash map for every given object. In other words: Remove handlers (and handlers_tipc) map for every instance then read from a static defined per-class. - [x] Migrate all HLE functions to new `frozen::map` constexpr time finder - [ ] Measure if this approach actually makes better codegen Optional: - [x] Properly gate all functions (that have versions commented next to them) - [x] Maybe store `HandlerFnP<>` and `const char*` separately, version gating can go in a different map as well Information such as name can be used on debug builds, but doesn't particularly help on release as one can consult an external reference (or have an annotated IPC map) Signed-off-by: lizzie <lizzie@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Co-authored-by: Maufeat <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4480 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [fmt] use {#:x} instead of 0x{:#x} (#4170)lizzie2026-07-251-4/+4
| | | | | | | | | | continuation of #309 but applying to even more files than before :) also makes them lowercase because `0xfafafa` is better as `0XFAFAFA` Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4170 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [hle] remove parent object reference data on Request/Response builders, pass ↵lizzie2026-06-291-1/+1
| | | | | | | | | | | | | | | | by argument (#3774) anyways this should remove a bunch of redundant code/stack usage for response builders (ahem, msvc) SHOULD help games that use IPC heavily like PKZA and whatnot biblical levels of performance greed Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3774 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [common/logging] Simplify logging logic and fix issues when logging before ↵lizzie2026-03-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | system is created (#3688) - our logging code was bigger than spdlog itself, why???? just keep it simple - fix issues when logging before logging system is even started - removes the "initialized logging twice" issue - removes uneeded indirection in file logging - uses direct formatting instead of jumping hoopla-around the fmt::format() ressult - code duplication and dead code removal as usual I did explore dup2() but I think it's not worth the hassle I did try `fwopen()` but it's better if things are just kept as-is. there is a lot of noise because I removed a bunch of redundant files on logging and just put everything in one file now normally this wouldn't be a good idea, however consider: the complexity of logging; it's less than 500 lines... does it really need a whole subsystem?!?!?! ITS JUST LOGGING Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3688 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: DraVee <chimera@dravee.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [fmt] use {:#X} for format instead of 0x{:X} (#309)lizzie2025-08-271-1/+4
| | | | | | | | Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/309 Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* scope_exit: Make constexprFearlessTobi2024-02-191-2/+2
| | | | | Allows the use of the macro in constexpr-contexts. Also avoids some potential problems when nesting braces inside it.
* nvnflinger: convert to processLiam2024-02-171-2/+4
|
* service: properly convert buffers to stringsNarr the Reg2024-01-231-1/+2
|
* SMMU: Initial adaptation to video_core.Fernando Sahmkow2024-01-181-4/+2
|
* NVDRV: Implement sessions and initial implementation of SMMUFernando Sahmkow2024-01-181-6/+30
|
* general: Use ScratchBuffer where possibleMorph2023-06-301-12/+13
|
* Remove memory allocations in some hot pathsKelebek12023-06-221-13/+11
|
* service: move hle_ipc from kernelLiam2023-03-011-13/+13
|
* service: refactor server architectureLiam2023-02-211-1/+1
| | | | Converts services to have their own processes
* general: Format licenses as per SPDX guidelinesMorph2022-10-061-4/+3
|
* NVDRV: Further refactors and eliminate old code.Fernando Sahmkow2022-10-061-4/+0
|
* NVDRV: Cleanup.Fernando Sahmkow2022-10-061-2/+4
|
* NVDRV: Implement QueryEvent.Fernando Sahmkow2022-10-061-10/+5
|
* NvHost: Remake Ctrl Implementation.Fernando Sahmkow2022-10-061-6/+7
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* Merge pull request #8122 from bunnei/improve-thread-usagebunnei2022-04-061-1/+1
|\ | | | | Improve usage of service host threads
| * hle: service: nvdrv: Create a service thread where appropriate.Morph2022-04-021-1/+1
| |
* | fix: typosAndrea Pappacoda2022-04-021-6/+6
|/
* core: Remove unused includesameerj2021-11-031-3/+0
|
* service: Append service name prefix to common filenamesMorph2021-07-141-0/+259