Gigabyte DualBIOS

Дано: GA-MA780G-UD3H с функцией DualBIOS, не виртуальной, на плате реально две SPI flash схемы.
Почти случайно обнаружил комбинации Alt+F11, Alt+F12.
Поисследовал - похоже переключение между схемами производится через бит #0 (самый младший) регистра EFh логического устройства #7 Super I/O контроллера IT8718. Доступ к ROM осуществляется через SPI контроллер в этом же чипе (IT8718).
В документации, которую я смог найти, этот регистр не описан.
Может кто может помочь с более правильной/полной документацией? На самом чипе написано ITE IT8718F-S.

Если кому интересно дальнейшее исследование этой темы - давайте поисследуем вместе.
Сейчас я смотрю на стартовый код биоса и то как/когда он делает переключение между flash чипами.
Похоже, что можно форсировать такое переключение с помощью сигнала RI2 упомянутого Super I/O (pin 127).

0 MB
Если данная информация оказалась полезной/интересной - плюсаните, пожалуйста:



0 MB

нужна программа которая бы редактировала дату биос на материнских платах GA-MA780G и аналогичных ей.

биос Award, но те программы, что выложены на этом сайте не помогают

0 MB

У меня плата GA-G31M-ES2L, конечно, процессор Intel, это не совсем в тему, но тоже dual bios с двумя SPI флэшами MX25L4005. Не знаю, как вы вышли на RI2. На моей плате CS 2-го биоса звонится с 97 ногой it8718, что просто озадачивает, потому что это же вход VIN1, просто вход АЦП. Т.е. должен идти еще куда-нибудь.

И каким образом может осуществляться доступ к флэшкам через it87, если доступ к основному биосу осуществляется через южный мост, причем SO,SI,CLK обеих запараллелены, а к it87 вообще не подключены? Или чипсет для AMD абсолютно по-другому устроен и мы говорим о совершенно разных вещах?

0 MB

bublik писал(-а):
На моей плате CS 2-го биоса звонится с 97 ногой it8718, что просто озадачивает, потому что это же вход VIN1, просто вход АЦП.
Нумерация может быть смещена в случае заказа партии микросхем специально для конкретного производителя (Gigabyte как раз таким забавлялся - можете поискать по форуму информацию о Gigabyte и IT8712). Проверьте соответствие (или несоответствие) по выводам питания, земли, COM/LPT/floppy.

0 MB

bublik писал(-а):

Не знаю, как вы вышли на RI2.

Дизассемблированием кода (очень) ранней инициализации в БИОСе.

bublik писал(-а):

Или чипсет для AMD абсолютно по-другому устроен и мы говорим о совершенно разных вещах?

Мы говорим о совершенно разных платах.
На моей встроенный SPI контроллер SB700 не используется, доступ к БИОС адресам направляется в LPC и ловится SPI контроллером IT8718F-S.

0 MB

agapon
IMHO в таком случае стоит говорить не о RI2, а о GP66. Это исключительно терминологическая поправка.


bublik
Забыл указать в предыдущем сообщении - обычно Gigabyte в предоставляемой документации на матплату неплохо (в плане общей ориентации по связям между отдельными компонентами) показывает структурную схему.

Аватар пользователя Root
0 MB

не знаю откуда взялась ссылка на RI2. Реально все завязано на пины 97 и 61. Тоже GPIO. Но это для MA790X-DS4.
А сам выбор загрузочной флэшки делается с помощью strapping'а

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

0 MB

Root
...GB or not ...GB?

0 MB

Root писал(-а):

не знаю откуда взялась ссылка на RI2. Реально все завязано на пины 97 и 61. Тоже GPIO. Но это для MA790X-DS4.
А сам выбор загрузочной флэшки делается с помощью strapping'а

Взялось от меня, для моей мат. платы (MA780G-UD3H), на основании нижеприведенного кода из БИОСа (комментарии и имена мои).
Возможно, что я неправильно его истолковал.
Буду рад услышать о вашем опыте более подробно.

F000:4C93 ; =============== S U B R O U T I N E =======================================
F000:4C93
F000:4C93
F000:4C93 sio_ri2_chk     proc near               ; CODE XREF: do_start+20j
F000:4C93                 shl     esp, 10h
F000:4C97                 mov     cx, 0A348h      ; enable sio access at 0x2e
F000:4C9A                 mov     sp, 4CA0h       ; pci 0:20:3 0x48
F000:4C9D                 jmp     pci_cfg_readb
F000:4C9D ; ---------------------------------------------------------------------------
F000:4CA0                 dw 4CA2h
F000:4CA2 ; ---------------------------------------------------------------------------
F000:4CA2                 or      al, 1
F000:4CA4                 mov     sp, 4CAAh
F000:4CA7                 jmp     pci_cfg_writeb
F000:4CA7 ; ---------------------------------------------------------------------------
F000:4CAA                 dw 4CACh
F000:4CAC ; ---------------------------------------------------------------------------
F000:4CAC                 mov     dx, 2Eh ; '.'   ; sio config mode
F000:4CAF                 mov     al, 87h ; 'ç'
F000:4CB1                 out     dx, al
F000:4CB2
F000:4CB2 loc_F4CB2:
F000:4CB2                 mov     al, 1
F000:4CB4                 out     dx, al
F000:4CB5                 mov     al, 55h ; 'U'
F000:4CB7                 out     dx, al
F000:4CB8                 mov     al, 55h ; 'U'
F000:4CBA                 out     dx, al
F000:4CBB                 mov     cl, 4           ; select ldn 4 (EC)
F000:4CBD                 mov     dx, 2Eh ; '.'
F000:4CC0                 mov     al, 7
F000:4CC2                 out     dx, al
F000:4CC3                 out     0EBh, al
F000:4CC5                 inc     dx
F000:4CC6                 mov     al, cl
F000:4CC8                 out     dx, al
F000:4CC9                 out     0EBh, al
F000:4CCB                 mov     cl, 0F1h ; '±'  ; ldn 4, reg F1
F000:4CCD                 mov     al, cl
F000:4CCF                 mov     dx, 2Eh ; '.'
F000:4CD2                 out     dx, al
F000:4CD3                 out     0EBh, al
F000:4CD5                 inc     dx
F000:4CD6                 in      al, dx
F000:4CD7                 out     0EBh, al
F000:4CD9                 test    al, 4           ; check RI2
F000:4CDB                 jz      short end_0     ; RI2 not set
F000:4CDD otherwise switch to backup bios
F000:4CDD                 mov     cl, 7           ; select ldn 7 (GPIO)
F000:4CDF                 mov     dx, 2Eh ; '.'
F000:4CE2                 mov     al, 7
F000:4CE4                 out     dx, al
F000:4CE5                 out     0EBh, al
F000:4CE7                 inc     dx
F000:4CE8                 mov     al, cl
F000:4CEA                 out     dx, al
F000:4CEB                 out     0EBh, al
F000:4CED                 mov     cl, 0EFh ; 'n'  ; 0xef register (undocumented)
F000:4CEF                 mov     al, cl
F000:4CF1                 mov     dx, 2Eh ; '.'
F000:4CF4                 out     dx, al
F000:4CF5                 out     0EBh, al
F000:4CF7                 inc     dx
F000:4CF8                 in      al, dx          ; current value: 72h
F000:4CF9                 out     0EBh, al
F000:4CFB                 test    al, 1           ; if already backup bios, don't do anything
F000:4CFD                 jnz     short end_0     ; exit sio config
F000:4CFF                 mov     cl, 0EFh ; 'n'  ; working with EF again
F000:4D01                 mov     al, cl
F000:4D03                 mov     dx, 2Eh ; '.'
F000:4D06                 out     dx, al
F000:4D07                 out     0EBh, al
F000:4D09                 inc     dx
F000:4D0A                 in      al, dx          ; re-read
F000:4D0B                 out     0EBh, al
F000:4D0D                 or      al, 1           ; switch to backup
F000:4D0F                 mov     ah, al
F000:4D11                 mov     dx, 2Eh ; '.'
F000:4D14                 mov     al, cl
F000:4D16                 out     dx, al
F000:4D17                 out     0EBh, al
F000:4D19                 mov     al, ah
F000:4D1B                 inc     dx
F000:4D1C                 out     dx, al          ; write back 'val | 1'
F000:4D1D                 out     0EBh, al
F000:4D1F                 mov     al, 2
F000:4D21                 mov     dx, 0CF9h       ; system reset register
F000:4D24                 out     dx, al
F000:4D25                 mov     al, 6
F000:4D27                 out     dx, al          ; do hard reset
F000:4D28
F000:4D28 forever:                                ; CODE XREF: sio_ri2_chk:foreverj
F000:4D28                 jmp     short forever
F000:4D2A ; ---------------------------------------------------------------------------
F000:4D2A
F000:4D2A end_0:                                  ; CODE XREF: sio_ri2_chk+48j
F000:4D2A                                         ; sio_ri2_chk+6Aj
F000:4D2A                 mov     dx, 2Eh ; '.'   ; exit sio config
F000:4D2D                 mov     al, 2
F000:4D2F                 out     dx, al
F000:4D30                 out     0EBh, al
F000:4D32                 inc     dx
F000:4D33                 mov     al, 2
F000:4D35                 out     dx, al
F000:4D36                 shr     esp, 10h
F000:4D3A                 retn
F000:4D3A sio_ri2_chk     endp
F000:4D3A

0 MB

maco писал(-а):

IMHO в таком случае стоит говорить не о RI2, а о GP66. Это исключительно терминологическая поправка.

Возможно, не уверен - см. вышеприведенный код.

0 MB

agapon
Я в общем-то могу код не смотреть:). RI2 - вход, так что управлять переключением Main/Backup с его помощью при всем желании не получится, а вот GPIO - никаких проблем. Хотя кроме кода я бы хотел бы услышать о том, что вы отследили физическое соединение между указанным выводом и выводом(ами) микросхем, содержащих Main/Backup BIOS.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей