IBM NetVista 8305, ее биос и процессор Mobile P4 3.06

Пробовал ли кто-нибудь запускать мобильный Northwood на 845 чипсете?
Читал оверклокеров, про GHI# и как им манипулировать, но не сильно понял как это реализовать на практике.

Заодно интересно, какой биос зашит в эту мать. На флешке написано крупно "SPARTAN", в самом биосе IBM BIOS и все, ни копирайта ни чего. Патчер ругается:

Found 4Mbit Award BIOS!
Can`t find "*BBSS*"!
error - cant find start.modul!error!

Редактор феникса тоже не открывает.

Файл начинается не с нулей, а с "NAPI/ BBSI/ ESCD═ D ELOG VRNL ECMS 0123456789LFD1C"
Прилепил его для сведения.

ВложениеРазмер
BIOS.rar416.52 КБ

И какой же напильник для этого можно использовать?

Может быть проще слить биос с какого-нибудь лаптопа s478?

Можно использовать фирменный напильник от Intel, модель IA-32 Intel® Architecture Software Developer’s Manual Volume 3: System Programming Guide, например:):

Цитата:
Microcode updates are composed of a multi-byte header, followed by encrypted data and then by an optional extended signature table. The header is 48 bytes. The first 4 bytes of the header contain the header version. The update header and its reserved fields are interpreted by software based upon the header version. An encoding scheme guards against tampering and provides a means for determining the authenticity of any given update. For microcode updates with a data size field equal to 00000000H, the size of the microcode update is 2048 bytes. The first 48 bytes contain the microcode update header. The remaining 2000 bytes contain encrypted data. For microcode updates with a data size not equal to 00000000H, the total size field specifies the size of the microcode update. The first 48 bytes contain the microcode update header. The second part of the microcode update is the encrypted data. The data size field of the microcode update header specifies the encrypted data size, its value must be a multiple of the size of DWORD. The optional extended signature table if implemented follows the encrypted data, and its size is calculated by (Total Size – (Data Size + 48)).

Microcode Update Field Definitions

Field Name-----Offset (bytes)-----Length (bytes)-----Description

Header Version-----0-----4-----Version number of the update header.

Update Revision-----4-----4-----Unique version number for the update, the basis for the update signature provided by the processor to indicate the current update functioning within the processor. Used by the BIOS to authenticate the update and verify that the processor loads successfully. The value in this field cannot be used for processor stepping identification alone. This is a signed 32-bit number.

Date-----8-----4-----Date of the update creation in binary format: mmddyyyy (e.g. 07/18/98 is 07181998H).

Processor Signature-----12-----4-----Extended family, extended model, type, family, model, and stepping of processor that requires this particular update revision (e.g., 00000650H). Each microcode update is designed specifically for a given extended family, extended model, type, family, model, and stepping of the processor. The BIOS uses the processor signature field in conjunction with the CPUID instruction to determine whether or not an update is appropriate to load on a processor. The information encoded within this field exactly corresponds to the bit representations returned by the CPUID instruction.


Checksum-----16-----4-----Checksum of Update Data and Header. Used to verify the integrity of the update header and data. Checksum is correct when the summation of all the DWORDs (including the extended Processor Signature Table) that comprise the microcode update result in 00000000H.

Loader Revision-----20-----4-----Version number of the loader program needed to correctly load this update. The initial version is 00000001H. Processor Flags 24 4 Platform type information is encoded in the lower 8 bits of this 4-byte field. Each bit represents a particular platform type for a given CPUID. The BIOS uses the processor flags field in conjunction with the platform Id bits in MSR (17H) to determine whether or not an update is appropriate to load on a processor. Multiple bits may be set representing support for multiple platform IDs.

Data Size-----28-----4-----Specifies the size of the encrypted data in bytes, and must be a multiple of DWORDs. If this value is 00000000H, then the microcode update encrypted data is 2000 bytes (or 500 DWORDs).

Total Size-----32-----4-----Specifies the total size of the microcode update in bytes. It is the summation of the header size, the encrypted data size and the size of the optional extended signature table.

Reserved-----36-----12-----Reserved fields for future expansion.

Update Data-----48-----Data Size or 2000-----Update data.

Extended Signature Count-----Data Size+48-----4-----Specifies the number of extended signature structures (Processor Signature[n], processor flags[n] and checksum[n]) that exist in this microcode update.

Extended Checksum-----Data Size+52-----4-----Checksum of update extended processor signature table. Used to verify the integrity of the extended processor signature table. Checksum is correct when the summation of the DWORDs that comprise the extended processor signature table results in 00000000H.

Reserved-----Data Size+56-----12-----Reserved fields.

Processor Signature[n]-----Data Size+68+(n * 12)-----4-----Extended family, extended model, type, family, model, and stepping of processor that requires this particular update revision (e.g., 00000650H). Each microcode update is designed specifically for a given extended family, extended model, type, family, model, and stepping of the processor. The BIOS uses the processor signature field in conjunction with the CPUID instruction to determine whether or not an update is appropriate to load on a processor. The information encoded within this field exactly corresponds to the bit representations returned by the CPUID instruction.

Processor Flags[n]-----Data Size+72+(n * 12)-----4-----Platform type information is encoded in the lower 8 bits of this 4-byte field. Each bit represents a particular platform type for a given CPUID. The BIOS uses the processor flags field in conjunction with the platform Id bits in MSR (17H) to determine whether or not an update is appropriate to load on a processor. Multiple bits may be set representing support for multiple platform IDs.

Checksum[n]-----Data Size+76+(n * 12)-----4-----Used by utility software to decompose a microcode update into multiple microcode updates where each of the new updates is constructed without the optional Extended Processor Signature Table. To calculate the Checksum, substitute the Primary Processor Signature entry and the Processor Flags entry with the corresponding Extended Patch entry. Delete the Extended Processor Signature Table entries. The Checksum is correct when the summation of all DWORDs that comprise the created Extended Processor Patch results in 00000000H.


Zenith писал(-а):
Может быть проще слить биос с какого-нибудь лаптопа s478?
Можно и так попробовать, тогда желательно проверить по документации или на сайте производителя поддержку интересующего процессора.

А софта нет который мог бы сконвертировать ОС микрокод в БИОС микрокод?
Наш админ-то это как-то делал?

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

А может лучше этот "стоп" убрать?

-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам

Пример на Пасквиле (для любителей напильников:)):


label
  no_str, no_file;
var
  fi:text;
  fo:file;
  i,j,k:integer;
  dat:array [0..3] of byte;
  s,sn:string;
  ch:char;
begin
  assign(fi,'micro');
  reset(fi);
  if IOresult<>0 then goto no_file;
  i:=0;
  while (not EoF(fi)) do
    begin
      s:='';
      repeat
        read(fi,ch);
        s:=s+ch;
      until ((ord(ch)=$0A) or EoF(fi));
      if s='' then goto no_str;
      if ((s[1]='/') and (s[2]='*')) then
        begin
          if i<>0 then close(fo);
          str(i,sn);
          assign(fo,sn);
          rewrite(fo,1);
          i:=i+1;
        end;
      if ((s[1]='0') and (s[2]='x')) then
        begin
          for j:=0 to 3 do
            begin
              for k:=0 to 3 do
                begin
                  dat[k]:=0;
                  ch:=s[2*k+j*12+3];
                  case ch of
                    '0'..'9': dat[k]:=ord(ch)-$30;
                    'a'..'f': dat[k]:=ord(ch)-$57;
                  end;
                  dat[k]:=dat[k] shl 4;
                  ch:=s[2*k+j*12+4];
                  case ch of
                    '0'..'9': dat[k]:=dat[k] or (ord(ch)-$30);
                    'a'..'f': dat[k]:=dat[k] or (ord(ch)-$57);
                  end;
                end;
              for k:=3 downto 0 do
                blockwrite(fo,dat[k],1);
            end;
        end;
no_str:
    end;
  close(fo);
  close(fi);
no_file:
end.

Спасибо, уже что-то.
Заодно было бы интересно научить этот биос грузиться с SATA ДВД, подключенного к контроллеру в PCI слоте. Вместо этого оно почему-то виснет.

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

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые 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.

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

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