Okay, this might be very simple if you dont't care about the state of the HW registers (incl. peripherals) prior to performing this type of ''warm boot'', as suggested. Many times one cares about the initial conditions being at a known state - which only a real reset (ext. or powercycle) will provide.
I've been looking for the answer for this for a while, and it seems the best answer is to enable the Watchdog (WDG) and do a while(1); to force it to reset.