cpu/x86/mp: remove unused functions and limit API exposure
barrier_wait_timeout() was not used anywhere in the code. The remaining two functions, barrier_wait() and release_barrier(), are not used anywhere but the mp code. Change-Id: If09991f95306becc68b6008ae6448695fb4a2dca Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/26021 Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
@ -143,37 +143,14 @@ static inline void add_cpu_map_entry(const struct cpu_info *info)
|
|||||||
cpus[info->index].default_apic_id = cpuid_ebx(1) >> 24;
|
cpus[info->index].default_apic_id = cpuid_ebx(1) >> 24;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void barrier_wait(atomic_t *b)
|
static inline void barrier_wait(atomic_t *b)
|
||||||
{
|
{
|
||||||
while (atomic_read(b) == 0)
|
while (atomic_read(b) == 0)
|
||||||
asm ("pause");
|
asm ("pause");
|
||||||
mfence();
|
mfence();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns 1 if timeout occurs before barier is released.
|
static inline void release_barrier(atomic_t *b)
|
||||||
* returns 0 if barrier is released before timeout. */
|
|
||||||
int barrier_wait_timeout(atomic_t *b, uint32_t timeout_ms)
|
|
||||||
{
|
|
||||||
int timeout = 0;
|
|
||||||
struct mono_time current, end;
|
|
||||||
|
|
||||||
timer_monotonic_get(¤t);
|
|
||||||
end = current;
|
|
||||||
mono_time_add_msecs(&end, timeout_ms);
|
|
||||||
|
|
||||||
while ((atomic_read(b) == 0) && (!mono_time_after(¤t, &end))) {
|
|
||||||
timer_monotonic_get(¤t);
|
|
||||||
asm ("pause");
|
|
||||||
}
|
|
||||||
mfence();
|
|
||||||
|
|
||||||
if (mono_time_after(¤t, &end))
|
|
||||||
timeout = 1;
|
|
||||||
|
|
||||||
return timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void release_barrier(atomic_t *b)
|
|
||||||
{
|
{
|
||||||
mfence();
|
mfence();
|
||||||
atomic_set(b, 1);
|
atomic_set(b, 1);
|
||||||
|
@ -145,15 +145,5 @@ int mp_park_aps(void);
|
|||||||
void smm_initiate_relocation_parallel(void);
|
void smm_initiate_relocation_parallel(void);
|
||||||
/* Send SMI to self with single execution. */
|
/* Send SMI to self with single execution. */
|
||||||
void smm_initiate_relocation(void);
|
void smm_initiate_relocation(void);
|
||||||
/* Make a CPU wait until the barrier is released */
|
|
||||||
void barrier_wait(atomic_t *b);
|
|
||||||
/*
|
|
||||||
* Make a CPU wait until the barrier is released, or timeout occurs
|
|
||||||
* returns 1 if timeout occurs before barier is released.
|
|
||||||
* returns 0 if barrier is released before timeout.
|
|
||||||
*/
|
|
||||||
int barrier_wait_timeout(atomic_t *b, uint32_t timeout_ms);
|
|
||||||
/* Release a barrier so that other CPUs waiting for that barrier can continue */
|
|
||||||
void release_barrier(atomic_t *b);
|
|
||||||
|
|
||||||
#endif /* _X86_MP_H_ */
|
#endif /* _X86_MP_H_ */
|
||||||
|
Reference in New Issue
Block a user