comparison src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp @ 6269:8cb110fd7627

7188227: VM should recognize M-series SPARC Summary: Check kstat data for SPARC-M. Reviewed-by: roland
author kvn
date Wed, 01 Aug 2012 14:10:32 -0700
parents 3d42f82cd811
children b9a9ed0f8eeb
comparison
equal deleted inserted replaced
6268:6c5b7a6becc8 6269:8cb110fd7627
199 199
200 for (int i = 0; impl[i] != 0; i++) 200 for (int i = 0; impl[i] != 0; i++)
201 impl[i] = (char)toupper((uint)impl[i]); 201 impl[i] = (char)toupper((uint)impl[i]);
202 if (strstr(impl, "SPARC64") != NULL) { 202 if (strstr(impl, "SPARC64") != NULL) {
203 features |= sparc64_family_m; 203 features |= sparc64_family_m;
204 } else if (strstr(impl, "SPARC-M") != NULL) {
205 // M-series SPARC is based on T-series.
206 features |= (M_family_m | T_family_m);
204 } else if (strstr(impl, "SPARC-T") != NULL) { 207 } else if (strstr(impl, "SPARC-T") != NULL) {
205 features |= T_family_m; 208 features |= T_family_m;
206 if (strstr(impl, "SPARC-T1") != NULL) { 209 if (strstr(impl, "SPARC-T1") != NULL) {
207 features |= T1_model_m; 210 features |= T1_model_m;
208 } 211 }
209 } else { 212 } else {
210 assert(strstr(impl, "SPARC") != NULL, "should be sparc"); 213 if (strstr(impl, "SPARC") == NULL) {
214 #ifndef PRODUCT
215 // kstat on Solaris 8 virtual machines (branded zones)
216 // returns "(unsupported)" implementation.
217 warning("kstat cpu_info implementation = '%s', should contain SPARC", impl);
218 #endif
219 implementation = "SPARC";
220 }
211 } 221 }
212 free((void*)impl); 222 free((void*)impl);
213 break; 223 break;
214 } 224 }
215 } // for( 225 } // for(