diff options
author | Simon Glass <sjg@chromium.org> | 2014-11-13 05:42:26 (GMT) |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2014-11-21 06:34:15 (GMT) |
commit | a49e3c7f09abf4961f2945275338c3a0c18b9b61 (patch) | |
tree | 9b8c4b4342ff23b1d3a90fd6752448568c139368 /arch | |
parent | 437c2b7cd04f017cf79dcde63e7d9035f8cd99e5 (diff) | |
download | u-boot-a49e3c7f09abf4961f2945275338c3a0c18b9b61.tar.xz |
x86: Make show_boot_progress() common
This function can probably be used on all x86 boards, so move it into the
common file.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/cpu/coreboot/coreboot.c | 24 | ||||
-rw-r--r-- | arch/x86/cpu/cpu.c | 24 |
2 files changed, 24 insertions, 24 deletions
diff --git a/arch/x86/cpu/coreboot/coreboot.c b/arch/x86/cpu/coreboot/coreboot.c index 3356121..2df7288 100644 --- a/arch/x86/cpu/coreboot/coreboot.c +++ b/arch/x86/cpu/coreboot/coreboot.c @@ -15,7 +15,6 @@ #include <asm/cache.h> #include <asm/cpu.h> #include <asm/io.h> -#include <asm/post.h> #include <asm/arch/tables.h> #include <asm/arch/sysinfo.h> #include <asm/arch/timestamp.h> @@ -51,29 +50,6 @@ int board_early_init_r(void) return 0; } -void show_boot_progress(int val) -{ -#if MIN_PORT80_KCLOCKS_DELAY - /* - * Scale the time counter reading to avoid using 64 bit arithmetics. - * Can't use get_timer() here becuase it could be not yet - * initialized or even implemented. - */ - if (!gd->arch.tsc_prev) { - gd->arch.tsc_base_kclocks = rdtsc() / 1000; - gd->arch.tsc_prev = 0; - } else { - uint32_t now; - - do { - now = rdtsc() / 1000 - gd->arch.tsc_base_kclocks; - } while (now < (gd->arch.tsc_prev + MIN_PORT80_KCLOCKS_DELAY)); - gd->arch.tsc_prev = now; - } -#endif - outb(val, POST_PORT); -} - int print_cpuinfo(void) { return default_print_cpuinfo(); diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c index 97c77ba..b391b7a 100644 --- a/arch/x86/cpu/cpu.c +++ b/arch/x86/cpu/cpu.c @@ -25,6 +25,7 @@ #include <malloc.h> #include <asm/control_regs.h> #include <asm/cpu.h> +#include <asm/post.h> #include <asm/processor.h> #include <asm/processor-flags.h> #include <asm/interrupt.h> @@ -567,3 +568,26 @@ int cpu_jump_to_64bit(ulong setup_base, ulong target) return -EFAULT; } + +void show_boot_progress(int val) +{ +#if MIN_PORT80_KCLOCKS_DELAY + /* + * Scale the time counter reading to avoid using 64 bit arithmetics. + * Can't use get_timer() here becuase it could be not yet + * initialized or even implemented. + */ + if (!gd->arch.tsc_prev) { + gd->arch.tsc_base_kclocks = rdtsc() / 1000; + gd->arch.tsc_prev = 0; + } else { + uint32_t now; + + do { + now = rdtsc() / 1000 - gd->arch.tsc_base_kclocks; + } while (now < (gd->arch.tsc_prev + MIN_PORT80_KCLOCKS_DELAY)); + gd->arch.tsc_prev = now; + } +#endif + outb(val, POST_PORT); +} |