[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: text console history size



В сообщении от 25 Октябрь 2005 12:34 Mikolaj Golub написал(a):
> 
>  >> > Подскажите где можно(можно ли) выставить(увеличить) размер history,
>  >> > которая работает в консоли при нажатии клавиш Shift+PageUp/PageDown
>  >> На сколько я знаю для этого используется видеопамять, причем вся.
>  >> Поэтому вряд ли.
> 
>  PA> Думаешь, все 256Mb этой видеопамяти? ;)
Будешь смеяться? А ты включи фрейм-буфер и попробуй поскроль :) Размер
истории будет зависеть от след. параметров:
  - кол-во видеопамяти;
  - кол-во цветов;
  - разрешение.
Теперь давай улыбнемся вместе :)

> Похоже только 32K. drivers/video/console/vgacon.c:
> 
> #ifdef VGA_CAN_DO_64KB
>                                 /*
>                                  * get 64K rather than 32K of video RAM.
>                                  * This doesn't actually work on all "VGA"
>                                  * controllers (it seems like setting MM=01
>                                  * and COE=1 isn't necessarily a good idea)
>                                  */
>                                 vga_vram_base = 0xa0000;
>                                 vga_vram_end = 0xb0000;
>                                 outb_p(6, VGA_GFX_I);
>                                 outb_p(6, VGA_GFX_D);
> #endif
> 
> Т.к. vga_vram_base и vga_vram_end используются в vgacon_scrolldelta() (функция
> вызывается для прокрутки консоли), то я бы попробовал `#define VGA_CAN_DO_64KB'
> где-то в начале vgacon.c.

Ну если говорить о VGAшной консоли, то да. А можно еще покопаться в vgacon_scrolldelta()
и не использовать там вообще vga_vram_base и vga_vram_end, а вместо этого аллокировать
нужное кол-во памяти (хоть мегабайт, хоть двести мегабайт) ядра, и копировать из нее 
в видеопамять нужную область. А если привязать указатель на выделенную область к
номеру консоли, то можно еще сделать так, чтобы при переключении история не сбрасывалась.
Только зачем слону педальный привод?

--
  Макс



Reply to: