yellows8
8d10ef8745
nv: Added __nx_nv_service_type. Closes #633 .
2023-11-20 14:12:52 -05:00
MasaGratoR
d219884bfa
tmem: Add tmemCloseHandle(), tmemWaitForPermission(), use those functions in nv.c to fix a race condition ( #606 )
2023-04-14 18:33:16 +02:00
yellows8
04aa28c436
nv: Added nvIoctl3, updated _nvGetSessionForRequest, and:
...
* Check hosver in nvIoctl2.
2022-02-26 12:54:26 -05:00
fincs
5057a1912e
nv: Allow user override of transfer memory creation
2021-01-18 20:46:50 +01:00
fincs
7e6ff7e486
Simplify appletGetAppletResourceUserId and related logic
2020-01-17 00:18:55 +01:00
yellows8
1f792cd92f
Various improvements/fixes and improved docs. Added nvGetServiceSession. Return an actual error when the value for determing which service to init is invalid, for services which use *ServiceType/AppletType. Improved cleanup handling. Fixed inverted logic in the spl cleanup define.
2019-10-31 22:53:42 -04:00
fincs
5ab1219f40
Add internal service guard helper, needed for proper thread safe service init/exit
2019-09-20 02:28:46 +02:00
fincs
4eda677b93
Add compiler optimization hint to remove unused domain handling code
2019-09-20 01:36:22 +02:00
fincs
43ad77e8d2
nv: Use new IPC interface
2019-09-19 13:23:16 +02:00
fincs
6ad0042147
Introduce new IPC interface wrapper code, see details:
...
- Service object moved away from sm.h and into its own file (sf/service.h)
- Service object completely redesigned, but a (mostly)
backwards compatible API was kept
- New low level HIPC request/response code
- New CMIF client-oriented code
- New service IPC dispatch functions
- Pointer buffer size automatically retrieved for all sessions
- Removed previous manual pointer buffer size query code
- SM rewritten with new IPC code
- All other services are still pending IPC rewrite
2019-09-19 03:50:28 +02:00
fincs
ae77cbea97
gfx/hid/irs/nv/vi: changes related to sysmodule users, see details:
...
- Removed hard dependency on applet
- Allow appletGetAppletResourceUserId to fail (using default zero in that case)
- nvInitialize uses nvdrv:s for AppletType_None
- gfx now uses weak global __nx_gfx_vi_service_type for the ViServiceType passed to viInitialize
2018-12-19 19:33:31 +01:00
fincs
cc70f19e61
nvservices: increase default tmem size to 8MB
2018-10-06 16:47:53 +02:00
fincs
cae1954ebc
nv: add cloned session handle used with certain requests; add Ioctl2
2018-09-14 02:15:24 +02:00
fincs
99f37184fb
nvQueryEvent: return an Event instead of a raw Handle
2018-08-31 13:05:23 +02:00
plutooo
d22bc791f4
Nv fixes
2018-08-31 13:05:22 +02:00
plutooo
e7daaf1e71
Hide nv tmem size from gfx
2018-08-31 13:05:21 +02:00
plutooo
194e335532
Let nv reference applet
2018-08-31 13:05:21 +02:00
plutooo
efacee6956
Simplify nv
2018-08-31 13:05:21 +02:00
plutooo
cd753b1b58
Implemented nvmap.c
2018-08-31 13:05:21 +02:00
plutooo
d8bb563546
Renamed gfx/ to display/
2018-08-31 13:05:21 +02:00
TuxSH
635599491c
Add ipcAddSendSmart, ipcAddRecvSmart, use where applicable
2018-05-08 16:17:13 -04:00
plutoo
a102c64341
Introduce atomics.c, refcounting on all services
2018-03-10 14:33:40 +01:00
plutoo
d12e99e3ad
Move ipc.h to kernel/
2018-03-10 14:03:29 +01:00
TuxSH
507bf71a7b
Fix NV ioctl nameclashes...
...
...with bsd ioctls (coming soon) & C++ stdlib
2018-02-10 23:02:05 +01:00
fincs
c20d372946
Clean up types.h:
...
- Move Permission to kernel/svc.h (also fix enum naming)
- Add s128, vu128, vs128
- voidfn -> VoidFn
2018-02-10 22:40:11 +01:00
plutoo
6fa8370bfb
This looks better
2018-01-22 20:11:55 +01:00
TuxSH
5abc4873d8
Include only what is really necessary...
...
add pragma once in every header, etc.
2018-01-22 18:42:57 +01:00
plutoo
5a67f0909d
Stop confusing Nvidia error codes and Switch error codes
2018-01-21 18:54:11 +01:00
plutoo
e54bbc54ea
Fix codestyle for results
2018-01-21 18:40:23 +01:00
plutoo
f70d70f029
Introducing "Service" object, implemented service override, fixing minor formatting mistakes
...
NOT TESTED :(
2018-01-12 23:29:49 +01:00
plutoo
bf89c7526e
Rename ipc functions before it's too late
2018-01-11 21:56:04 +01:00
plutoo
3ca6e65984
Aligning code style of kernel primitives
2018-01-06 06:10:55 +01:00
yellows8
42fbabe9d1
Added nvQueryEvent().
2017-11-15 22:34:07 -05:00
yellows8
567e8ed6e1
Imported more defines from linux ioctl.h. In nvIoctl(), only set the addr/size for send/recv buffers when the associated direction bit is set.
2017-11-14 12:15:23 -05:00
yellows8
38cc12f02c
Moved ioctl defines into a dedicated header, with some additional defines. Load the output error field for nv cmds.
2017-11-12 23:27:42 -05:00
yellows8
caa06c4d6c
Implemented nv. Use TransactParcelAuto instead of TransactParcel when running on >=3.0.0. Added ipcQueryPointerBufferSize(). Minor other change.
2017-11-12 20:34:30 -05:00