I'll second what Paul D says.
If the problem is under load, ie heavy acceleration, it's likely the wastegate is sticking due to carbon build up, so the PCM detects an overboost and trips it into limp.
(the wastegate opens more as rpm rise to control boost)
It'll most likely clear with an ignition reset and trip again when it's under load, which makes pulling a DTC from the PCM difficult, you'll need to try and pull a code when the light is on, so you know there's one present or hope it's tripped enough times to store a code as a "pending" one.
I would expect a boost control/overboost related code.
Most have managed to get a bar/screwdriver on the actuator arm and work it back and forth, this frees it up, for a while.
Another fix would be to remove the turbo and clean it with Innotec Turbo cleaner.
The only other thing I can think of that trips limp when under load is a rail pressure drop off, either a leak on or after the HP pump (Pump covers have been know to leak, easy fix with a new seal) or one or more duff injectors are returning too much fuel.
Either of these can result it there not being enough fuel available in the rail to meet the higher demand for fuel the injectors will want under a heavy load. I would expect to find a rail pressure fault code.