PCIe services: Difference between revisions

From Nintendo Switch Brew
Jump to navigation Jump to search
No edit summary
(7 intermediate revisions by 2 users not shown)
Line 8: Line 8:
| 0 || [[#RegisterClassDriver]]
| 0 || [[#RegisterClassDriver]]
|-
|-
| 1 || [[#QueryFunctions]]
| 1 || [[#QueryFunctionsUnregistered]]
|}
|}


Line 16: Line 16:
Returns an event handle and session handle to a [[#ISession]].
Returns an event handle and session handle to a [[#ISession]].


== QueryFunctions ==
== QueryFunctionsUnregistered ==
Takes a type-6 buffer.
Takes a type-6 buffer.


Line 54: Line 54:
| 12 || UnmapDma
| 12 || UnmapDma
|-
|-
| 13 || UnmapDma2
| 13 || UnmapDmaBusAddress
|-
|-
| 14 || GetDmaBusAddress
| 14 || GetDmaBusAddress
Line 69: Line 69:
|-
|-
| 20 || SetAspmEnable
| 20 || SetAspmEnable
|-
| 21 || [3.0.0+]
|-
| 22 || [4.0.0+]
|-
| 23 || [7.0.0+]
|}
[5.0.0+] The buffer types for ReadBarRegion/WriteBarRegion were changed: 0x6 changed to 0x22, and 0x5 changed to 0x21.
[7.0.0+] AcquireIrq now takes an additional 4-bytes of input, and no longer returns an output handle. SetAspmEnable now returns an output handle.
= pcie:log =
This was added with [6.0.0+].
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|-
| 1 ||
|}
|}


[[Category:Services]]
[[Category:Services]]

Revision as of 02:13, 15 May 2019

pcie

This is "nn::pcie::detail::IManager".

Cmd Name
0 #RegisterClassDriver
1 #QueryFunctionsUnregistered

RegisterClassDriver

Takes the current process handle (0xFFFF8001).

Returns an event handle and session handle to a #ISession.

QueryFunctionsUnregistered

Takes a type-6 buffer.

Returns a list of connected PCIe endpoint devices.

ISession

This is "nn::pcie::detail::ISession".

Cmd Name
0 QueryFunctions
1 AcquireFunction
2 ReleaseFunction
3 GetFunctionState
4 GetBarProfile
5 ReadConfig
6 WriteConfig
7 ReadBarRegion
8 WriteBarRegion
9 FindCapability
10 FindExtendedCapability
11 MapDma
12 UnmapDma
13 UnmapDmaBusAddress
14 GetDmaBusAddress
15 GetDmaBusAddressRange
16 SetDmaEnable
17 AcquireIrq
18 ReleaseIrq
19 SetIrqEnable
20 SetAspmEnable
21 [3.0.0+]
22 [4.0.0+]
23 [7.0.0+]

[5.0.0+] The buffer types for ReadBarRegion/WriteBarRegion were changed: 0x6 changed to 0x22, and 0x5 changed to 0x21.

[7.0.0+] AcquireIrq now takes an additional 4-bytes of input, and no longer returns an output handle. SetAspmEnable now returns an output handle.

pcie:log

This was added with [6.0.0+].

Cmd Name
0
1