On 07/08/15 21:02, Roy Franz wrote: > This patchset adds a new terminal type "TtyTerm", that better handles the > typical Linux terminal (xterm/rxvt/gnome terminal/tmux/screen/etc.) These > often > treat backspace/delete differently than the existing EDK2 terminal types > expect, particularly in emulated environments where the emulated serial port > is > connected to a graphical terminal rather than a serial console. Some > terminals > use a mix of vt100 and vt200 escape codes for function key handling. Adding > vt220 function key support fixes the use of "F10" to save changes in BDS > configuration menus. > > This patchset includes changes to make the terminal type build time > configurable > for the QEMU Aarch64 configuration. Once this patchset goes in I will submit > patches for the other emulated ARM platforms as appropriate. > > Note: While working on the function keys, I could not find any documentation > that matched the code/comments in TerminalConIn.c regarding VT100 function > keys. The VT100 only had 4 function keys (PF1-PF4), which are generally > mapped > to F1-F4. In the code, F3/F4 don't match the VT100 documentation I found, and > I have no idea where the values for F5-F10 are from. I left the existing > VT100 terminal type escape code handling unchanged. > > This patchset is also available as the ttyterm-v4 branch on > https://git.linaro.org/people/roy.franz/linaro-edk2.git > > Changes since v3: > * Convert !ifdef to !if for TTY_TERMINAL and INTEL_BDS defines (patch 5/5) > > Changes since v2: > * Comment typo fixes, contrib ordering fixes > * Moved static ttyTerm escape state variables to TerminalDevice structure > * Add support for changing terminal type on ARM BDS QEMU build (new patch 5/5) > * Add reviewed-by lines. (not to patch 3 that had changes) > > Changes since v1: > * Added handling of VT220 escape codes for function keys > * Fixed attribution PCD patch > * Removed '[' from patch 3 description line > > Changes from Linuxterm RFC patchset: > * Change to ttyTerm name - nothing linux specific in patchset > * remove changes to Mde module, as changes not part of UEFI specification > > Laszlo Ersek (1): > Add PCD for selecting terminal type at build time > > Roy Franz (4): > Add "TtyTerm" terminal type to TerminalDxe > Treat ASCII 0x7F as backspace for TtyTerm terminals > Accept VT220 DEL and function keys for TTY terminal type > add TTY_TERMINAL build option for ARM BDS > > ArmVirtPkg/ArmVirt.dsc.inc | 6 ++ > ArmVirtPkg/ArmVirtPkg.dec | 7 ++ > ArmVirtPkg/ArmVirtQemu.dsc | 11 +- > ArmVirtPkg/ArmVirtQemu.fdf | 4 +- > ArmVirtPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c | 12 ++- > ArmVirtPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf | 4 + > MdeModulePkg/Include/Guid/TtyTerm.h | 25 +++++ > MdeModulePkg/MdeModulePkg.dec | 3 + > MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c | 50 > +++++++-- > MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h | 5 + > MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c | 107 > +++++++++++++++++++- > MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c | 2 + > MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf | 1 + > 13 files changed, 217 insertions(+), 20 deletions(-) > create mode 100644 MdeModulePkg/Include/Guid/TtyTerm.h >
In patch #1, some (trivial) context differences were automatically resolved by git-am. Patches #2 and #3 applied cleanly. Patch #4 did not apply. (I guess I could have fetched your remote branch and rebased the set with git-rebase, instead of using "git am", but your tree seems to be based on the linaro-edk2 fork anyway, just from the URL above, so the difference could have been too large even that way. Next time please consider rebasing to upstream master before posting.) In any case, I re-ran git-am with the "--reject" flag for patch #4, then looked at the rejected hunks and resolved them manually. (Then used git-add and git-am --resolved.) There was one conflict in "ArmVirtPkg/ArmVirt.dsc.inc", due to fresh upstream commits 093b7c87 and e109e3fe. Patch #5 applied cleanly. The series has been committed to SVN as r17895..r17899. Thanks Laszlo ------------------------------------------------------------------------------ Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel