< prev index next >
src/cpu/s390/vm/vm_version_s390.cpp
Print this page
rev 12273 : 8169317: [s390] Various minor bug fixes and adaptions.
*** 269,278 ****
--- 269,303 ----
} else if (ambiguity > 1) {
tty->print_cr("*** WARNING *** Ambiguous z/Architecture detection, ambiguity = %d", ambiguity);
tty->print_cr(" oldest detected generation is %s", _features_string);
_features_string = "z/Architecture (ambiguous detection)";
}
+
+ if (has_Crypto_AES()) {
+ char buf[256];
+ assert(strlen(_features_string) + 4 + 3*4 + 1 < sizeof(buf), "increase buffer size");
+ jio_snprintf(buf, sizeof(buf), "%s aes%s%s%s", // String 'aes' must be surrounded by spaces so that jtreg tests recognize it.
+ _features_string,
+ has_Crypto_AES128() ? " 128" : "",
+ has_Crypto_AES192() ? " 192" : "",
+ has_Crypto_AES256() ? " 256" : "");
+ _features_string = os::strdup(buf);
+ }
+
+ if (has_Crypto_SHA()) {
+ char buf[256];
+ assert(strlen(_features_string) + 4 + 2 + 2*4 + 6 + 1 < sizeof(buf), "increase buffer size");
+ // String 'sha1' etc must be surrounded by spaces so that jtreg tests recognize it.
+ jio_snprintf(buf, sizeof(buf), "%s %s%s%s%s",
+ _features_string,
+ has_Crypto_SHA1() ? " sha1" : "",
+ has_Crypto_SHA256() ? " sha256" : "",
+ has_Crypto_SHA512() ? " sha512" : "",
+ has_Crypto_GHASH() ? " ghash" : "");
+ if (has_Crypto_AES()) { os::free((void *)_features_string); }
+ _features_string = os::strdup(buf);
+ }
}
// featureBuffer - bit array indicating availability of various features
// featureNum - bit index of feature to be tested
// Featurenum < 0 requests test for any nonzero bit in featureBuffer.
*** 367,377 ****
if (has_TestFeature4Impl() ) tty->print_cr("available: %s", "TestFeature4Impl");
if (has_TestFeature8Impl() ) tty->print_cr("available: %s", "TestFeature8Impl");
if (has_Crypto()) {
tty->cr();
! tty->print_cr("detailled availability of %s capabilities:", "CryptoFacility");
if (test_feature_bit(&_cipher_features[0], -1, 2*Cipher::_featureBits)) {
tty->cr();
tty->print_cr(" available: %s", "Message Cipher Functions");
}
if (test_feature_bit(&_cipher_features[0], -1, (int)Cipher::_featureBits)) {
--- 392,402 ----
if (has_TestFeature4Impl() ) tty->print_cr("available: %s", "TestFeature4Impl");
if (has_TestFeature8Impl() ) tty->print_cr("available: %s", "TestFeature8Impl");
if (has_Crypto()) {
tty->cr();
! tty->print_cr("detailed availability of %s capabilities:", "CryptoFacility");
if (test_feature_bit(&_cipher_features[0], -1, 2*Cipher::_featureBits)) {
tty->cr();
tty->print_cr(" available: %s", "Message Cipher Functions");
}
if (test_feature_bit(&_cipher_features[0], -1, (int)Cipher::_featureBits)) {
*** 477,487 ****
VM_Version::_features[i] = 0;
}
}
}
-
void VM_Version::set_features_z900(bool reset) {
reset_features(reset);
set_has_long_displacement();
set_has_ETF2();
--- 502,511 ----
< prev index next >