forked from Imagelibrary/rtems
bsp/pc386: Disable interrupt nesting for job handler
- Fixes timeout for smpipi01 where:
+ Main thread sends perform jobs to worker cpu while it is already
performing jobs
+ Interrupt on worker cpu performs jobs, but with empty job list
+ Worker cpu continues to execut previous job and adds new job list
to itself, which is never performed, since the interrupt has already
been handled
+ Main thread blocks forever on barrier D
This commit is contained in:
@@ -768,7 +768,17 @@ static void bsp_inter_processor_interrupt(void *arg)
|
||||
|
||||
smp_apic_ack();
|
||||
|
||||
/*
|
||||
* Disallow nesting.
|
||||
*/
|
||||
__asm__ __volatile__("cli");
|
||||
|
||||
_SMP_Inter_processor_interrupt_handler(_Per_CPU_Get());
|
||||
|
||||
/*
|
||||
* Allow nesting.
|
||||
*/
|
||||
__asm__ __volatile__("sti");
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user