diff --git a/src/cpu/amd/model_gx2/syspreinit.c b/src/cpu/amd/model_gx2/syspreinit.c new file mode 100644 index 0000000000..e3ad95235d --- /dev/null +++ b/src/cpu/amd/model_gx2/syspreinit.c @@ -0,0 +1,22 @@ +/* ***************************************************************************/ +/* **/ +/* * StartTimer1*/ +/* **/ +/* * Entry: none*/ +/* * Exit: Starts Timer 1 for port 61 use*/ +/* * Destroys: Al,*/ +/* **/ +/* ***************************************************************************/ +void +StartTimer1(void){ + outb(0x56, 0x43); + outb(0x12, 0x41); +} + +void +SystemPreInit(void){ + + /* they want a jump ... */ + __asm__("jmp .+2\ninvd\njmp.+2\n"); + StartTimer1(); +} diff --git a/src/mainboard/amd/rumba/auto.c b/src/mainboard/amd/rumba/auto.c index dae503b696..ac9c2e5222 100644 --- a/src/mainboard/amd/rumba/auto.c +++ b/src/mainboard/amd/rumba/auto.c @@ -101,7 +101,7 @@ static void sdram_set_spd_registers(const struct mem_controller *ctrl) #define PLLMSRlo2 ((1<<14) |(1<<13) | (1<<0)) #include "northbridge/amd/gx2/pll_reset.c" #include "cpu/amd/model_gx2/cpureginit.c" - +#include "cpu/amd/model_gx2/syspreinit.c" static void msr_init(void) { __builtin_wrmsr(0x1808, 0x10f3bf00, 0x22fffc02); @@ -144,6 +144,7 @@ static void main(unsigned long bist) {.channel0 = {(0xa<<3)|0, (0xa<<3)|1}} }; + SystemPreInit(); msr_init(); w83627hf_enable_serial(SERIAL_DEV, TTYS0_BASE); diff --git a/src/mainboard/lippert/frontrunner/auto.c b/src/mainboard/lippert/frontrunner/auto.c index 47c0565bdd..781fe1d0d2 100644 --- a/src/mainboard/lippert/frontrunner/auto.c +++ b/src/mainboard/lippert/frontrunner/auto.c @@ -48,7 +48,7 @@ static void sdram_set_spd_registers(const struct mem_controller *ctrl) #define PLLMSRlo2 ((1<<14) |(1<<13) | (1<<0)) #include "northbridge/amd/gx2/pll_reset.c" #include "cpu/amd/model_gx2/cpureginit.c" - +#include "cpu/amd/model_gx2/syspreinit.c" static void msr_init(void) { __builtin_wrmsr(0x1808, 0x10f3bf00, 0x22fffc02); @@ -81,7 +81,7 @@ static void main(unsigned long bist) {.channel0 = {(0xa<<3)|0, (0xa<<3)|1}} }; unsigned char temp; - + SystemPreInit(); msr_init(); w83627hf_enable_serial(SERIAL_DEV, TTYS0_BASE);