I have a 2003 Chevrolet Silverado Duramax. Its the 6.6L turbo diesel engine. The check engine light just came on and the truck won't rev over 2000 rpms or go above 30 mph. I tried to reset it in case it went into limp mode, but that did not fix it. What could be the problem?