Specifications
©
2008 Advanced Micro Devices Inc.
Sample Programs
AMD SB600 BIOS Developer’s Guide (Public Version) Proprietary
Page 58
pop dx ; Restore registers
pop eax
ret
EnableSubtractiveDecoding endp
14.2.5 Enable/Disable On-Chip SATA
SATA may be disabled/enabled by Miscellaneous SATA register located at bus 0, device 14h,
function 0, register ADh. Bit 0 of this register, when set to 1, enables SATA.
Sample Program:
This sample program will enable SATA
EnableDisableSataSampleProgram proc near
push eax ; Save registers used by this routine
push dx
mov dx,0CF8h ; To access PCI configuration space
mov eax,8000A0ACh ; Register ACh to AFh of device 14h, function 0
out dx,eax
mov dx,0CFDh ; To access register 0ADh
in al,dx ; Read current value
or al,01h ; Set bit 0 to enable SATA
out dx,al ; Write the byte back
pop dx
pop eax
ret
EnableDisableSataSampleProgram endp
14.2.6 Change Class ID for SATA
The SATA device may have multiple PCI class codes. Some of the class codes are as follows::
Class Base Class Code
Register 0Bh
SubClass Code
Register 0Ah
Programming Interface
Register 09h
IDE Class 01h 01h 8Fh
AHCI Class 01h 06h 01h
Raid Class 01h 04h 00h
To change the class ID for the SATA*:
1. Enable header write: Set the SATA PCI Bus 0, Device 12h, Function 0 (for SATA), register
40h, bit 0 to 1.










