With Athlon XP's (and many others AMD CPUs, dont remember when they started,
but it is not so important now), BIOS automatically detects the CPU and sets
its namestring (both).
(yes, it is the namestring returned by CPUID instruction)
Windows (and many many other programs!) takes namestring set by BIOS and
displays it.
So if your system (Windows) says that you have "AMD Athlon 2800+" or
something this style, everything is OK.
(if it returns AuthenticAMD, something went wrong... try updating your BIOS)
BIOS just only doesn't display this string.
It can be up to 47+nul chars long (nul is used for termination)
Source:
AMD Processor Recognition Application Note, pages 97-100 ( 20734.pdf )
Have a nice day
Zdenek Sojka
Here is code to set namestring when booted from floppy and then
automatically continues boot from HDD:
(changes namestring to AMD Athlon XP 4200+
You need some software to compile this (NASM) and some to write to floppy
(rawrite)
org 7c00h
BOOT:
jmp near PRES
db 'SmatZ! '
dw 0x0200 ;bytes / sector
db 0x01 ;sects / cluster
dw 0x01 ;sektoru pred FAT (tento sektor)
db 0x02 ;pocet FAT
dw 0x00e0 ;polozek / root
dw 0x0b40 ;sects / partition
db 0xf0 ;deskriptor (typ) media
dw 0x0009 ;sect / FAT
dw 0x0012 ;sect / cyl
dw 0x0002 ;heads
dw 0x0000 ;skryte sektory
dw 0 ;special hidden sectors
dd 0 ;big total number of sectors
dw 0 ;fyzicke cislo disku
db 0x29 ;signatura rozsireneho boot-sektoru
dd -1 ;serial number
db 'NameString ' ;volume label
db 'FAT12 ' ;system souboru
PRES:
jmp 0:INIT
INIT:
pushad
push ds
push es
push fs
push word 0xb800
pop fs
mov dword [fs:0],0
mov dword [fs:4],0
xor ax,ax
mov ds,ax
mov es,ax
mov si,0x7c00
mov di,0x8000
mov cx,0x80
rep movsd
mov word [fs:0],0x0f30
jmp 0:MAIN+0x400
MAIN:
mov word [fs:2],0x0f31
mov ecx,0xc0010030
..l
mov eax,[ecx*8+NameString-0x10030*8+0x400]
mov edx,[ecx*8+NameString-0x10030*8+4+0x400]
wrmsr
inc ecx
cmp ecx,0xc0010036
jb .l
mov word [fs:4],0x0f32
mov dx,0x0080
mov cx,1
mov ax,0x0201
mov bx,0x7c00
int 0x13
mov word [fs:6],0x0f33
pop fs
pop es
pop ds
popad
jmp 0:0x7c00
NameString:
db 'AMD Athlon(tm) XP 4200+'
%if ($-NameString) > 47
%error "Prilis dlouhy retezec. Maximum je 47 znaku."
%endif
times 48-($-NameString) db 0
times 510-($-$$) db 0
dw 0xaa55