From: James S. <jsi...@ac...> - 2000-06-02 14:42:09
|
On Fri, 2 Jun 2000, Vojtech Pavlik wrote: > On Thu, Jun 01, 2000 at 09:32:26PM -0400, James Simmons wrote: > > > vc_data we can have. With the present console system we have 64 allocated > > vc_data structs for one head. With fbdev you can have up to 256 heads and > > USB up to 127 keyboards. > > Well, no. 127 keyboards on one USB bus. And you can have multiple USB > busses - current VIA chipsets implement two, and there are Opti chips > that implement four USB busses on one chip. Ah :) How do you plan to get around the 256 device limit or does devfs fix that ? I know right now the limit for fbdev is set at 32 but can be easily changed to 256. Just change FB_MAX to 256. So we can have at least 256 complete VTs. Maybe more :) Only if motherboards had enough slots! > If possible, I would prefer not to have any static memory structures for > this. We'll run out of space sooner or later. > > > With a AT or PS/2 keyboard we can a total of 128 > > complete VTs. This means 128 * 64 = 8,192 vc_data structs. This means we > > have to adopt a dynamic approach to allocating VCs. > > Yes. Which in turn means a lot of problems with VT numbering and such. > But these need to be solved nevertheless. The best way to approach this is using alot of COW techniques. Allocate one struct for everything then when one changes its state we allocate a new struct and change the pointer to it. The text buffer will be tricky to handle since they vary from VC to VC. As for multihead. Well I attempted booting today with a Voodoo 3 card and a Matrox Millenium card. The matrox card came up and then it tried to initialize my voodoo card but my system freaked out. It hung and made a loud noise. Has anyone here has made two PCI video cards work at the same time in their system with no problems? Also I had this problem with BIOS with 2 keyboards. I used your trick to make the computer use the PS/2 mouse port for another PS/2 keyboard. It works after boot time. If I plug both in and turn my computer on it confuses my BIOS and just hanges there. Very annoying. After boot time I can insmod a module to see my second keyboard. Some ideas I have been thinking about. Right now the data structs for the console system are a mess. We have both vt_struct and vc_data struct. What I was thinking was to make vt_struct represent the real VT and vc_data represent the virtual consoles. Thus each vc_struct would have a pointer to a vt_struct which would represent the physical virtual terminal. Each vt_struct could hold what is per virtual terminal like consw. Each head would have its own driver. Thus the begining of VC pools. I might as well start working on this now. I will start will a single head system and lay the data structures out and then migrate to a multihead setup. Q: Why did they deprecate a.out support in linux? A: Because a nasty coff is bad for your elf. James Simmons [jsi...@li...] ____/| fbdev/console/gfx developer \ o.O| http://www.linux-fbdev.org =(_)= http://linuxgfx.sourceforge.net U http://linuxconsole.sourceforge.net |