Current implementation of keyboard driver executes key notify function in TimerHandler at TPL_NOTIFY. The code change is to make key notify function executed at TPL_CALLBACK to reduce the time occupied at TPL_NOTIFY.
The code will signal KeyNotify process event if the key pressed matches any key registered and insert the KeyData to the EFI Key queue for notify, then the KeyNotify process handler will invoke key notify functions at TPL_CALLBACK. It can also address the problem raised at https://lists.01.org/pipermail/edk2-devel/2016-December/005644.html Cc: Ruiyu Ni <ruiyu...@intel.com> Cc: Michael Kinney <michael.d.kin...@intel.com> Cc: Feng Tian <feng.t...@intel.com> Cc: Jeff Fan <jeff....@intel.com> Cc: Michael Zimmermann <sigmaepsilo...@gmail.com> Star Zeng (5): MdeModulePkg UsbKbDxe: Execute key notify func at TPL_CALLBACK MdeModulePkg TerminalDxe: Execute key notify func at TPL_CALLBACK MdeModulePkg Ps2KbDxe: Execute key notify func at TPL_CALLBACK IntelFrameworkModulePkg Ps2KbDxe: Execute key notify func at TPL_CALLBACK IntelFrameworkModulePkg KbDxe: Execute key notify func at TPL_CALLBACK .../Bus/Isa/Ps2KeyboardDxe/Ps2KbdCtrller.c | 9 +- .../Bus/Isa/Ps2KeyboardDxe/Ps2KbdTextIn.c | 47 +++++- .../Bus/Isa/Ps2KeyboardDxe/Ps2Keyboard.c | 23 ++- .../Bus/Isa/Ps2KeyboardDxe/Ps2Keyboard.h | 15 ++ .../Csm/BiosThunk/KeyboardDxe/BiosKeyboard.c | 75 ++++++++- .../Csm/BiosThunk/KeyboardDxe/BiosKeyboard.h | 17 +- .../Bus/Isa/Ps2KeyboardDxe/Ps2KbdCtrller.c | 7 +- MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KbdTextIn.c | 45 ++++++ MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2Keyboard.c | 20 +++ MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2Keyboard.h | 15 ++ MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.c | 64 +++++++- MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h | 17 +- MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c | 10 +- .../Universal/Console/TerminalDxe/Terminal.c | 25 ++- .../Universal/Console/TerminalDxe/Terminal.h | 80 +++++++++- .../Universal/Console/TerminalDxe/TerminalConIn.c | 177 ++++++++++++++++++++- 16 files changed, 622 insertions(+), 24 deletions(-) -- 2.7.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel