Line 6: |
Line 6: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || [[#RegisterClassDriver]] | + | | 0 || [[#RegisterClassDriver|RegisterClassDriver]] |
| |- | | |- |
− | | 1 || [[#QueryFunctionsUnregistered]] | + | | 1 || [[#QueryFunctions|QueryFunctions]] |
| |} | | |} |
| | | |
Line 14: |
Line 14: |
| Takes an input Process handle and an input [[#ClassDriverConfig]]. Returns an output Event handle and an [[#ISession]]. | | Takes an input Process handle and an input [[#ClassDriverConfig]]. Returns an output Event handle and an [[#ISession]]. |
| | | |
− | == QueryFunctionsUnregistered == | + | == QueryFunctions == |
− | Takes a type-0x6 output buffer containing an array of [[#FunctionState]]. Returns an output s32 '''Count'''. | + | Takes a type-0x6 output buffer containing an array of [[#FunctionState]]. Returns an output s32 '''FunctionStateCount'''. |
| | | |
| == ISession == | | == ISession == |
Line 24: |
Line 24: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || [[#QueryFunctions]] | + | | 0 || [[#QueryFunctions_2|QueryFunctions]] |
| |- | | |- |
− | | 1 || [[#AcquireFunction]] | + | | 1 || [[#AcquireFunction|AcquireFunction]] |
| |- | | |- |
− | | 2 || [[#ReleaseFunction]] | + | | 2 || [[#ReleaseFunction|ReleaseFunction]] |
| |- | | |- |
− | | 3 || [[#GetFunctionState]] | + | | 3 || [[#GetFunctionState|GetFunctionState]] |
| |- | | |- |
− | | 4 || [[#GetBarProfile]] | + | | 4 || [[#GetBarProfile|GetBarProfile]] |
| |- | | |- |
− | | 5 || [[#ReadConfig]] | + | | 5 || [[#ReadConfig|ReadConfig]] |
| |- | | |- |
− | | 6 || [[#WriteConfig]] | + | | 6 || [[#WriteConfig|WriteConfig]] |
| |- | | |- |
− | | 7 || [[#ReadBarRegion]] | + | | 7 || [[#ReadBarRegion|ReadBarRegion]] |
| |- | | |- |
− | | 8 || [[#WriteBarRegion]] | + | | 8 || [[#WriteBarRegion|WriteBarRegion]] |
| |- | | |- |
− | | 9 || [[#FindCapability]] | + | | 9 || [[#FindCapability|FindCapability]] |
| |- | | |- |
− | | 10 || [[#FindExtendedCapability]] | + | | 10 || [[#FindExtendedCapability|FindExtendedCapability]] |
| |- | | |- |
− | | 11 || [[#MapDma]] | + | | 11 || [[#MapDma|MapDma]] |
| |- | | |- |
− | | 12 || [[#UnmapDma]] | + | | 12 || [[#UnmapDmaByProcVa|UnmapDmaByProcVa]] |
| |- | | |- |
− | | 13 || [[#UnmapDmaBusAddress]] | + | | 13 || [[#UnmapDmaByBusAddress|UnmapDmaByBusAddress]] |
| |- | | |- |
− | | 14 || [[#GetDmaBusAddress]] | + | | 14 || [[#GetDmaBusAddress|GetDmaBusAddress]] |
| |- | | |- |
− | | 15 || [[#GetDmaBusAddressRange]] | + | | 15 || [[#GetDmaBusAddressRange|GetDmaBusAddressRange]] |
| |- | | |- |
− | | 16 || [[#SetDmaEnable]] | + | | 16 || [[#SetDmaEnable|SetDmaEnable]] |
| |- | | |- |
− | | 17 || [[#AcquireIrq]] | + | | 17 || [[#AcquireIrq|AcquireIrq]] |
| |- | | |- |
− | | 18 || [[#ReleaseIrq]] | + | | 18 || [[#ReleaseIrq|ReleaseIrq]] |
| |- | | |- |
− | | 19 || [[#SetIrqEnable]] | + | | 19 || [[#SetIrqEnable|SetIrqEnable]] |
| |- | | |- |
− | | 20 || [[#SetAspmEnable]] | + | | 20 || [7.0.0+] [[#GetIrqEvent|GetIrqEvent]] ([1.0.0-6.2.0] SetAspmEnable) |
| |- | | |- |
− | | 21 || [3.0.0+] [[#SetResetUponResumeEnable]] | + | | 21 || [7.0.0+] [[#SetAspmEnable|SetAspmEnable]] ([3.0.0-6.2.0] SetResetUponResumeEnable) |
| |- | | |- |
− | | 22 || [4.0.0+] [[#ResetFunction]] | + | | 22 || [7.0.0+] [[#SetResetUponResumeEnable]] ([4.0.0-6.2.0] ResetFunction) |
| |- | | |- |
− | | 23 || [7.0.0+] | + | | 23 || [7.0.0+] [[#ResetFunction]] |
| |} | | |} |
| | | |
| === QueryFunctions === | | === QueryFunctions === |
− | Takes a type-0x6 output buffer containing an array of [[#FunctionState]]. Returns an output s32 '''Count'''. | + | Takes a type-0x6 output buffer containing an array of [[#FunctionState]]. Returns an output s32 '''FunctionStateCount'''. |
| | | |
| === AcquireFunction === | | === AcquireFunction === |
Line 113: |
Line 113: |
| Takes an input u32 '''FunctionHandle''', an input [[#DmaDirection]], an input u64 '''VirtualAddress''' and an input u32 '''Size'''. Returns an output u64 '''PhysicalAddress'''. | | Takes an input u32 '''FunctionHandle''', an input [[#DmaDirection]], an input u64 '''VirtualAddress''' and an input u32 '''Size'''. Returns an output u64 '''PhysicalAddress'''. |
| | | |
− | === UnmapDma === | + | === UnmapDmaByProcVa === |
| Takes an input u32 '''FunctionHandle''' and an input u64 '''PhysicalAddress'''. No output. | | Takes an input u32 '''FunctionHandle''' and an input u64 '''PhysicalAddress'''. No output. |
| | | |
− | === UnmapDmaBusAddress === | + | === UnmapDmaByBusAddress === |
| Takes an input u32 '''FunctionHandle''' and an input u64 '''BusAddress'''. No output. | | Takes an input u32 '''FunctionHandle''' and an input u64 '''BusAddress'''. No output. |
| | | |
Line 129: |
Line 129: |
| | | |
| === AcquireIrq === | | === AcquireIrq === |
− | Takes an input u32s '''FunctionHandle''' and an input [[#IrqType]]. Returns an output Event handle. | + | Takes an input u32s '''FunctionHandle''', an input [[#IrqType]] and an input s32 '''IrqCount'''. No output. |
− | | |
− | [7.0.0+] Now takes another input u32 and no longer returns an output Event handle.
| |
| | | |
| === ReleaseIrq === | | === ReleaseIrq === |
Line 138: |
Line 136: |
| === SetIrqEnable === | | === SetIrqEnable === |
| Takes an input u32s '''FunctionHandle''', an unknown input u32 and an input bool '''Enable'''. No output. | | Takes an input u32s '''FunctionHandle''', an unknown input u32 and an input bool '''Enable'''. No output. |
| + | |
| + | === GetIrqEvent === |
| + | Takes an input u32s '''FunctionHandle''' and an input [[#IrqType]]. Returns an output Event handle. |
| | | |
| === SetAspmEnable === | | === SetAspmEnable === |
| Takes an input u32 '''FunctionHandle''' and an input bool '''Enable'''. No output. | | Takes an input u32 '''FunctionHandle''' and an input bool '''Enable'''. No output. |
− |
| |
− | [7.0.0+] Now returns an output Event handle.
| |
| | | |
| === SetResetUponResumeEnable === | | === SetResetUponResumeEnable === |
Line 159: |
Line 158: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || GetLoggedState |
| |- | | |- |
− | | 1 || | + | | 1 || GetLoggedStateEvent |
| |} | | |} |
| | | |
Line 291: |
Line 290: |
| | 0x10 | | | 0x10 |
| | 0x04 | | | 0x04 |
− | | ClassCode | + | | [[#ClassCode|ClassCode]] |
| |- | | |- |
| | 0x14 | | | 0x14 |