PCIe services: Difference between revisions

No edit summary
No edit summary
Line 32: Line 32:
| 3 || [[#GetFunctionState]]
| 3 || [[#GetFunctionState]]
|-
|-
| 4 || [[#GetMappedBar]]
| 4 || [[#GetBarProfile]]
|-
|-
| 5 || [[#ReadConfig]]
| 5 || [[#ReadConfig]]
Line 85: Line 85:
Takes an input u32 '''FunctionHandle''' and a type-0x6 output buffer containing a [[#FunctionState]]. No output.
Takes an input u32 '''FunctionHandle''' and a type-0x6 output buffer containing a [[#FunctionState]]. No output.


=== GetMappedBar ===
=== GetBarProfile ===
Takes two input u32s '''FunctionHandle''' and '''Bar'''. Returns an output u64 '''Address''' and an output [[#BarProfile]].
Takes two input u32s '''FunctionHandle''' and '''Bar'''. Returns an output [[#BarProfile]].


=== ReadConfig ===
=== ReadConfig ===
Line 269: Line 269:
This is "nn::pcie::BarProfile".
This is "nn::pcie::BarProfile".


This is a 0xC-byte struct.
This is a 0x18-byte struct.
 
[14.0.0+] This is a 0x20-byte struct.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 278: Line 280:
|-
|-
| 0x00
| 0x00
| 0x08
| Address
|-
| 0x08
| 0x08
| 0x08
| Size
| Size
|-
|-
| 0x10
| 0x08
| 0x08
| 0x04
| Flags
| Flags
|-
| 0x18
| 0x08
|
|}
|}