vPortEndScheduler() and the Cortex-M3

How does one get  vPortEndScheduler() to operate in a Cortex-M3 port? The rational for requiring this stems from the desire to have a system self power itself off once a processing session has concluded. The elegant point at which to do this surely must be when all the tasks have closed off their activity and vTaskDelete()ed their selves. That is all the tasks except the task that issues the shutdown signal. It must wait for all the others to quit and then call vPortEndScheduler().

vPortEndScheduler() and the Cortex-M3

To answer my own question – use setjump() and longjump() as exampled in the PC’s port.c.