mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
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>
This commit is contained in:
parent
437c2b7cd0
commit
a49e3c7f09
2 changed files with 24 additions and 24 deletions
|
@ -15,7 +15,6 @@
|
||||||
#include <asm/cache.h>
|
#include <asm/cache.h>
|
||||||
#include <asm/cpu.h>
|
#include <asm/cpu.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/post.h>
|
|
||||||
#include <asm/arch/tables.h>
|
#include <asm/arch/tables.h>
|
||||||
#include <asm/arch/sysinfo.h>
|
#include <asm/arch/sysinfo.h>
|
||||||
#include <asm/arch/timestamp.h>
|
#include <asm/arch/timestamp.h>
|
||||||
|
@ -51,29 +50,6 @@ int board_early_init_r(void)
|
||||||
return 0;
|
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)
|
int print_cpuinfo(void)
|
||||||
{
|
{
|
||||||
return default_print_cpuinfo();
|
return default_print_cpuinfo();
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <asm/control_regs.h>
|
#include <asm/control_regs.h>
|
||||||
#include <asm/cpu.h>
|
#include <asm/cpu.h>
|
||||||
|
#include <asm/post.h>
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
#include <asm/processor-flags.h>
|
#include <asm/processor-flags.h>
|
||||||
#include <asm/interrupt.h>
|
#include <asm/interrupt.h>
|
||||||
|
@ -567,3 +568,26 @@ int cpu_jump_to_64bit(ulong setup_base, ulong target)
|
||||||
|
|
||||||
return -EFAULT;
|
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);
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue