getDebuggerLinkStatus
Debugger polled-mode link status handler.
Declaration
virtual UInt32 getDebuggerLinkStatus(
void);Return Value
Link status bits. See IONetworkMedium for the definition of the link status bits.
Overview
This method should be implemented by a driver that wishes to support early availability kernel debugging. After a debugger client has been attached through attachDebuggerClient(), this method will be called by the debugger to poll for link status availability only when the kernel debugger is active. This method may be called from the primary interrupt context. As a result, the implementation must avoid any memory allocation, not use spinlocks, and never block.
The getDebuggerLinkStatus() method in IONetworkController is used as a placeholder and always reports that the link is up. A driver that attaches a debugger client should override this method. The driver should do any setup required to make sure the link is available for use. Prior to sending or receiving data, KDP will call this function repeatedly until it indicates that the link is both valid and active (kIONetworkLinkValid | kIONetworkLinkActive).
See Also
Miscellaneous
allocatePacketattachDebuggerClientattachInterfaceconfigureInterfacecopyMediumDictionarycopyPacketcreateInterfacecreateOutputQueuecreateWorkLoopdetachDebuggerClientdetachInterfacedisabledisable(IONetworkInterface *)disable(IOService *)disablePacketFilterdoDisabledoEnableenableenable(IONetworkInterface *)enable(IOService *)enablePacketFilterexecuteCommandfreefreePacketgetChecksumDemandgetChecksumSupportgetCommandClientgetCommandGategetFeaturesgetHardwareAddressgetMaxPacketSizegetMediumDictionarygetMinPacketSizegetOutputHandlergetOutputQueuegetPacketBufferConstraintsgetPacketFiltersgetSelectedMediumhandleClosehandleIsOpenhandleOpeninitmessagenewModelStringnewRevisionStringnewVendorStringoutputPacketpreparepublishMediumDictionarypublishPropertiesreceivePacketregisterWithPolicyMakerreleaseDebuggerLockreleaseFreePacketsreplaceOrCopyPacketreplacePacketreserveDebuggerLockselectMediumselectMediumWithNamesendPacketsetChecksumResultsetDebuggerModesetHardwareAddresssetLinkStatussetMaxPacketSizesetSelectedMediumstartstopsystemWillShutdown