From: James S. <jsi...@us...> - 2002-04-12 19:30:58
|
Update of /cvsroot/linuxconsole/ruby/web/htdocs/paper In directory usw-pr-cvs1:/tmp/cvs-serv25100 Added Files: contents.html contents.png fbdev.html index.html input.html intro.html next.png prev.png prev_g.png serial.html tty.html up.png up_g.png vt.html Log Message: Adding in paper for kernel summit so people can add what they like. --- NEW FILE: contents.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2K.1beta (1.48) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Contents</TITLE> <META NAME="description" CONTENT="Contents"> <META NAME="keywords" CONTENT="console_paper"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="console_paper.css"> <LINK REL="next" HREF="intro.html"> <LINK REL="previous" HREF="index.html"> <LINK REL="up" HREF="index.html"> <LINK REL="next" HREF="intro.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html51" HREF="intro.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html49" HREF="index.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html43" HREF="index.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <BR> <B> Next:</B> <A NAME="tex2html52" HREF="intro.html">Introduction</A> <B> Up:</B> <A NAME="tex2html50" HREF="index.html">Reconstructing of TTY layer for linux</A> <B> Previous:</B> <A NAME="tex2html44" HREF="index.html">Reconstructing of TTY layer for linux</A> <BR> <BR> <!--End of Navigation Panel--> <BR> <H2><A NAME="SECTION00010000000000000000"> Contents</A> </H2> <!--Table of Contents--> <UL> <LI><A NAME="tex2html21" HREF="intro.html">Introduction</A> <LI><A NAME="tex2html22" HREF="serial.html">New serial layer</A> <LI><A NAME="tex2html23" HREF="vt.html">Reworking Virtual Terminal Support</A> <UL> <LI><A NAME="tex2html24" HREF="input.html">Using the Input API</A> <LI><A NAME="tex2html25" HREF="fbdev.html">Restructing the framebuffer layer</A> </UL> <LI><A NAME="tex2html26" HREF="tty.html">Upper TTY layer management</A> <BR> <LI><A NAME="tex2html34" HREF="implement.html">Implementation: Ruby Dave Jones tree</A> <UL> <BR> <LI><A NAME="tex2html40" HREF="conclusion.html">Conclusion</A> <LI><A NAME="tex2html41" HREF="bio.html">Bibliography</A> </UL> <!--End of Table of Contents--> <P> <P> <P> <BR><HR> <ADDRESS> James Simmons 2002-4-5 </ADDRESS> </BODY> </HTML> --- NEW FILE: contents.png --- PNG iÇç¡T*Koï5b±»wÉô%©Ô±X']tw·m[ò'Oþ¤·÷/_þ±m½½^ sÅb¹íV87Y/ɬ¿Ñ°ó¿7×JJéòåë+¬!?tJÇHTWÛ2yæLåÇgðzGp8ÊX]Ípñ¢£®ÒÓsht ÉÉYZZp8ÊÈf×Y\\ÖüV«Í×;ÂêjFóÍN>Ù¼x<A ¤ªª\7.%H§³ÚÜýAFGZM³8å´´Û¬üBÂb1`³Øìϧ³§³\³#Yêë÷áóyðù.!I0:ÔîD"3ôõ¹ñù<X,¼Þa «µ5GªÏçÑp Mø|Z[ÄbËZ}Ñè2Ó×ç&Êr÷n.g[[UUåTUãóye ¯w7/mÔ¯aD·.ÝvBB(*ÂÌ"Iàñ¨È²Àf31>î#!ÕÔ2>îÃf3!˧ÓΫW˺|yeɲ »û CC¥Y(JCCο¢Å74ìÓå´XD£ï0% Ý =çðá:Tuááwñ##¿¡(ú§ß=ÀÎ&&&ÒßKó«j3ªÚÕjÔ|'ho¿ÛݯÅtuý°EÆïë µµÔÔTàv÷ã÷°k¿§¦ß?@MMÅÆ½U B«éСNÜî~Òéçøý´·_Öâkj*ðûôkk¾,Þ"K_JJ(P"Aý*T¹õÊLþ. --- NEW FILE: fbdev.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2K.1beta (1.48) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Restructing the framebuffer layer</TITLE> <META NAME="description" CONTENT="TTY and framebuffers"> <META NAME="keywords" CONTENT="console_paper"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="console_paper.css"> <LINK REL="next" HREF="tty.html"> <LINK REL="previous" HREF="input.html"> <LINK REL="up" HREF="input.html"> <LINK REL="next" HREF="implement.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html113" HREF="tty.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html109" HREF="input.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html103" HREF="input.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html111" HREF="contents.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html114" HREF="tty.html">Upper TTY layer management</A> <B> Up:</B> <A NAME="tex2html110" HREF="input.html">Using the Input API</A> <B> Previous:</B> <A NAME="tex2html104" HREF="input.html">Using the Input API</A>   <B> <A NAME="tex2html112" HREF="contents.html">Contents</A></B> <BR> <BR> <!--End of Navigation Panel--> <H2><A NAME="SECTION00031000000000000000"> Restructing the framebuffer layer</A> </H2> <P> <P> <BR><HR> <ADDRESS> James Simmons 2002-4-5 </ADDRESS> </BODY> </HTML> --- NEW FILE: index.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2K.1beta (1.48) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Reconstruction of the TTY layer for linux to deal with Embedded techology</TITLE> <META NAME="description" CONTENT="Reconstruction of the TTY layer for linux to deal with Embedded techology"> <META NAME="keywords" CONTENT="console_paper"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="console_paper.css"> <LINK REL="next" HREF="contents.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html18" HREF="contents.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_g.png"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev_g.png"> <A NAME="tex2html16" HREF="contents.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html19" HREF="contents.html">Contents</A>   <B> <A NAME="tex2html17" HREF="contents.html">Contents</A></B> <BR> <BR> <!--End of Navigation Panel--> <P> <P> <H1 ALIGN="CENTER">Reconstruction of the TTY layer for linux to deal with Embedded techology</H1> <P ALIGN="CENTER"><STRONG>James Simmons <BR> <TT>jsi...@tr...</TT></STRONG></P> <P ALIGN="CENTER"><STRONG> April 2002 <BR> <BR> <BR> <BR> <TT>http://linuxconsole.sf.net/</TT> </STRONG></P> <P> <BR> <P> <DIV ALIGN="CENTER"> <B>Acknowledgement</B> </DIV> <P> I would like to acknowledge my employer Transvirtual Technologies Inc, who granted me time to work on this project. Special thanks goes to Vojtech Buxton for his valuable assistance. <P> <BR> <BR> <P> <P> <BR> <P> <DIV ALIGN="CENTER"> <B>Licence</B> </DIV> <P> This paper is copyright 2002 James Simmons and is released under the terms of the GNU General Public Licence, a copy of which is distributed with the source for this document. <P> All trademarks and software are the property of their respective owners. <P> <P> <DIV ALIGN="CENTER"> <B>Presented</B> </DIV> <P> <I>Ottowa Linux Symposium</I> <BR> 25th - 28th July 2002 <BR> Ottowa Congress Centre <BR> Ottowa, Ontario, Canada <P> <P> <H3>Abstract:</H3> <DIV> <P> Linux continues to be ported to different types of hardware devices. As it expands into different hardware sectors we see that these different sectors have very different needs and are very different from the classical PC. The initial Linux kernel code was designed on the standard PC which had a large influence on the code design. As Linux appears on new types of hardware devices we begain to see limitations to some of the central designs. As Linux kept evolving and expanding to new platforms hardware was encountered that didn't fit the "PC" model. So instead often a extra interface of some kind either userland or in kernel space was developed to compensate. <P> One of the major areas of the kernel affected by this is the tty layer. Here we we witness things like the classical definition for a virtual terminal starting to break down and the handling of complex human input devices addressed by the tty layer. Also for embedded devices size is critical especially when dealing with boot loaders which often make certain assumptions or place certain limitations. Modular is also lacking. Often with modern embedded devices we have removable pieces of hardware including things like keyboards which where in a classic PC sense critical to have. <P> A major way of rethinking was needed to rework the tty layer. That way was to reverse the flow of developement. The current way of thinking is expand the tty features with new device interfaces that influence the behavior of the TTY. A example of this is for a framebuffer console we use a /dev/fb interface to resize a tty device. The proper method to resize would be to use a standard that already exist i.e the POSIX tty ioctl call TIOCSWINSZ. <P> </DIV> <P> <P> <BR><HR> <!--Table of Child-Links--> <A NAME="CHILD_LINKS"></A> <UL> <LI><A NAME="tex2html20" HREF="contents.html">Contents</A> <LI><A NAME="tex2html21" HREF="intro.html">Introduction</A> <LI><A NAME="tex2html22" HREF="serial.html">New serial layer</A> <LI><A NAME="tex2html23" HREF="vt.html">Reworking Virtual Terminal Support</A> <UL> <LI><A NAME="tex2html24" HREF="input.html">Using the Input API</A> <LI><A NAME="tex2html25" HREF="fbdev.html">Restructing the framebuffer layer</A> </UL> <LI><A NAME="tex2html26" HREF="tty.html">Upper TTY layer management</A> <BR> <LI><A NAME="tex2html34" HREF="implement.html">Implementation: Ruby Dave Jones tree</A> <UL> <BR> <LI><A NAME="tex2html40" HREF="conclusion.html">Conclusion</A> <LI><A NAME="tex2html41" HREF="bio.html">Bibliography</A> <!--End of Table of Child-Links--> <HR> <!--Navigation Panel--> <A NAME="tex2html18" HREF="contents.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_g.png"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev_g.png"> <A NAME="tex2html16" HREF="contents.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html19" HREF="contents.html">Contents</A>   <B> <A NAME="tex2html17" HREF="contents.html">Contents</A></B> <!--End of Navigation Panel--> <ADDRESS> James Simmons 2002-4-5 </ADDRESS> </BODY> </HTML> --- NEW FILE: input.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2K.1beta (1.48) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Restructing the framebuffer layer</TITLE> <META NAME="description" CONTENT="TTY and framebuffers"> <META NAME="keywords" CONTENT="console_paper"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="console_paper.css"> <LINK REL="next" HREF="tty.html"> <LINK REL="previous" HREF="input.html"> <LINK REL="up" HREF="input.html"> <LINK REL="next" HREF="implement.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html113" HREF="tty.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html109" HREF="input.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html103" HREF="input.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html111" HREF="contents.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html114" HREF="tty.html">Upper TTY layer management</A> <B> Up:</B> <A NAME="tex2html110" HREF="input.html">Using the Input API</A> <B> Previous:</B> <A NAME="tex2html104" HREF="input.html">Using the Input API</A>   <B> <A NAME="tex2html112" HREF="contents.html">Contents</A></B> <BR> <BR> <!--End of Navigation Panel--> <H2><A NAME="SECTION00031000000000000000"> Restructing the framebuffer layer</A> </H2> <P> <P> <BR><HR> <ADDRESS> James Simmons 2002-4-5 </ADDRESS> </BODY> </HTML> --- NEW FILE: intro.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2K.1beta (1.48) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Introduction</TITLE> <META NAME="description" CONTENT="Introduction"> <META NAME="keywords" CONTENT="console_paper"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="console_paper.css"> <LINK REL="next" HREF="node3.html"> <LINK REL="previous" HREF="intro.html"> <LINK REL="up" HREF="console_paper.html"> <LINK REL="next" HREF="node3.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html85" HREF="node3.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html81" HREF="ss_paper.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html75" HREF="intro.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html83" HREF="intro.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html86" HREF="node3.html">Using the Input API</A> <B> Up:</B> <A NAME="tex2html82" HREF="console_paper.html">New Linux Console System </A> <B> Previous:</B> <A NAME="tex2html76" HREF="intro.html">Contents</A>   <B> <A NAME="tex2html84" HREF="intro.html">Contents</A></B> <BR> <BR> <!--End of Navigation Panel--> <H1><A NAME="SECTION00020000000000000000"> Introduction</A> </H1> <P> Ten years when Linus was written it was on a intel machine with basic VGA support. Linus like other UNIX based operation systems developed a concept of a virtual terminal. In the old mainframe days the only way to access the mainframe was via a TTY (terminal teletype) device. They basically where a monochrome, stylish green, display and a keyboard together that connected to the mainframe by a serial line. With todays PC we still have a monitor and a keyboard attached. So Linux simulates these type of TTYs. The flexiablity of POSIX TTYs allows it to be applied to other types of hardware such as modems. <P> As you can see the TTY layer covers many types of pieces of hardware. Because it does cover so many types this presents very difficult issues. What we have seen is no clear boundaries between the various types of devices. You see things pieces of tty/console code sprinckled through out various low level drivers. This makes driver writing more complex than it needs to be. <P> The second issue is the new types of hardware Linux has encountered. For example is the Compaq iPAQ. It has a framebuffer display but no permenant keyboard. Having a built in VT makes no sense in this case. Having console code inside the framebuffer driver makes no sense. Have a pseudo keyboard make even less sense. <P> So the first step is to rework the lower device layers. Also in the process we form a uniform api for these layers. For various input devices we find we are lacking a standard api. So for one part of the project we begain the task of porting every human input device over to a universal api. The api choosen was the input api implemented for the USB layer. This migrates the VT code for keyboard handling from a PC centeric keyboard design to a more device indepedent format. <P> The second layer to rework is the framebuffer layer. The basic goal was to removal all the console code out of the lower level drivers and make the framebuffer layer be able to stand on it own to handle PDA type devices. <P> The final layer is the serial layer. The final goal is to model this layer after the parport layer. Here we with have device interface independent layer and have device interfaces register with the core code. The reason for this apporach is to deal with serial based input devices. Some platforms have serial keyboards and it is unacceptable to have to run a unserland application just to be able to use it via the tty layer. Again their is great code redundecy. <P> The final change was to the console layer itself. The main goal was to move away from the VGA text mode centric design. Also another goal was to allow the console and tty system more flexiable as I will point out later in this paper. <P> This paper will examine designing and implementing a new tty layer that is smaller, lighter weight and much more flexiable than the current system. <P> <HR> <!--Navigation Panel--> <A NAME="tex2html85" HREF="node3.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html81" HREF="ss_paper.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html75" HREF="intro.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html83" HREF="intro.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html86" HREF="node3.html">Using the Input API</A> <B> Up:</B> <A NAME="tex2html82" HREF="console_paper.html">New Linux Console System</A> <B> Previous:</B> <A NAME="tex2html76" HREF="intro.html">Contents</A>   <B> <A NAME="tex2html84" HREF="intro.html">Contents</A></B> <!--End of Navigation Panel--> <ADDRESS> jsimmons 2002-4-4 </ADDRESS> </BODY> </HTML> --- NEW FILE: next.png --- PNG Ñ¿¿ÿ¤[Ý««/´ÚÇ»»Ë,« --- NEW FILE: prev.png --- PNG ¯_¼øÝá°üêàâÅÏÎùDó¬¬üòèѯn÷àË81¼ó[ ùk ÑÝÒ{1è=Ò°ÛÍÔ39975u-]ºÆ²Æx<§_ºtéÝn^YùÙídY#õçråÉɹ|~=+Çã©þþiP<ºwoÑn7×juÐíÛÝn¦ùóùõbV¿©V«wu}¨/Ôfj ]M$65$AAÃ$©`Pp8Ì@"±É0`P¨ÕÔ7¿FW<öz/ÌÍEOR|4ºzùòç --- NEW FILE: prev_g.png --- PNG ¥¬P2¤Ú#°½7Ñe¨=¢¥Òhyú-Ôr5q³Ò8~=+¼ñìq»¹'Ó¼¨=¢Ny<Ö õ!ÃnîÑïjâæH0¾~¿æEÿ JåÅ/¾_õô[Zsa]z.â°Òü#Á¸!P©5g¸£ÔÖCõD{L- 25Ñ0^xVB SØ^fêù\k~üuúú²pÙi;?äýüÆíÑÐ ÅÏ//ö --- NEW FILE: serial.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2K.1beta (1.48) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Restructing the framebuffer layer</TITLE> <META NAME="description" CONTENT="TTY and framebuffers"> <META NAME="keywords" CONTENT="console_paper"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="console_paper.css"> <LINK REL="next" HREF="tty.html"> <LINK REL="previous" HREF="input.html"> <LINK REL="up" HREF="input.html"> <LINK REL="next" HREF="implement.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html113" HREF="tty.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html109" HREF="input.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html103" HREF="input.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html111" HREF="contents.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html114" HREF="tty.html">Upper TTY layer management</A> <B> Up:</B> <A NAME="tex2html110" HREF="input.html">Using the Input API</A> <B> Previous:</B> <A NAME="tex2html104" HREF="input.html">Using the Input API</A>   <B> <A NAME="tex2html112" HREF="contents.html">Contents</A></B> <BR> <BR> <!--End of Navigation Panel--> <H2><A NAME="SECTION00031000000000000000"> Restructing the framebuffer layer</A> </H2> <P> <P> <BR><HR> <ADDRESS> James Simmons 2002-4-5 </ADDRESS> </BODY> </HTML> --- NEW FILE: tty.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2K.1beta (1.48) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Restructing the framebuffer layer</TITLE> <META NAME="description" CONTENT="TTY and framebuffers"> <META NAME="keywords" CONTENT="console_paper"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="console_paper.css"> <LINK REL="next" HREF="tty.html"> <LINK REL="previous" HREF="input.html"> <LINK REL="up" HREF="input.html"> <LINK REL="next" HREF="implement.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html113" HREF="tty.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html109" HREF="input.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html103" HREF="input.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html111" HREF="contents.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html114" HREF="tty.html">Upper TTY layer management</A> <B> Up:</B> <A NAME="tex2html110" HREF="input.html">Using the Input API</A> <B> Previous:</B> <A NAME="tex2html104" HREF="input.html">Using the Input API</A>   <B> <A NAME="tex2html112" HREF="contents.html">Contents</A></B> <BR> <BR> <!--End of Navigation Panel--> <H2><A NAME="SECTION00031000000000000000"> Restructing the framebuffer layer</A> </H2> <P> <P> <BR><HR> <ADDRESS> James Simmons 2002-4-5 </ADDRESS> </BODY> </HTML> --- NEW FILE: up.png --- PNG õ g{II]¸pYäÕ«·/^¼16Öp\¸pCJJÎEOƾ¾ÆÆZ-[200¤§Â=~îܵ鯯ZgÏ^ÛºõàõpC?ÿϽºyó3WC¸éé¡ii¡RRиKKkðõu8{ö*DÁ-SµÁòêÕ'2yJJ£#uJ¬qE¡qL¸t1~þü}ÄÆ --- NEW FILE: up_g.png --- PNG õ --- NEW FILE: vt.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2K.1beta (1.48) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Restructing the framebuffer layer</TITLE> <META NAME="description" CONTENT="TTY and framebuffers"> <META NAME="keywords" CONTENT="console_paper"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="console_paper.css"> <LINK REL="next" HREF="tty.html"> <LINK REL="previous" HREF="input.html"> <LINK REL="up" HREF="input.html"> <LINK REL="next" HREF="implement.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html113" HREF="tty.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html109" HREF="input.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html103" HREF="input.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html111" HREF="contents.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html114" HREF="tty.html">Upper TTY layer management</A> <B> Up:</B> <A NAME="tex2html110" HREF="input.html">Using the Input API</A> <B> Previous:</B> <A NAME="tex2html104" HREF="input.html">Using the Input API</A>   <B> <A NAME="tex2html112" HREF="contents.html">Contents</A></B> <BR> <BR> <!--End of Navigation Panel--> <H2><A NAME="SECTION00031000000000000000"> Restructing the framebuffer layer</A> </H2> <P> <P> <BR><HR> <ADDRESS> James Simmons 2002-4-5 </ADDRESS> </BODY> </HTML> |