diff options
author | Hamish Guthrie <hamish@prodigi.ch> | 2005-08-17 04:48:17 +0000 |
---|---|---|
committer | Hamish Guthrie <hamish@prodigi.ch> | 2005-08-17 04:48:17 +0000 |
commit | e251c42197225d3783699343e0805c425aeae8e9 (patch) | |
tree | 3544e36115026aae4dfa74cd569497c5e322cd46 | |
parent | 3d291aa6a2e5ae309a805c602a3768b6d86d8a2d (diff) |
Changed udelay in delay_tsc to be more be more considerate of single
processor environments.
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2009 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r-- | src/cpu/x86/tsc/delay_tsc.c | 4 | ||||
-rw-r--r-- | src/mainboard/eaglelion/5bcm/Options.lb | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/cpu/x86/tsc/delay_tsc.c b/src/cpu/x86/tsc/delay_tsc.c index c7c431baac..31c5bf80eb 100644 --- a/src/cpu/x86/tsc/delay_tsc.c +++ b/src/cpu/x86/tsc/delay_tsc.c @@ -159,7 +159,11 @@ void udelay(unsigned us) count = rdtscll(); stop = clocks + count; while(stop > count) { +#ifdef CONFIG_SMP +#if CONFIG_SMP == 1 cpu_relax(); +#endif +#endif count = rdtscll(); } } diff --git a/src/mainboard/eaglelion/5bcm/Options.lb b/src/mainboard/eaglelion/5bcm/Options.lb index 1c87e9f244..df3d1bdfb6 100644 --- a/src/mainboard/eaglelion/5bcm/Options.lb +++ b/src/mainboard/eaglelion/5bcm/Options.lb @@ -37,6 +37,8 @@ uses CONFIG_CONSOLE_SERIAL8250 uses TTYS0_BAUD uses TTYS0_BASE uses TTYS0_LCS +uses CONFIG_UDELAY_TSC +uses CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 ## ROM_SIZE is the size of boot ROM that this board will use. default ROM_SIZE = 256*1024 @@ -60,6 +62,11 @@ default HAVE_MP_TABLE=0 ## default HAVE_HARD_RESET=0 +## Delay timer options +## +default CONFIG_UDELAY_TSC=1 +default CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2=1 + ## ## Build code to export a programmable irq routing table ## |