Specifications
©
2008 Advanced Micro Devices Inc.
Sample Programs
AMD SB600 BIOS Developer’s Guide (Public Version) Proprietary
Page 70
; Get ACPI CLKVALUE register address from PM IO index 26h and 27h
mov dx,0CD6h ; Set the PM IO register index
mov al, 27h ; Index = High byte, ACPI clock address
out dx,al
mov dx,0CD7h ; Get PM IO register data
in al,dx ; High byte of ACPI clock address
mov ah,al ; Save High byte of address
mov dx,0CD6h ; Set the PM IO register index
mov al, 26h ; Index = Low byte, ACPI clock address
out dx,al
mov dx,0CD7h ; Get PM IO register data
in al,dx ; Low byte of ACPI clock address
mov dx,ax ; dx = CLKVALUE address
; Enable throttling (set bit 4=1) and set duty cycle to 50%,(Set bits [3:1]=100b
in al,dx ; Read current CLKVALue
and al,0E1h ; Keep the unused bits
or al,18h ; Set bit 4 to enable and bits [3:1]=100b for 50%
out dx,al ; Write new throttling value
pop dx ; Restore registers used by this routine
pop ax
ret
ClockThrottleExample endp










