KasperskyOS Community Edition 1.3

KasperskyOS kernel XHCI DbC driver management (xhcidbg_api.h)

This API is defined in the header file sysroot-*-kos/include/coresrv/xhcidbg/xhcidbg_api.h from the KasperskyOS SDK.

This API is intended for use in the code of drivers that implement a USB stack (kusb class drivers) and lets you stop and start the XHCI DbC (Debug Capability) driver of the KasperskyOS kernel. (The KasperskyOS kernel includes the XHCI DbC driver, which is a simplified XHCI controller driver and is used by the kernel for diagnostic output or by the kernel GDB server to interact with the GDB debugger.) If a kusb class driver needs to restart the XHCI controller, the kernel's XHCI DbC driver must be stopped by calling the KnXhcidbgStop() function before the restart and then started by calling the KnXhcidbgStart() function after the restart. If you do not do this, a restart of the XHCI controller will lead to a failure of diagnostic output (or debugging) via the USB port.

This API has not been implemented for the Raspberry Pi 4 B and Radxa ROCK 3A hardware platforms (the functions return rcUnimplemented).

Information about API functions is provided in the table below.

xhcidbg_api.h functions

Function

Information about the function

KnXhcidbgStart()

Purpose

Starts the XHCI DbC driver of the KasperskyOS kernel.

Parameters

N/A

Returned values

If successful, the function returns rcOk, otherwise it returns an error code.

KnXhcidbgStop()

Purpose

Stops the XHCI DbC driver of the KasperskyOS kernel.

Parameters

N/A

Returned values

If successful, the function returns rcOk, otherwise it returns an error code.