diff options
author | Kinsey Moore <kinsey.moore@oarcorp.com> | 2024-02-12 08:30:58 -0600 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2024-02-14 08:22:48 -0600 |
commit | 8d22b57969b9ade59e31d59fb39ad06f95934e5d (patch) | |
tree | c36a8579bded6c6d540663b3fabee76166914310 | |
parent | bsp/tms570: Fix console receive interrupts (diff) | |
download | rtems-8d22b57969b9ade59e31d59fb39ad06f95934e5d.tar.bz2 |
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.
-rw-r--r-- | cpukit/score/cpu/i386/cpu_asm.S | 2 | ||||
-rw-r--r-- | cpukit/score/cpu/i386/include/rtems/score/cpu.h | 5 | ||||
-rw-r--r-- | spec/build/cpukit/optsmp.yml | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/cpukit/score/cpu/i386/cpu_asm.S b/cpukit/score/cpu/i386/cpu_asm.S index 6b114e94e1..bb5c096e72 100644 --- a/cpukit/score/cpu/i386/cpu_asm.S +++ b/cpukit/score/cpu/i386/cpu_asm.S @@ -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 diff --git a/cpukit/score/cpu/i386/include/rtems/score/cpu.h b/cpukit/score/cpu/i386/include/rtems/score/cpu.h index 76ee238b6e..a12b0f2b92 100644 --- a/cpukit/score/cpu/i386/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/i386/include/rtems/score/cpu.h @@ -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 * diff --git a/spec/build/cpukit/optsmp.yml b/spec/build/cpukit/optsmp.yml index 6e4ec30802..45d41299da 100644 --- a/spec/build/cpukit/optsmp.yml +++ b/spec/build/cpukit/optsmp.yml @@ -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 |