mirror of
https://github.com/SDL-Hercules-390/hyperion.git
synced 2026-08-05 08:09:29 +02:00
Add help for mainsize, xpndsize, defstore. Message cleanup for locate command.
git-svn-id: file:///home/jj/hercules.svn/trunk@7073 956126f8-22a0-4046-8f4a-272fa8102e63
This commit is contained in:
@@ -253,8 +253,6 @@ int ProcessCmdLine (char* pszCmdLine)
|
||||
|
||||
obtain_lock(&ProcessConsoleCommandLock);
|
||||
|
||||
CommandLockCounter++;
|
||||
|
||||
if (MLVL(DEBUG))
|
||||
{
|
||||
char msgbuf[64];
|
||||
@@ -262,6 +260,8 @@ int ProcessCmdLine (char* pszCmdLine)
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
}
|
||||
|
||||
CommandLockCounter++;
|
||||
|
||||
if (!pszCmdLine || !*pszCmdLine)
|
||||
{
|
||||
/* [enter key] by itself: start the CPU
|
||||
|
||||
@@ -344,15 +344,70 @@ COMMAND("yroffset", SYSCONFIG|SYSNDIAG, yroffset_cmd,
|
||||
|
||||
CMDABBR("defstore",7,SYSCONFIG|SYSNDIAG, defstore_cmd,
|
||||
"Define/Display main and expanded storage values",
|
||||
NULL)
|
||||
"Format: defstorE [ mAIN | xSTORE | eXPANDED [ ssss[S] [ lOCK | unlOCK ] ] ]\n"
|
||||
" Without any options, display current settings\n"
|
||||
" mAIN - define/display main storage allocations\n"
|
||||
" xSTORE - define/display expanded storage allocations\n"
|
||||
" eXPANDED\n"
|
||||
"\n"
|
||||
" ssssS - specify amount of storage in 'S' units\n"
|
||||
" B = no multiplier - main only\n"
|
||||
" K = 2**10 (kilo/kibi) - main only\n"
|
||||
" M = 2**20 (mega/mebi)\n"
|
||||
" G = 2**30 (giga/gibi)\n"
|
||||
" T = 2**40 (tera/tebi) - not 32-bit\n"
|
||||
" P = 2**50 (peta/pebi) - not 32-bit\n"
|
||||
" E = 2**60 (exa/exbi) - not 32-bit\n"
|
||||
"\n"
|
||||
" lOCK - attempt to lock storage (pages lock by host OS)\n"
|
||||
" unlOCK - leave storage unlocked (pagable by host OS)\n"
|
||||
"\n"
|
||||
" (none) - display current mainsize value\n"
|
||||
"\n"
|
||||
" Note: Multipliers 'T', 'P', and 'E' are not available on 32bit machines\n"
|
||||
" Expanded Storage is allocated in minimum of 1M units\n"
|
||||
"")
|
||||
|
||||
COMMAND("mainsize", SYSCONFIG|SYSNDIAG, mainsize_cmd,
|
||||
"Set mainsize parameter",
|
||||
NULL)
|
||||
"Define/Display mainsize parameter",
|
||||
"Format: mainsize [ mmmm | nnnS [ lOCK | unlOCK ] ]\n"
|
||||
" mmmm - define main storage size mmmm Megabytes\n"
|
||||
"\n"
|
||||
" nnnS - define main storage size nnn S where S is the multiplier\n"
|
||||
" B = no multiplier\n"
|
||||
" K = 2**10 (kilo/kibi)\n"
|
||||
" M = 2**20 (mega/mebi)\n"
|
||||
" G = 2**30 (giga/gibi)\n"
|
||||
" T = 2**40 (tera/tebi)\n"
|
||||
" P = 2**50 (peta/pebi)\n"
|
||||
" E = 2**60 (exa/exbi)\n"
|
||||
"\n"
|
||||
" lOCK - attempt to lock storage (pages lock by host OS)\n"
|
||||
" unlOCK - leave storage unlocked (pagable by host OS)\n"
|
||||
"\n"
|
||||
" (none) - display current mainsize value\n"
|
||||
"\n"
|
||||
" Note: Multipliers 'T', 'P', and 'E' are not available on 32bit machines\n"
|
||||
"")
|
||||
|
||||
COMMAND("xpndsize", SYSCONFIG|SYSNDIAG, xpndsize_cmd,
|
||||
"Set xpndsize parameter",
|
||||
NULL)
|
||||
"Define/Display mainsize parameter",
|
||||
"Format: xpndsize [ mmmm | nnnS ]\n"
|
||||
" mmmm - define expanded storage size mmmm Megabytes\n"
|
||||
"\n"
|
||||
" nnnS - define expanded storage size nnn S where S is the multiplier\n"
|
||||
" M = 2**20 (mega/mebi)\n"
|
||||
" G = 2**30 (giga/gibi)\n"
|
||||
" T = 2**40 (tera/tebi)\n"
|
||||
"\n"
|
||||
" (none) - display current mainsize value\n"
|
||||
"\n"
|
||||
" lOCK - attempt to lock storage (pages lock by host OS)\n"
|
||||
" unlOCK - leave storage unlocked (pagable by host OS)\n"
|
||||
"\n"
|
||||
" Note: Multiplier 'T' is not available on 32bit machines\n"
|
||||
" Expanded storage is limited to 1G on 32bit machines\n"
|
||||
"")
|
||||
|
||||
COMMAND("hercprio", SYSCONFIG|SYSNDIAG, hercprio_cmd,
|
||||
"Set/Display hercprio parameter",
|
||||
|
||||
@@ -2537,7 +2537,12 @@ int defstore_cmd(int argc, char *argv[], char *cmdline)
|
||||
|
||||
UNREFERENCED(cmdline);
|
||||
|
||||
if ( argc < 2 || argc > 4 )
|
||||
if ( argc == 1 )
|
||||
{
|
||||
rc = qstor_cmd( argc, argv, cmdline );
|
||||
}
|
||||
else
|
||||
if ( argc > 4 )
|
||||
{
|
||||
WRMSG( HHC02299, "E", argv[0] );
|
||||
rc = -1;
|
||||
@@ -2570,13 +2575,13 @@ int defstore_cmd(int argc, char *argv[], char *cmdline)
|
||||
rc = mainsize_cmd( ac, av, NULL );
|
||||
}
|
||||
else
|
||||
if ( CMD(argv[1],xpanded,1) || CMD(argv[1],expanded,1) )
|
||||
if ( CMD(argv[1],xstore,1) || CMD(argv[1],expanded,1) )
|
||||
{
|
||||
rc = xpndsize_cmd( ac, av, NULL );
|
||||
}
|
||||
else
|
||||
{
|
||||
WRMSG( HHC02205, "E", argv[1], "; must be main, xpanded, or expanded" );
|
||||
WRMSG( HHC02205, "E", argv[1], "; must be main, xstore, or expanded" );
|
||||
rc = -1;
|
||||
}
|
||||
}
|
||||
@@ -2617,18 +2622,28 @@ char *q_argv[2] = { "qstor", "main" };
|
||||
{
|
||||
switch (toupper(f))
|
||||
{
|
||||
case 'B':
|
||||
if ( mainsize < 4096 )
|
||||
mainsize = 4096;
|
||||
break;
|
||||
case 'K':
|
||||
mainsize <<= SHIFT_KILOBYTE;
|
||||
mainsize <<= SHIFT_KIBIBYTE;
|
||||
break;
|
||||
case 'M':
|
||||
mainsize <<= SHIFT_MEGABYTE;
|
||||
mainsize <<= SHIFT_MEBIBYTE;
|
||||
break;
|
||||
case 'G':
|
||||
mainsize <<= SHIFT_GIGABYTE;
|
||||
mainsize <<= SHIFT_GIBIBYTE;
|
||||
break;
|
||||
#if SIZEOF_SIZE_T >= 8
|
||||
case 'T':
|
||||
mainsize <<= SHIFT_TERABYTE;
|
||||
mainsize <<= SHIFT_TEBIBYTE;
|
||||
break;
|
||||
case 'P':
|
||||
mainsize <<= SHIFT_PEBIBYTE;
|
||||
break;
|
||||
case 'E':
|
||||
mainsize <<= SHIFT_EXBIBYTE;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
@@ -7433,113 +7448,99 @@ int qproc_cmd(int argc, char *argv[], char *cmdline)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* fmt_memsize routine for qstor */
|
||||
/*-------------------------------------------------------------------*/
|
||||
static char *fmt_memsize( const U64 memsize )
|
||||
{
|
||||
static char fmt_mem[64];
|
||||
double mem = (double)memsize;
|
||||
BYTE size;
|
||||
int i;
|
||||
// Mainframe memory and DASD amounts are reported in 2**(10*n)
|
||||
// values, (x_iB international format, and shown as x_ or x_B, when
|
||||
// x >= 1024; x when x < 1024). Open Systems and Windows report
|
||||
// memory in the same format, but report DASD storage in 10**(3*n)
|
||||
// values. (Thank you, various marketing groups and international
|
||||
// standards committees...)
|
||||
|
||||
bzero(fmt_mem, sizeof(fmt_mem));
|
||||
// For Hercules, mainframe oriented reporting characteristics will
|
||||
// be formatted and shown as x_, when x >= 1024, and as x when x <
|
||||
// 1024. Reporting of Open Systems and Windows specifics should
|
||||
// follow the international format, shown as x_iB, when x >= 1024,
|
||||
// and x or xB when x < 1024. Reporting is done at the highest
|
||||
// integral boundary.
|
||||
|
||||
if ( mem >= (double)ONE_EXBIBYTE )
|
||||
{
|
||||
mem /= (double)ONE_EXBIBYTE;
|
||||
size = 'E';
|
||||
}
|
||||
if ( mem >= (double)ONE_PEBIBYTE )
|
||||
{
|
||||
mem /= (double)ONE_PEBIBYTE;
|
||||
size = 'P';
|
||||
}
|
||||
if ( mem >= (double)ONE_TEBIBYTE )
|
||||
{
|
||||
mem /= (double)ONE_TEBIBYTE;
|
||||
size = 'T';
|
||||
}
|
||||
else if ( mem >= ONE_GIBIBYTE )
|
||||
{
|
||||
mem /= (double)ONE_GIBIBYTE;
|
||||
size = 'G';
|
||||
}
|
||||
else if ( mem >= (double)ONE_MEBIBYTE )
|
||||
{
|
||||
mem /= (double)ONE_MEBIBYTE;
|
||||
size = 'M';
|
||||
}
|
||||
else
|
||||
{
|
||||
mem /= (double)ONE_KIBIBYTE;
|
||||
size = 'K';
|
||||
}
|
||||
// Format storage in 2**(10*n) values at the highest integral
|
||||
// integer boundary.
|
||||
|
||||
MSGBUF( fmt_mem, "%9.4f", mem );
|
||||
|
||||
i = (int)strlen(fmt_mem);
|
||||
const char suffix[9] = {0x00, 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'};
|
||||
static char fmt_mem[128]; // Max of 21 bytes used for U64
|
||||
u_int i = 0;
|
||||
U64 mem = memsize;
|
||||
|
||||
if ( i > 0 )
|
||||
{
|
||||
for ( i--; i > 0; i-- )
|
||||
{
|
||||
if ( fmt_mem[i] == '0' ) fmt_mem[i] = '\0';
|
||||
else if ( fmt_mem[i] == '.' ) { fmt_mem[i] = '\0'; break; }
|
||||
else break;
|
||||
}
|
||||
}
|
||||
if (mem)
|
||||
for (i = 0; i < sizeof(suffix); i++)
|
||||
{
|
||||
if (mem & 0x3FF)
|
||||
break;
|
||||
mem >>= 10;
|
||||
}
|
||||
|
||||
fmt_mem[strlen(fmt_mem)] = '\0';
|
||||
fmt_mem[strlen(fmt_mem)+1] = '\0';
|
||||
fmt_mem[strlen(fmt_mem)+2] = '\0';
|
||||
fmt_mem[strlen(fmt_mem)] = ' ';
|
||||
fmt_mem[strlen(fmt_mem)] = size;
|
||||
MSGBUF( fmt_mem, "%"I64_FMT"u %c", mem, suffix[i]);
|
||||
|
||||
return fmt_mem;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* qstor command */
|
||||
/*-------------------------------------------------------------------*/
|
||||
int qstor_cmd(int argc, char *argv[], char *cmdline)
|
||||
{
|
||||
BYTE display_main = TRUE;
|
||||
BYTE display_xpnd = TRUE;
|
||||
|
||||
char buf[64];
|
||||
U64 xpndsize = (U64)(sysblk.xpndsize) << 12;
|
||||
BYTE display_main = FALSE;
|
||||
BYTE display_xpnd = FALSE;
|
||||
|
||||
UNREFERENCED(cmdline);
|
||||
|
||||
if (argc > 2)
|
||||
if ( argc < 2 )
|
||||
display_main = display_xpnd = TRUE;
|
||||
else
|
||||
{
|
||||
WRMSG( HHC02299, "E", argv[0] );
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ( argc == 2 && CMD(argv[1],mainsize,1) )
|
||||
display_xpnd = FALSE;
|
||||
else if ( argc == 2 && ( CMD(argv[1],xpndsize,1) || CMD(argv[1],expanded,2) ) )
|
||||
display_main = FALSE;
|
||||
else if ( argc == 2 )
|
||||
{
|
||||
WRMSG( HHC02205, "E", argv[1], "; either 'mainsize' or 'xpndsize' is valid" );
|
||||
return -1;
|
||||
u_int i;
|
||||
for (i = 1; i < (u_int)argc; i++)
|
||||
{
|
||||
char check[16];
|
||||
strnupper(check, argv[i], (u_int)sizeof(check)); // Uppercase for multiple checks
|
||||
if ( strabbrev("MAINSIZE", check, 1) )
|
||||
display_main = TRUE;
|
||||
else if ( strabbrev("XPNDSIZE", check, 1) ||
|
||||
strabbrev("EXPANDED", check, 1) )
|
||||
display_xpnd = TRUE;
|
||||
else
|
||||
{
|
||||
WRMSG( HHC02205, "E", argv[1], "; either 'mainsize' or 'xpndsize' is valid" );
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( display_main )
|
||||
{
|
||||
MSGBUF( buf, "%s", fmt_memsize((U64)sysblk.mainsize) );
|
||||
|
||||
WRMSG( HHC17003, "I", "MAIN", buf, "main", sysblk.mainstor_locked ? "":"not " );
|
||||
U64 mainsize = sysblk.mainsize;
|
||||
if (!sysblk.maxcpu && mainsize <= _64_KILOBYTE )
|
||||
mainsize = 0;
|
||||
WRMSG( HHC17003, "I", "MAIN", fmt_memsize((U64)mainsize),
|
||||
"main", sysblk.mainstor_locked ? "":"not " );
|
||||
}
|
||||
if ( display_xpnd )
|
||||
{
|
||||
MSGBUF( buf, "%s", fmt_memsize((U64)xpndsize) );
|
||||
|
||||
WRMSG( HHC17003, "I", "EXPANDED", buf, "xpnd", sysblk.xpndstor_locked ? "":"not " );
|
||||
WRMSG( HHC17003, "I", "EXPANDED", fmt_memsize((U64)sysblk.xpndsize << 12),
|
||||
"xpnd", sysblk.xpndstor_locked ? "":"not " );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* cmdlevel - display/set the current command level group(s) */
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
@@ -13,57 +13,63 @@
|
||||
|
||||
#include "hercules.h"
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* fmt_memsize routine for qstor */
|
||||
/*-------------------------------------------------------------------*/
|
||||
static char *fmt_memsize( const U64 memsize )
|
||||
{
|
||||
static char fmt_mem[64];
|
||||
double mem = (double)memsize;
|
||||
BYTE size;
|
||||
int i;
|
||||
// Mainframe memory and DASD amounts are reported in 2**(10*n)
|
||||
// values, (x_iB international format, and shown as x_ or x_B, when
|
||||
// x >= 1024; x when x < 1024). Open Systems and Windows report
|
||||
// memory in the same format, but report DASD storage in 10**(3*n)
|
||||
// values. (Thank you, various marketing groups and international
|
||||
// standards committees...)
|
||||
|
||||
bzero(fmt_mem, sizeof(fmt_mem));
|
||||
// For Hercules, mainframe oriented reporting characteristics will
|
||||
// be formatted and shown as x_, when x >= 1024, and as x when x <
|
||||
// 1024. Reporting of Open Systems and Windows specifics should
|
||||
// follow the international format, shown as x_iB, when x >= 1024,
|
||||
// and x or xB when x < 1024. Reporting is done at the highest
|
||||
// integral boundary.
|
||||
|
||||
if ( mem >= (double)ONE_TEBIBYTE )
|
||||
{
|
||||
mem /= (double)ONE_TEBIBYTE;
|
||||
size = 'T';
|
||||
}
|
||||
else if ( mem >= ONE_GIBIBYTE )
|
||||
{
|
||||
mem /= (double)ONE_GIBIBYTE;
|
||||
size = 'G';
|
||||
}
|
||||
else if ( mem >= (double)ONE_MEBIBYTE )
|
||||
{
|
||||
mem /= (double)ONE_MEBIBYTE;
|
||||
size = 'M';
|
||||
}
|
||||
else
|
||||
{
|
||||
mem /= (double)ONE_KIBIBYTE;
|
||||
size = 'K';
|
||||
}
|
||||
// Format storage in 2**(10*n) values at the highest integral
|
||||
// integer boundary.
|
||||
|
||||
MSGBUF( fmt_mem, "%9.4f", mem );
|
||||
|
||||
i = (int)strlen(fmt_mem);
|
||||
const char suffix[9] = {0x00, 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'};
|
||||
static char fmt_mem[128]; // Max of 21 bytes used for U64
|
||||
U64 mem = memsize;
|
||||
u_int i = 0;
|
||||
|
||||
if ( i > 0 )
|
||||
{
|
||||
for ( i--; i > 0; i-- )
|
||||
{
|
||||
if ( fmt_mem[i] == '0' ) fmt_mem[i] = '\0';
|
||||
else if ( fmt_mem[i] == '.' ) { fmt_mem[i] = '\0'; break; }
|
||||
else break;
|
||||
}
|
||||
}
|
||||
if (mem)
|
||||
for (i = 0; i < sizeof(suffix); i++)
|
||||
{
|
||||
/* if ( mem > ONE_YOBIBYTE )
|
||||
mem &= 0xFFFFFFFFC0000000ULL;
|
||||
if ( mem > ONE_ZEBIBYTE )
|
||||
mem &= 0xFFFFFFFFC0000000ULL;
|
||||
else
|
||||
*/
|
||||
if ( mem > ONE_EXBIBYTE )
|
||||
mem &= 0xFFFC000000000000ULL;
|
||||
else if ( mem > ONE_PEBIBYTE )
|
||||
mem &= 0xFFFFFF0000000000ULL;
|
||||
else if ( mem > ONE_TEBIBYTE )
|
||||
mem &= 0xFFFFFFFFC0000000ULL;
|
||||
else if ( mem > ONE_GIBIBYTE )
|
||||
mem &= 0xFFFFFFFFFFF00000ULL;
|
||||
else if ( mem > ONE_MEBIBYTE )
|
||||
mem &= 0xFFFFFFFFFFFFFC00ULL;
|
||||
if (mem & 0x03FF)
|
||||
break;
|
||||
mem >>= 10;
|
||||
}
|
||||
|
||||
fmt_mem[strlen(fmt_mem)] = '\0';
|
||||
fmt_mem[strlen(fmt_mem)+1] = '\0';
|
||||
fmt_mem[strlen(fmt_mem)] = size;
|
||||
MSGBUF( fmt_mem, "%5"I64_FMT"u %c", mem, suffix[i]);
|
||||
|
||||
return fmt_mem;
|
||||
}
|
||||
|
||||
|
||||
static char *fmt_decimal( const U64 number )
|
||||
{
|
||||
static char fmt_dec[64];
|
||||
@@ -73,44 +79,54 @@ static char *fmt_decimal( const U64 number )
|
||||
|
||||
bzero(fmt_dec, sizeof(fmt_dec));
|
||||
|
||||
if ( num >= (double)ONE_TRILLION )
|
||||
if ( num > 0 )
|
||||
{
|
||||
num /= (double)ONE_TRILLION;
|
||||
size = 'T';
|
||||
}
|
||||
else if ( num >= ONE_BILLION )
|
||||
{
|
||||
num /= (double)ONE_BILLION;
|
||||
size = 'G';
|
||||
}
|
||||
else if ( num >= (double)ONE_MILLION )
|
||||
{
|
||||
num /= (double)ONE_MILLION;
|
||||
size = 'M';
|
||||
}
|
||||
else
|
||||
{
|
||||
num /= (double)ONE_THOUSAND;
|
||||
size = 'K';
|
||||
}
|
||||
|
||||
MSGBUF( fmt_dec, "%7.3f", num );
|
||||
|
||||
i = (int)strlen(fmt_dec);
|
||||
|
||||
if ( i > 0 )
|
||||
{
|
||||
for ( i--; i > 0; i-- )
|
||||
if ( num >= (double)ONE_TRILLION )
|
||||
{
|
||||
if ( fmt_dec[i] == '0' ) fmt_dec[i] = '\0';
|
||||
else if ( fmt_dec[i] == '.' ) { fmt_dec[i] = '\0'; break; }
|
||||
else break;
|
||||
num /= (double)ONE_TRILLION;
|
||||
size = 'T';
|
||||
}
|
||||
else if ( num >= ONE_BILLION )
|
||||
{
|
||||
num /= (double)ONE_BILLION;
|
||||
size = 'G';
|
||||
}
|
||||
else if ( num >= (double)ONE_MILLION )
|
||||
{
|
||||
num /= (double)ONE_MILLION;
|
||||
size = 'M';
|
||||
}
|
||||
else
|
||||
{
|
||||
num /= (double)ONE_THOUSAND;
|
||||
size = 'K';
|
||||
}
|
||||
}
|
||||
|
||||
fmt_dec[strlen(fmt_dec)] = '\0';
|
||||
fmt_dec[strlen(fmt_dec)+1] = '\0';
|
||||
fmt_dec[strlen(fmt_dec)] = size;
|
||||
MSGBUF( fmt_dec, "%7.3f", num );
|
||||
|
||||
i = (int)strlen(fmt_dec);
|
||||
|
||||
if ( i > 0 )
|
||||
{
|
||||
for ( i--; i > 0; i-- )
|
||||
{
|
||||
if ( fmt_dec[i] == '0' ) fmt_dec[i] = '\0';
|
||||
else if ( fmt_dec[i] == '.' ) { fmt_dec[i] = '\0'; break; }
|
||||
else break;
|
||||
}
|
||||
}
|
||||
|
||||
fmt_dec[strlen(fmt_dec)] = '\0';
|
||||
fmt_dec[strlen(fmt_dec)+1] = '\0';
|
||||
fmt_dec[strlen(fmt_dec)+2] = '\0';
|
||||
fmt_dec[strlen(fmt_dec)] = ' ';
|
||||
fmt_dec[strlen(fmt_dec)] = size;
|
||||
}
|
||||
else
|
||||
{
|
||||
MSGBUF( fmt_dec, "%3d ", 0 );
|
||||
size = ' ';
|
||||
}
|
||||
|
||||
return fmt_dec;
|
||||
}
|
||||
@@ -545,42 +561,42 @@ int locate_hostinfo(int argc, char *argv[], char *cmdline)
|
||||
|
||||
WRMSG( HHC90000, "D", "" );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %d", "num_procs", pHostInfo->num_procs );
|
||||
MSGBUF( msgbuf, "%-17s = %3d", "num_procs", pHostInfo->num_procs );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %d", "num_packages", pHostInfo->num_packages );
|
||||
MSGBUF( msgbuf, "%-17s = %3d", "num_packages", pHostInfo->num_packages );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %d", "num_physical_cpu", pHostInfo->num_physical_cpu );
|
||||
MSGBUF( msgbuf, "%-17s = %3d", "num_physical_cpu", pHostInfo->num_physical_cpu );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %d", "num_logical_cpu", pHostInfo->num_logical_cpu );
|
||||
MSGBUF( msgbuf, "%-17s = %3d", "num_logical_cpu", pHostInfo->num_logical_cpu );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %shz", "bus_speed", fmt_decimal((U64)pHostInfo->bus_speed) );
|
||||
MSGBUF( msgbuf, "%-17s = %sHz", "bus_speed", fmt_decimal((U64)pHostInfo->bus_speed) );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %shz", "cpu_speed", fmt_decimal((U64)pHostInfo->cpu_speed) );
|
||||
MSGBUF( msgbuf, "%-17s = %sHz", "cpu_speed", fmt_decimal((U64)pHostInfo->cpu_speed) );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %s", "vector_unit", pHostInfo->vector_unit ? "YES" : "NO" );
|
||||
MSGBUF( msgbuf, "%-17s = %s", "vector_unit", pHostInfo->vector_unit ? "YES" : " NO" );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %s", "fp_unit", pHostInfo->fp_unit ? "YES" : "NO" );
|
||||
MSGBUF( msgbuf, "%-17s = %s", "fp_unit", pHostInfo->fp_unit ? "YES" : " NO" );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %s", "cpu_64bits", pHostInfo->cpu_64bits ? "YES" : "NO" );
|
||||
MSGBUF( msgbuf, "%-17s = %s", "cpu_64bits", pHostInfo->cpu_64bits ? "YES" : " NO" );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %s", "cpu_aes_extns", pHostInfo->cpu_aes_extns ? "YES" : "NO" );
|
||||
MSGBUF( msgbuf, "%-17s = %s", "cpu_aes_extns", pHostInfo->cpu_aes_extns ? "YES" : " NO" );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
WRMSG( HHC90000, "D", "" );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %s", "valid_cache_nums", pHostInfo->valid_cache_nums ? "YES" : "NO" );
|
||||
MSGBUF( msgbuf, "%-17s = %s", "valid_cache_nums", pHostInfo->valid_cache_nums ? "YES" : " NO" );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %"FRADR"u", "cachelinesz", pHostInfo->cachelinesz );
|
||||
MSGBUF( msgbuf, "%-17s = %5"FRADR"u B", "cachelinesz", pHostInfo->cachelinesz );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
if ( pHostInfo->L1Dcachesz != 0 )
|
||||
@@ -615,6 +631,8 @@ int locate_hostinfo(int argc, char *argv[], char *cmdline)
|
||||
MSGBUF( msgbuf, "%-17s = %siB", "AllocGran", fmt_memsize((U64)pHostInfo->AllocationGranularity) );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
WRMSG( HHC90000, "D", "" );
|
||||
|
||||
MSGBUF( msgbuf, "%-17s = %siB", "TotalPhys", fmt_memsize((U64)pHostInfo->TotalPhys) );
|
||||
WRMSG( HHC90000, "D", msgbuf );
|
||||
|
||||
|
||||
@@ -1765,7 +1765,7 @@ int have_lock = 0; try_lock = 10; \
|
||||
#define HHC17000 "Missing or invalid argument(s)"
|
||||
#define HHC17001 "%s server listening %s"
|
||||
#define HHC17002 "%s server inactive"
|
||||
#define HHC17003 "%-8s storage is %siBytes '%ssize'; storage is %slocked"
|
||||
#define HHC17003 "%-8s storage is %s (%ssize); storage is %slocked"
|
||||
#define HHC17004 "CPUID = "I64_FMTX""
|
||||
#define HHC17005 "CPC SI = %4.4X.%s.%s.%s.%16.16X"
|
||||
#define HHC17006 "LPARNAME[%2.2X] = %s"
|
||||
|
||||
Reference in New Issue
Block a user