When I use the newest XhciDxe driver in Phytium Platform( ARM) , I found if clearing “Input Context” in XhcEvaluateContext64(), the usb KB doesn't work, and mark the code ZeroMem (InputContext, sizeof (INPUT_CONTEXT_64)); it works.
I viewed the code again, maybe change the ZeroMem (InputContext, sizeof (INPUT_CONTEXT_64)); to ZeroMem (InputContext, sizeof (INPUT_CONTRL_CONTEXT_64)); is more resonable. Because when clearing the INPUT_CONTEXT_64, the Slot context and the endpoint context are cleared too. But according the xHCI Spec section 6.2.2
Noteļ¼Unless otherwise stated: As Input, all fields of the Slot Context shall be initialized to the appropriate value by software before issuing a command.
And I test again, just clear INPUT_CONTRL_CONTEXT_64 is OK.