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

Re: text console history size



В сообщении от 25 Октябрь 2005 14:09 Mikolaj Golub написал(a):

>  >>  PA> Думаешь, все 256Mb этой видеопамяти? ;)
>  MD> Будешь смеяться? А ты включи фрейм-буфер и попробуй поскроль :) Размер
>  MD> истории будет зависеть от след. параметров:
>  MD>   - кол-во видеопамяти;
>  MD>   - кол-во цветов;
>  MD>   - разрешение.
>  MD> Теперь давай улыбнемся вместе :)
> 
> Смотрим с интересом в video/console/fbcon.c:
> 
> scrollback_phys_max = p->vrows - vc->vc_rows;
> 
> p->vrows = info->var.yres_virtual/fh;
> 
> Далее в video/vesafb.c:
> 
> vesafb_defined.yres_virtual = vesafb_fix.smem_len / vesafb_fix.line_length;
> 
> И наконец в vesafb_probe():
> 
>         /* Allocate enough memory for double buffering */
>         vesafb_fix.smem_len = screen_info.lfb_width * screen_info.lfb_height * vesafb_defined.bits_per_pixel >> 2;
> 
>         /* check that we don't remap more memory than old cards have */
>         if (vesafb_fix.smem_len > (screen_info.lfb_size * 65536))
>                 vesafb_fix.smem_len = screen_info.lfb_size * 65536;
> 
>         /* Set video size according to vram boot option */
>         if (vram)
>                 vesafb_fix.smem_len = vram * 1024 * 1024;
> 
>         vesafb_fix.visual   = (vesafb_defined.bits_per_pixel == 8) ?
>                 FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;
> 
>         /* limit framebuffer size to 16 MB.  Otherwise we'll eat tons of
>          * kernel address space for nothing if the gfx card has alot of
>          * memory (>= 128 MB isn't uncommon these days ...) */
>         if (vesafb_fix.smem_len > 16 * 1024 * 1024)
>                 vesafb_fix.smem_len = 18 * 1024 * 1024;
> 
> Т.е. для vesafb не более 16MB. Кстати и педаль для размера скроллбуфера
> обнаружилась -- загрузочный параметр vram.

Во-первых, это искусственное ограничение. Во-вторых, раньше его там не было,
а я не смотрю с выходом каждой следующей версии ядра в исходники драйвера
VESA. Ну, в-третьих, твоя взяла :)
Кстати, а ты не обратил внимание, на последнюю строчку? Не означает ли она,
что больше 18 Мб нельзя сделать в принципе?

--
  Макс



Reply to: