RU.UNIX.BSD-------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 41 из 48
 От   : Valentin Nechayev                   2:463/68.300      15 мар 25 08:44:46
 К    : Sergey Dorofeev                                       15 мар 25 10:10:02
 Тема : графическое лого
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:463/68.300 67d525d0
@REPLY: 2:5020/12000 4f53923c
@CHRS: CP1125 2
@TZUTC: 0200
@TID: hpt 1.2.4-release/bsd 30-05-03
 Hi,

 >>>> Sergey Dorofeev wrote:

 VN>> Hо на этом этапе ещё нет драйверов, и поэтому каждый блок с диска
 VN>> грузится через BIOS вызовы, для которых идёт переключение в
 VN>> реальный режим, выполнение вызова и переключение обратно в
 VN>> защищённый режим, где BTX loader грузит boot loader.
 SD> А оно не запускает BIOS в режиме VM86?

Hет.


https://github.com/freebsd/freebsd-src/blob/releng/14.2/stand/i386/btx/btx/btx. S#L570

Явный сброс protected в ноль.

 Причина, насколько я знаю - BIOS сам может для обработки вызова
включать свой protected mode (чем более поздние, тем вероятнее), где,
например, драйвера всякого NVMe, и ему надо это позволить.

 (Указанный код, что интересно, рассчитан на возможность вызова _из_
VM86 mode. Hо обработчик всё равно вызывается в реальном режиме.)

 SD>  XMS-style доступ весьма
 SD> тормознутый, насколько помню там через контроллер клавиатуры
 SD> процессору RESET надо делать.

 Это вы с прямым углом перепутали. Reset через контроллер клавиатуры
был нужен для 80286, который нельзя было иначе вывести из защищённого
режима. В 386 это делается просто сбросом бита 0 в CR0 (ну и, разумеется,
при предварительной подготовке типа активного 16-битного кодового сегмента).
А так как система сейчас требует не меньше чем 486-й, этот трюк она
не использует.

"XMS-style доступ" в пределах первого мегабайта не нужен.

 SD> А ради чего вообще вопрос возник? Лоадер-то вполне помещается в 640К,
 SD> так что это были бы просто ненужные действия. Hу а если хочется
 SD> графику, шрифты и картинки вполне можно аккуратно в лоадер добавить,
 SD> прослойка в виде чего-то типа fbdev терминала (текстовый вариант ведь
 SD> полюбасу нужен, терминал может быть на ком-порту), если конечно нет
 SD> задачи сделать фон в виде пейзажа с 4К и менюшку с шейдерами.

 Так а данные самой картинки кто куда будет грузить? Дискуссия была
именно об этом. Если /boot/loader ограничен первым мегабайтом (соответственно
640K реальной памяти), то места для неё может и не быть.

 По факту, как уже сказал, он не ограничен - ядро-то он ведь
грузит. Hо на каком этапе и как это сделано - я не знаю, нет достаточного
времени и настроения это копать.


-netch-

... Полная дизассемблятина.

---
 * Origin: Dark side of coredump (2:463/68.300)
SEEN-BY: 50/109 104/117 221/6 301/1 341/66 450/1024
461/58 463/68 1331
SEEN-BY: 4600/140 4651/777 5000/111 5001/100 5015/42
46 5019/40 5020/113 545
SEEN-BY: 5020/715 830 848 1042 2992 4441 12000
5022/128 5030/49 115 500 1081
SEEN-BY: 5030/1474 1900 5053/51 5054/89 5058/104
5061/133 5083/1 444 6078/80
SEEN-BY: 6090/1
@PATH: 463/68 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх