q=8;
w1[c_,a_]:=u/.NSolve[ -c/a u^3 + c u^2 + (-c/a-1) u + c==0,u][[1]];
w3[c_,a_]:=u/.NSolve[ -c/a u^3 + c u^2 + (-c/a-1) u + c==0,u][[3]];
w2[c_,a_]:=u/.NSolve[ -c/a u^3 + c u^2 + (-c/a-1) u + c==0,u][[2]];
f1[c_,a_]:=If[Abs[Im[w1[c,a]]]<0.0001,Re[w1[c,a]],Re[w3[c,a]]];
f3[c_,a_]:=If[Abs[Im[w3[c,a]]]<0.0001,Re[w3[c,a]],Re[w1[c,a]]];
f2[c_,a_]:=If[Abs[Im[w2[c,a]]]<0.0001,Re[w2[c,a]],f1[c,a]];
abb1=Plot3D[f1[c0-m^2,q],{m,-0.6,0.6},{c0,0.55,0.6},
PlotPoints->30,ImageSize->{400,300}];
abb3=Plot3D[f3[c0-m^2,q],{m,-0.6,0.6},{c0,0.55,0.6},
PlotPoints->30,ImageSize->{400,300}];
abb2=Plot3D[f2[c0-m^2,q],{m,-0.6,0.6},{c0,0.55,0.6},
PlotPoints->30,ImageSize->{400,300}];
abb=Show[abb1,abb2,abb3,DisplayFunction->$DisplayFunction,
           AxesLabel->{"mu","c","x*"},ImageSize->{400,300}];