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
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,7 @@ __txm_module_preamble:
@ dereference goes through a register the stack build had zeroed. On silicon
@ that read faulted at 0x1C, which is offset 0x1C from a null r3.
@
@ Every other GNU module port writes these the same way; cortex_m33's
@ preamble, which this port was seeded from, spells it "symbol - . - 0".
@ Every other GNU module port writes these the same way.

.word _txm_module_thread_shell_entry - .
.word demo_module_start - .
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,7 @@ __txm_module_preamble:
@ dereference goes through a register the stack build had zeroed. On silicon
@ that read faulted at 0x1C, which is offset 0x1C from a null r3.
@
@ Every other GNU module port writes these the same way; cortex_m33's
@ preamble, which this port was seeded from, spells it "symbol - . - 0".
@ Every other GNU module port writes these the same way.

.word _txm_module_thread_shell_entry - .
.word demo_module_start - .
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,7 @@
@/* dead thread's stack pointer. It looks like it works, because the */
@/* thread is never resumed -- but nothing gives the Abort stack back, */
@/* so each module fault costs it about 56 bytes for the life of the */
@/* run. The Cortex-M ports do not need step 1: there */
@/* _tx_thread_system_return only pends PendSV and returns. */
@/* run. */
@/* */
@/**************************************************************************/

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,13 @@
architecture _tx_thread_system_return switches context immediately and never
comes back, so the callback would be unreachable.

The body below is therefore left exactly as the cortex_m33, cortex_a7 and
cortex_m7 ports have it, and the requirement is met where it belongs -- in
The body below is therefore left exactly as the other module ports have it,
and the requirement is met where it belongs -- in
txm_module_manager_fault_capture.S, which increments _tx_thread_system_state
around this call, clears _tx_thread_current_ptr afterwards and returns into
the scheduler. The Cortex-M ports need no such bracket because their
_tx_thread_system_return only pends PendSV and returns. Anyone tempted to
reorder the two statements below to "fix" a notify callback that does not fire
should look at the abort vector first: the ordering here is upstream's and it
is not the defect. */
the scheduler. Anyone tempted to reorder the two statements below to "fix" a
notify callback that does not fire should look at the abort vector first: the
ordering here is upstream's and it is not the defect. */

/* Define the user's fault notification callback function pointer. This is
setup via the txm_module_manager_memory_fault_notify API. */
Expand Down
Loading