Noel got the list right, but he forgot one -- Corbin, KY. Huntington is the only shop on the system that does heavy repair work and by heavy I mean prime mover change outs, alternator change outs, heavy wreck repair and locomotive overhaul. Anything less than that the other four major shops can handle; they focus on running repairs and "Q" maintenance. All shops can service both GE and EMD locomotives, however some specific fleets of locomotives tend to be maintained in only one specific shop. For example, most of the AC6000's are serviced in Selkirk, and a large portion of the AC4400 fleet are maintained in Corbin. Since 2000, CSX has had in place a full service contract agreement with GE whereas GE is responsible for the maintenance and repair of all CSX's GE locomotives. Basically this means that the shops are spilt in half with GE taking care of the GE's and CSX taking care of the EMD's. Cumberland, which had been an EMD shop since the end of steam, just recently started maintaining GE's. It was the last shop to come under the GE full service contract agreement.
There are some other minor shops, Nashville, Buffalo, Avon IN come to mind, but these shops only do 92 day maintenance or very light repairs.