499 for (unsigned int i = 0; i < MsgDigest::_featureBits; i++) { 500 if (test_feature_bit(&_msgdigest_features[2], i, (int)MsgDigest::_featureBits)) { 501 switch (i) { 502 case MsgDigest::_Query: tty->print_cr(" available: KLMD Query"); break; 503 case MsgDigest::_SHA1: tty->print_cr(" available: KLMD SHA-1"); break; 504 case MsgDigest::_SHA256: tty->print_cr(" available: KLMD SHA-256"); break; 505 case MsgDigest::_SHA512: tty->print_cr(" available: KLMD SHA-512"); break; 506 default: tty->print_cr(" available: unknown code %d", i); break; 507 } 508 } 509 } 510 } 511 } 512 if (ContendedPaddingWidth > 0) { 513 tty->cr(); 514 tty->print_cr("ContendedPaddingWidth " INTX_FORMAT, ContendedPaddingWidth); 515 } 516 } 517 } 518 519 void VM_Version::print_platform_virtualization_info(outputStream* st) { 520 // /proc/sysinfo contains interesting information about 521 // - LPAR 522 // - whole "Box" (CPUs ) 523 // - z/VM / KVM (VM<nn>); this is not available in an LPAR-only setup 524 const char* kw[] = { "LPAR", "CPUs", "VM", NULL }; 525 const char* info_file = "/proc/sysinfo"; 526 527 if (!print_matching_lines_from_file(info_file, st, kw)) { 528 st->print_cr(" <%s Not Available>", info_file); 529 } 530 } 531 532 void VM_Version::print_features() { 533 print_features_internal("Version:"); 534 } 535 536 void VM_Version::reset_features(bool reset) { 537 if (reset) { 538 for (unsigned int i = 0; i < _features_buffer_len; i++) { 539 VM_Version::_features[i] = 0; 540 } 541 } 542 } 543 544 void VM_Version::set_features_z900(bool reset) { 545 reset_features(reset); 546 547 set_has_long_displacement(); 548 set_has_ETF2(); 549 } 550 551 void VM_Version::set_features_z990(bool reset) { | 499 for (unsigned int i = 0; i < MsgDigest::_featureBits; i++) { 500 if (test_feature_bit(&_msgdigest_features[2], i, (int)MsgDigest::_featureBits)) { 501 switch (i) { 502 case MsgDigest::_Query: tty->print_cr(" available: KLMD Query"); break; 503 case MsgDigest::_SHA1: tty->print_cr(" available: KLMD SHA-1"); break; 504 case MsgDigest::_SHA256: tty->print_cr(" available: KLMD SHA-256"); break; 505 case MsgDigest::_SHA512: tty->print_cr(" available: KLMD SHA-512"); break; 506 default: tty->print_cr(" available: unknown code %d", i); break; 507 } 508 } 509 } 510 } 511 } 512 if (ContendedPaddingWidth > 0) { 513 tty->cr(); 514 tty->print_cr("ContendedPaddingWidth " INTX_FORMAT, ContendedPaddingWidth); 515 } 516 } 517 } 518 519 void VM_Version::print_features() { 520 print_features_internal("Version:"); 521 } 522 523 void VM_Version::reset_features(bool reset) { 524 if (reset) { 525 for (unsigned int i = 0; i < _features_buffer_len; i++) { 526 VM_Version::_features[i] = 0; 527 } 528 } 529 } 530 531 void VM_Version::set_features_z900(bool reset) { 532 reset_features(reset); 533 534 set_has_long_displacement(); 535 set_has_ETF2(); 536 } 537 538 void VM_Version::set_features_z990(bool reset) { |