Прошу помощи в биосоковырянии.
Очень интересно научится добавлять поддержку Conroe и Wolfdale в биосы плат, которые не знают об их существовании.
Тут много говорилось о переделке железной части материнок для поддержки Conroe.
А переделка биосов сводилась к поиску аналогов плат с поддержкой новых процессоров и прошивкой биосов от них.
Но здесь есть свои грабли в виде некорректной работы сетевых карт и прочей периферии (если плата вообще запустится!).
Я же хочу понять основные моменты, которые можно встретить в коде биоса, на которые надо обратить внимание.
В статье написано, что данный код вводит в ступор Conroe, так как у них нет MSR 2CH:
Вот кусок кода
cpuid
mov ax,0FF0
...
...
...
mov ecx, 0000002c
rdmsr
А что если эти участки кода закомментировать "nop" 90 ???
Со своей стороны я времени зря не терял и на "всё готовенькое" не претендую!
Уже на протяжении 2 недель я изучаю и сравниваю куски кода биосов плат Asus (так как их у меня большинство) до внедрения поддержки conroe и после.
В биосах с поддержкой Conroe встречается проверка на CPUID 066X:
cpuid (0FA2)
mov ax,0FF0
cmp ax,0660 - проверка на принадлежность к Core (кстати, если изменить 0660 на 0670, то и Wolfdale запускается на самых старых биосах с поддержкой только Conroe! Единственная загвоздка в том, что для Wolfdale выставляется минимальный множитель и частота системной шины!)
jz, jnb, - переход, если подтвердилось
Для экспериментов есть материнки P5LD2SE, P5GZ-MX, P5RD1-VM, программатор на случай ошибок!
Помните статью, про модернизацию биосов для поддержки Tualatin? propretor.narod.ru/Tualatin.html
Возможно ли сделать что-то подобное с биосом для поддержки Conroe?
А именно создать свою подпрограмму распознавания и корректной инициализации всех LGA775 процессоров и просто делать переход на этот код в биосе.
Со своей стороны готов к тщательной проверке, тестированию и отладке.
Шестнадцатеричный редактор имеется, утилиты для распаковки и замены модулей биоса (MMTOOL) и бутблока есть!
Дизассемблирование проводил при помощи программы qview и искал куски кода с 0FA2 (CPUID).
Помогите распознать куски кода в старых биосах, которые нуждаются в переделке, чтобы Conroe не стопорился на них.
Также очень интересно каким образом вычисляется множитель для Wolfdale и почему алгоритм его вычисления отличается от Conroe.
Приветствую, уважаемые форумчане!
Прошу помощи в биосоковырянии.
Очень интересно научится добавлять поддержку Conroe и Wolfdale в биосы плат, которые не знают об их существовании.
Тут много говорилось о переделке железной части материнок для поддержки Conroe.
А переделка биосов сводилась к поиску аналогов плат с поддержкой новых процессоров и прошивкой биосов от них.
Но здесь есть свои грабли в виде некорректной работы сетевых карт и прочей периферии (если плата вообще запустится!).
Я же хочу понять основные моменты, которые можно встретить в коде биоса, на которые надо обратить внимание.
В статье написано, что данный код вводит в ступор Conroe, так как у них нет MSR 2CH:
Вот кусок кода
cpuid
mov ax,0FF0
...
...
...
mov ecx, 0000002c
rdmsr
А что если эти участки кода закомментировать "nop" 90 ???
Со своей стороны я времени зря не терял и на "всё готовенькое" не претендую!
Уже на протяжении 2 недель я изучаю и сравниваю куски кода биосов плат Asus (так как их у меня большинство) до внедрения поддержки conroe и после.
В биосах с поддержкой Conroe встречается проверка на CPUID 066X:
cpuid (0FA2)
mov ax,0FF0
cmp ax,0660 - проверка на принадлежность к Core (кстати, если изменить 0660 на 0670, то и Wolfdale запускается на самых старых биосах с поддержкой только Conroe! Единственная загвоздка в том, что для Wolfdale выставляется минимальный множитель и частота системной шины!)
jz, jnb, - переход, если подтвердилось
Для экспериментов есть материнки P5LD2SE, P5GZ-MX, P5RD1-VM, программатор на случай ошибок!
Помните статью, про модернизацию биосов для поддержки Tualatin? propretor.narod.ru/Tualatin.html
Возможно ли сделать что-то подобное с биосом для поддержки Conroe?
А именно создать свою подпрограмму распознавания и корректной инициализации всех LGA775 процессоров и просто делать переход на этот код в биосе.
Со своей стороны готов к тщательной проверке, тестированию и отладке.
Шестнадцатеричный редактор имеется, утилиты для распаковки и замены модулей биоса (MMTOOL) и бутблока есть!
Дизассемблирование проводил при помощи программы qview и искал куски кода с 0FA2 (CPUID).
Помогите распознать куски кода в старых биосах, которые нуждаются в переделке, чтобы Conroe не стопорился на них.
Также очень интересно каким образом вычисляется множитель для Wolfdale и почему алгоритм его вычисления отличается от Conroe.
С уважением,
Евгений