summaryrefslogtreecommitdiffstats
path: root/sys/pc98/cbus/scterm-sck.c
Commit message (Collapse)AuthorAgeFilesLines
* Use our nitems() macro when param.h is available.pfg2016-04-201-2/+2
| | | | | | Replacements specific to arm, mips, pc98, powerpc and sparc64. Discussed in: freebsd-current
* Replace `inline static' by `static inline'.ed2011-12-131-2/+2
| | | | | | If I interpret the C standard correctly, the storage specifier should be placed before the inline keyword. While at it, replace __inline by inline in the files affected.
* Allow Syscons terminal emulators to provide function key strings.ed2009-11-111-8/+17
| | | | | | | | | xterm and cons25 have some incompatibilities when it comes to escape sequences for special keys, such as F1 to F12, home, end, etc. Add a new te_fkeystr() that can be used to override the strings. scterm-sck won't do anything with this, but scterm-teken will use teken_get_sequences() to obtain the proper sequence.
* Make a 1:1 mapping between syscons stats and terminal emulators.ed2009-03-101-1/+9
| | | | | | | | | | | | | | | | | | | | After I imported libteken into the source tree, I noticed syscons didn't store the cursor position inside the terminal emulator, but inside the virtual terminal stat. This is not very useful, because when you implement more complex forms of line wrapping, you need to keep track of more state than just the cursor position. Because the kernel messages didn't share the same terminal emulator as ttyv0, this caused a lot of strange things, like kernel messages being misplaced and a missing notification to resize the terminal emulator for kernel messages never to be resized when using vidcontrol. This patch just removes kernel_console_ts and adds a special parameter to te_puts to determine whether messages should be printed using regular colors or the ones for kernel messages. Reported by: ache Tested by: nyan, garga (older version)
* Replace syscons terminal renderer by a new renderer that uses libteken.ed2009-01-011-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some time ago I started working on a library called libteken, which is terminal emulator. It does not buffer any screen contents, but only keeps terminal state, such as cursor position, attributes, etc. It should implement all escape sequences that are implemented by the cons25 terminal emulator, but also a fair amount of sequences that are present in VT100 and xterm. A lot of random notes, which could be of interest to users/developers: - Even though I'm leaving the terminal type set to `cons25', users can do experiments with placing `xterm-color' in /etc/ttys. Because we only implement a subset of features of xterm, this may cause artifacts. We should consider extending libteken, because in my opinion xterm is the way to go. Some missing features: - Keypad application mode (DECKPAM) - Character sets (SCS) - libteken is filled with a fair amount of assertions, but unfortunately we cannot go into the debugger anymore if we fail them. I've done development of this library almost entirely in userspace. In sys/dev/syscons/teken there are two applications that can be helpful when debugging the code: - teken_demo: a terminal emulator that can be started from a regular xterm that emulates a terminal using libteken. This application can be very useful to debug any rendering issues. - teken_stress: a stress testing application that emulates random terminal output. libteken has literally survived multiple terabytes of random input. - libteken also includes support for UTF-8, but unfortunately our input layer and font renderer don't support this. If users want to experiment with UTF-8 support, they can enable `TEKEN_UTF8' in teken.h. If you recompile your kernel or the teken_demo application, you can hold some nice experiments. - I've left PC98 the way it is right now. The PC98 platform has a custom syscons renderer, which supports some form of localised input. Maybe we should port PC98 to libteken by the time syscons supports UTF-8? - I've removed the `dumb' terminal emulator. It has been broken for years. It hasn't survived the `struct proc' -> `struct thread' conversion. - To prevent confusion among people that want to hack on libteken: unlike syscons, the state machines that parse the escape sequences are machine generated. This means that if you want to add new escape sequences, you have to add an entry to the `sequences' file. This will cause new entries to be added to `teken_state.h'. - Any rendering artifacts that didn't occur prior to this commit are by accident. They should be reported to me, so I can fix them. Discussed on: current@, hackers@ Discussed with: philip (at 25C3)
* Integrate the new MPSAFE TTY layer to the FreeBSD operating system.ed2008-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The last half year I've been working on a replacement TTY layer for the FreeBSD kernel. The new TTY layer was designed to improve the following: - Improved driver model: The old TTY layer has a driver model that is not abstract enough to make it friendly to use. A good example is the output path, where the device drivers directly access the output buffers. This means that an in-kernel PPP implementation must always convert network buffers into TTY buffers. If a PPP implementation would be built on top of the new TTY layer (still needs a hooks layer, though), it would allow the PPP implementation to directly hand the data to the TTY driver. - Improved hotplugging: With the old TTY layer, it isn't entirely safe to destroy TTY's from the system. This implementation has a two-step destructing design, where the driver first abandons the TTY. After all threads have left the TTY, the TTY layer calls a routine in the driver, which can be used to free resources (unit numbers, etc). The pts(4) driver also implements this feature, which means posix_openpt() will now return PTY's that are created on the fly. - Improved performance: One of the major improvements is the per-TTY mutex, which is expected to improve scalability when compared to the old Giant locking. Another change is the unbuffered copying to userspace, which is both used on TTY device nodes and PTY masters. Upgrading should be quite straightforward. Unlike previous versions, existing kernel configuration files do not need to be changed, except when they reference device drivers that are listed in UPDATING. Obtained from: //depot/projects/mpsafetty/... Approved by: philip (ex-mentor) Discussed: on the lists, at BSDCan, at the DevSummit Sponsored by: Snow B.V., the Netherlands dcons(4) fixed by: kan
* Fix -Wundef warnings found when compiling i386 LINT, GENERIC andru2005-12-051-2/+2
| | | | custom kernels.
* - Remove ifdef PC98.nyan2005-04-131-2/+0
| | | | - Reduce diffs from i386.
* Add missing <sys/module.h> #includesphk2004-06-041-0/+1
|
* Cosmetic changes.nyan2002-02-101-93/+95
|
* - Refine the iskanji1 function.nyan2002-02-101-52/+61
| | | | | | - Print continuous ascii characters at a time. Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
* Changed iskanji[12] to inline functions.nyan2002-01-311-175/+172
|
* cosmetic changes.nyan2001-12-221-22/+20
|
* Merge KSE changes from sys/dev/syscons/scterm-sc.c 1.17imp2001-09-141-1/+1
| | | | | | | # there are more "trivial" diffs in this file that have accumulated over time # and I didn't try to fix those. Reviewed by: julian, bde, jhb
* Merged from sys/dev/syscons/scterm-sc.c revision 1.16.nyan2001-08-071-26/+60
|
* Merged from sys/dev/syscons/scterm-sc.c revison 1.15.nyan2001-06-261-1/+2
|
* Merged from sys/dev/syscons/scterm-sc.c revisions from 1.8 to 1.12.nyan2000-07-301-16/+37
|
* Sync with sys/dev/syscons/scterm-sc.c revisions 1.6 and 1.7.nyan2000-06-221-7/+17
|
* Fixed to support JIS7 KANJI.nyan2000-04-301-0/+40
| | | | Submitted by: Nobuyuki Koganemaru <kogane@koganemaru.co.jp>
* Merge from the following changes.nyan2000-03-291-5/+0
| | | | | | | | | | | | File Revision sys/conf/files.i386 1.303 and 1.304 sys/dev/kbd/atkbd.c 1.23 sys/dev/syscons/scterm-sc.c 1.2 sys/dev/syscons/scvgarndr.c 1.5 sys/dev/syscons/scvtb.c 1.5 sys/dev/syscons/syscons.c 1.335 sys/isa/syscons_isa.c 1.11 sys/isa/vga_isa.c 1.17
* Fixed style bugs.nyan2000-03-201-553/+568
|
* Synced with sys/dev/syscons/scterm-sc.c rev 1.4.kato2000-02-111-2/+4
|
* Synced with the sc driver in the sys/dev/syscons directory.kato2000-01-201-0/+1093
Submitted by: yokota
OpenPOWER on IntegriCloud