Commit Graph

36 Commits

Author SHA1 Message Date
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