Commit Graph

9 Commits

Author SHA1 Message Date
Jan Sommer
a1f9265c03 bsps/pc386: Fix IPI for non-consecutive APICIDs
- properly use the cpu <-> apic maps for IPIs

Closes #4028.
2020-07-16 08:08:09 -05:00
Jan Sommer
96d9823ddd 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
2020-06-11 13:29:41 +10:00
Jan Sommer
208cd6b794 bsps/pc386: Separate smp API functions. Makes smpfatal08 link 2020-06-11 13:29:27 +10:00
Jan Sommer
85d6a760f5 bsp/pc386: Update GDT to work for SMP
Create a GS segment in the GDT for each processor for storing TLS.
This makes the GDT in startAP.S obsolete as all processors now share the
same GDT, which is passed to each AP at startup.

The correct segment for each processor is calculated in cpu_asm.S.

Update #3335
2020-06-11 13:28:55 +10:00
Jan Sommer
f99b1f02b0 bsp/pc386: Turn start16.S into a startAP.S
start16.S is now only used for SMP configurations to start the
application processors.

This commit removes all unnecessary parts for this job,
i.e. video conssole initalisation, A20 gate activation
and all non-AP related code.

Update #3335
2020-06-11 13:28:46 +10:00
Sebastian Huber
1a971d836c score: Remove SMP_MESSAGE_CLOCK_TICK
Use _SMP_Multicast_action() instead.
2019-05-20 08:49:39 +02:00
Sebastian Huber
406dd62c99 _SMP_Start_multitasking_on_secondary_processor()
Pass current processor control as first parameter to make dependency
more explicit.
2018-07-25 10:07:42 +02:00
Sebastian Huber
0d362ff397 score: _SMP_Inter_processor_interrupt_handler()
Pass current processor control via parameter since it may be already
available at the caller side.
2018-07-25 10:07:42 +02:00
Sebastian Huber
7a8e71bd70 bsps/i386: Move shared files to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-24 10:24:25 +02:00