|
ReactOS 0.4.17-dev-1281-g065abb3
|
#include <hubsm.h>


Public Member Functions | |
| VOID | Initialize (_In_ HubFdo *Hub, _In_ HubKind Kind) |
| HubFdo * | Hub () const |
Public Member Functions inherited from SmMachine< HubMachine, HubEvent > | |
| VOID | SmInitialize (_In_ const State *Initial) |
| BOOLEAN | SmPost (_In_ HubEvent Ev) |
| VOID | SmContinueOnPassive () |
| const State * | SmCurrent () const |
| ULONG | SmDepth () const |
| const State * | SmFrame (_In_ ULONG Index) const |
| BOOLEAN | SmIsIn (_In_ const State *Ancestor) const |
| BOOLEAN | SmIsPaused () const |
| BOOLEAN | SmIsWaitingForTimer () const |
| ULONG | SmUnexpectedCount () const |
Static Public Attributes | |
| static const SM_EVENT_INFO | EventInfo [] |
Private Types | |
| enum class | Teardown : UCHAR { Recover , Fatal , Stop , StopAfterReset , Suspend , ResumeFailed } |
| enum class | PowerUp : UCHAR { Start , PostReset , Resume , ResumeInS0 , ResumeWithReset , ResumeResetFailed } |
| enum class | DromPhase : UCHAR { Header , Full } |
| enum class | StatusRead : UCHAR { Change , LostChanges , OverCurrent } |
Friends | |
| class | SmMachine< HubMachine, HubEvent > |
|
strongprivate |
|
strongprivate |
Why the port and device references are being taken
| Enumerator | |
|---|---|
| Start | |
| PostReset | |
| Resume | |
| ResumeInS0 | |
| ResumeWithReset | |
| ResumeResetFailed | |
Definition at line 120 of file hubsm.h.
|
strongprivate |
What a hub status read is for
| Enumerator | |
|---|---|
| Change | |
| LostChanges | |
| OverCurrent | |
|
strongprivate |
Why the hub is being taken down
| Enumerator | |
|---|---|
| Recover | |
| Fatal | |
| Stop | |
| StopAfterReset | |
| Suspend | |
| ResumeFailed | |
Definition at line 109 of file hubsm.h.
|
private |
Definition at line 348 of file hubreq.cpp.
Referenced by OnReadingHubStatus().
|
private |
Definition at line 1210 of file fdo.cpp.
Referenced by EnterSuspendedResetPending(), OnAwaitingD0(), OnListening(), OnRecycleSuspended(), and OnSuspended().
|
private |
Definition at line 1153 of file hubsm.cpp.
Referenced by OnAwaitingInterruptRefs(), OnCancelingInterrupt(), and QuiesceWithoutInterrupt().
Definition at line 158 of file hubdrom.cpp.
Referenced by StartDromWords().
|
private |
|
private |
|
private |
Definition at line 1318 of file fdo.cpp.
Referenced by EnterLoggingReset(), and OnHubResetting().
|
private |
Definition at line 1253 of file fdo.cpp.
Referenced by EnterHalted().
|
private |
Definition at line 489 of file hubreq.cpp.
Referenced by OnReadingConfigDescriptor().
Definition at line 1379 of file hubsm.cpp.
Referenced by EnterReconfiguringAfterReset(), and EnterReconfiguringAfterResume().
|
private |
Definition at line 757 of file hubreq.cpp.
Referenced by OnDrainingInterruptRefs(), and QuiesceWithInterrupt().
|
private |
Definition at line 583 of file hubsm.cpp.
Referenced by OnDromReadingStatus().
|
private |
Definition at line 765 of file hubreq.cpp.
Referenced by OnListening().
|
private |
Definition at line 1464 of file hubsm.cpp.
Referenced by OnSuspended().
|
private |
|
private |
|
private |
Definition at line 853 of file fanout.cpp.
Referenced by EnterQueryingErrata().
|
private |
|
private |
|
private |
Definition at line 126 of file hubdrom.cpp.
Referenced by StartDromWords().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 426 of file hubsm.cpp.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 884 of file hubreq.cpp.
Referenced by OnAsleep(), OnAwaitingD0(), OnAwaitingResetRetry(), OnDown(), and OnReadingPortStatus().
A failed first start returns to Unconfigured, a failed restart to Stopped.
Definition at line 417 of file hubsm.cpp.
Referenced by EnterQueryingErrata(), OnConfiguring(), OnQueryingParentInfo(), and OnReconfiguring().
|
private |
Definition at line 659 of file hubsm.cpp.
Referenced by CheckDromStatus(), OnDromRead(), StartDromWords(), and StoreDromWordAndContinue().
Definition at line 417 of file hubreq.cpp.
Referenced by EnterReadingConfigDescriptor().
|
private |
Definition at line 357 of file hubreq.cpp.
Referenced by CheckPowerLoss(), and EnterReadingHubDescriptor().
|
private |
|
private |
Definition at line 378 of file upstream.cpp.
Referenced by EnterQueryingParentInfo().
|
private |
Definition at line 790 of file hubreq.cpp.
Referenced by ReadPortStatus().
|
private |
Definition at line 212 of file ucxlink.cpp.
Referenced by EnterReadingRootHub20Ports().
|
private |
Definition at line 296 of file ucxlink.cpp.
Referenced by EnterReadingRootHub30Ports().
|
private |
Definition at line 189 of file ucxlink.cpp.
Referenced by EnterReadingRootHubInfo().
|
private |
None comes only from the lost change query, Error only from the pending one.
Definition at line 1050 of file hubsm.cpp.
Referenced by OnAckingHubChange(), and OnReadingHubStatus().
|
private |
Definition at line 1071 of file hubsm.cpp.
Referenced by HandleHubChange(), OnListening(), and OnReadingHubStatus().
|
inline |
Definition at line 253 of file hubsm.cpp.
|
private |
Definition at line 1350 of file fdo.cpp.
Referenced by StartHubConfiguration().
|
private |
Definition at line 1338 of file fdo.cpp.
Referenced by EnterCheckingRecoveryLimit(), and OnPortsResetting().
|
private |
|
private |
|
private |
Definition at line 651 of file hubreq.cpp.
Referenced by HandleHubStatusFault(), and OverCurrentError().
|
private |
|
private |
Definition at line 1298 of file fdo.cpp.
Referenced by ResumeResetFailed(), and StartPowerUp().
|
private |
Definition at line 1266 of file fdo.cpp.
Referenced by EnterLoggingReset(), and EnterReconfiguringAfterReset().
|
private |
Definition at line 639 of file hubreq.cpp.
Referenced by OnReadingHubStatus().
|
private |
Definition at line 120 of file hubdrom.cpp.
Referenced by CheckDromStatus(), and OnDromReadingFirstStatus().
Definition at line 1029 of file hubsm.cpp.
Definition at line 1493 of file hubsm.cpp.
Definition at line 444 of file hubsm.cpp.
Definition at line 732 of file hubsm.cpp.
Definition at line 362 of file hubsm.cpp.
Definition at line 829 of file hubsm.cpp.
Definition at line 1221 of file hubsm.cpp.
Definition at line 1172 of file hubsm.cpp.
Definition at line 1325 of file hubsm.cpp.
Definition at line 859 of file hubsm.cpp.
Definition at line 907 of file hubsm.cpp.
Definition at line 795 of file hubsm.cpp.
Definition at line 1243 of file hubsm.cpp.
Definition at line 1265 of file hubsm.cpp.
Definition at line 1670 of file hubsm.cpp.
Definition at line 1594 of file hubsm.cpp.
Definition at line 987 of file hubsm.cpp.
Definition at line 947 of file hubsm.cpp.
Definition at line 1413 of file hubsm.cpp.
Definition at line 1515 of file hubsm.cpp.
|
private |
|
private |
|
private |
Finds the router identity entry of a version 1 DROM, bounds checking each entry.
Definition at line 201 of file hubdrom.cpp.
Referenced by FinishDrom().
|
private |
Definition at line 552 of file hubreq.cpp.
Referenced by OnReadingHubDescriptor().
|
private |
|
private |
|
private |
|
private |
Definition at line 859 of file fanout.cpp.
Referenced by QuiesceWithInterrupt(), and QuiesceWithoutInterrupt().
|
private |
Definition at line 150 of file ucxlink.cpp.
Referenced by EnterConfiguring(), and EnterReadingRootHubInfo().
|
private |
Definition at line 825 of file hubregistry.cpp.
Referenced by EnterQueryingErrata().
|
private |
|
private |
Definition at line 1202 of file fdo.cpp.
Referenced by SmQueuePassive().
|
private |
|
private |
Definition at line 962 of file fanout.cpp.
Referenced by OnPortsAcquiring().
|
private |
|
private |
Definition at line 956 of file fanout.cpp.
Referenced by OnPortsAcquiring().
|
private |
Definition at line 878 of file fanout.cpp.
Referenced by StartPowerUp().
|
private |
Definition at line 968 of file fanout.cpp.
Referenced by OnPortsAcquiring(), and ResumeResetFailed().
|
private |
Definition at line 890 of file fanout.cpp.
Referenced by StartPowerUp().
|
private |
Definition at line 950 of file fanout.cpp.
Referenced by OnPortsAcquiring().
|
private |
|
private |
|
private |
Definition at line 944 of file fanout.cpp.
Referenced by OnAsleep().
|
private |
Definition at line 932 of file fanout.cpp.
Referenced by AfterInterruptQuiet(), and OnAwaitingStop().
|
private |
Definition at line 896 of file fanout.cpp.
Referenced by AfterInterruptQuiet(), OnDevicesAcquiring(), and OnDevicesReleasing().
|
private |
Definition at line 908 of file fanout.cpp.
Referenced by QuiesceWithInterrupt(), and QuiesceWithoutInterrupt().
|
private |
Definition at line 938 of file fanout.cpp.
Referenced by AfterInterruptQuiet().
|
private |
Definition at line 1119 of file hubsm.cpp.
Referenced by OnListening().
Definition at line 1138 of file hubsm.cpp.
Referenced by HandleHubChange(), HandleHubStatusFault(), OnAckingHubChange(), OnAwaitingInterruptEnable(), OnListening(), OnReadingHubStatus(), OnReconfiguringAfterReset(), OnResettingPipe(), and OverCurrentError().
Definition at line 134 of file hubdrom.cpp.
Referenced by EnterDromReadingFirstStatus(), EnterDromReadingStatus(), and EnterDromReadingWord().
Definition at line 938 of file hubsm.cpp.
Referenced by OnListening(), and OnNotListening().
|
private |
|
private |
Definition at line 1391 of file fdo.cpp.
Referenced by EnterCheckingRecoveryLimit().
|
private |
|
private |
|
private |
Definition at line 1216 of file fdo.cpp.
Referenced by OnAwaitingStop(), OnNotListening(), and SendInterrupt().
|
private |
Definition at line 818 of file hubreq.cpp.
Referenced by OnReadingPortStatus(), and OnSuspended().
|
private |
Definition at line 1241 of file fdo.cpp.
Referenced by EnterReportingFailure().
|
private |
Definition at line 301 of file upstream.cpp.
Referenced by EnterHubResetting().
|
private |
Definition at line 1356 of file fdo.cpp.
Referenced by OnAwaitingResetRetry().
|
private |
Definition at line 247 of file upstream.cpp.
Referenced by OnListening().
|
private |
Definition at line 1431 of file hubsm.cpp.
Referenced by OnReconfiguringAfterResume(), and OnResettingOnResume().
|
private |
Definition at line 603 of file hubreq.cpp.
Referenced by OnReadingHubStatus().
|
private |
Definition at line 128 of file upstream.cpp.
Referenced by EnterSettingConfiguration().
Definition at line 966 of file hubsm.cpp.
Referenced by HandleHubChange(), HandleHubStatusFault(), OnNotListening(), OnReadingHubStatus(), and OnResettingPipe().
|
private |
Definition at line 408 of file hubreq.cpp.
Referenced by EnterProgrammingHubDepth().
|
private |
Definition at line 1222 of file fdo.cpp.
Referenced by EnterSignalPnp(), OnAwaitingAddDevice(), OnAwaitingD0(), OnAwaitingReleaseAfterFailure(), OnAwaitingReleaseHardware(), OnAwaitingStop(), OnDevicesAcquiring(), OnPortsAcquiring(), OnPortsReleasing(), OnPortsResetting(), and OnRecycleSuspended().
|
private |
|
private |
|
private |
|
private |
|
private |
Reads the router DROM through the vendor mailbox; no failure here fails the start.
Definition at line 473 of file hubsm.cpp.
Referenced by OnConfiguring(), and OnReconfiguring().
|
private |
The DWORD count is rounded up from the total size, not from the length field.
Definition at line 600 of file hubsm.cpp.
Referenced by StoreDromWordAndContinue().
|
private |
Definition at line 406 of file hubsm.cpp.
Referenced by EnterConfiguring(), and EnterReconfiguring().
Definition at line 766 of file hubsm.cpp.
Referenced by CallHubDepthOr(), CheckPowerLoss(), OnAwaitingD0(), OnCheckingPowerLoss(), OnReconfiguringAfterReset(), OnReconfiguringAfterResume(), and OnSuspended().
|
private |
Definition at line 705 of file hubreq.cpp.
Referenced by SendInterrupt().
|
private |
Definition at line 640 of file hubsm.cpp.
Referenced by OnDromReadingWord().
|
private |
Definition at line 421 of file ucxlink.cpp.
Referenced by EnterUpdatingController().
|
private |
|
private |
Definition at line 400 of file upstream.cpp.
Referenced by OnSuspended(), and OnSuspendedResetPending().
Definition at line 141 of file hubdrom.cpp.
Referenced by EnterDromSendingCommand(), and EnterDromWritingMetadata().
Definition at line 174 of file hubsm.h.
Referenced by OnReadingHubStatus().
Definition at line 148 of file hubsm.h.
Referenced by Initialize().
Definition at line 160 of file hubsm.h.
Referenced by EnterQueryingErrata(), EnterReconfiguring(), and OnReconfiguring().
Definition at line 202 of file hubsm.h.
Referenced by OnReadingHubDescriptor().
Definition at line 180 of file hubsm.h.
Referenced by OnNotListening().
Definition at line 179 of file hubsm.h.
Referenced by OnDrainingInterruptRefs(), and QuiesceWithoutInterrupt().
Definition at line 175 of file hubsm.h.
Referenced by HandleHubChange().
Definition at line 164 of file hubsm.h.
Referenced by FailStart().
Definition at line 163 of file hubsm.h.
Referenced by OnDevicesReleasing(), and OnPortsReleasing().
Definition at line 189 of file hubsm.h.
Referenced by EnterLoggingReset(), and OnHubResetting().
Definition at line 165 of file hubsm.h.
Referenced by EnterReportingFailure(), and OnRecycleSuspended().
Definition at line 198 of file hubsm.h.
Referenced by OnAsleep().
Definition at line 178 of file hubsm.h.
Referenced by OnDrainingInterruptRefs(), and QuiesceWithInterrupt().
Definition at line 193 of file hubsm.h.
Referenced by CheckPowerLoss().
Definition at line 184 of file hubsm.h.
Referenced by OnPortsResetting().
Definition at line 151 of file hubsm.h.
Referenced by OnQueryingParentInfo(), and OnUnconfigured().
Definition at line 167 of file hubsm.h.
Referenced by OnStopped(), OnSurpriseRemoved(), and OnUnconfigured().
Definition at line 169 of file hubsm.h.
Referenced by OnPortsAcquiring(), and ResumeResetFailed().
Definition at line 181 of file hubsm.h.
Referenced by AfterInterruptQuiet(), and OnAwaitingStop().
Definition at line 177 of file hubsm.h.
Referenced by QuiesceWithInterrupt().
Definition at line 154 of file hubsm.h.
Referenced by StartDromOrSkip().
Definition at line 157 of file hubsm.h.
Referenced by CheckDromStatus(), and OnDromSendingCommand().
Definition at line 158 of file hubsm.h.
Referenced by CheckDromStatus(), and StoreDromWordAndContinue().
Definition at line 156 of file hubsm.h.
Referenced by OnDromWritingMetadata().
Definition at line 155 of file hubsm.h.
Referenced by OnDromReadingFirstStatus(), StartDromWords(), and StoreDromWordAndContinue().
|
static |
Definition at line 207 of file hubsm.h.
Referenced by OnSettingConfiguration().
Definition at line 187 of file hubsm.h.
Referenced by EnterCheckingRecoveryLimit(), OnAwaitingResetRetry(), and OnPortsResetting().
Definition at line 170 of file hubsm.h.
Referenced by OnListening(), and SendInterrupt().
|
private |
Definition at line 583 of file hubsm.h.
Referenced by CheckDromStatus(), EnterDromReadingWord(), EnterDromWritingMetadata(), FinishDrom(), Initialize(), StartDromOrSkip(), StartDromWords(), and StoreDromWordAndContinue().
Definition at line 586 of file hubsm.h.
Referenced by FinishDrom(), Initialize(), and StartDromOrSkip().
|
private |
Definition at line 585 of file hubsm.h.
Referenced by FinishDrom(), Initialize(), StartDromOrSkip(), StartDromWords(), and StoreDromWordAndContinue().
|
private |
Definition at line 582 of file hubsm.h.
Referenced by CheckDromStatus(), Initialize(), and OnDromSendingCommand().
|
private |
Definition at line 584 of file hubsm.h.
Referenced by EnterDromWritingMetadata(), FinishDrom(), Initialize(), StartDromOrSkip(), StartDromWords(), and StoreDromWordAndContinue().
|
private |
Definition at line 581 of file hubsm.h.
Referenced by EnterReadingConfigDescriptor(), Initialize(), OnReadingConfigDescriptor(), and OnReadingStandardStatus().
|
private |
Definition at line 574 of file hubsm.h.
Referenced by AckHubChange(), AcquirePowerReference(), AllocateDromBuffer(), AllowHubReset(), ArmOverCurrentTimer(), ArmResetRetryTimer(), BugcheckBootHub(), CacheConfigDescriptor(), CancelStatusChangeRead(), CheckDromStatus(), CheckHubChangeBit(), ClearPipeResetCount(), ConfigDescriptorTruncated(), CreateChildPorts(), DereferenceHub(), DescriptorRetriesExhausted(), DromDataLength(), FailPortStatus(), GetConfigDescriptor(), GetHubDescriptor(), GetHubStatus(), GetParentInfo(), GetPortStatus(), GetRootHub20Ports(), GetRootHub30Ports(), GetRootHubInfo(), GetStandardStatus(), Hub(), Initialize(), InitializeDescriptorRetries(), InitializeResetCount(), IsDepthZero(), IsDromReadWanted(), IsInBootPath(), LogResetOnResume(), LogResetRecovery(), MailboxValue(), OnDromReadingFirstStatus(), OverCurrentCleared(), ParseDromIdentity(), ParseHubDescriptor(), ParsePowerStatus(), PendingHubChange(), PipeResetLimitReached(), PortInterruptRefsReleased(), QueryControllerInfo(), QueryErrataFlags(), QueueFakeStatusChangeToPorts(), QueuePassiveWork(), QueueResetToPorts(), QueueResumeInS0ToDevices(), QueueResumeInS0ToPorts(), QueueResumeToDevices(), QueueResumeToPorts(), QueueResumeWithResetToDevices(), QueueResumeWithResetToPorts(), QueueStartToDevices(), QueueStartToPorts(), QueueStatusChangeToPorts(), QueueStopAfterSuspendToDevices(), QueueStopToDevices(), QueueStopToPorts(), QueueSurpriseRemovalToPorts(), QueueSuspendToDevices(), QueueSuspendToPorts(), ReadDromRegister(), RecoveryLimitReached(), ReferenceHub(), ReleaseDromBuffer(), ReleasePowerReference(), ReplyPortStatus(), ReportFailureToPnp(), ResetHub(), ResetLimitReached(), ResetStatusChangePipe(), SelectHubChange(), SelectHubConfiguration(), SetHubDepth(), SignalPnpEvent(), SignalPnpFailure(), StartDescriptorRetryTimer(), StartDromWords(), StartStatusChangeRead(), StoreDromWord(), UpdateControllerHubInfo(), UseDromHeaderBuffer(), WasResetByParent(), and WriteDromRegister().
|
private |
Definition at line 575 of file hubsm.h.
Referenced by CallHubDepthOr(), CheckPowerLoss(), EnterConfiguring(), EnterReconfiguring(), Initialize(), OnSettingConfiguration(), and OnUnconfigured().
Definition at line 579 of file hubsm.h.
Referenced by Initialize(), OnReadingPortStatus(), and ReadPortStatus().
|
private |
Definition at line 577 of file hubsm.h.
Referenced by Initialize(), OnDevicesAcquiring(), OnPortsAcquiring(), ResumeResetFailed(), and StartPowerUp().
|
private |
Definition at line 580 of file hubsm.h.
Referenced by FailStart(), Initialize(), and OnAwaitingReleaseAfterFailure().
|
private |
Definition at line 578 of file hubsm.h.
Referenced by Initialize(), OnReadingHubStatus(), and ReadStatus().
|
private |
Definition at line 576 of file hubsm.h.
Referenced by AfterInterruptQuiet(), Initialize(), OnAwaitingInterruptEnable(), OnAwaitingStop(), OnDevicesAcquiring(), OnDevicesReleasing(), OnNotListening(), OnPortsReleasing(), OnPortsResetting(), QuiesceWithInterrupt(), and QuiesceWithoutInterrupt().
Definition at line 171 of file hubsm.h.
Referenced by Initialize(), OnDevicesAcquiring(), OnListening(), and OnNotListening().
Definition at line 168 of file hubsm.h.
Referenced by StartPowerUp().
Definition at line 182 of file hubsm.h.
Referenced by AfterInterruptQuiet(), OnDevicesAcquiring(), and OnDevicesReleasing().
Definition at line 183 of file hubsm.h.
Referenced by OnPortsReleasing().
Definition at line 215 of file hubsm.h.
Referenced by CallHubDepthOr(), and EnterFinishingConfiguration().
Definition at line 159 of file hubsm.h.
Referenced by Initialize(), and OnConfiguring().
Definition at line 150 of file hubsm.h.
Referenced by OnUnconfigured().
Definition at line 204 of file hubsm.h.
Referenced by OnReadingConfigDescriptor(), and OnReadingStandardStatus().
Definition at line 201 of file hubsm.h.
Referenced by OnAwaitingDescriptorRetry(), and StartHubConfiguration().
Definition at line 173 of file hubsm.h.
Referenced by ReadStatus().
Definition at line 172 of file hubsm.h.
Referenced by ReadPortStatus().
Definition at line 211 of file hubsm.h.
Referenced by OnReadingRootHubInfo().
Definition at line 212 of file hubsm.h.
Referenced by OnReadingRootHub20Ports().
Definition at line 210 of file hubsm.h.
Referenced by EnterConfiguring().
Definition at line 203 of file hubsm.h.
Referenced by OnReadingHubDescriptor().
Definition at line 190 of file hubsm.h.
Referenced by OnHubResetting().
Definition at line 192 of file hubsm.h.
Referenced by OnResettingOnResume(), and OnSuspended().
Definition at line 196 of file hubsm.h.
Referenced by OnAwaitingStop().
Definition at line 185 of file hubsm.h.
Referenced by EnterCheckingRecoveryLimit(), OnAwaitingResetRetry(), and OnPortsResetting().
Definition at line 191 of file hubsm.h.
Referenced by OnCheckingPowerLoss(), and OnSuspendedResetPending().
Definition at line 206 of file hubsm.h.
Referenced by OnUpdatingController().
Definition at line 162 of file hubsm.h.
Referenced by OnAwaitingD0(), OnAwaitingReleaseAfterFailure(), and OnAwaitingReleaseHardware().
Definition at line 166 of file hubsm.h.
Referenced by OnAwaitingStopAfterSuspend().
Definition at line 197 of file hubsm.h.
Referenced by OnSuspended().
Definition at line 149 of file hubsm.h.
Referenced by OnAwaitingAddDevice(), and OnAwaitingReleaseAfterFailure().
Definition at line 205 of file hubsm.h.
Referenced by OnReadingConfigDescriptor().