arch/x86,cpu/x86,lib/thread: Remove usage of cpu_info from lib/thread
We only ever start and execute threads on the BSP. By explicitly checking to see if the CPU is the BSP we can remove the dependency on cpu_info. With this change we can in theory enable threads in all stages. BUG=b:194391185, b:179699789 TEST=Boot guybrush to OS and verify coop multithreading still works Suggested-by: Julius Werner <jwerner@chromium.org> Signed-off-by: Raul E Rangel <rrangel@chromium.org> Change-Id: Iea4622d52c36d529e100b7ea55f32c334acfdf3e Reviewed-on: https://review.coreboot.org/c/coreboot/+/58199 Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
committed by
Felix Held
parent
12ae850dfc
commit
c2c38f5fde
@@ -2,9 +2,6 @@
|
||||
|
||||
/* Push struct cpu_info */
|
||||
.macro push_cpu_info index=$0
|
||||
#if CONFIG(COOP_MULTITASKING)
|
||||
push $0 /* *thread */
|
||||
#endif
|
||||
push \index /* index */
|
||||
push $0 /* *cpu */
|
||||
.endm
|
||||
|
@@ -253,7 +253,6 @@ static int start_cpu(struct device *cpu)
|
||||
info->index = index;
|
||||
info->cpu = cpu;
|
||||
cpu_add_map_entry(info->index);
|
||||
thread_init_cpu_info_non_bsp(info);
|
||||
|
||||
/* Advertise the new stack and index to start_cpu */
|
||||
secondary_stack = stack_top;
|
||||
|
@@ -193,7 +193,6 @@ static void asmlinkage ap_init(unsigned int cpu)
|
||||
info->cpu = cpus_dev[cpu];
|
||||
|
||||
cpu_add_map_entry(info->index);
|
||||
thread_init_cpu_info_non_bsp(info);
|
||||
|
||||
/* Fix up APIC id with reality. */
|
||||
info->cpu->path.apic.apic_id = lapicid();
|
||||
|
Reference in New Issue
Block a user