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
3a31df429e
gfx: finally get rid of nvgfx, replaced with an NvMap object
2018-12-19 19:33:31 +01:00
fincs
5fe01c065a
Major refactor and redesign of nvidia wrapper objects, see details:
...
- NvBuffer replaced with NvMap, which only manages the creation of
raw nvmap objects. Users must map these objects manually to
address spaces.
- nvAddressSpaceBindToChannel removed.
- nvChannelSetNvmapFd is now automatic and has been removed.
- Nv3DContext, NvCmdList, NvErrorNotifier, NvGpfifo, NvGpu and
NvZcullContext have all been removed.
- Introduced NvGpuChannel, which provides all functionality that was
part of said removed objects.
- Other miscellaneous changes and fixes.
2018-12-19 19:33:31 +01:00
fincs
85a20f43dc
NvAddressSpace: major overhaul, see details:
...
- Now contains a 'page_size' field, used throughout the functions
- Removed NvPageSize
- Removed nvAddressSpaceReserveAlign/AtFixedAddr/Full
- Added nvAddressSpaceAlloc/AllocFixed/Free (replacing above functions)
- Removed nvAddressSpaceMapBuffer/UnmapBuffer
- Added nvAddressSpaceMap/MapFixed/Modify/Unmap (replacing above functions)
- Adapted NvBuffer/NvGpu to use the new functions
2018-12-19 19:33:31 +01:00
fincs
22499d8ddf
nvhost-as-gpu.c: fix some mistakes, add nvioctlNvhostAsGpu_FreeSpace, add NvAllocSpaceFlags, add NvMapBufferFlags_Modify
2018-12-19 19:33:31 +01:00
fincs
f0de0c869d
Added nvInfoGetGpuCharacteristics
2018-12-19 19:33:31 +01:00
yellows8
9f63f29988
Use eventActive for g_appletLibraryAppletLaunchableEvent. Fixed _appletWaitLibraryAppletLaunchableEvent, and set rc to eventWait ret in _appletWaitLibraryAppletLaunchableEvent. Added appletHolderWaitInteractiveOut.
2018-12-19 13:00:40 -05:00
yellows8
ced4f16ee1
Fixed+enabled appletSetTerminateResult and added it to applet.h.
2018-12-18 21:45:13 -05:00
yellows8
d8683ea188
Added appletHolderPopOutData and appletHolderPopInteractiveOutData.
2018-12-18 20:07:29 -05:00
yellows8
a6e1413712
Added storage pushing for AppletHolder. Verify that the input storage is initialized in _appletCmdInStorage().
2018-12-18 19:37:07 -05:00
yellows8
5874a272d0
Added appletHolderJoin and appletHolderGetExitReason.
2018-12-18 19:03:22 -05:00
yellows8
bca797afc2
Use LibraryAppletLaunchableEvent and handle LibraryApplet self-creation. Implemented LibraryApplet starting.
2018-12-17 20:23:43 -05:00
yellows8
8f22e9e213
Initial impl for LibraryApplet creation.
2018-12-17 12:16:46 -05:00
natinusala
c8f732fda8
Add missing applet focus states and handling modes
2018-12-17 11:03:49 -05:00
fincs
beeeb057d2
Finishing touches to user-mode synchronization primitives
2018-12-17 16:06:23 +01:00
fincs
21f69bfa57
Add, document, and use MAX_WAIT_OBJECTS
2018-12-17 16:06:23 +01:00
fincs
33dad9b893
UTimer: use an actual 'started' flag instead of a magic tick value
2018-12-17 16:06:23 +01:00
fincs
8d813ee666
Generalize Waitable, moving UEvent/UTimer specific code into a vtable.
2018-12-17 16:06:23 +01:00
fincs
1d14cad1cf
Separate WaiterNode initialization again, which is now done in waitImpl
2018-12-17 16:06:23 +01:00
fincs
a23d38ac77
Move waiterForXyz() functions to Xyz's header file. Implement waiter for (kernel mode) Event, and use it instead.
2018-12-17 16:06:23 +01:00
fincs
c9ee12ce20
Simplify WaiterNode, make it private. Improve UEvent autoclear logic.
2018-12-17 16:06:23 +01:00
fincs
47b786bcea
Synchronize eventWait and _waitLoop code
2018-12-17 16:06:23 +01:00
fincs
2e76b2b150
waitN: Fix index bug when there are handles before UEvents in the array
2018-12-17 16:06:23 +01:00
fincs
3c9a84fe68
wait.c: Fix no-timeout handling; use new kernel error result codes
2018-12-17 16:06:23 +01:00
fincs
9144d78031
Stylefixes, part 1
2018-12-17 16:06:23 +01:00
plutooo
eb7d835a79
wait: Rename UsermodeEvent and UsermodeTimer
2018-12-17 16:06:23 +01:00
plutooo
376add30a4
wait: Introduce wait for raw handles too
2018-12-17 16:06:23 +01:00
plutooo
68b4d323a0
utimer: Add TimerType_OneShot
2018-12-17 16:06:23 +01:00
plutooo
0c0261bf2f
wait: Improve timer calculation, thanks derrek
2018-12-17 16:06:23 +01:00
plutooo
b38983c1b7
wait: Fix a race
2018-12-17 16:06:23 +01:00
plutooo
eb01ccd097
wait: Doxygen
2018-12-17 16:06:23 +01:00
plutooo
6a6f654526
wait: Final implementation
2018-12-17 16:06:23 +01:00
plutooo
03ddd464a0
arm: Rename armTickToNs(), etc
2018-12-17 16:06:23 +01:00
plutooo
26b17cdae5
kernel: Review comments (move to private interface to private headers, atomics)
2018-12-17 16:06:23 +01:00
plutooo
9da123f916
wait: Check for disabled timer
2018-12-17 16:06:23 +01:00
plutooo
c6fc6a41e5
wait: Bug-fixes and lock-free utimer stop/start
2018-12-17 16:06:23 +01:00
plutooo
370d78453e
kernel: Introduce utimer, uevent, and waitN
2018-12-17 16:06:23 +01:00
yellows8
42e7cf44cb
Implemented applet IPC code for pushing storages/objects. Added appletPushToGeneralChannel().
2018-12-16 18:16:01 -05:00
yellows8
f61e9237e6
Added accountGetPreselectedUser.
2018-12-15 21:50:27 -05:00
yellows8
41e75d0b7d
Removed AppletStorage.isHandleStorage since it's not usable for storages not created by the current process. Hence, appletStorageGetSize no longer supports HandleStorage.
2018-12-15 18:11:21 -05:00
yellows8
10826dda13
Added appletPopLaunchParameter.
2018-12-15 17:31:36 -05:00
yellows8
d65c2ec94b
Added support for tmem with AppletStorage, and added HandleStorage support. applet IPC improvements.
2018-12-15 16:34:23 -05:00
yellows8
1077cc2b46
Implemented AppletStorage. Various IPC improvements in applet.c, etc.
2018-12-13 22:48:48 -05:00
yellows8
8b86e4ecb8
Use domains for applet.
2018-12-12 21:13:01 -05:00
Michael Scire
3cff199b42
Add remaining pm:shell services, address issues
2018-12-10 00:12:46 +01:00
Michael Scire
0fad4244da
Add ro:dmnt, ldr:ro.
2018-12-10 00:12:46 +01:00
Michael Scire
8e1ba23b83
pm: Add remaining pm:dmnt services
2018-12-10 00:12:46 +01:00
Michael Scire
0a92b0eb07
ns: Implement all of ns:dev
2018-12-10 00:12:46 +01:00
plutooo
bfad4d4557
Fix whitespace
2018-12-09 19:07:39 +01:00
plutooo
c328a74f71
Add fsIsExFatSupported()
2018-12-09 17:06:47 +01:00
Lioncash
69a98dc0cb
kernel/svc: Correct SVC instruction values for svcMapPhysicalMemory and svcUnmapPhysicalMemory
...
0x2A corresponds to svcFlushEntireDataCache, while 0x2B corresponds to
svcFlushDataCache.
2018-12-07 12:19:16 +01:00
Michael Scire
40bccd7838
Add svcTerminateDebugProcess
2018-12-06 13:18:06 +01:00
yellows8
bc2dff0361
Added hidAcquireNpadStyleSetUpdateEventHandle.
2018-12-02 16:48:59 -05:00
Michael Scire
2a831c6196
Fix struct definition for splSetConfig
2018-12-01 21:29:41 +01:00
yellows8
ee066a27ee
Implemented usbhs endpoints, other adjustments. Updated field name in UsbHsXferReport. Added defines in usb.h from libusb.
2018-11-30 20:13:58 -05:00
yellows8
31cea3a6b6
Implemented usbhs control transfers. Fixed eventCtrlXfer init. Updated a field name in UsbHsXferReport.
2018-11-30 20:13:58 -05:00
yellows8
2049ff081d
Updated usbhs comments and store the interface ID in UsbHsClientIfSession. Added: usbHsIfSetInterface, usbHsIfGetInterface, usbHsIfGetAlternateInterface, usbHsIfGetCurrentFrame, and usbHsIfResetDevice.
2018-11-30 20:13:58 -05:00
yellows8
83dfc58adb
Moved interface-specific data from UsbHsInterface into UsbHsInterfaceInfo. Added usbHsAcquireUsbIf/usbHsIfClose and the related structs.
2018-11-30 20:13:58 -05:00
yellows8
f1ba199d1c
Initial usbhs support.
2018-11-30 20:13:58 -05:00
yellows8
725ac9f00a
Moved usb code specific to usbds into seperate .c/.h.
2018-11-28 17:34:53 -05:00
yellows8
3726eb8950
Use PACKED for _usbDsGetSession resp, required for domains. Use domains for usbds, with changes from @SciresM.
2018-11-28 16:40:45 -05:00
yellows8
7ae659c2cb
Handle the output u8 in _usbDsGetSession, without using it in the callers.
2018-11-28 15:03:06 -05:00
yellows8
36bed9f8fc
Added support for getting file timestamps via 3.0.0+ fsFsGetFileTimeStampRaw, *stat() timestamps are now set when fsFsGetFileTimeStampRaw is successful. This is now used in fsdev_open() for supporting fstat. The sysver is now checked in fsFsCleanDirectoryRecursively(). Closes #204 .
2018-11-20 14:22:19 -05:00
pixel-stuck
a7577f7b56
Add pcvSetVoltageEnabled and pcvGetVoltageEnabled ( #208 )
...
* Add pcvSetVoltageEnabled and pcvGetVoltageEnabled
2018-11-19 10:37:59 -05:00
yellows8
8767ea798b
Determine whether to use AUDREN_REVISION_1-4 via the sysver, instead of hard-coding it for the 3.0+ rev. Updated comments and added AUDREN_REVISION_5/AUDREN_REVISION_6 defines.
2018-11-17 11:43:24 -05:00
yellows8
e7117a7903
Added enum for hidSetNpadJoyHoldType. Improved hid docs. Use hidSetNpadJoyHoldType during hid init/exit. Closes #206 .
2018-11-15 21:36:34 -05:00
yellows8
12ee6e502e
Fixed register corruption in crt0 introduced by the exception commit. Only handle exceptions when __libnx_exception_handler is defined by the user, and updated comments.
2018-11-14 20:55:17 -05:00
Michael Scire
4e4d5ef320
fatal: Implement fatalWithContext
2018-11-14 19:52:40 -05:00
Michael Scire
e943eb6ea5
Add fs gamecard attribute retrieve commands
2018-11-14 19:52:40 -05:00
Michael Scire
7b7bd9dd9d
Add setsys fatal commands
2018-11-14 19:52:40 -05:00
Michael Scire
5386edef4f
Add gpio wrapper
2018-11-14 19:52:40 -05:00
Michael Scire
dec6f1ffe1
Add i2cOpenSession, i2csessionSendAuto
2018-11-14 19:52:40 -05:00
Michael Scire
3ba8a5aa87
Add lblSwitchBacklightOn and lblSwitchBacklightOff
2018-11-14 19:52:40 -05:00
Michael Scire
8cb9004a2f
Add pcvGetClockRate/pcvSetClockRate
2018-11-14 19:52:40 -05:00
Michael Scire
27936900d0
Add enum for PsmBatteryVoltageState
2018-11-14 19:52:40 -05:00
Michael Scire
94dc8f75f9
Add bpcGetSleepButtonState
2018-11-14 19:52:40 -05:00
Michael Scire
ee55b63f79
Add spsm wrapper.
2018-11-14 19:52:40 -05:00
yellows8
5e69f760fb
Added support for exception-handling.
2018-11-14 16:17:02 -05:00
SciresM
e19765445d
fs: Add fsFsQueryEntry (and fsFsSetArchiveBit helper) ( #202 )
...
* fs: Add fsFsSetArchiveBit
* Add fsdevSetArchiveBit wrapper
2018-11-09 22:03:47 -05:00
natinusala
fd4afacb01
Expose appletSetFocusHandlingMode
2018-11-08 19:27:56 -05:00
yellows8
5a078b1205
Use 6.0.0+ _hwopusDecodeInterleaved cmds.
2018-11-06 23:02:40 -05:00
yellows8
6a8dba4eb4
Added support for hwopus multistream. Minor adjustments in hwopus.h.
2018-11-06 15:10:54 -05:00
yellows8
c99518643c
Use _hwopusDecodeInterleavedWithPerfOld on 4.0.0+. Use the multistream cmdid when a bool flag is set in HwopusDecoder, which is currently not set.
2018-11-06 10:47:09 -05:00
yellows8
b25be27525
Use BufferType_Normal in auddev.
2018-11-05 11:34:30 -05:00
yellows8
a6412e1e3a
Fixed swapped output raw fields in hwopusDecodeInterleaved, and also swapped those in the params.
2018-11-04 20:29:38 -05:00
yellows8
34e99d53c2
Added hwopus.
2018-11-04 18:39:04 -05:00
SciresM
7c2d89dc71
psc: Add PmModule support ( #200 )
...
* psc: Add PmModule support
2018-11-03 21:40:15 -04:00
yellows8
576302444d
Added auddev and AudioDeviceName.
2018-11-02 16:04:09 -04:00
fincs
ede79862fb
Add threadGetCurHandle
2018-10-27 17:34:44 +02:00
yellows8
ccfb1fd4d2
Use Event in applet instead of raw handles.
2018-10-26 14:00:13 -04:00
yellows8
3b0348654e
Use Event in audout/audin instead of raw handles.
2018-10-26 13:41:26 -04:00
yellows8
5dc7505139
Fixed swapped params for svcCreateEvent in eventCreate.
2018-10-26 13:08:45 -04:00
yellows8
49e4e31fcc
Added support for psm StateChangeEvent. Added psmGetBatteryVoltageState. Code style adjustments, use serviceIpc*, etc.
2018-10-26 13:07:10 -04:00
SciresM
ac853db5f0
set:sys: Add GetFirmwareVersion(2) ( #190 )
...
* set:sys: Add GetFirmwareVersion
2018-10-24 17:16:35 -04:00
yellows8
bcddc1ea35
Only allow using video-recording with regular-application, since it's not usable with SystemApplication. Added _appletIsRegularApplication() for this.
2018-10-23 16:23:14 -04:00
tatehaga
b130d96445
barrier implementation using semaphores ( #186 )
2018-10-23 21:19:26 +02:00
yellows8
318562d13b
Init/exit nifm in socketInitialize/socketExit, the user app no longer has to manually handle this when using gethostid/gethostname. Use domains for nifm. Style adjustments in nifm.c.
2018-10-23 14:04:58 -04:00
plutooo
6977cb24f5
virtmem: Fix minor regression
...
We need to fetch alias region to make sure virtmemReserve() avoids returning addresses inside of it
2018-10-23 04:07:01 +02:00
Michael Scire
e942b9cc25
virtmem: Fix stack region mapping on 1.0.0
2018-10-22 22:34:11 +02:00
yellows8
a15c9945a7
Updated comments regarding requirements for using video-recording, etc. Changed appletInitializeGamePlayRecording to (void) since the sysmodule only supports a fixed size.
2018-10-22 13:37:25 -04:00