Compare commits

...

No commits in common. "imports/c8-beta/powerpc-utils-1.3.6-3.el8" and "c8" have entirely different histories.

19 changed files with 451 additions and 844 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/powerpc-utils-1.3.6.tar.gz
SOURCES/powerpc-utils-1.3.10.tar.gz

View File

@ -1 +1 @@
67ca5ca55c65fb5f28c77b258784ebeaf1eea208 SOURCES/powerpc-utils-1.3.6.tar.gz
4596fced545f3c751ff2665663baaed0db7ab7ce SOURCES/powerpc-utils-1.3.10.tar.gz

View File

@ -1,14 +0,0 @@
#!/bin/sh
if [ "$1" = "--version" ]; then
echo This version of nvsetenv is just a wrapper to invoke nvram
exit 0
fi
if [ -z "$1" ]; then
nvram --print-config
elif [ -z "$2" ]; then
nvram --print-config="$1"
else
nvram --update-config "$1"="$2"
fi
exit $?

View File

@ -1,35 +0,0 @@
From ae66fdee8e73ba460b2fbc592f1bc79574c5e02d Mon Sep 17 00:00:00 2001
From: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Date: Mon, 16 Nov 2015 18:29:17 +0530
Subject: [PATCH] Makefile fix
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
---
Makefile.am | 10 +++++++++-
Makefile.in | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index e6be23e..b521794 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -43,7 +43,15 @@ man_MANS = \
man/lsslot.8 \
man/ppc64_cpu.8 \
man/errinjct.8 \
- man/rtas_dbg.8
+ man/rtas_dbg.8 \
+ man/lsdevinfo.8 \
+ man/rtas_event_decode.8 \
+ man/ls-vdev.8 \
+ man/lsprop.8 \
+ man/drmgr.8 \
+ man/ls-veth.8 \
+ man/nvsetenv.8 \
+ man/ls-vscsi.8
EXTRA_DIST += $(bin_SCRIPTS) $(sbin_SCRIPTS) $(man_MANS)
--
2.1.0

View File

@ -0,0 +1,11 @@
diff -up powerpc-utils-1.3.10/Makefile.am.me powerpc-utils-1.3.10/Makefile.am
--- powerpc-utils-1.3.10/Makefile.am.me 2022-06-03 12:35:01.335312481 +0200
+++ powerpc-utils-1.3.10/Makefile.am 2022-06-03 14:11:58.453820076 +0200
@@ -229,7 +229,6 @@ install-data-hook:
$(INSTALL_DATA) systemd/smtstate.service $(DESTDIR)${systemd_unit_dir}/
$(INSTALL_DATA) systemd/hcn-init.service $(DESTDIR)${systemd_unit_dir}/
$(INSTALL_DATA) var/lib/powerpc-utils/smt.state $(DESTDIR)/var/lib/@PACKAGE@/
- $(INSTALL_SCRIPT) scripts/functions.suse $(DESTDIR)/usr/lib/@PACKAGE@/
$(INSTALL_SCRIPT) scripts/smtstate $(DESTDIR)@sbindir@
sed -i -e 's,$${exec_prefix},@prefix@,g' $(DESTDIR)${systemd_unit_dir}/smt_off.service
sed -i -e 's,$${exec_prefix},@prefix@,g' $(DESTDIR)${systemd_unit_dir}/smtstate.service

View File

@ -1,67 +1,18 @@
diff -up powerpc-utils-1.2.15/man/drmgr.8.man powerpc-utils-1.2.15/man/drmgr.8
--- powerpc-utils-1.2.15/man/drmgr.8.man 2013-01-16 15:31:13.886591137 +0100
+++ powerpc-utils-1.2.15/man/drmgr.8 2013-01-16 15:31:13.886591137 +0100
@@ -0,0 +1,60 @@
+.TH DRMGR "8" "Oct 2010" "Linux" "Linux on Power Service Tools"
diff -up powerpc-utils-1.3.5/man/pseries_platform.8.me powerpc-utils-1.3.5/man/pseries_platform.8
--- powerpc-utils-1.3.5/man/pseries_platform.8.me 2018-11-29 16:50:07.601034729 +0100
+++ powerpc-utils-1.3.5/man/pseries_platform.8 2018-11-29 16:50:07.601034729 +0100
@@ -0,0 +1,11 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
+.\"
+.TH pseries_platform 8 "September 2015" Linux "Linux on Power Service Tools"
+.SH NAME
+drmgr \- Dynamic Resource Manager. Utility used to perform DLPAR operations on a client partition.
+
+pseries_platform \- identify the platform and display the name of platform
+.SH SYNOPSIS
+.B drmgr
+.RB [ \-w
+.IR minutes ]
+.RB [ \-d
+.IR detail_level ]
+.RB [ \-C | \-\-capabilities ]
+.RB [ \-h | \-\-help ]
+
+.B drmgr
+.RB { \-c " {" port " | " slot " | " phb " | " pci " | " mem " | " cpu }
+.RB | \-m }
+
+.B drmgr \-c
+.RB { port " | " slot " | " phb }
+.RB { \-a " | " \-r " | " \-Q "} " \-s
+.I drc_name
+
+.B drmgr \-c pci \-s
+.I slot
+.RB { \-i " | " \-a " [" \-I "] | " \-r " [" \-I "] | " \-R " [" \-I "]}"
+
+.B drmgr \-c mem
+.RB { \-a " | " \-r "} {" \-q
+.I quantity
+.BR \-p
+.RI { variable_weight " | " ent_capacity "} |"
+.RB { \-q
+.I quantity
+.RB "| " \-s
+.IR drc_name }}
+
+.B drmgr \-c cpu
+.RB { \-a " | " \-r "} {" \-q
+.I quantity
+.BR \-p
+.RI { variable_weight " | " ent_capacity }
+.RB [ \-s
+.IR drc_names ]
+
+
+
+.SH OVERVIEW
+.B drmgr
+program is a member of the ppc64-utils suite of utils.
+Use it to list DLPAR and hotplug capable slots.
+.B /usr/bin/pseries_platform
+
+.SH DESCRIPTION
+.B drmgr
+is a utility to list DLPAR and hotplug capable slots.
+
+.SH AUTHOR
+.B drmgr
+was written by IBM Corporation
+.PP
+This manual page was written by Roman Rakus <rrakus@redhat.com>
+The \fIpseries_platform\fR tool can identify the platform and display the name of platform.
diff -up powerpc-utils-1.2.15/man/lsdevinfo.8.man powerpc-utils-1.2.15/man/lsdevinfo.8
--- powerpc-utils-1.2.15/man/lsdevinfo.8.man 2013-01-16 15:31:13.886591137 +0100
+++ powerpc-utils-1.2.15/man/lsdevinfo.8 2013-01-16 15:31:13.886591137 +0100
@ -306,3 +257,95 @@ diff -up powerpc-utils-1.2.15/man/rtas_event_decode.8.man powerpc-utils-1.2.15/m
+.BI \-w " width"
+limit the output to the specified width, default width is 80 characters. The width must be > 0 and < 1024.
+
diff -up powerpc-utils-1.3.8/man/hcnmgr.8.me powerpc-utils-1.3.8/man/hcnmgr.8
--- powerpc-utils-1.3.8/man/hcnmgr.8.me 2021-02-08 13:18:50.115407652 +0100
+++ powerpc-utils-1.3.8/man/hcnmgr.8 2021-02-08 13:18:43.734322981 +0100
@@ -0,0 +1,47 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
+.TH HCNMGR "1" "hcnmgr contains a set of commands to support migratable SR_IOV logical port." "hcnmgr"
+.SH NAME
+hcnmgr \- hcnmgr contains a set of commands to support migratable SR_IOV logical port.
+.SH SYNOPSIS
+.B hcnmgr|hcnrmhcn|hcnrmdev|hcnqrydev|hcnversion
+[options]
+.SH DESCRIPTION
+hcnmgr contains a set of commands to support migratable SR_IOV logical port.
+The new commands configure/query/remove network devices. New commands should
+be called from the HMC, rather than directly from linux LPAR
+.PP
+Usage: hcncfgdrc DRC_INDEX=<drc_index> [STAKE_TOKEN=NULL] [-d]
+.IP
+Configure a device to hybrid network HCN
+.PP
+Usage: hcnrmhcn HCN_ID=<hcnid>
+.IP
+Remove a hybrid network HCN given an HCN ID
+.PP
+Usage: hcnrmdev DRC_INDEX=<drc_index> HCN_ID=<hcnid>
+.IP
+Unconfigure device from HCN
+.PP
+Usage: hcnqrydev DRC_INDEX=<drc_index> HCN_ID=<hcnid>
+.IP
+Query a device given a DRC_INDEX or HCN ID
+.PP
+Usage: hcnversion
+.IP
+get the current version of the HCN support
+.PP
+Optional arguments.
+.TP
+\fB\-s\fR
+scan device\-tree and configure HCN
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display this help information and exit
+.SH AUTHOR
+.B hcnmgr
+was written by Mingming Cao <mingming.cao@ibm.com>.
+.PP
+This manual page was written by Than Ngo <than@redhat.com>.
diff -up powerpc-utils-1.3.5/man/update_flash_nv.8.me powerpc-utils-1.3.5/man/update_flash_nv.8
--- powerpc-utils-1.3.5/man/update_flash_nv.8.me 2018-11-29 16:49:51.344987106 +0100
+++ powerpc-utils-1.3.5/man/update_flash_nv.8 2018-11-29 16:49:42.589961458 +0100
@@ -0,0 +1,15 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
+.\"
+.TH pseries_platform 8 "September 2015" Linux "Linux on Power Service Tools"
+.SH NAME
+update_flash_nv \- is a simple wrapper script (update_flash) to pass the image.
+.SH SYNOPSIS
+.B /usr/bin/update_flash_nv
+
+.SH DESCRIPTION
+The \fIupdate_flash_nv\fR tool is simple wrapper script (update_flash) to pass the image.
+
+.SH SEE ALSO
+update_flash(8).
+
diff -up powerpc-utils-1.3.10/Makefile.am.me powerpc-utils-1.3.10/Makefile.am
--- powerpc-utils-1.3.10/Makefile.am.me 2022-06-03 12:35:01.335312481 +0200
+++ powerpc-utils-1.3.10/Makefile.am 2022-06-03 12:46:42.460763120 +0200
@@ -48,7 +48,17 @@ man_MANS = \
man/vcpustat.8 \
man/rtas_dbg.8 \
man/drmgr.8 \
- man/lparnumascore.8
+ man/lparnumascore.8 \
+ man/lsdevinfo.8 \
+ man/rtas_event_decode.8 \
+ man/ls-vdev.8 \
+ man/lsprop.8 \
+ man/ls-veth.8 \
+ man/nvsetenv.8 \
+ man/ls-vscsi.8 \
+ man/pseries_platform.8 \
+ man/update_flash_nv.8 \
+ man/hcnmgr.8
EXTRA_DIST += $(bin_SCRIPTS) $(sbin_SCRIPTS) $(man_MANS)

View File

@ -1,14 +0,0 @@
diff -up powerpc-utils-1.3.5/Makefile.am.me powerpc-utils-1.3.5/Makefile.am
--- powerpc-utils-1.3.5/Makefile.am.me 2018-11-30 16:51:45.760141937 +0100
+++ powerpc-utils-1.3.5/Makefile.am 2018-11-30 17:09:07.396294356 +0100
@@ -52,7 +52,9 @@ man_MANS = \
man/drmgr.8 \
man/ls-veth.8 \
man/nvsetenv.8 \
- man/ls-vscsi.8
+ man/ls-vscsi.8 \
+ man/pseries_platform.8 \
+ man/update_flash_nv.8
EXTRA_DIST += $(bin_SCRIPTS) $(sbin_SCRIPTS) $(man_MANS)

View File

@ -1,15 +0,0 @@
diff -up powerpc-utils-1.3.5/man/pseries_platform.8.me powerpc-utils-1.3.5/man/pseries_platform.8
--- powerpc-utils-1.3.5/man/pseries_platform.8.me 2018-11-29 16:50:07.601034729 +0100
+++ powerpc-utils-1.3.5/man/pseries_platform.8 2018-11-29 16:50:07.601034729 +0100
@@ -0,0 +1,11 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
+.\"
+.TH pseries_platform 8 "September 2015" Linux "Linux on Power Service Tools"
+.SH NAME
+pseries_platform \- identify the platform and display the name of platform
+.SH SYNOPSIS
+.B /usr/bin/pseries_platform
+
+.SH DESCRIPTION
+The \fIpseries_platform\fR tool can identify the platform and display the name of platform.

View File

@ -1,19 +0,0 @@
diff -up powerpc-utils-1.3.5/man/update_flash_nv.8.me powerpc-utils-1.3.5/man/update_flash_nv.8
--- powerpc-utils-1.3.5/man/update_flash_nv.8.me 2018-11-29 16:49:51.344987106 +0100
+++ powerpc-utils-1.3.5/man/update_flash_nv.8 2018-11-29 16:49:42.589961458 +0100
@@ -0,0 +1,15 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
+.\"
+.TH pseries_platform 8 "September 2015" Linux "Linux on Power Service Tools"
+.SH NAME
+update_flash_nv \- is a simple wrapper script (update_flash) to pass the image.
+.SH SYNOPSIS
+.B /usr/bin/update_flash_nv
+
+.SH DESCRIPTION
+The \fIupdate_flash_nv\fR tool is simple wrapper script (update_flash) to pass the image.
+
+.SH SEE ALSO
+update_flash(8).
+

View File

@ -1,198 +0,0 @@
commit 1d4147370a148b3a2ebadcf02abd4a6c9a763e6d
Author: Sourabh Jain <sourabhjain@linux.ibm.com>
Date: Sat Apr 27 10:18:32 2019 +0530
lparstat: add an option to print the lparstat report similar to legacy lparstat tool
This patch adds a new command line option (-l, --legacy) to allow
users to print the report similar to legacy lprastat tool without
affecting existing report format.
Changes done to make the current report format similar to legacy
report format are listed below:
1) The memory attribute will be printed in MB instead of KB.
2) cpus attribute will be referred as psize in legacy report format
and only printed in shared lpar environment.
3) On legacy lparstat tool the lcpu attribute is a combination of
two attributes, smt and number of online processor. Formula used
to calculate the lcpu is given below.
lcpu = smt * number of online processors
Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
diff --git a/man/lparstat.8 b/man/lparstat.8
index 467f570..0f4c923 100644
--- a/man/lparstat.8
+++ b/man/lparstat.8
@@ -36,6 +36,11 @@ Online Memory Capacity.
.TP
cpus
Number of online physical processors in the pool.
+.RS
+This attribute is referred as
+.B psize
+in legacy mode and only available in shared LPAR environment.
+.RE
.TP
ent
Entitled processing capacity in processor units. This information is displayed only if the partition type is shared.
@@ -204,6 +209,26 @@ The variable memory capacity weight of the LPAR.
.TP
.SH
.TP
+\fB\-l, --legacy\fR
+Display the report in legacy format.
+.RS
+.RS
+Memory attribute in MB instead of KB.
+.RS
+.RE
+.B cpus
+attribute is referred as
+.B psize
+and only available for shared LPAR.
+.RS
+.RE
+.B lcpu
+attribute calculation: lcpu = smt * number of online processors.
+.RE
+.TP
+.RS
+.SH
+.TP
\fB\-h, --help\fR
Display the usage of lparstat.
.RS
diff --git a/src/lparstat.c b/src/lparstat.c
index 1abe54d..ffb2cfa 100644
--- a/src/lparstat.c
+++ b/src/lparstat.c
@@ -23,6 +23,7 @@
#include <stdlib.h>
#include <stdio.h>
+#include <stdbool.h>
#include <string.h>
#include <getopt.h>
#include <unistd.h>
@@ -35,6 +36,8 @@
#define SE_NOT_FOUND "???"
#define SE_NOT_VALID "-"
+static bool o_legacy = false;
+
struct sysentry *get_sysentry(char *name)
{
struct sysentry *se = &system_data[0];
@@ -479,7 +482,7 @@ void get_mem_total(struct sysentry *se, char *buf)
{
FILE *f;
char line[128];
- char *mem, *nl, *first_line;
+ char *mem, *nl, *first_line, *unit;
f = fopen("/proc/meminfo", "r");
if (!f) {
@@ -500,10 +503,21 @@ void get_mem_total(struct sysentry *se, char *buf)
mem++;
} while (*mem == ' ');
- nl = strchr(mem, '\n');
+ unit = strchr(mem, ' ');
+ *unit = '\0';
+
+ do {
+ unit++;
+ } while (*unit == ' ');
+
+ nl = strchr(unit, '\n');
*nl = '\0';
- sprintf(buf, "%s", mem);
+ if (o_legacy) {
+ sprintf(buf, "%d %s", atoi(mem) / 1024, "MB");
+ } else {
+ sprintf(buf, "%s %s", mem, unit);
+ }
}
void get_smt_mode(struct sysentry *se, char *buf)
@@ -604,7 +618,8 @@ void print_default_output(int interval, int count)
char *fmt = "%5s %5s %5s %8s %8s %5s %5s %5s %5s %5s\n";
char *descr;
char buf[128];
- int offset;
+ int offset, smt, active_proc;
+ char type[32];
char value[32];
char user[32], sys[32], wait[32], idle[32], physc[32], entc[32];
char lbusy[32], app[32], vcsw[32], phint[32];
@@ -612,16 +627,30 @@ void print_default_output(int interval, int count)
memset(buf, 0, 128);
get_sysdata("shared_processor_mode", &descr, value);
offset = sprintf(buf, "type=%s ", value);
+ sprintf(type, "%s", value);
get_sysdata("capped", &descr, value);
offset += sprintf(buf + offset, "mode=%s ", value);
get_sysdata("smt_state", &descr, value);
offset += sprintf(buf + offset, "smt=%s ", value);
+ if (!strcmp(value, "Off"))
+ smt = 1;
+ else
+ smt = atoi(value);
get_sysdata("partition_active_processors", &descr, value);
- offset += sprintf(buf + offset, "lcpu=%s ", value);
+ active_proc = atoi(value);
+ if (o_legacy)
+ offset += sprintf(buf + offset, "lcpu=%d ", active_proc*smt);
+ else
+ offset += sprintf(buf + offset, "lcpu=%s ", value);
get_sysdata("MemTotal", &descr, value);
offset += sprintf(buf + offset, "mem=%s ", value);
get_sysdata("active_cpus_in_pool", &descr, value);
- offset += sprintf(buf + offset, "cpus=%s ", value);
+ if (o_legacy) {
+ if (strcmp(type, "Dedicated"))
+ offset += sprintf(buf + offset, "psize=%s ", value);
+ } else {
+ offset += sprintf(buf + offset, "cpus=%s ", value);
+ }
get_sysdata("DesEntCap", &descr, value);
offset += sprintf(buf + offset, "ent=%s ", value);
@@ -662,6 +691,7 @@ static void usage(void)
"\t-h, --help Show this message and exit.\n"
"\t-V, --version \tDisplay lparstat version information.\n"
"\t-i Lists details on the LPAR configuration.\n"
+ "\t-l, --legacy Print the report in legacy format.\n"
"interval The interval parameter specifies the amount of time between each report.\n"
"count The count parameter specifies how many reports will be displayed.\n");
}
@@ -669,6 +699,7 @@ static void usage(void)
static struct option long_opts[] = {
{"version", no_argument, NULL, 'V'},
{"help", no_argument, NULL, 'h'},
+ {"legacy", no_argument, NULL, 'l'},
{0, 0, 0, 0},
};
@@ -684,12 +715,15 @@ int main(int argc, char *argv[])
exit(1);
}
- while ((c = getopt_long(argc, argv, "iVh",
+ while ((c = getopt_long(argc, argv, "iVhl",
long_opts, &opt_index)) != -1) {
switch(c) {
case 'i':
i_option = 1;
break;
+ case 'l':
+ o_legacy = true;
+ break;
case 'V':
printf("lparstat - %s\n", VERSION);
return 0;

View File

@ -1,94 +0,0 @@
commit 8b7978b114e5df89218daa9b4b48cc0e918ba917
Author: Sourabh Jain <sourabhjain@linux.ibm.com>
Date: Mon Feb 4 16:15:14 2019 +0530
lparstat: introduce the help command line option to print lparstat usage
This patch adds a function to print the usage of lparstat. Also,
a new element is added to structure option to handle long command
line argument for help.
Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
diff --git a/man/lparstat.8 b/man/lparstat.8
index 9721580..467f570 100644
--- a/man/lparstat.8
+++ b/man/lparstat.8
@@ -9,8 +9,9 @@
.SH NAME
lparstat \- Reports logical partition ( LPAR ) related information and statistics.
.SH SYNOPSIS
-.B /usr/sbin/lparstat
-[ -i ] [ interval [ count ] ]
+.B /usr/sbin/lparstat [ options ]
+.HP
+.B /usr/sbin/lparstat <interval> [ count ]
.SH DESCRIPTION
The \fIlparstat\fR command provides a report of LPAR related information and utilization statistics. This command provides a display of current LPAR related parameters and Hypervisor information, as well as utilization statistics for the LPAR.
@@ -202,6 +203,17 @@ Desired Variable Capacity Weight
The variable memory capacity weight of the LPAR.
.TP
.SH
+.TP
+\fB\-h, --help\fR
+Display the usage of lparstat.
+.RS
+.SH
+.TP
+\fB\-V, --version\fR
+Display the lparstat version information.
+.RS
+.SH
+.TP
interval
The
.B interval
diff --git a/src/lparstat.c b/src/lparstat.c
index c9b86fd..1abe54d 100644
--- a/src/lparstat.c
+++ b/src/lparstat.c
@@ -655,8 +655,20 @@ void print_default_output(int interval, int count)
} while (--count > 0);
}
+static void usage(void)
+{
+ printf("Usage: lparstat [ options ]\n\tlparstat <interval> [ count ]\n\n"
+ "options:\n"
+ "\t-h, --help Show this message and exit.\n"
+ "\t-V, --version \tDisplay lparstat version information.\n"
+ "\t-i Lists details on the LPAR configuration.\n"
+ "interval The interval parameter specifies the amount of time between each report.\n"
+ "count The count parameter specifies how many reports will be displayed.\n");
+}
+
static struct option long_opts[] = {
{"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
{0, 0, 0, 0},
};
@@ -672,7 +684,7 @@ int main(int argc, char *argv[])
exit(1);
}
- while ((c = getopt_long(argc, argv, "iV",
+ while ((c = getopt_long(argc, argv, "iVh",
long_opts, &opt_index)) != -1) {
switch(c) {
case 'i':
@@ -681,7 +693,12 @@ int main(int argc, char *argv[])
case 'V':
printf("lparstat - %s\n", VERSION);
return 0;
+ case 'h':
+ usage();
+ return 0;
case '?':
+ usage();
+ return 1;
default:
break;
}

View File

@ -0,0 +1,98 @@
commit b1b9e76de0f3ab1dfcd9426779fa20fd77cd5625
Author: Luciano Chavez <lnx1138@linux.ibm.com>
Date: Wed Aug 24 21:11:32 2022 -0500
lsslot: Fix lsslot -c mem output when using 4GB LMB size
When using a LMB size of 4GB, the output of lsslot -c mem would get
reported incorrectly as:
Dynamic Reconfiguration Memory (LMB size 0x0)
:
DRC Index: 80000001 Address: 100000000
Removable: No Associativity: (index: 1) 0 1 4 9
Section(s):
This patch changes the declaration of the _node_u._smem._lmb_size from
a uint32_t to uint64_t to store the value properly. Any variables that
store the lmb_size are also declared as uint64_t. In addition, we
use the PRIx64 macro in printf statements to properly print the
lmb_size value.
The patch also includes a necessary change to declare the global
variable block_sz_bytes as a uint64_t to fix an infinite loop in
the function get_mem_scns() when the above changes were introduced.
Signed-off-by: Luciano Chavez <lnx1138@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/drmgr/drmem.h b/src/drmgr/drmem.h
index db5a47f..48108c5 100644
--- a/src/drmgr/drmem.h
+++ b/src/drmgr/drmem.h
@@ -58,7 +58,7 @@ struct drconf_mem_v2 {
#define LMB_REVERSE_SORT 1
#define LMB_RANDOM_SORT 2
-extern int block_sz_bytes;
+extern uint64_t block_sz_bytes;
struct lmb_list_head *get_lmbs(unsigned int);
void free_lmbs(struct lmb_list_head *);
diff --git a/src/drmgr/drslot_chrp_mem.c b/src/drmgr/drslot_chrp_mem.c
index 3b78723..d37ee80 100644
--- a/src/drmgr/drslot_chrp_mem.c
+++ b/src/drmgr/drslot_chrp_mem.c
@@ -33,7 +33,7 @@
#include "drmem.h"
#include "common_numa.h"
-int block_sz_bytes = 0;
+uint64_t block_sz_bytes = 0;
static char *state_strs[] = {"offline", "online"};
static char *usagestr = "-c mem {-a | -r} {-q <quantity> -p {variable_weight | ent_capacity} | {-q <quantity> | -s [<drc_name> | <drc_index>]}}";
@@ -118,7 +118,7 @@ free_lmbs(struct lmb_list_head *lmb_list)
static int
get_mem_scns(struct dr_node *lmb)
{
- uint32_t lmb_sz = lmb->lmb_size;
+ uint64_t lmb_sz = lmb->lmb_size;
uint64_t phys_addr = lmb->lmb_address;
uint32_t mem_scn;
int rc = 0;
diff --git a/src/drmgr/lsslot.c b/src/drmgr/lsslot.c
index 87f876e..83e9e85 100644
--- a/src/drmgr/lsslot.c
+++ b/src/drmgr/lsslot.c
@@ -741,7 +741,7 @@ int print_drconf_mem(struct lmb_list_head *lmb_list)
if (usr_drc_name)
drc_index = strtol(usr_drc_name, NULL, 0);
- printf("Dynamic Reconfiguration Memory (LMB size 0x%x)\n",
+ printf("Dynamic Reconfiguration Memory (LMB size 0x%"PRIx64")\n",
lmb_list->lmbs->lmb_size);
for (lmb = lmb_list->lmbs; lmb; lmb = lmb->next) {
@@ -808,7 +808,7 @@ int lsslot_chrp_mem(void)
if (lmb_list->drconf_buf) {
print_drconf_mem(lmb_list);
} else {
- printf("lmb size: 0x%x\n", lmb_list->lmbs->lmb_size);
+ printf("lmb size: 0x%"PRIx64"\n", lmb_list->lmbs->lmb_size);
printf("%-20s %-5s %c %s\n", "Memory Node", "Name", 'R',
"Sections");
printf("%-20s %-5s %c %s\n", "-----------", "----", '-',
diff --git a/src/drmgr/ofdt.h b/src/drmgr/ofdt.h
index 26c943a..bd90810 100644
--- a/src/drmgr/ofdt.h
+++ b/src/drmgr/ofdt.h
@@ -94,7 +94,7 @@ struct dr_node {
union {
struct mem_info {
uint64_t _address;
- uint32_t _lmb_size;
+ uint64_t _lmb_size;
uint32_t _lmb_aa_index;
struct mem_scn *_mem_scns;
struct of_node *_of_node;

View File

@ -1,31 +0,0 @@
commit b5fea40ac98d1c9a685d98c011e88180c31ca0be
Author: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Date: Wed Feb 20 15:44:17 2019 +0530
man/update_flash: Add details to extract rpm format image
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
diff --git a/man/update_flash.8 b/man/update_flash.8
index 254fbac..4ae10d8 100644
--- a/man/update_flash.8
+++ b/man/update_flash.8
@@ -225,6 +225,17 @@ following the steps outlined here:
.P
http://publib.boulder.ibm.com/infocenter/powersys/v3r1m5/index.jsp?topic=/p7hatl/iphblresetserverp6.htm
+.P
+.B RPM format image
+.fi
+For "rpm format" images, the file will have a .rpm extension. It can be extracted
+using below command:
+
+ rpm2cpio <rpm filename> | cpio -idmv
+.fi
+.P
+This will extract files under current directory. Pass <image>.img file to this script.
+
.P
.B AIX format image
.fi

View File

@ -1,40 +0,0 @@
commit bc928b06605371b72c7fe8ec7e81886114a9e9d4
Author: Sourabh Jain <sourabhjain@linux.ibm.com>
Date: Thu Jan 31 14:25:21 2019 +0530
lparstat: restrict the physc and entc attribute values to two decimal places
Print format of physical processors consumed (physc) and percentage of
the entitled capacity consumed (entc) attributes has changed from six
decimal places to two.
The least possible value allowed for processor entitlement to a LPAR
is 0.05 so printing physc and entc values with such a high precision
is incorrect.
Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
diff --git a/src/lparstat.c b/src/lparstat.c
index ec57c1a..c9b86fd 100644
--- a/src/lparstat.c
+++ b/src/lparstat.c
@@ -176,7 +176,7 @@ void get_cpu_physc(struct sysentry *unused_se, char *buf)
physc = (new_purr - old_purr)/timebase/elapsed;
}
- sprintf(buf, "%.6f", physc);
+ sprintf(buf, "%.2f", physc);
}
void get_per_entc(struct sysentry *unused_se, char *buf)
@@ -188,7 +188,7 @@ void get_per_entc(struct sysentry *unused_se, char *buf)
get_sysdata("DesEntCap", &descr, entc);
get_sysdata("physc", &descr, physc);
- sprintf(buf, "%.6f", atof(physc) / atof(entc) * 100.0);
+ sprintf(buf, "%.2f", atof(physc) / atof(entc) * 100.0);
}
void get_cpu_app(struct sysentry *unused_se, char *buf)

View File

@ -1,195 +0,0 @@
commit dd6da6b329bac2743d1c80b5556b494c923c11ad
Author: Michael Bringmann <mwb@linux.vnet.ibm.com>
Date: Mon Apr 29 11:25:18 2019 -0500
scripts: Improve handling of errors from subsidiary scripts
This patch is to fix the handling of errors by 'lsdevinfo' from
invocations of 'ofpathname' that also encounter errors. Error
messages from 'ofpathname' were being sent through 'stdout', and
interpreted as valid data by a number of script instructions in
'lsdevinfo'. Following is an example of such a failure when the
error results were forwarded to an associated HMC.
2019-02-19 22:05:38.212 [TID-5f68--72195] VIOS_CACHE: CacheVios.<-> saveCacheData 3*9080-M9S*130A068 cmd=lsdevinfo -c -q physloc=U78CD.001.FZH0128-P1-C1-T3-S4 -F status
2019-02-19 22:05:38.212 [TID-5f68--72195] RMC_VIOS: PIRmcViosClient.stdErr=/bin/ls: cannot access /sys/class/net/ofpathname:: No such file or directory
/bin/ls: cannot access Could: No such file or directory
/bin/ls: cannot access not: No such file or directory
/bin/ls: cannot access retrieve: No such file or directory
/bin/ls: cannot access logical: No such file or directory
/bin/ls: cannot access device: No such file or directory
/bin/ls: cannot access name: No such file or directory
/bin/ls: cannot access for: No such file or directory
/bin/ls: cannot access Open: No such file or directory
/bin/ls: cannot access Firmware: No such file or directory
/bin/ls: cannot access path: No such file or directory
/bin/ls: cannot access "/pci@800000029008004/ethernet@0"./device/driver: No such file or directory
This patch makes the following changes:
* Redirects the error messages from 'ofpathname' to stderr
* Adds more checks to 'lsdevinfo' to filter out stderr text
from input to various parsing commands.
Signed-off-by: Michael Bringmann <mwb@linux.vnet.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
diff --git a/scripts/lsdevinfo b/scripts/lsdevinfo
index 4ef98d7..85019e9 100755
--- a/scripts/lsdevinfo
+++ b/scripts/lsdevinfo
@@ -225,7 +225,7 @@ show_eth ()
# Look at every vNIC device
for dev in $($LS -d /proc/device-tree/vdevice/vnic* 2> /dev/null); do
# use ofpathname to get the device name (i.e. eth0)
- name=$($OFPATHNAME -l $(echo $dev | $SED -e "s/\/proc\/device-tree//"))
+ name=$($OFPATHNAME -l $(echo $dev | $SED -e "s/\/proc\/device-tree//") 2> /dev/null)
connection=$(echo $dev | $SED -e "s/\/proc\/device-tree\/vdevice\/l-lan@//")
parent="vio"
@@ -246,7 +246,7 @@ done
# Look at every ibmveth (Virtual Ethernet) device
for dev in $($LS -d /proc/device-tree/vdevice/l-lan* 2> /dev/null); do
# use ofpathname to get the device name (i.e. eth0)
- name=$($OFPATHNAME -l $(echo $dev | $SED -e "s/\/proc\/device-tree//"))
+ name=$($OFPATHNAME -l $(echo $dev | $SED -e "s/\/proc\/device-tree//") 2> /dev/null)
connection=$(echo $dev | $SED -e "s/\/proc\/device-tree\/vdevice\/l-lan@//")
parent="vio"
@@ -268,7 +268,7 @@ done
for pci_dev in $($LS -d /proc/device-tree/pci* 2> /dev/null); do
for dev in $($LS -d $pci_dev/ethernet* 2> /dev/null); do
# use ofpathname to get the device name (i.e. eth0)
- name=$($OFPATHNAME -l $(echo $dev | $SED -e "s/\/proc\/device-tree//"))
+ name=$($OFPATHNAME -l $(echo $dev | $SED -e "s/\/proc\/device-tree//") 2> /dev/null)
connection=$(echo $pci_dev | $SED -e "s/\/proc\/device-tree\/pci@//")
parent="pci"
@@ -280,7 +280,7 @@ for pci_dev in $($LS -d /proc/device-tree/pci* 2> /dev/null); do
class="adapter"
subclass="pci"
prefix="eth"
- driver=$($LS -l /sys/class/net/$name/device/driver |
+ driver=$($LS -l /sys/class/net/$name/device/driver 2> /dev/null |
$SED -e "s/^.*\///")
status=1
@@ -312,11 +312,11 @@ for dev in $($LS -d /proc/device-tree/vdevice/v-scsi* 2> /dev/null) ; do
prefix="host"
driver="ibmvscsic"
- host=$($LS -d /sys/devices/vio/$slot/host*/)
+ host=$($LS -d /sys/devices/vio/$slot/host*/ 2> /dev/null)
if [[ -d $host/scsi_host ]]; then
- scsihost=$($LS -d $host/scsi_host/host*/)
+ scsihost=$($LS -d $host/scsi_host/host*/ 2> /dev/null)
else
- scsihost=$($LS -d $host/scsi_host*/)
+ scsihost=$($LS -d $host/scsi_host*/ 2> /dev/null)
fi
if [[ $(cat $scsihost/state) == "running" ]] ; then
@@ -365,12 +365,12 @@ for dev in $($LS -d /proc/device-tree/vdevice/v-scsi* 2> /dev/null) ; do
fi
# loop through the targets for this host.
- for t in $($LS -d $host/target*); do
+ for t in $($LS -d $host/target* 2> /dev/null); do
target=$(echo $($LS -d $t/$($LS $t | $GREP -v uevent | $GREP -v power | $GREP -v subsystem)))
if [[ ! -d $target/block ]]; then
- name=$(echo $($LS -d $target/block*) | $SED -e "s/.*://")
+ name=$(echo $($LS -d $target/block* 2> /dev/null) | $SED -e "s/.*://")
else
- name=$($LS $target/block)
+ name=$($LS $target/block 2> /dev/null)
fi
conn=$($OFPATHNAME /dev/$name 2> /dev/null | $SED -e "s/.*disk@//")
@@ -446,7 +446,7 @@ for dev in $($LS -d /proc/device-tree/vdevice/vfc-client* 2> /dev/null) ; do
slot=$(echo $dev | $SED -e "s/\/proc\/device-tree\/vdevice\/vfc-client@//")
# there is only one host per device, assign it to the path's name
- for host in $($LS -d /sys/devices/vio/$slot/host*) ; do
+ for host in $($LS -d /sys/devices/vio/$slot/host* 2> /dev/null) ; do
parent=$(echo $host | $SED -e "s/.*\///")
name=$parent
@@ -457,11 +457,11 @@ for dev in $($LS -d /proc/device-tree/vdevice/vfc-client* 2> /dev/null) ; do
prefix="host"
driver="ibmvfc"
- host=$($LS -d /sys/devices/vio/$slot/host*/)
+ host=$($LS -d /sys/devices/vio/$slot/host*/ 2> /dev/null)
if [[ -d $host/scsi_host ]]; then
- scsihost=$($LS -d $host/scsi_host/host*/)
+ scsihost=$($LS -d $host/scsi_host/host*/ 2> /dev/null)
else
- scsihost=$($LS -d $host/scsi_host*/)
+ scsihost=$($LS -d $host/scsi_host*/ 2> /dev/null)
fi
if [[ $(cat $scsihost/state) == "running" ]] ; then
@@ -510,16 +510,16 @@ for dev in $($LS -d /proc/device-tree/vdevice/vfc-client* 2> /dev/null) ; do
fi
# As opposed to ibmvscsi, there are multiple rports in each host
- for rport in $($LS -d $host/rport*); do
+ for rport in $($LS -d $host/rport* 2> /dev/null); do
# in ibmvfc there are two layers of directories before getting to
# the targets
- for t in $($LS -d $rport/target*); do
+ for t in $($LS -d $rport/target* 2> /dev/null); do
for target in $($LS $t | $GREP "[0-9]*:[0-9]*:[0-9]*:[0-9]*"); do
if [[ ! -d $t/$target/block ]]; then
name=$(echo $($LS -d $t/$target/block*) | $SED -e "s/.*://")
else
- name=$($LS $t/$target/block)
+ name=$($LS $t/$target/block 2> /dev/null)
fi
connection=$($OFPATHNAME /dev/$name 2> /dev/null | $SED -e "s/.*disk@//")
diff --git a/scripts/ofpathname b/scripts/ofpathname
index 1b2a1dd..c37c6bd 100755
--- a/scripts/ofpathname
+++ b/scripts/ofpathname
@@ -84,20 +84,20 @@ err()
fi
case $emsg in
- 1) echo "$OFPATHNAME: Could not retrieve Open Firmware device path"
- echo " for logical device \"$DEVNAME_ARG\"." ;;
+ 1) echo "$OFPATHNAME: Could not retrieve Open Firmware device path" 1>&2
+ echo " for logical device \"$DEVNAME_ARG\"." 1>&2 ;;
- 2) echo "$OFPATHNAME: sysfs (/sys) is needed and does not appear"
- echo " to be mounted on this system." ;;
+ 2) echo "$OFPATHNAME: sysfs (/sys) is needed and does not appear" 1>&2
+ echo " to be mounted on this system." 1>&2 ;;
- 3) echo "$OFPATHNAME: Could not find sysfs information for logical"
- echo " device \"$DEVNAME_ARG\"." ;;
+ 3) echo "$OFPATHNAME: Could not find sysfs information for logical" 1>&2
+ echo " device \"$DEVNAME_ARG\"." 1>&2 ;;
- 4) echo "$OFPATHANME: Logical device \"$DEVNAME_ARG\" does not appear"
- echo " to be configured." ;;
+ 4) echo "$OFPATHANME: Logical device \"$DEVNAME_ARG\" does not appear" 1>&2
+ echo " to be configured." 1>&2 ;;
- 5) echo "$OFPATHNAME: Could not retrieve logical device name for"
- echo " Open Firmware path \"$DEVNAME_ARG\"."
+ 5) echo "$OFPATHNAME: Could not retrieve logical device name for" 1>&2
+ echo " Open Firmware path \"$DEVNAME_ARG\"." 1>&2 ;;
esac
exit 1
@@ -1631,7 +1631,7 @@ of2l_nvme()
#
. $PSERIES_PLATFORM
if [[ $platform = $PLATFORM_POWERNV ]]; then
- echo "$OFPATHNAME: is not supported on the $platform_name platform"
+ echo "$OFPATHNAME: is not supported on the $platform_name platform" 1>&2
exit 1
fi

View File

@ -0,0 +1,29 @@
commit e1f1deb06d9168a95a381a2236e1d8c693d3d229
Author: Luciano Chavez <lnx1138@linux.ibm.com>
Date: Wed Aug 24 21:17:54 2022 -0500
lsslot: Explicity declare that lmb_address be displayed in hexadecimal
A printf statement used is lsslot.c was specifying the macro PRIu64 to
display the lmb_address. Depending on the compilation, this would
either display as a hexadecimal or decimal value.
This patch replaces PRIu64 with PRIx64 to explicitly declare to print
the value as hexadecimal as that was is normally expected of an address.
Signed-off-by: Luciano Chavez <lnx1138@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/drmgr/lsslot.c b/src/drmgr/lsslot.c
index 7ea0f8b..87f876e 100644
--- a/src/drmgr/lsslot.c
+++ b/src/drmgr/lsslot.c
@@ -756,7 +756,7 @@ int print_drconf_mem(struct lmb_list_head *lmb_list)
printf("%s: %s\n", lmb->drc_name,
lmb->is_owned ? "" : "Not Owned");
- printf(" DRC Index: %x Address: %"PRIu64"\n",
+ printf(" DRC Index: %x Address: %"PRIx64"\n",
lmb->drc_index, lmb->lmb_address);
printf(" Removable: %s Associativity: ",
lmb->is_removable ? "Yes" : "No ");

View File

@ -1,40 +0,0 @@
commit f567bdb8b2a3effdb4af06e2cf935b0350f2f881
Author: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Date: Wed Feb 20 15:44:09 2019 +0530
man/update_flash: Fix man page
Add heading to NOTES section.
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
diff --git a/man/update_flash.8 b/man/update_flash.8
index 0e5ccf6..254fbac 100644
--- a/man/update_flash.8
+++ b/man/update_flash.8
@@ -196,11 +196,15 @@ PowerNV
/sys/firmware/opal/{validate/manage/update}_flash
.fi
.SH NOTES
+.B Download firmware
+.fi
Firmware may be downloaded from the IBM website. Instructions for
downloading and installing the firmware image are also there, and
information there will be more up-to-date than this page.
.P
+.B Firmware update failure
+.fi
Various conditions can lead to a firmware update failure. If you
receive an authentication-related error, such as:
.P
@@ -222,6 +226,8 @@ following the steps outlined here:
http://publib.boulder.ibm.com/infocenter/powersys/v3r1m5/index.jsp?topic=/p7hatl/iphblresetserverp6.htm
.P
+.B AIX format image
+.fi
For older "AIX format" images, the file will have a .BIN extension. This
zip file happens to be an AIX binary, but it can be extracted with the
unzip command (with password from the web page):

View File

@ -0,0 +1,27 @@
commit acaf9c45a340f9bb49d6b21ba7ad60c21326ea73
Author: Mingming Cao <mmc@linux.vnet.ibm.com>
Date: Mon Nov 7 14:39:02 2022 -0800
hcnmgr: Fix setting primary slave across reboots
Using nmcli to set bonding of primary slave so that is set correctly
across reboots.
Signed-off-by: Mingming Cao <mmc@linux.vnet.ibm.com>
[tyreld: Reworded commit log]
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/scripts/hcnmgr b/scripts/hcnmgr
index 6946ff9..b5a6bfb 100644
--- a/scripts/hcnmgr
+++ b/scripts/hcnmgr
@@ -375,7 +375,8 @@ do_config_vdevice_nm() {
# if the device is primary, and link is up, force it as primary se
if [[ $MODE == "primary" ]]; then
hcnlog INFO "Change bonding primary slave to $DEVNAME"
- echo "$DEVNAME" >"$BOND_PATH"/primary
+ nmcli con mod id "$BONDNAME" +bond.options "primary=$DEVNAME"
+ nmcli con up "$BONDNAME"
fi
hcnlog DEBUG "do_config_vdevice: exit"

View File

@ -1,94 +1,72 @@
Name: powerpc-utils
Version: 1.3.6
Release: 3%{?dist}
Summary: Utilities for PowerPC platforms
Name: powerpc-utils
Version: 1.3.10
Release: 3%{?dist}
Summary: PERL-based scripts for maintaining and servicing PowerPC systems
Group: System Environment/Base
License: GPLv2
URL: https://github.com/ibm-power-utilities/powerpc-utils
Source0: https://github.com/ibm-power-utilities/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: nvsetenv
Group: System Environment/Base
License: GPLv2
URL: https://github.com/ibm-power-utilities/powerpc-utils
Source0: https://github.com/ibm-power-utilities/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
Patch0: powerpc-utils-1.3.10-manpages.patch
Patch1: powerpc-utils-1.3.10-distro.patch
# bz#2121470, Fix lsslot -c mem output when using 4GB LMB size
Patch3: powerpc-utils-b1b9e7-LMB_size_4GB.patch
Patch4: powerpc-utils-e1f1de-lmb_address_in_hexadecimal.patch
Patch5: powerpc-utils-fix_setting_primary_slave_across_reboots.patch
ExclusiveArch: ppc %{power64}
ExclusiveArch: ppc %{power64}
BuildRequires: automake
BuildRequires: doxygen
BuildRequires: zlib-devel
BuildRequires: librtas-devel >= 1.4.0
BuildRequires: libservicelog-devel >= 1.0.1-2
BuildRequires: perl-generators
BuildRequires: gcc
BuildRequires: make
BuildRequires: automake
BuildRequires: doxygen
BuildRequires: zlib-devel
BuildRequires: librtas-devel >= 1.4.0
BuildRequires: libservicelog-devel >= 1.0.1-2
BuildRequires: perl-generators
BuildRequires: systemd
BuildRequires: numactl-devel
Requires: /usr/bin/which
# rtas_dump explicit dependency
Requires: perl(Data::Dumper)
Requires: %{name}-core = %{version}-%{release}
Patch1: powerpc-utils-1.2.15-man.patch
Patch2: powerpc-utils-1.2.27-makefile.patch
# missing man pages: update_flash_nv, pseries_platform
Patch3: powerpc-utils-1.3.5-pseries_platform-man.patch
Patch4: powerpc-utils-1.3.5-update_flash_nv.patch
Patch5: powerpc-utils-1.3.5-install-man.patch
# lparstat and update_flash fixes
Patch6: powerpc-utils-f567bdb8b2a3effdb4af06e2cf935b0350f2f881.patch
Patch7: powerpc-utils-b5fea40ac98d1c9a685d98c011e88180c31ca0be.patch
Patch8: powerpc-utils-bc928b06605371b72c7fe8ec7e81886114a9e9d4.patch
Patch9: powerpc-utils-8b7978b114e5df89218daa9b4b48cc0e918ba917.patch
Patch10: powerpc-utils-1d4147370a148b3a2ebadcf02abd4a6c9a763e6d.patch
# Improve handling of errors from subsidiary scripts
Patch11: powerpc-utils-dd6da6b329bac2743d1c80b5556b494c923c11ad.patch
Requires: perl(Data::Dumper)
Requires: %{name}-core = %{version}-%{release}
%description
Utilities for PowerPC platforms.
PERL-based scripts for maintaining and servicing PowerPC systems.
%package core
Summary: Core utilities for PowerPC platforms
Requires: /usr/bin/awk
Requires: /usr/bin/basename
Requires: /usr/bin/bc
Requires: /usr/bin/cat
Requires: /usr/bin/cut
Requires: /usr/bin/echo
Requires: /usr/bin/find
Requires: /bin/grep
Requires: /usr/bin/head
Requires: /usr/bin/ls
Requires: /usr/bin/sed
Requires: /usr/bin/tr
Requires: /usr/bin/udevadm
Summary: Core utilities for maintaining and servicing PowerPC systems
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Requires: kmod
Requires: which
Requires: gawk
Requires: bc
Requires: findutils
Requires: grep
Requires: sed
Requires: systemd-udev
Requires: coreutils
%description core
Core utilities for PowerPC platforms.
Core utilities for maintaining and servicing PowerPC systems.
%prep
%setup -q
%autosetup -p1
%patch1 -p1 -b .man
%patch2 -p1 -b .makefile
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%build
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
./autogen.sh
%configure
%configure --with-systemd=%{_unitdir} --disable-werror
make %{?_smp_mflags}
%install
make install DESTDIR=$RPM_BUILD_ROOT FILES= RCSCRIPTS=
install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sbindir}/nvsetenv
#define pkgdocdir {_datadir}/doc/{name}-{version}
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
@ -105,16 +83,48 @@ rm -rf $RPM_BUILD_ROOT/etc/init.d/ibmvscsis.sh $RPM_BUILD_ROOT/usr/sbin/vscsisad
# nvsetenv is just a wrapper to nvram
ln -s nvram.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/nvsetenv.8.gz
# symlink uspchrp
ln -s serv_config %{buildroot}%{_sbindir}/uspchrp
ln -s serv_config.8 %{buildroot}%{_mandir}/man8/uspchrp.8
# deprecated, use sosreport instead
rm -f $RPM_BUILD_ROOT%{_sbindir}/snap $RPM_BUILD_ROOT%{_mandir}/man8/snap.8*
%post core
%systemd_post hcn-init.service
# update the smt.state file with current SMT
/usr/sbin/smtstate --save >/dev/null 2>&1 || :
%preun core
%systemd_preun smtstate.service
%systemd_preun hcn-init.service
%postun core
%systemd_postun_with_restart smtstate.service
%systemd_postun_with_restart hcn-init.service
%posttrans core
systemctl enable hcn-init.service >/dev/null 2>&1 || :
%files
# PERL-based scripts for maintaining and servicing PowerPC systems
%doc README Changelog
%{_sbindir}/hvcsadmin
%{_sbindir}/rtas_dump
%{_mandir}/man8/hvcsadmin.8*
%{_mandir}/man8/rtas_dump.8*
%files core
%license COPYING
%dir %{_localstatedir}/lib/powerpc-utils
%config(noreplace) %{_localstatedir}/lib/powerpc-utils/smt.state
%{_unitdir}/smtstate.service
%{_unitdir}/smt_off.service
%{_unitdir}/hcn-init.service
%{_bindir}/amsstat
%{_sbindir}/activate_firmware
%{_sbindir}/bootlist
%{_sbindir}/drmgr
%{_sbindir}/errinjct
%{_sbindir}/hvcsadmin
%{_sbindir}/lparstat
%{_sbindir}/lsdevinfo
%{_sbindir}/lsprop
@ -125,7 +135,6 @@ ln -s nvram.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/nvsetenv.8.gz
%{_sbindir}/nvsetenv
%{_sbindir}/ppc64_cpu
%{_sbindir}/rtas_dbg
%{_sbindir}/rtas_dump
%{_sbindir}/rtas_event_decode
%{_sbindir}/rtas_ibm_get_vpd
%{_sbindir}/serv_config
@ -134,18 +143,25 @@ ln -s nvram.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/nvsetenv.8.gz
%{_sbindir}/uesensor
%{_sbindir}/update_flash
%{_sbindir}/update_flash_nv
# use sosreport from sos instead
%exclude %{_sbindir}/snap
%exclude %{_mandir}/man8/snap.8*
%{_sbindir}/uspchrp
%{_sbindir}/hcncfgdrc
%{_sbindir}/hcnmgr
%{_sbindir}/hcnqrydev
%{_sbindir}/hcnrmdev
%{_sbindir}/hcnrmhcn
%{_sbindir}/hcnversion
%{_sbindir}/vcpustat
%{_sbindir}/smtstate
%{_sbindir}/nvram
%{_sbindir}/ofpathname
%{_sbindir}/pseries_platform
%{_sbindir}/drmgr
%{_sbindir}/lparnumascore
%{_mandir}/man1/amsstat.1*
%{_mandir}/man5/lparcfg.5*
%{_mandir}/man8/activate_firmware.8*
%{_mandir}/man8/bootlist.8*
%{_mandir}/man8/drmgr.8*
%{_mandir}/man8/errinjct.8*
%{_mandir}/man8/hvcsadmin.8*
%{_mandir}/man8/lparstat.8*
%{_mandir}/man8/lsdevinfo.8*
%{_mandir}/man8/lsprop.8*
@ -156,7 +172,6 @@ ln -s nvram.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/nvsetenv.8.gz
%{_mandir}/man8/nvsetenv.8*
%{_mandir}/man8/ppc64_cpu.8*
%{_mandir}/man8/rtas_dbg.8*
%{_mandir}/man8/rtas_dump.8*
%{_mandir}/man8/rtas_event_decode.8*
%{_mandir}/man8/rtas_ibm_get_vpd.8*
%{_mandir}/man8/serv_config.8*
@ -164,21 +179,100 @@ ln -s nvram.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/nvsetenv.8.gz
%{_mandir}/man8/sys_ident.8*
%{_mandir}/man8/uesensor.8*
%{_mandir}/man8/update_flash.8*
%{_mandir}/man8/update_flash_nv.8*
%{_mandir}/man8/pseries_platform.8*
%files core
%license COPYING
%{_sbindir}/nvram
%{_sbindir}/ofpathname
%{_sbindir}/pseries_platform
%{_mandir}/man8/update_flash_nv.8*
%{_mandir}/man8/uspchrp.8*
%{_mandir}/man8/vcpustat.8.gz
%{_mandir}/man8/smtstate.8.gz
%{_mandir}/man8/hcnmgr.8*
%{_mandir}/man8/nvram.8*
%{_mandir}/man8/ofpathname.8*
%{_mandir}/man8/drmgr.8*
%{_mandir}/man8/lparnumascore.8*
%changelog
* Mon Nov 28 2022 Than Ngo <than@redhat.com> - 1.3.10-3
- Resolves: #2148878, HNV bond fails to come up with sriov interface as active slave
* Fri Oct 21 2022 Than Ngo <than@redhat.com> - 1.3.10-2
- Resolves: #2121481, Fix lsslot -c mem output when using 4GB LMB size
* Mon Jun 06 2022 Than Ngo <than@redhat.com> - 1.3.10-1
- Resolves: #2051330, Linux Hybrid Network Virtualization update
- Resolves: #2083469, smtstate --save command failed
* Fri May 13 2022 Than Ngo <than@redhat.com> - 1.3.9-3
- Resolves: #2059459, add new DRC type description strings for latest PCIe slot types
- Resolves: #2078514, Fix NM HNV setting primary slave
- Resolves: #2083469, smtstate test failed as smtstate --save command failed
* Thu Dec 09 2021 Than Ngo <than@redhat.com> - 1.3.9-1
- Resolves: #2028690, rebase to 1.3.9
* Thu Dec 02 2021 Than Ngo <than@redhat.com> - 1.3.8-10
- Related: #2022225, increase release
* Thu Nov 11 2021 Than Ngo <than@redhat.com> - 1.3.8-9
- Resolves: #2022225, enable support vnic as backend for HNV interfaces
* Thu Oct 07 2021 Than Ngo <than@redhat.com> - 1.3.8-8
- lsdevinfo: optimize criteria filtering
* Fri Jul 16 2021 Than Ngo <than@redhat.com> - 1.3.8-7
- Related: #1938420, Fix checking HCNID array size at boot time
* Thu Apr 01 2021 Than Ngo <than@redhat.com> - 1.3.8-6
- Resolves: #1935658, New lparstat -x option to report the security flavor
- Resolves: #1953818, Use od instead xxd
- Resolves: #1938420, rebase patch fix_boot-time_bonding_interface_cleanup_and_avoid_use_ifcfg
- Resolves: #1940358, ppc64_cpu --help does not list --version as an option
- Resolves: #1951068, take care of NUMA topology when removing memory (DLPAR)
* Wed Feb 03 2021 Than Ngo <than@redhat.com> - 1.3.8-5
- Resolves: #1924150, Fix boot-time bonding interface cleanup and avoid use ifcfg
* Mon Dec 21 2020 Than Ngo <than@redhat.com> - 1.3.8-4
- Resolves: #1909526, additional patches to support Linux Hybrid Network Virtualization
- Resolves: #1909135, move commands that dont depend on perl to core subpackage
* Tue Oct 06 2020 Than Ngo <than@redhat.com> - 1.3.8-3
- Resolves: #1868474, ofpathname: Use NVMe controller physical nsid
- Resolves: #1885532, sys_ident: Skip length field from search
* Thu Oct 01 2020 Than Ngo <than@redhat.com> - 1.3.8-2
- Related: #1853297, add missing hcnmgr manpage and Req on which
* Thu Oct 01 2020 Than Ngo <than@redhat.com> - 1.3.8-1
- Resolves: #1853297, rebase to 1.3.8
- Resolves: #1802181, SR-IOV - Linux Hybrid Network Virtualization
- Resolves: #1844421, Include vcpustat
* Wed Jun 24 2020 Than Ngo <than@redhat.com> - 1.3.6-11
- Resolves: #1847604, ofpathname: failed to boot
* Fri Jun 19 2020 Than Ngo <than@redhat.com> - 1.3.6-10
- Resolves: #1848839, update lparstat man page with -E option
* Fri May 22 2020 Than Ngo <than@redhat.com> - 1.3.6-9
- Resolves: #1837751, ofpathname: speed up l2of_scsi()
* Fri May 15 2020 Than Ngo <than@redhat.com> - 1.3.6-8
- Related: #1783285, update the patches V4
* Wed May 13 2020 Than Ngo <than@redhat.com> - 1.3.6-7
- Resolves: #1783285, Track and expose idle PURR and SPURR ticks
* Wed Mar 25 2020 Than Ngo <than@redhat.com> - 1.3.6-6
- Resolves: #1819566 - move drmgr in core to avoid pulling in Perl
- Resolves: #1806870 - ignored null byte in input
- Resolves: #1779197 - enable support for ibm,drc-info property
* Wed Dec 04 2019 Than Ngo <than@redhat.com> - 1.3.6-5
- Resolves: #1779257, Safe bootlist update
* Wed Jul 24 2019 Than Ngo <than@redhat.com> - 1.3.6-4
- Resolves: #1719372 - wrong disk gets booted after installation
* Fri Jun 07 2019 Than Ngo <than@redhat.com> - 1.3.6-3
- Resolves: #1718254, improve handling of errors from subsidiary scripts