Interrups | Categories | Contents |
AX = D042h BL = 01h ES:DI -> microcode update block (see #00533) CX,DX,SI = segments of three 64K scratchpad areas for BIOS use
Return:
CF clear if successful CF set on error AH = status (see #00532) AL = OEM error (if AH is not 00h or 86h, otherwise undefined) 00h successful
Notes: A microcode update may also be initiated by a WRMSR instruction with ECX=0079h, EDX=00000000h, and EAX=linear address of update block (see #00533). At least 32K stack space must be available when this function is called
See Also: AX=D042h/BL=00h - AX=D042h/BL=02h - AX=D042h/BL=03h - MSR 00000079h
(Table 00532) Values for Pentium Pro BIOS update status: 00h successful 86h not implemented 90h unable to erase NVRAM device 91h unable to write to NVRAM device 92h unable to read storage 93h NVRAM is full 94h specified processor stepping is not present in system 95h invalid header or loader version 96h wrong checksum in header 97h processor rejected the update 98h the same or a more recent update is already stored 99h update block number was out of range
Format of Pentium Pro microcode update block: Offset Size Description (Table 00533) 00h DWORD update header version number (currently 00000001h) FFFFFFFFh = unused block 04h DWORD revision number of this microcode update 08h DWORD update creation date, as BCD mmddyyyy (month,day,year) 0Ch DWORD family/model/stepping of processor to which update applied (same value as returned by CPUID instruction) 10h DWORD checksum (used to force sum of all 512 DWORDs of the update block to 00000000h) 14h DWORD revision number of loader needed to install update (currently 00000001h) 18h 24 BYTEs reserved for future expansion 30h 2000 BYTEs encrypted microcode data
See Also: MSR 00000079h - OPCODE "CPUID"
Category: Uncatagorized - Int 15h - I
Interrups | Categories | Contents |