PCIe services: Difference between revisions

From Nintendo Switch Brew
Jump to navigation Jump to search
No edit summary
No edit summary
Line 6: Line 6:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#GetISession]]
| 0 || [[#RegisterClassDriver]]
|-
|-
| 1 || [[#ListEndpoints]]
| 1 || [[#QueryFunctions]]
|}
|}


== Initialize ==
== RegisterClassDriver ==
Takes the current process handle (0xFFFF8001).
Takes the current process handle (0xFFFF8001).


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


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


Line 26: Line 26:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
|-
| 0 || || Takes a type-6 buffer. Returns all zeroes.
| 0 || QueryFunctions
|-
|-
| 1 || || Always returns 0x1278?
| 1 || AcquireFunction
|-
|-
| 2 || || Always returns 0x1278?
| 2 || ReleaseFunction
|-
|-
| 3 || || Takes a type-6 buffer. Always returns 0x1278?
| 3 || GetFunctionState
|-
|-
| 4 || ||
| 4 || GetBarProfile
|-
|-
| 5 || ||
| 5 || ReadConfig
|-
|-
| 6 || ||
| 6 || WriteConfig
|-
|-
| 7 || ||
| 7 || ReadBarRegion
|-
|-
| 8 || ||
| 8 || WriteBarRegion
|-
|-
| 9 || ||
| 9 || FindCapability
|-
|-
| 10 || ||
| 10 || FindExtendedCapability
|-
|-
| 11 || ||
| 11 || MapDma
|-
|-
| 12 || ||
| 12 || UnmapDma
|-
|-
| 13 || ||
| 13 || UnmapDma2
|-
|-
| 14 || ||
| 14 || GetDmaBusAddress
|-
|-
| 15 || ||
| 15 || GetDmaBusAddressRange
|-
|-
| 16 || ||
| 16 || SetDmaEnable
|-
|-
| 17 || ||
| 17 || AcquireIrq
|-
|-
| 18 || ||
| 18 || ReleaseIrq
|-
|-
| 19 || ||
| 19 || SetIrqEnable
|-
|-
| 20 || ||
| 20 || SetAspmEnable
|}
|}


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

Revision as of 23:32, 7 June 2018

pcie

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

Cmd Name
0 #RegisterClassDriver
1 #QueryFunctions

RegisterClassDriver

Takes the current process handle (0xFFFF8001).

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

QueryFunctions

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 UnmapDma2
14 GetDmaBusAddress
15 GetDmaBusAddressRange
16 SetDmaEnable
17 AcquireIrq
18 ReleaseIrq
19 SetIrqEnable
20 SetAspmEnable