src/hotspot/os/aix/os_aix.cpp
changeset 55691 443f7359b34d
parent 55291 47ee6c00d27c
child 55754 d645d7ca8ee8
equal deleted inserted replaced
55690:a07fedf3db62 55691:443f7359b34d
  4073     assert(major > 0, "invalid OS version");
  4073     assert(major > 0, "invalid OS version");
  4074     const int minor = atoi(uts.release);
  4074     const int minor = atoi(uts.release);
  4075     assert(minor > 0, "invalid OS release");
  4075     assert(minor > 0, "invalid OS release");
  4076     _os_version = (major << 24) | (minor << 16);
  4076     _os_version = (major << 24) | (minor << 16);
  4077     char ver_str[20] = {0};
  4077     char ver_str[20] = {0};
  4078     char *name_str = "unknown OS";
  4078     const char* name_str = "unknown OS";
  4079     if (strcmp(uts.sysname, "OS400") == 0) {
  4079     if (strcmp(uts.sysname, "OS400") == 0) {
  4080       // We run on AS/400 PASE. We do not support versions older than V5R4M0.
  4080       // We run on AS/400 PASE. We do not support versions older than V5R4M0.
  4081       _on_pase = 1;
  4081       _on_pase = 1;
  4082       if (os_version_short() < 0x0504) {
  4082       if (os_version_short() < 0x0504) {
  4083         trcVerbose("OS/400 releases older than V5R4M0 not supported.");
  4083         trcVerbose("OS/400 releases older than V5R4M0 not supported.");
  4084         assert(false, "OS/400 release too old.");
  4084         assert(false, "OS/400 release too old.");
  4085       }
  4085       }
  4086       name_str = "OS/400 (pase)";
  4086       name_str = "OS/400 (pase)";
  4087       jio_snprintf(ver_str, sizeof(ver_str), "%u.%u", major, minor);
  4087       jio_snprintf(ver_str, sizeof(ver_str), "%u.%u", major, minor);
  4088     } else if (strcmp(uts.sysname, "AIX") == 0) {
  4088     } else if (strcmp(uts.sysname, "AIX") == 0) {
  4089       // We run on AIX. We do not support versions older than AIX 5.3.
  4089       // We run on AIX. We do not support versions older than AIX 7.1.
  4090       _on_pase = 0;
  4090       _on_pase = 0;
  4091       // Determine detailed AIX version: Version, Release, Modification, Fix Level.
  4091       // Determine detailed AIX version: Version, Release, Modification, Fix Level.
  4092       odmWrapper::determine_os_kernel_version(&_os_version);
  4092       odmWrapper::determine_os_kernel_version(&_os_version);
  4093       if (os_version_short() < 0x0503) {
  4093       if (os_version_short() < 0x0701) {
  4094         trcVerbose("AIX release older than AIX 5.3 not supported.");
  4094         trcVerbose("AIX releases older than AIX 7.1 are not supported.");
  4095         assert(false, "AIX release too old.");
  4095         assert(false, "AIX release too old.");
  4096       }
  4096       }
  4097       name_str = "AIX";
  4097       name_str = "AIX";
  4098       jio_snprintf(ver_str, sizeof(ver_str), "%u.%u.%u.%u",
  4098       jio_snprintf(ver_str, sizeof(ver_str), "%u.%u.%u.%u",
  4099                    major, minor, (_os_version >> 8) & 0xFF, _os_version & 0xFF);
  4099                    major, minor, (_os_version >> 8) & 0xFF, _os_version & 0xFF);
  4100     } else {
  4100     } else {
  4101       assert(false, name_str);
  4101       assert(false, "%s", name_str);
  4102     }
  4102     }
  4103     trcVerbose("We run on %s %s", name_str, ver_str);
  4103     trcVerbose("We run on %s %s", name_str, ver_str);
  4104   }
  4104   }
  4105 
  4105 
  4106   guarantee(_on_pase != -1 && _os_version, "Could not determine AIX/OS400 release");
  4106   guarantee(_on_pase != -1 && _os_version, "Could not determine AIX/OS400 release");