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).

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

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

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

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

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

bublik писал(-а):

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

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

bublik писал(-а):

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

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

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


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

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

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

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

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

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

maco писал(-а):

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

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

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.

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

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