|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Zahar Kiselev 2:5030/382.1 05 Apr 2002 11:56:08 To : Svyatoslav Abramenkov Subject : 2 консоли на 1 системнике --------------------------------------------------------------------------------
Apr 04 22:43 02, Svyatoslav Abramenkov wrote to Zahar Kiselev:
ZK>> Вот только бы еще научить линукс одновременно текст и графику на
ZK>> разных мониторах показывать. Почему-то если MDA+VGA то он это может, а
ZK>> если две VGA одна в текстовом режиме другая в графическом - то не
ZK>> может. Значит это не ограничение дизайна системы(если для MDA может),
ZK>> а просто какой-то мелкий недочет в коде драйвера консоли.
SA> Это значит, что ты никогда под ДОС не программировал прямую
SA> запись в
SA> видеопамять текстовых режимов. У MDA она начинается по адресу
SA> 0xB000:0, а у всех
SA> остальных (CGA, EGA, VGA) - по адресу 0xB800:0. Что характерно,
SA> заканчивается у
SA> MDA она соответственно раньше, чем 0xB800:0.
Вот только для PCI устройств адрес памяти определяется в процессе
автоконфигурирования.
Иначе как работают две и даже три PCI VGA одновременно, если по твоей теории
у всех память должна начинаться (в графическом режиме) с 0xA000 ? Это только
для ISA VGA справедливо. А у PCI VGA куда ей скажут - туда и будет.
Вот я сейчас пишу это с текстовой консоли и вот что показывает lspci
----- vga begins -----
00:0d.0 VGA compatible controller: Matrox Graphics, Inc. MGA 2164W [Millennium
II] (prog-if 00 [VGA])
Subsystem: Matrox Graphics, Inc.: Unknown device 1000
Flags: medium devsel, IRQ 11
Memory at fe000000 (32-bit, prefetchable) [disabled]
Memory at fffbc000 (32-bit, non-prefetchable) [disabled]
Memory at ff000000 (32-bit, non-prefetchable) [disabled]
Expansion ROM at fffa0000 [disabled]
00:0e.0 VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+] (rev 54)
(prog-if 00 [VGA])
Flags: medium devsel, IRQ 11
Memory at f8000000 (32-bit, non-prefetchable)
----- vga ends -----
Работает карточка s3.
А вот теперь я переключился в Иксы на второй экран:
----- vga2 begins -----
00:0d.0 VGA compatible controller: Matrox Graphics, Inc. MGA 2164W [Millennium
II] (prog-if 00 [VGA])
Subsystem: Matrox Graphics, Inc.: Unknown device 1000
Flags: medium devsel, IRQ 11
Memory at fe000000 (32-bit, prefetchable)
Memory at fffbc000 (32-bit, non-prefetchable)
Memory at ff000000 (32-bit, non-prefetchable)
Expansion ROM at fffa0000 [disabled]
00:0e.0 VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+] (rev 54)
(prog-if 00 [VGA])
Flags: medium devsel, IRQ 11
Memory at f8000000 (32-bit, non-prefetchable) [disabled]
----- vga2 ends -----
Теперь работает Matrox, а S3 стало disabled.
А если Иксы запустить на обе карточки - то работать будут обе.
И обрати внимание, что адреса памяти - разные.
Я как-то раз пытался при помощи setpci руками включить обе карточки, но у меня
не хватило знаний в области конфигурирования PCI устройств. Hо совершенно
очевидно, что это возможно, так как конфликтов по адресам нет. Другое дело, что
инициализировать вторую карточку придется вручную, так как биос на такой
извращенный вариант не способен. Hо насколько я понимаю - инициализация в
текстовом режиме у всех карточек должна быть одинакова(в смысле записываемых в
регистры значений), в отличие от графических режимов, где у каждого
производителя все по-своему. Вот только интересно, почему lspci показывает
память и прерывания, но не показывает куда отображаются порты ввода/вывода у
двух работающих карточек? А у S3 еще и не показывает куда отображен ROM.
Может быть тут есть знатоки PCI и смогут мне объяснить это?
А вот третья vga, которая впаяна на плате(я ее не использую по причине малого
количества памяти на ней), показывает свои порты ввода/вывода, хотя она
и выключена (disabled).
----- vga begins -----
00:08.0 VGA compatible controller: ATI Technologies Inc 215CT [Mach64 CT] (rev
09) (prog-if 00 [VGA])
Flags: stepping, medium devsel
Memory at f7000000 (32-bit, non-prefetchable) [disabled]
I/O ports at fc00 [disabled]
Expansion ROM at fff90000 [disabled]
----- vga ends -----
Zahar(@spbdept.rbc.ru)
--- Msged/LNX 6.1.0
* Origin: undefined location (2:5030/382.1)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/32883cad8b78.html, оценка из 5, голосов 10
|