i386: Restore SMP functionality

When the switch to waf occurred, the SMP support in i386 was left out
causing it to accumulate a minor amount of cruft. This enables SMP for
the i386 BSPs that support it and updates them for the API drift that
has occurred since the change.
This commit is contained in:
Kinsey Moore
2024-02-12 08:30:58 -06:00
committed by Joel Sherrill
parent b1fdf75338
commit 8d22b57969
3 changed files with 11 additions and 0 deletions

View File

@@ -67,11 +67,13 @@
.p2align 1
PUBLIC (_CPU_Context_switch)
PUBLIC (_CPU_Context_switch_no_return)
.set RUNCONTEXT_ARG, 4 /* save context argument */
.set HEIRCONTEXT_ARG, 8 /* restore context argument */
SYM (_CPU_Context_switch):
SYM (_CPU_Context_switch_no_return):
movl RUNCONTEXT_ARG(esp),eax /* eax = running threads context */
GET_SELF_CPU_CONTROL edx /* edx has address for per_CPU information */
movl PER_CPU_ISR_DISPATCH_DISABLE(edx),ecx

View File

@@ -572,6 +572,11 @@ void _CPU_Context_switch(
Context_Control *heir
);
RTEMS_NO_RETURN void _CPU_Context_switch_no_return(
Context_Control *executing,
Context_Control *heir
);
/*
* _CPU_Context_restore
*

View File

@@ -33,6 +33,10 @@ enabled-by:
- arm/xilinx_zynq_picozed
- arm/xilinx_zynq_pynq
- arm/xilinx_zynq_microzed
- i386/pc386
- i386/pc486
- i386/pc586
- i386/pc686
- powerpc/qoriq_e500
- powerpc/qoriq_e6500_32
- powerpc/qoriq_e6500_64