Добавление
поддержки Tualatin в
Award BIOS.
Эпиграф:
в
случае использования данной статьи читателем как
руководство к действию, автор заведомо ПРЕДПОЛАЕТ два
условия:
-
способность читателя переслать из регистра в регистр как
минимум два байта
-
положительный ответ на вопрос «А оно вам надо?»
Подробности распаковки и запаковки
прошивки уже были изложены в статье «Редактируем Award BIOS». Поэтому
разговор будет вестись лишь о редактировании конкретно
original.tmp.
Главные отличия инициализации Tualatin от Coppermine/Mendocino:
- другой CPUID: 6Bx
- другая «таблица» коэффициентов (точнее – даже
две)
Итак, что предстоит сделать:
- добавить определение CPUID
6Bx (и вывод
соответствующего названия)
- добавить определение
«туалатиновского» коэффициента умножения
- добавить «туалатиновские» микрокоды
(6B0, 6B1)
В идеальном случае это всё.
Дополнительно может понадобиться (в основном на платах,
изначально не поддерживающих Coppermine или
«крайне» брэндовых, типа MSI, Asus сотоварищи):
- исправить (исключить) неправильную
инициализацию L2-кэша
- исправить неправильное отображение
названия/частоты процессора из-за старого алгоритма
вывода на экран
Как будем
добавлять?
Понятно, что изменять размер original.tmp нельзя. Как же (куда) добавить «свою»
подпрограмму? А просто – в original.tmp есть достаточно много пустого места,
куда и можно вставить свои подпрограммы. Например, в
конце первого сегмента (адреса ~F800-FA00
- FFFF), как
правило, всегда есть 1-2kB неиспользуемого, непрерывно пустого
пространства. Этого нам вполне хватит.
У меня есть «универсальная» подпрограммка
(точнее, «сборка»), в ней реализованы:
- детект коэффициента (с таблицами
коэффициентов)
- детект имени (с самими именами)
- таблица степпингов (для брэндовских
матерей)
Копируем её (с помощью любого hex-редактора)
по адресу FC00 (именно на
этот «стартовый» адрес она рассчитана, хотя чуть
подредактировав, можно вставить её и по другому
адресу).
Если вы уже скопировали её в original.tmp по FC00, то по
адресу:
FF00 –
определение имени процессора (FC00 – начало
таблицы названий процессоров)
FDF0 –
определение коэффициента (FD80-FDEF
– таблица коэффициентов)
скопирована именно
FFB0 – таблица
степпингов (нужна лишь для брэндовых/старых матерей)
Примечание:
В сборке реализована инициализация
сразу всех процессоров (в том числе частично – VIA/Cyrix III), т.к.
делать лишь «добавку» туалатина очень неудобно. Код
подпрограмм в сборке не до конца оптимизирован, т.к.
находится в постоянном процессе переработки. Однако,
главное - он точно рабочий, а кто хочет что-то
изменить-добавить, может использовать исходники.
Вариант 1. Правка биоса для «новых» плат
(в основном – «безродных», т.е. не «брэндов»).
Рассмотрим на примере прошивки PCPartner i440BX модели p930 (маркировка 35(C)-8930-xx), биос ver. “BIOS-I-2M (2K001120)”,
11/20/2000.
1. Добавление
CPUID.
Ищем строчку “GenuntelineI” (можно
лишь по “Genu”).
00003540: 32 80 E4 F7-0F
30 66 61-C3 75 35 47-65
6E 75 6E
2Афў00fa+u5Genun
00003550: 74 65 6C 69-6E
65 49 C1-35 43 79 72-69 74 65 61
telineI+5Cyritea
00003560: 64 78 49 6E-73
CE 35 43-65 6E 74 61-75 6C 73 61
dxIns+5Centaulsa
00003570: 75 72 48 FF-FF
24 F0 3C-60 74 2D 66-B9 1E 01 00
urH $Ё<`t-f¦^O
Два байта сразу перед ней – смещение
начала подпрограммы определения процессора (для
старых/брэндовских плат – это таблица степпингов, но
этот случай рассмотрим позже). Переходим по этому адресу
– 3575 («наоборот», т.к. это “word”):
00003575:
24F0
and
al,0F0
;"Ё"
;это
и есть подпрограмма определения CPU:
00003577:
3C60
cmp
al,060 ;"`"
00003579:
742D
je
0000035A8 --------
(4)
0000357B:
66B91E010000
mov
ecx,00000011E ;" O^"
00003581:
0F32
rdmsr
00003583:
662500008000
and
eax,000800000 ;" А "
00003589:
751D
jne
0000035A8 --------
(5)
0000358B:
66B801000000
mov
eax,000000001 ;"
O"
00003591:
0FA2
cpuid
00003593:
3C6A
cmp
al,06A ;"j"
00003595:
7505
jne
00000359C --------
(6)
00003597:
BEBD8F
mov
si,08FBD ;"П-"
0000359A:
EB1D
jmps
0000035B9 --------
(7)
0000359C:
3C80
cmp
al,080 ;"А"
0000359E:
720D
jb
0000035AD --------
(8)
000035A0:
0ADB
or
bl,bl
000035A2:
7409
je
0000035AD --------
(9)
000035A4:
FECB
dec
bl
000035A6:
7509
jne
0000035B1 --------
(A)
000035A8:
BEAB8F
mov
si,08FAB ;"Пл"
000035AB:
EB0C
jmps
0000035B9 --------
(B)
000035AD:
3C70
cmp
al,070 ;"p"
000035AF:
7205
jb
0000035B6 --------
(C)
000035B1:
BE888F
mov
si,08F88 ;"ПИ"
000035B4:
EB03
jmps
0000035B9 --------
(D)
000035B6:
BE9A8F
mov
si,08F9A ;"ПЪ"
;На
выходе подпрограммы определения процессора – смещение
строчки его имени:
000035B9:
89B62D02
mov
[bp][0022D],si
000035BD:
E877FF
call
000003537 --------
(E)
000035C0:
C3
retn
Это и есть подпрограмма определения
процессора. Меняем её на свою (по смещению FF00):
00003575:
E888C9
call
00000FF00
00003578:
E93E00
jmp
0000035B9
;
этот код в результате просто пропускается:
0000357B:
66B91E010000
mov
ecx,00000011E ;" O^"
00003581:
0F32
rdmsr
…
000035B4:
EB03
jmps
0000035B9
000035B6:
BE9A8F
mov
si,08F9A ;"ПЪ"
;
делаем jmp
сюда,
чтобы полученное нашей подпрограммой смещение
(si)
имени процессора было занесено в память:
000035B9:
89B62D02
mov
[bp][0022D],si ; <--------
000035BD:
E877FF
call
000003537
000035C0:
C3
retn
2. Вычисляем
коэффициент.
Таблица коэффициентов всегда
начинается «мендочинистыми», поэтому очень просто её
найти по “0A 06 08 04”
(hex):
00003610: 04 C3 8B C0-0A 06 08
04-0B 07
09 05-07 0E 10 0C
♦+ЛL0♠•♦>•0♣•d>+
00003620: 04 0F 03 0D-12 16 18 04-13 17 11
05-07 0E 10 14
♦0♥d¦-↑♦!¦<♣•d>¶
00003630: 04 0F 03 15-00 06 08 0A-05 07 09
0B-0C 0E 0D 0F
♦0♥§ ♠•0♣•0>+dd0
00003640: 0D 0F 00 00-0A 06 08 06-0B 07 09
06-0A 0E 10 0C
d0
0♠•♠>•0♠0d>+
00003650: 06 0F 06 0D-0A 06 08 14-0B 07 09
16-12 0E 10 0C
♠0♠d0♠•¶>•0-¦d>+
00003660: 18 0F 1A 0D-E8
3E 5A 75-1A B1 C3 E8-89 07 0C 40 ↑0→dш>Zu→-+шЙ•+@
Опять же по клавише F6 в hiew находим, где загружается адрес
3614h (коэффициенты
для Mendocino):
00003699:
B85436
mov
ax,03654 ;"6T"
0000369C:
80BE310270
cmp
b,[bp][00231],070 ;"p"
000036A1:
7403
je
0000036A6 --------
(9)
000036A3:
B84436
mov
ax,03644 ;"6D"
000036A6:
03F0
add
si,ax
000036A8:
EB0F
jmps
0000036B9 --------
(A)
000036AA:
E80D00
call
0000036BA --------
(B)
000036AD:
7206
jb
0000036B5 --------
(C)
000036AF:
81C62436
add
si,03624 ;"6$"
000036B3:
EB04
jmps
0000036B9 --------
(D)
000036B5:
81C61436
add
si,03614 ;"6¶"
<------------- koef Mendocino
000036B9:
C3
retn
Находим начало этой подпрограммы:
0000363B:
0B0C
or
cx,[si]
0000363D:
0E
push
cs
0000363E:
0D0F0D
or
ax,00D0F ;"d0"
00003641:
0F0000
sldt
[bx][si]
00003644:
0A060806
or
al,[00608]
00003648:
0B07
or
ax,[bx]
0000364A:
09060A0E
or
[00E0A],ax
0000364E:
100C
adc
[si],cl
00003650:
06
push
es
00003651:
0F06
clts
00003653:
0D0A06
or
ax,0060A ;"♠0"
00003656:
0814
or
[si],dl
00003658:
0B07
or
ax,[bx]
0000365A:
0916120E
or
[00E12],dx
0000365E:
100C
adc
[si],cl
00003660:
180F
sbb
[bx],cl
00003662:
1A0D
sbb
cl,[di]
; всё
выше – явный бред, в смысле – данные, а не
код.
; А
вот дальше и есть подпрограмма определения
коэффициента
;
убедиться в том, что это и есть точка входа можно, опять
же, по F6 –
подпрограмма должна где-нибудь вызываться
00003664:
E83E5A
call
0000090A5 --------
(1) ; проверка на Cyrix-ность
:)
00003667:
751A
jne
000003683 --------
(2)
00003669:
B1C3
mov
cl,0C3 ;"+"
0000366B:
E88907
call
000003DF7 --------
(3)
0000366E:
0C40
or
al,040 ;"@"
00003670:
E87707
call
000003DEA --------
(4)
00003673:
B148
mov
cl,048 ;"H"
00003675:
E87F07
call
000003DF7 --------
(5)
00003678:
83E00F
and
ax,00F ;"0"
0000367B:
8BF0
mov
si,ax
0000367D:
81C63436
add
si,03634 ;"64"
00003681:
EB36
jmps
0000036B9 --------
(6)
; нет
– «нормальный» процессор
00003683:
66B92A000000
mov
ecx,00000002A ;"
*"
00003689:
0F32
rdmsr
;
считываем
MSR_2Ah
0000368B:
66C1E816
shr
eax,016 ;"-"
0000368F:
83E00F
and
ax,00F ;"0"
;
MSR_2Ah[22-26] – 4 бита
коэффициента
00003692:
8BF0
mov
si,ax
00003694:
E8F959
call
000009090 --------
(7)
;
проверка на другую цыриксность ;)
00003697:
7511
jne
0000036AA --------
(8)
00003699:
B85436
mov
ax,03654 ;"6T"
0000369C:
80BE310270
cmp
b,[bp][00231],070 ;"p"
000036A1:
7403
je
0000036A6 --------
(9)
000036A3:
B84436
mov
ax,03644 ;"6D"
000036A6:
03F0
add
si,ax
000036A8:
EB0F
jmps
0000036B9 --------
(A)
;
опять – «нормальный» процессор :)
000036AA:
E80D00
call
0000036BA --------
(B)
;
проверка копер-некоппер
000036AD:
7206
jb
0000036B5 --------
(C)
000036AF:
81C62436
add
si,03624 ;"6$"
000036B3:
EB04
jmps
0000036B9 --------
(D)
000036B5:
81C61436
add
si,03614 ;"6¶"
000036B9:
C3
retn
На выходе – лишь смещение строки
коэффициентов процессора. Поэтому просто заменяем всю эту
подпрограмму на нашу:
00003660:
180F
sbb
[bx],cl
00003662:
1A0D
sbb
cl,[di]
00003664:
E989C7
jmp
00000FDF0
00003667:
751A
jne
000003683
00003669:
B1C3
mov
cl,0C3 ;"+"
………
3. Добавление
микрокодов.
Ничего особенного – подробно
расписано на iXBT. Могу лишь
предупредить – обязательно проверяйте прошивку после
добавления микрокодов с помощью открытия её в modbin-е. Ежели
матернётся – что-то сделали не так.
Примечание:
некоторые версии cbrom некорректно перепаковывают
прошивки – например, cbrom ver.2.15
неправильно работает с большинством старых биосов (хотя
всё показывает без проблем), поэтому в таком случае
пользуйтесь ver. 2.07).
Вариант 2. Правим «брэнд» -
i440BX/MSI-6163 ver.3.10
(10/11/2000).
1. Добавление
CPUID.
Ищем строчку “GenuntelineI” (можно
лишь по “Genu”).
00003E40: 5D CF 52 3E-47 65 6E
75-6E 74 65 6C-69 6E 65 49 ]¦R>GenuntelineI
00003E50: FF FF 10 06-D1
10 10 16-D1 10 30 16-D1 10 30 06
>♠T>>-T>0-T>0♠
00003E60: D1 10 50 06-D1
10 60 06-D1 10 70 06-D1 10 80 06
T>P♠T>`♠T>p♠T>А♠
00003E70: D1 10 FF FF-2E
8B C0 2E-8B C0 2E 8B-C0 2E 8B C0
T> .ЛL.ЛL.ЛL.ЛL
По смещению 3E52h находится таблица поддерживаемых
степпингов (такой способ инициализации остался в
наследство от старых P1):
00003E40: 5D CF 52 3E-47
65 6E 75-6E 74 65 6C-69 6E 65 49
]¦R>GenuntelineI
00003E50: FF FF 10 06-D1 10 10
16-D1 10 30 16-D1 10 30 06
>♠T>>-T>0-T>0♠
00003E60: D1 10 50 06-D1 10 60
06-D1 10 70 06-D1 10 80 06
T>P♠T>`♠T>p♠T>А♠
00003E70: D1 10 FF FF-2E
8B C0 2E-8B C0 2E 8B-C0 2E 8B C0
T> .ЛL.ЛL.ЛL.ЛL
На каждый степпинг – четыре байта:
два на «маску» и два на никому не нужные его
характеристики, оставшиеся, вообще, ещё от 386-х (т.е.
есть ли сопроцессор и прочая ерунды, не используемая в
коде биоса), соответственно – это всегда будет D1
10.
Переделываем ссылку на наши
степпинги:
00003E40: 5D CF B0 FF-47 65 6E
75-6E 74 65 6C-69 6E 65 49
]¦ -GenuntelineI
00003E50: FF FF 10 06-D1
10 10 16-D1 10 30 16-D1 10 30 06
>♠T>>-T>0-T>0♠
00003E60: D1 10 50 06-D1
10 60 06-D1 10 70 06-D1 10 80 06
T>P♠T>`♠T>p♠T>А♠
00003E70: D1 10 FF FF-2E
8B C0 2E-8B C0 2E 8B-C0 2E 8B C0
T> .ЛL.ЛL.ЛL.ЛL
Чтоб найти подпрограмму определения
процессора, делаем поиск, например, по “Celeron”:
00007BA0: 7B
AE
7B
AE-7B
DD
7B
AE-7B
AF
7B
AF-7B 00
00 43
{о{о{¦{о{п{п{ C
00007BB0: 79 72 69 78-20
4D 65 64-69 61 47 58-20 57 69 74 yrix MediaGX
Wit
00007BC0: 68 20 4D 4D-58
00 49 20-58 45 4F 4E-28 74 6D 29 h MMX I
XEON(tm)
00007BD0: 00 50 45 4E-54
49 55 4D-20 49 49 49-00 50 45 4E PENTIUM
III PEN
00007BE0: 54 49 55 4D-20
49 49 00-49 4E 54 45-4C 28 52 29 TIUM II
INTEL(R)
00007BF0: 20 43 45 4C-45
52 4F 4E-28 54 4D 29-00 4D 6F 62 CELERON(TM)
Mob
00007C00: 69 6C 65 20-50
65 6E 74-69 75 6D 20-49 49 00 50 ile Pentium II
P
00007C10: 45 4E 54 49-55
4D 20 50-52 4F 00 00-00 55 6E 6B ENTIUM PRO
Unk
00007C20: 6E 6F 77 6E-00
66 60 50-E8 76 00 3C-30 58 73 1F nown f`Pшv
<0XsЎ
Мы нашли таблицу имён процессоров,
выбираем какое-нибудь из них для поиска, где загружается
смещение имени. Я обычно ищу по “Mobile”:
...
00007B0D:
BEFD7B
mov
si,07BFD ;
<------ загрузка смещения “Mobile”
00007B10:
EB19
jmps
000007B2B --------
(5)
00007B12:
24F0
and
al,0F0 ;"Ё"
00007B14:
3C60
cmp
al,060 ;"`"
00007B16:
7410
je
000007B28 --------
(6)
…
Находим начало подпрограммы (будет
после ret предыдущей)
00007AE8:
C22C3D
retn
03D2C ;"=,"
00007AEB:
C3
retn
;
начало подпрограммы определения процессора
00007AEC:
8A463D
mov al,[bp][0003D]
00007AEF:
247E
and
al,07E ;"~"
00007AF1:
3C58
cmp
al,058 ;"X"
00007AF3:
BE1D7C
mov
si,07C1D ;"|↔"
00007AF6:
7708
ja
000007B00 --------
(1)
00007AF8:
0FB6F0
movzx
si,al
00007AFB:
2E8BB4557B
mov
si,cs:[si][07B55]
00007B00:
81FEDD7B
cmp
si,07BDD ;"{¦"
00007B04:
754E
jne
000007B54 --------
(2)
00007B06:
E89801
call
000007CA1 --------
(3)
00007B09:
3C6A
cmp
al,06A ;"j"
00007B0B:
7505
jne
000007B12 --------
(4)
00007B0D:
BEFD7B
mov
si,07BFD ; <------ загрузка
смещения
“Mobile”
00007B10:
EB19
jmps
000007B2B --------
(5)
00007B12:
24F0
and
al,0F0 ;"Ё"
00007B14:
3C60
cmp
al,060
;"`"
00007B16:
7410
je
000007B28 --------
(6)
00007B18:
66B91E010000
mov
ecx,00000011E ;" O^"
00007B1E:
0F32
rdmsr
00007B20:
662500008000
and
eax,000800000 ;" А "
00007B26:
7403
je
000007B2B --------
(7)
00007B28:
BEE87B
mov
si,07BE8 ;"{ш"
00007B2B:
66B801000000
mov
eax,000000001 ;"
O"
00007B31:
0FA2
cpuid
00007B33:
3C80
cmp
al,080 ;"А"
00007B35:
720D
jb
000007B44 --------
(8)
00007B37:
0ADB
or
bl,bl
00007B39:
7409
je
000007B44 --------
(9)
00007B3B:
BEE87B
mov
si,07BE8 ;"{ш"
00007B3E:
FECB
dec
bl
00007B40:
7412
je
000007B54 --------
(A)
00007B42:
EB04
jmps
000007B48 --------
(B)
00007B44:
3C70
cmp
al,070 ;"p"
00007B46:
7205
jb
000007B4D --------
(C)
00007B48:
BED17B
mov
si,07BD1 ;"{T"
00007B4B:
EB07
jmps
000007B54 --------
(D)
00007B4D:
3C30
cmp
al,030 ;"0"
00007B4F:
7303
jae
000007B54 --------
(E)
00007B51:
BE0F7C
mov
si,07C0F ;"|0"
00007B54:
C3
retn
В подпрограмме выходной параметр лишь
“si” процессора,
так что просто заменяем на нашу:
00007AE8:
C22C3D
retn
03D2C ;"=,"
00007AEB:
C3
retn
00007AEC:
E91184
jmp
00000FF00
00007AEF:
247E
and
al,07E ;"~"
00007AF1:
3C58
cmp
al,058 ;"X"
…
2.
Вычисляем
коэффициент.
Ищем начало коэффициентов по “0A 06
08 04” (hex):
00003F90: 0A 06 08
04-0B 07
09 05-07 0E 10 0C-04 0F 03 0D
0♠•♦>•0♣•d>+♦0♥d
00003FA0: 12 16 18 04-13 17 11
05-07 0E 10 14-04 0F 03 15
¦-↑♦!¦<♣•d>¶♦0♥§
Находим, где они загружаются:
00004022:
7206
jb
00000402A --------
(4)
00004024:
81C6A03F
add
si,03FA0 ;"?а"
00004028:
EB04
jmps
00000402E --------
(5)
0000402A:
81C6903F
add
si,03F90 ; <---- koef Mendocino
0000402E:
2E0FB60C
movzx
cx,b,cs:[si]
00004032:
8BC3
mov
ax,bx
00004034:
33D2
xor
dx,dx
00004036:
D1E0
shl
ax,1
00004038:
F7F9
idiv
cx
…
Находим начало подпрограммы
вычисления частоты процессора:
00004002:
7058
jo
00000405C --------
(1)
00004004:
022D
add
ch,[di]
00004006:
3260F4
xor
ah,[bx][si][-000C]
00004009:
0100
add
[bx][si],ax
;
выше – бред, в смысле – данные
;
начало
0000400B:
E82102
call
00000422F
;
подпрограмма вычисления частоты процессора
;
далее вычисляем коэффициент
0000400E:
66B92A000000
mov
ecx,00000002A
;"
*"
00004014:
0F32
rdmsr
00004016:
66C1E816
shr
eax,016 ;"-"
0000401A:
83E00F
and
ax,00F ;"0"
0000401D:
8BF0
mov
si,ax
0000401F:
E8BD00
call
0000040DF --------
(3)
00004022:
7206
jb
00000402A --------
(4)
00004024:
81C6A03F
add
si,03FA0 ;"?а"
00004028:
EB04
jmps 00000402E --------
(5)
0000402A:
81C6903F
add
si,03F90
; и
заносим его в cx
для
вычисления FSB
и
последующего «округления» частоты процессора
0000402E:
2E0FB60C
movzx
cx,b,cs:[si]
00004032:
8BC3
mov
ax,bx
00004032:
8BC3
mov
ax,bx
00004034:
33D2
xor
dx,dx
00004036:
D1E0
shl
ax,1
00004038:
F7F9
idiv
cx
…
Нас интересует лишь часть, где
вычисляется коэффициент, меняем её:
0000400B:
E82102
call
00000422F
0000400E:
E8DFBD
call
00000FDF0
00004011:
E91A00
jmp
00000402E
;
этот код просто пропускается
00004014:
0F32
rdmsr
00004016:
66C1E816
shr
eax,016 ;"-"
0000401A:
83E00F
and
ax,00F ;"0"
0000401D:
8BF0
mov
si,ax
0000401F:
E8BD00
call
0000040DF
00004022:
7206
jb
00000402A
00004024:
81C6A03F
add
si,03FA0 ;"?а"
00004028:
EB04
jmps
00000402E
0000402A:
81C6903F add
si,03F90 ;"?Р"
;делаем
jmp сюда
0000402E:
2E0FB60C
movzx
cx,b,cs:[si] ; <------
00004032:
8BC3
mov
ax,bx
…
3. Добавление
микрокодов.
Аналогично предыдущему
варианту.
4. Дополнительные
проверки.
Старые платы Slot1,
поддерживающие ещё даже и прародителя PentiumPro (как и в этом случае), имеют
расширенную инициализацию L2-кэша. Для
того, чтоб не применять её к новым процессорам, где
подобная инициализация не нужна, нужно сделать
возможность пропустить этот участок кода и для Tualatin.
Ищем место кода, где есть проверка на
коппермайнистость - ищем по маске CPUID коппера
0680h, т.е. “80
06”(hex). После
нескольких вариантов, находим именно проверку:
00004599:
0F8CAC01
jl
000004749
0000459D:
8BD8
mov
bx,ax
0000459F:
66B91E010000
mov
ecx,00000011E
000045A5:
0F32
rdmsr
000045A7:
662500008000
and
eax,000800000
000045AD:
0F859801
jne
000004749
000045B1:
81FB8006
cmp
bx,00680 ;"♠А"
000045B5:
0F849001
je
000004749 --------
(7)
000045B9:
81FB3006
cmp
bx,00630
;"♠0"
И заменяем её на такую, чтоб условие
подходило и для туалатинов и при этом вписывалось в
объём исправленного:
00004599:
0F8CAC01
jl
000004749
0000459D:
8BD8
mov
bx,ax
0000459F:
66B91E010000
mov
ecx,00000011E
000045A5:
0F32
rdmsr
000045A7:
662500008000
and
eax,000800000
000045AD:
0F859801
jne
000004749
000045B1:
80FB80
cmp
bl, 080 ;"А"
000045B4:
7203
jb
0000045B9
000045B6:
E99001
jmp
000004749
000045B9:
81FB3006
cmp
bx,00630 ;"♠0
Хотя, честно говоря, этот пункт,
ИМХО, не принципиален и вряд ли влияет на работу L2
новых процессоров.
Итого. Как видно, процесс добавления
поддержки туалатинов для человека, имеющего опыт работы
с hiew/asm - достаточно простой. Для неопытного
– покажется полным кошмаром. Поэтому если вы относитесь
ко второму случаю – лучше подождите, пока прошивка для
вашей платы появится на bios.rom.by.
Севко Роман aka
apple_rom, 16.7.02.
www.ROM.by
Перепечатка допускается только с
указанием источника информации.
|