Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions ports/cortex_m0/ac6/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -322,13 +324,13 @@ unsigned int interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_ipsr_value() == 0)
{
interrupt_save = __get_primask_value();
__enable_interrupts();
__restore_interrupts(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m0/gnu/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
**************************************************************************/

// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -324,13 +325,13 @@ unsigned int interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_ipsr_value() == 0)
{
interrupt_save = __get_primask_value();
__enable_interrupts();
__restore_interrupts(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
6 changes: 4 additions & 2 deletions ports/cortex_m0/iar/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -313,13 +315,13 @@ __istate_t interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_IPSR() == 0)
{
interrupt_save = __get_interrupt_state();
__enable_interrupt();
__set_interrupt_state(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
3 changes: 2 additions & 1 deletion ports/cortex_m23/ac6/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
**************************************************************************/

// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -378,7 +379,7 @@ unsigned int was_masked;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (_get_ipsr() == 0)
{
was_masked = __disable_irq();
Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m23/gnu/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
**************************************************************************/

// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -391,13 +392,13 @@ unsigned int interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (_get_ipsr() == 0)
{
interrupt_save = __get_primask_value();
__enable_interrupts();
__restore_interrupts(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
4 changes: 3 additions & 1 deletion ports/cortex_m23/iar/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -399,7 +401,7 @@ __istate_t interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_IPSR() == 0)
{
interrupt_save = __get_interrupt_state();
Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m3/ac5/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Copilot (Claude Sonnet 4.6).
// Some portions generated by Claude Code (Opus 5).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -583,7 +584,7 @@ unsigned int interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_ipsr_value() == 0)
{
interrupt_save = __get_interrupt_posture();
Expand All @@ -593,7 +594,7 @@ unsigned int interrupt_save;
__enable_interrupts();
#endif
__restore_interrupt(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m3/ac6/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Copilot (Claude Sonnet 4.6).
// Some portions generated by Claude Code (Opus 5).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -583,7 +584,7 @@ unsigned int interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_ipsr_value() == 0)
{
interrupt_save = __get_interrupt_posture();
Expand All @@ -593,7 +594,7 @@ unsigned int interrupt_save;
__enable_interrupts();
#endif
__restore_interrupt(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m3/gnu/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Copilot (Claude Sonnet 4.6).
// Some portions generated by Claude Code (Opus 5).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -583,7 +584,7 @@ unsigned int interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_ipsr_value() == 0)
{
interrupt_save = __get_interrupt_posture();
Expand All @@ -593,7 +594,7 @@ unsigned int interrupt_save;
__enable_interrupts();
#endif
__restore_interrupt(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m3/iar/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Copilot (Claude Sonnet 4.6).
// Some portions generated by Claude Code (Opus 5).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -583,7 +584,7 @@ unsigned int interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_ipsr_value() == 0)
{
interrupt_save = __get_interrupt_posture();
Expand All @@ -593,7 +594,7 @@ unsigned int interrupt_save;
__enable_interrupts();
#endif
__restore_interrupt(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m3/keil/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Copilot (Claude Sonnet 4.6).
// Some portions generated by Claude Code (Opus 5).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -583,7 +584,7 @@ unsigned int interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_ipsr_value() == 0)
{
interrupt_save = __get_interrupt_posture();
Expand All @@ -593,7 +594,7 @@ unsigned int interrupt_save;
__enable_interrupts();
#endif
__restore_interrupt(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m33/ac6/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Claude Code (Opus 5).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -583,7 +584,7 @@ UINT interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (_tx_ipsr_get() == 0)
{
interrupt_save = __get_interrupt_posture();
Expand All @@ -593,7 +594,7 @@ UINT interrupt_save;
__enable_interrupts();
#endif
__restore_interrupt(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m33/gnu/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Claude Code (Opus 5).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -583,7 +584,7 @@ UINT interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (_tx_ipsr_get() == 0)
{
interrupt_save = __get_interrupt_posture();
Expand All @@ -593,7 +594,7 @@ UINT interrupt_save;
__enable_interrupts();
#endif
__restore_interrupt(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m33/iar/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Claude Code (Opus 5).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -583,7 +584,7 @@ UINT interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (_tx_ipsr_get() == 0)
{
interrupt_save = __get_interrupt_posture();
Expand All @@ -593,7 +594,7 @@ UINT interrupt_save;
__enable_interrupts();
#endif
__restore_interrupt(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m4/ac5/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Copilot (Claude Sonnet 4.6).
// Some portions generated by Claude Code (Opus 5).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -583,7 +584,7 @@ unsigned int interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_ipsr_value() == 0)
{
interrupt_save = __get_interrupt_posture();
Expand All @@ -593,7 +594,7 @@ unsigned int interrupt_save;
__enable_interrupts();
#endif
__restore_interrupt(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
5 changes: 3 additions & 2 deletions ports/cortex_m4/ac6/inc/tx_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// Some portions generated by Gemini (Gemini 2.0 Flash).
// Some portions generated by Copilot (Claude Sonnet 4.6).
// Some portions generated by Claude Code (Opus 5).
// Some portions generated by Copilot (Opus 5).


/**************************************************************************/
Expand Down Expand Up @@ -583,7 +584,7 @@ unsigned int interrupt_save;

/* Set PendSV to invoke ThreadX scheduler. */
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
__asm__ volatile ("dsb 0xF \n isb 0xF " : : : "memory");
__asm__ volatile ("dsb sy \n isb sy " : : : "memory");
if (__get_ipsr_value() == 0)
{
interrupt_save = __get_interrupt_posture();
Expand All @@ -593,7 +594,7 @@ unsigned int interrupt_save;
__enable_interrupts();
#endif
__restore_interrupt(interrupt_save);
__asm__ volatile ("isb 0xF " : : : "memory");
__asm__ volatile ("isb sy " : : : "memory");
}
}

Expand Down
Loading