!51 [sync] PR-47: Modify format of Hisilicon common error records and support ras-mc-ctl for it
From: @openeuler-sync-bot Reviewed-by: @overweight Signed-off-by: @overweight
This commit is contained in:
commit
05d7ffb6cc
224
0001-rasdaemon-Modify-recording-Hisilicon-common-error-da.patch
Normal file
224
0001-rasdaemon-Modify-recording-Hisilicon-common-error-da.patch
Normal file
@ -0,0 +1,224 @@
|
||||
From 62218a9c3aec44330ce3b77f3634c788b6e6f60c Mon Sep 17 00:00:00 2001
|
||||
From: Shiju Jose <shiju.jose@huawei.com>
|
||||
Date: Wed, 2 Mar 2022 12:20:40 +0000
|
||||
Subject: [PATCH 1/6] rasdaemon: Modify recording Hisilicon common error data
|
||||
|
||||
The error statistics for the Hisilicon common
|
||||
error need to do based on module, error severity etc.
|
||||
|
||||
Modify recording Hisilicon common error data as separate fields
|
||||
in the sql db table instead of the combined single field.
|
||||
|
||||
Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
|
||||
---
|
||||
non-standard-hisilicon.c | 122 ++++++++++++++++++++++++++++++++-------
|
||||
1 file changed, 102 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/non-standard-hisilicon.c b/non-standard-hisilicon.c
|
||||
index 1432163..dc69d46 100644
|
||||
--- a/non-standard-hisilicon.c
|
||||
+++ b/non-standard-hisilicon.c
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "non-standard-hisilicon.h"
|
||||
|
||||
#define HISI_BUF_LEN 2048
|
||||
+#define HISI_PCIE_INFO_BUF_LEN 256
|
||||
|
||||
struct hisi_common_error_section {
|
||||
uint32_t val_bits;
|
||||
@@ -63,12 +64,25 @@ enum {
|
||||
enum {
|
||||
HISI_COMMON_FIELD_ID,
|
||||
HISI_COMMON_FIELD_TIMESTAMP,
|
||||
- HISI_COMMON_FIELD_ERR_INFO,
|
||||
+ HISI_COMMON_FIELD_VERSION,
|
||||
+ HISI_COMMON_FIELD_SOC_ID,
|
||||
+ HISI_COMMON_FIELD_SOCKET_ID,
|
||||
+ HISI_COMMON_FIELD_TOTEM_ID,
|
||||
+ HISI_COMMON_FIELD_NIMBUS_ID,
|
||||
+ HISI_COMMON_FIELD_SUB_SYSTEM_ID,
|
||||
+ HISI_COMMON_FIELD_MODULE_ID,
|
||||
+ HISI_COMMON_FIELD_SUB_MODULE_ID,
|
||||
+ HISI_COMMON_FIELD_CORE_ID,
|
||||
+ HISI_COMMON_FIELD_PORT_ID,
|
||||
+ HISI_COMMON_FIELD_ERR_TYPE,
|
||||
+ HISI_COMMON_FIELD_PCIE_INFO,
|
||||
+ HISI_COMMON_FIELD_ERR_SEVERITY,
|
||||
HISI_COMMON_FIELD_REGS_DUMP,
|
||||
};
|
||||
|
||||
struct hisi_event {
|
||||
char error_msg[HISI_BUF_LEN];
|
||||
+ char pcie_info[HISI_PCIE_INFO_BUF_LEN];
|
||||
char reg_msg[HISI_BUF_LEN];
|
||||
};
|
||||
|
||||
@@ -134,12 +148,24 @@ int step_vendor_data_tab(struct ras_ns_ev_decoder *ev_decoder, const char *name)
|
||||
static const struct db_fields hisi_common_section_fields[] = {
|
||||
{ .name = "id", .type = "INTEGER PRIMARY KEY" },
|
||||
{ .name = "timestamp", .type = "TEXT" },
|
||||
- { .name = "err_info", .type = "TEXT" },
|
||||
+ { .name = "version", .type = "INTEGER" },
|
||||
+ { .name = "soc_id", .type = "INTEGER" },
|
||||
+ { .name = "socket_id", .type = "INTEGER" },
|
||||
+ { .name = "totem_id", .type = "INTEGER" },
|
||||
+ { .name = "nimbus_id", .type = "INTEGER" },
|
||||
+ { .name = "sub_system_id", .type = "INTEGER" },
|
||||
+ { .name = "module_id", .type = "TEXT" },
|
||||
+ { .name = "sub_module_id", .type = "INTEGER" },
|
||||
+ { .name = "core_id", .type = "INTEGER" },
|
||||
+ { .name = "port_id", .type = "INTEGER" },
|
||||
+ { .name = "err_type", .type = "INTEGER" },
|
||||
+ { .name = "pcie_info", .type = "TEXT" },
|
||||
+ { .name = "err_severity", .type = "TEXT" },
|
||||
{ .name = "regs_dump", .type = "TEXT" },
|
||||
};
|
||||
|
||||
static const struct db_table_descriptor hisi_common_section_tab = {
|
||||
- .name = "hisi_common_section",
|
||||
+ .name = "hisi_common_section_v2",
|
||||
.fields = hisi_common_section_fields,
|
||||
.num_fields = ARRAY_SIZE(hisi_common_section_fields),
|
||||
};
|
||||
@@ -199,12 +225,20 @@ static const char* get_soc_desc(uint8_t soc_id)
|
||||
return soc_desc[soc_id];
|
||||
}
|
||||
|
||||
-static void decode_module(struct hisi_event *event, uint8_t module_id)
|
||||
+static void decode_module(struct ras_ns_ev_decoder *ev_decoder,
|
||||
+ struct hisi_event *event, uint8_t module_id)
|
||||
{
|
||||
- if (module_id >= sizeof(module_name)/sizeof(char *))
|
||||
+ if (module_id >= sizeof(module_name)/sizeof(char *)) {
|
||||
HISI_SNPRINTF(event->error_msg, "module=unknown(id=%hhu) ", module_id);
|
||||
- else
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_TEXT,
|
||||
+ HISI_COMMON_FIELD_MODULE_ID,
|
||||
+ 0, "unknown");
|
||||
+ } else {
|
||||
HISI_SNPRINTF(event->error_msg, "module=%s ", module_name[module_id]);
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_TEXT,
|
||||
+ HISI_COMMON_FIELD_MODULE_ID,
|
||||
+ 0, module_name[module_id]);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void decode_hisi_common_section_hdr(struct ras_ns_ev_decoder *ev_decoder,
|
||||
@@ -212,43 +246,93 @@ static void decode_hisi_common_section_hdr(struct ras_ns_ev_decoder *ev_decoder,
|
||||
struct hisi_event *event)
|
||||
{
|
||||
HISI_SNPRINTF(event->error_msg, "[ table_version=%hhu", err->version);
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_SOC_ID))
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_INT,
|
||||
+ HISI_COMMON_FIELD_VERSION,
|
||||
+ err->version, NULL);
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_SOC_ID)) {
|
||||
HISI_SNPRINTF(event->error_msg, "soc=%s", get_soc_desc(err->soc_id));
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_INT,
|
||||
+ HISI_COMMON_FIELD_SOC_ID,
|
||||
+ err->soc_id, NULL);
|
||||
+ }
|
||||
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_SOCKET_ID))
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_SOCKET_ID)) {
|
||||
HISI_SNPRINTF(event->error_msg, "socket_id=%hhu", err->socket_id);
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_INT,
|
||||
+ HISI_COMMON_FIELD_SOCKET_ID,
|
||||
+ err->socket_id, NULL);
|
||||
+ }
|
||||
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_TOTEM_ID))
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_TOTEM_ID)) {
|
||||
HISI_SNPRINTF(event->error_msg, "totem_id=%hhu", err->totem_id);
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_INT,
|
||||
+ HISI_COMMON_FIELD_TOTEM_ID,
|
||||
+ err->totem_id, NULL);
|
||||
+ }
|
||||
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_NIMBUS_ID))
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_NIMBUS_ID)) {
|
||||
HISI_SNPRINTF(event->error_msg, "nimbus_id=%hhu", err->nimbus_id);
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_INT,
|
||||
+ HISI_COMMON_FIELD_NIMBUS_ID,
|
||||
+ err->nimbus_id, NULL);
|
||||
+ }
|
||||
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_SUBSYSTEM_ID))
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_SUBSYSTEM_ID)) {
|
||||
HISI_SNPRINTF(event->error_msg, "subsystem_id=%hhu", err->subsystem_id);
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_INT,
|
||||
+ HISI_COMMON_FIELD_SUB_SYSTEM_ID,
|
||||
+ err->subsystem_id, NULL);
|
||||
+ }
|
||||
|
||||
if (err->val_bits & BIT(HISI_COMMON_VALID_MODULE_ID))
|
||||
- decode_module(event, err->module_id);
|
||||
+ decode_module(ev_decoder, event, err->module_id);
|
||||
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_SUBMODULE_ID))
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_SUBMODULE_ID)) {
|
||||
HISI_SNPRINTF(event->error_msg, "submodule_id=%hhu", err->submodule_id);
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_INT,
|
||||
+ HISI_COMMON_FIELD_SUB_MODULE_ID,
|
||||
+ err->submodule_id, NULL);
|
||||
+ }
|
||||
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_CORE_ID))
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_CORE_ID)) {
|
||||
HISI_SNPRINTF(event->error_msg, "core_id=%hhu", err->core_id);
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_INT,
|
||||
+ HISI_COMMON_FIELD_CORE_ID,
|
||||
+ err->core_id, NULL);
|
||||
+ }
|
||||
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_PORT_ID))
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_PORT_ID)) {
|
||||
HISI_SNPRINTF(event->error_msg, "port_id=%hhu", err->port_id);
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_INT,
|
||||
+ HISI_COMMON_FIELD_PORT_ID,
|
||||
+ err->port_id, NULL);
|
||||
+ }
|
||||
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_ERR_TYPE))
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_ERR_TYPE)) {
|
||||
HISI_SNPRINTF(event->error_msg, "err_type=%hu", err->err_type);
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_INT,
|
||||
+ HISI_COMMON_FIELD_ERR_TYPE,
|
||||
+ err->err_type, NULL);
|
||||
+ }
|
||||
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_PCIE_INFO))
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_PCIE_INFO)) {
|
||||
HISI_SNPRINTF(event->error_msg, "pcie_device_id=%04x:%02x:%02x.%x",
|
||||
err->pcie_info.segment, err->pcie_info.bus,
|
||||
err->pcie_info.device, err->pcie_info.function);
|
||||
+ HISI_SNPRINTF(event->pcie_info, "%04x:%02x:%02x.%x",
|
||||
+ err->pcie_info.segment, err->pcie_info.bus,
|
||||
+ err->pcie_info.device, err->pcie_info.function);
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_TEXT,
|
||||
+ HISI_COMMON_FIELD_PCIE_INFO,
|
||||
+ 0, event->pcie_info);
|
||||
+ }
|
||||
|
||||
- if (err->val_bits & BIT(HISI_COMMON_VALID_ERR_SEVERITY))
|
||||
+ if (err->val_bits & BIT(HISI_COMMON_VALID_ERR_SEVERITY)) {
|
||||
HISI_SNPRINTF(event->error_msg, "err_severity=%s", err_severity(err->err_severity));
|
||||
+ record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_TEXT,
|
||||
+ HISI_COMMON_FIELD_ERR_SEVERITY,
|
||||
+ 0, err_severity(err->err_severity));
|
||||
+ }
|
||||
|
||||
HISI_SNPRINTF(event->error_msg, "]");
|
||||
}
|
||||
@@ -293,8 +377,6 @@ static int decode_hisi_common_section(struct ras_events *ras,
|
||||
record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_TEXT,
|
||||
HISI_COMMON_FIELD_TIMESTAMP,
|
||||
0, event->timestamp);
|
||||
- record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_TEXT,
|
||||
- HISI_COMMON_FIELD_ERR_INFO, 0, hevent.error_msg);
|
||||
record_vendor_data(ev_decoder, HISI_OEM_DATA_TYPE_TEXT,
|
||||
HISI_COMMON_FIELD_REGS_DUMP, 0, hevent.reg_msg);
|
||||
step_vendor_data_tab(ev_decoder, "hisi_common_section_tab");
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@ -0,0 +1,97 @@
|
||||
From 4d9f297028ce3116eaf574b2570d71a4ed666b7d Mon Sep 17 00:00:00 2001
|
||||
From: Shiju Jose <shiju.jose@huawei.com>
|
||||
Date: Thu, 24 Feb 2022 18:02:14 +0000
|
||||
Subject: [PATCH 2/6] rasdaemon: ras-mc-ctl: Modify error statistics for
|
||||
HiSilicon Kunpeng9xx common errors
|
||||
|
||||
Modify the error statistics for the HiSilicon Kunpeng9xx platforms common errors
|
||||
to display the statistics and error info based on the module and the error severity.
|
||||
|
||||
Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
|
||||
---
|
||||
util/ras-mc-ctl.in | 40 +++++++++++++++++++++++++++++-----------
|
||||
1 file changed, 29 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/util/ras-mc-ctl.in b/util/ras-mc-ctl.in
|
||||
index 1e3aeb7..22ba1fd 100755
|
||||
--- a/util/ras-mc-ctl.in
|
||||
+++ b/util/ras-mc-ctl.in
|
||||
@@ -1535,7 +1535,7 @@ sub vendor_errors_summary
|
||||
require DBI;
|
||||
my ($num_args, $platform_id);
|
||||
my ($query, $query_handle, $count, $out);
|
||||
- my ($module_id, $sub_module_id, $err_severity, $err_sev, $err_info);
|
||||
+ my ($module_id, $sub_module_id, $err_severity, $err_sev);
|
||||
|
||||
$num_args = $#ARGV + 1;
|
||||
$platform_id = 0;
|
||||
@@ -1612,13 +1612,18 @@ sub vendor_errors_summary
|
||||
|
||||
# HiSilicon Kunpeng9xx common errors
|
||||
if ($platform_id eq HISILICON_KUNPENG_9XX) {
|
||||
- $query = "select err_info, count(*) from hisi_common_section";
|
||||
+ $query = "select err_severity, module_id, count(*) from hisi_common_section_v2 group by err_severity, module_id";
|
||||
$query_handle = $dbh->prepare($query);
|
||||
$query_handle->execute();
|
||||
- $query_handle->bind_columns(\($err_info, $count));
|
||||
+ $query_handle->bind_columns(\($err_severity, $module_id, $count));
|
||||
$out = "";
|
||||
+ $err_sev = "";
|
||||
while($query_handle->fetch()) {
|
||||
- $out .= "\terrors: $count\n";
|
||||
+ if ($err_severity ne $err_sev) {
|
||||
+ $out .= "$err_severity errors:\n";
|
||||
+ $err_sev = $err_severity;
|
||||
+ }
|
||||
+ $out .= "\t$module_id: $count\n";
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng9xx common error events summary:\n$out\n";
|
||||
@@ -1636,8 +1641,8 @@ sub vendor_errors
|
||||
require DBI;
|
||||
my ($num_args, $platform_id);
|
||||
my ($query, $query_handle, $id, $timestamp, $out);
|
||||
- my ($version, $soc_id, $socket_id, $nimbus_id, $core_id, $port_id);
|
||||
- my ($module_id, $sub_module_id, $err_severity, $err_type, $err_info, $regs);
|
||||
+ my ($version, $soc_id, $socket_id, $totem_id, $nimbus_id, $sub_system_id, $core_id, $port_id);
|
||||
+ my ($module_id, $sub_module_id, $err_severity, $err_type, $pcie_info, $regs);
|
||||
|
||||
$num_args = $#ARGV + 1;
|
||||
$platform_id = 0;
|
||||
@@ -1725,15 +1730,28 @@ sub vendor_errors
|
||||
|
||||
# HiSilicon Kunpeng9xx common errors
|
||||
if ($platform_id eq HISILICON_KUNPENG_9XX) {
|
||||
- $query = "select id, timestamp, err_info, regs_dump from hisi_common_section order by id";
|
||||
+ $query = "select id, timestamp, version, soc_id, socket_id, totem_id, nimbus_id, sub_system_id, module_id, sub_module_id, core_id, port_id, err_type, pcie_info, err_severity, regs_dump from hisi_common_section_v2 order by id, module_id, err_severity";
|
||||
$query_handle = $dbh->prepare($query);
|
||||
$query_handle->execute();
|
||||
- $query_handle->bind_columns(\($id, $timestamp, $err_info, $regs));
|
||||
+ $query_handle->bind_columns(\($id, $timestamp, $version, $soc_id, $socket_id, $totem_id, $nimbus_id, $sub_system_id, $module_id, $sub_module_id, $core_id, $port_id, $err_type, $pcie_info, $err_severity, $regs));
|
||||
$out = "";
|
||||
while($query_handle->fetch()) {
|
||||
- $out .= "$id. $timestamp ";
|
||||
- $out .= "Error Info:$err_info \n" if ($err_info);
|
||||
- $out .= "Error Registers: $regs\n\n" if ($regs);
|
||||
+ $out .= "$id. $timestamp Error Info: ";
|
||||
+ $out .= "version=$version, ";
|
||||
+ $out .= "soc_id=$soc_id, " if ($soc_id);
|
||||
+ $out .= "socket_id=$socket_id, " if ($socket_id);
|
||||
+ $out .= "totem_id=$totem_id, " if ($totem_id);
|
||||
+ $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
+ $out .= "sub_system_id=$sub_system_id, " if ($sub_system_id);
|
||||
+ $out .= "module_id=$module_id, " if ($module_id);
|
||||
+ $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
+ $out .= "core_id=$core_id, " if ($core_id);
|
||||
+ $out .= "port_id=$port_id, " if ($port_id);
|
||||
+ $out .= "err_type=$err_type, " if ($err_type);
|
||||
+ $out .= "pcie_info=$pcie_info, " if ($pcie_info);
|
||||
+ $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
+ $out .= "Error Registers: $regs" if ($regs);
|
||||
+ $out .= "\n\n";
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng9xx common error events:\n$out\n";
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@ -0,0 +1,56 @@
|
||||
From eb93d77b417b58cba27799ae85747b8a193cf063 Mon Sep 17 00:00:00 2001
|
||||
From: Shiju Jose <shiju.jose@huawei.com>
|
||||
Date: Sat, 5 Mar 2022 16:18:55 +0000
|
||||
Subject: [PATCH 3/6] rasdaemon: ras-mc-ctl: Reformat error info of the
|
||||
HiSilicon Kunpeng920
|
||||
|
||||
Reformat the code to display the error info of HiSilicon Kunpeng920.
|
||||
|
||||
Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
|
||||
---
|
||||
util/ras-mc-ctl.in | 15 +++++++++------
|
||||
1 file changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/util/ras-mc-ctl.in b/util/ras-mc-ctl.in
|
||||
index 22ba1fd..eeaf885 100755
|
||||
--- a/util/ras-mc-ctl.in
|
||||
+++ b/util/ras-mc-ctl.in
|
||||
@@ -1669,8 +1669,9 @@ sub vendor_errors
|
||||
$out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
$out .= "module_id=$module_id, " if ($module_id);
|
||||
$out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
- $out .= "err_severity=$err_severity, \n" if ($err_severity);
|
||||
- $out .= "Error Registers: $regs\n\n" if ($regs);
|
||||
+ $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
+ $out .= "Error Registers: $regs " if ($regs);
|
||||
+ $out .= "\n\n";
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng920 OEM type1 error events:\n$out\n";
|
||||
@@ -1692,8 +1693,9 @@ sub vendor_errors
|
||||
$out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
$out .= "module_id=$module_id, " if ($module_id);
|
||||
$out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
- $out .= "err_severity=$err_severity, \n" if ($err_severity);
|
||||
- $out .= "Error Registers: $regs\n\n" if ($regs);
|
||||
+ $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
+ $out .= "Error Registers: $regs " if ($regs);
|
||||
+ $out .= "\n\n";
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng920 OEM type2 error events:\n$out\n";
|
||||
@@ -1717,8 +1719,9 @@ sub vendor_errors
|
||||
$out .= "core_id=$core_id, " if ($core_id);
|
||||
$out .= "port_id=$port_id, " if ($port_id);
|
||||
$out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
- $out .= "err_type=$err_type, \n" if ($err_type);
|
||||
- $out .= "Error Registers: $regs\n\n" if ($regs);
|
||||
+ $out .= "err_type=$err_type, " if ($err_type);
|
||||
+ $out .= "Error Registers: $regs " if ($regs);
|
||||
+ $out .= "\n\n";
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng920 PCIe controller error events:\n$out\n";
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@ -0,0 +1,36 @@
|
||||
From 623e85c07ab21ccc89ffe2bb444eb000a2664a9d Mon Sep 17 00:00:00 2001
|
||||
From: Shiju Jose <shiju.jose@huawei.com>
|
||||
Date: Sat, 5 Mar 2022 17:01:35 +0000
|
||||
Subject: [PATCH 4/6] rasdaemon: ras-mc-ctl: Add printing usage if necessary
|
||||
parameters are not passed for the HiSilicon vendor-errors options
|
||||
|
||||
Add printing usage if necessary parameters are not passed for the HiSilicon vendor-errors options of the ras-mc-ctl.
|
||||
|
||||
Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
|
||||
---
|
||||
util/ras-mc-ctl.in | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/util/ras-mc-ctl.in b/util/ras-mc-ctl.in
|
||||
index eeaf885..0e32cb1 100755
|
||||
--- a/util/ras-mc-ctl.in
|
||||
+++ b/util/ras-mc-ctl.in
|
||||
@@ -1542,6 +1542,7 @@ sub vendor_errors_summary
|
||||
if ($num_args ne 0) {
|
||||
$platform_id = $ARGV[0];
|
||||
} else {
|
||||
+ usage(1);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1649,6 +1650,7 @@ sub vendor_errors
|
||||
if ($num_args ne 0) {
|
||||
$platform_id = $ARGV[0];
|
||||
} else {
|
||||
+ usage(1);
|
||||
return;
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
||||
198
0005-rasdaemon-ras-mc-ctl-Add-support-to-display-the-HiSi.patch
Normal file
198
0005-rasdaemon-ras-mc-ctl-Add-support-to-display-the-HiSi.patch
Normal file
@ -0,0 +1,198 @@
|
||||
From 4007c95f8a8d570542ffc11676b619ea5649d0e7 Mon Sep 17 00:00:00 2001
|
||||
From: Shiju Jose <shiju.jose@huawei.com>
|
||||
Date: Sat, 5 Mar 2022 18:19:38 +0000
|
||||
Subject: [PATCH 5/6] rasdaemon: ras-mc-ctl: Add support to display the
|
||||
HiSilicon vendor errors for a specified module
|
||||
|
||||
Add support to display the HiSilicon vendor errors for a specified module.
|
||||
|
||||
Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
|
||||
---
|
||||
util/ras-mc-ctl.in | 119 ++++++++++++++++++++++++---------------------
|
||||
1 file changed, 63 insertions(+), 56 deletions(-)
|
||||
|
||||
diff --git a/util/ras-mc-ctl.in b/util/ras-mc-ctl.in
|
||||
index 0e32cb1..d728300 100755
|
||||
--- a/util/ras-mc-ctl.in
|
||||
+++ b/util/ras-mc-ctl.in
|
||||
@@ -96,7 +96,8 @@ Usage: $prog [OPTIONS...]
|
||||
--errors Shows the errors stored at the error database.
|
||||
--error-count Shows the corrected and uncorrected error counts using sysfs.
|
||||
--vendor-errors-summary <platform-id> Presents a summary of the vendor-specific logged errors.
|
||||
- --vendor-errors <platform-id> Shows the vendor-specific errors stored in the error database.
|
||||
+ --vendor-errors <platform-id> Shows the vendor-specific errors stored in the error database.
|
||||
+ --vendor-errors <platform-id> <module-name> Shows the vendor-specific errors for a specific module stored in the error database.
|
||||
--vendor-platforms Shows the supported platforms with platform-ids for the vendor-specific errors.
|
||||
--help This help message.
|
||||
EOF
|
||||
@@ -1640,15 +1641,19 @@ sub vendor_errors_summary
|
||||
sub vendor_errors
|
||||
{
|
||||
require DBI;
|
||||
- my ($num_args, $platform_id);
|
||||
+ my ($num_args, $platform_id, $module);
|
||||
my ($query, $query_handle, $id, $timestamp, $out);
|
||||
my ($version, $soc_id, $socket_id, $totem_id, $nimbus_id, $sub_system_id, $core_id, $port_id);
|
||||
my ($module_id, $sub_module_id, $err_severity, $err_type, $pcie_info, $regs);
|
||||
|
||||
$num_args = $#ARGV + 1;
|
||||
$platform_id = 0;
|
||||
+ $module = 0;
|
||||
if ($num_args ne 0) {
|
||||
$platform_id = $ARGV[0];
|
||||
+ if ($num_args gt 1) {
|
||||
+ $module = $ARGV[1];
|
||||
+ }
|
||||
} else {
|
||||
usage(1);
|
||||
return;
|
||||
@@ -1664,21 +1669,21 @@ sub vendor_errors
|
||||
$query_handle->bind_columns(\($id, $timestamp, $version, $soc_id, $socket_id, $nimbus_id, $module_id, $sub_module_id, $err_severity, $regs));
|
||||
$out = "";
|
||||
while($query_handle->fetch()) {
|
||||
- $out .= "$id. $timestamp Error Info: ";
|
||||
- $out .= "version=$version, ";
|
||||
- $out .= "soc_id=$soc_id, " if ($soc_id);
|
||||
- $out .= "socket_id=$socket_id, " if ($socket_id);
|
||||
- $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
- $out .= "module_id=$module_id, " if ($module_id);
|
||||
- $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
- $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
- $out .= "Error Registers: $regs " if ($regs);
|
||||
- $out .= "\n\n";
|
||||
+ if ($module eq 0 || ($module_id && ($module eq $module_id))) {
|
||||
+ $out .= "$id. $timestamp Error Info: ";
|
||||
+ $out .= "version=$version, ";
|
||||
+ $out .= "soc_id=$soc_id, " if ($soc_id);
|
||||
+ $out .= "socket_id=$socket_id, " if ($socket_id);
|
||||
+ $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
+ $out .= "module_id=$module_id, " if ($module_id);
|
||||
+ $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
+ $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
+ $out .= "Error Registers: $regs " if ($regs);
|
||||
+ $out .= "\n\n";
|
||||
+ }
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng920 OEM type1 error events:\n$out\n";
|
||||
- } else {
|
||||
- print "No HiSilicon Kunpeng920 OEM type1 errors.\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
|
||||
@@ -1688,21 +1693,21 @@ sub vendor_errors
|
||||
$query_handle->bind_columns(\($id, $timestamp, $version, $soc_id, $socket_id, $nimbus_id, $module_id, $sub_module_id, $err_severity, $regs));
|
||||
$out = "";
|
||||
while($query_handle->fetch()) {
|
||||
- $out .= "$id. $timestamp Error Info: ";
|
||||
- $out .= "version=$version, ";
|
||||
- $out .= "soc_id=$soc_id, " if ($soc_id);
|
||||
- $out .= "socket_id=$socket_id, " if ($socket_id);
|
||||
- $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
- $out .= "module_id=$module_id, " if ($module_id);
|
||||
- $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
- $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
- $out .= "Error Registers: $regs " if ($regs);
|
||||
- $out .= "\n\n";
|
||||
+ if ($module eq 0 || ($module_id && ($module eq $module_id))) {
|
||||
+ $out .= "$id. $timestamp Error Info: ";
|
||||
+ $out .= "version=$version, ";
|
||||
+ $out .= "soc_id=$soc_id, " if ($soc_id);
|
||||
+ $out .= "socket_id=$socket_id, " if ($socket_id);
|
||||
+ $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
+ $out .= "module_id=$module_id, " if ($module_id);
|
||||
+ $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
+ $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
+ $out .= "Error Registers: $regs " if ($regs);
|
||||
+ $out .= "\n\n";
|
||||
+ }
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng920 OEM type2 error events:\n$out\n";
|
||||
- } else {
|
||||
- print "No HiSilicon Kunpeng920 OEM type2 errors.\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
|
||||
@@ -1712,23 +1717,23 @@ sub vendor_errors
|
||||
$query_handle->bind_columns(\($id, $timestamp, $version, $soc_id, $socket_id, $nimbus_id, $sub_module_id, $core_id, $port_id, $err_severity, $err_type, $regs));
|
||||
$out = "";
|
||||
while($query_handle->fetch()) {
|
||||
- $out .= "$id. $timestamp Error Info: ";
|
||||
- $out .= "version=$version, ";
|
||||
- $out .= "soc_id=$soc_id, " if ($soc_id);
|
||||
- $out .= "socket_id=$socket_id, " if ($socket_id);
|
||||
- $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
- $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
- $out .= "core_id=$core_id, " if ($core_id);
|
||||
- $out .= "port_id=$port_id, " if ($port_id);
|
||||
- $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
- $out .= "err_type=$err_type, " if ($err_type);
|
||||
- $out .= "Error Registers: $regs " if ($regs);
|
||||
- $out .= "\n\n";
|
||||
+ if ($module eq 0 || ($sub_module_id && ($module eq $sub_module_id))) {
|
||||
+ $out .= "$id. $timestamp Error Info: ";
|
||||
+ $out .= "version=$version, ";
|
||||
+ $out .= "soc_id=$soc_id, " if ($soc_id);
|
||||
+ $out .= "socket_id=$socket_id, " if ($socket_id);
|
||||
+ $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
+ $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
+ $out .= "core_id=$core_id, " if ($core_id);
|
||||
+ $out .= "port_id=$port_id, " if ($port_id);
|
||||
+ $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
+ $out .= "err_type=$err_type, " if ($err_type);
|
||||
+ $out .= "Error Registers: $regs " if ($regs);
|
||||
+ $out .= "\n\n";
|
||||
+ }
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng920 PCIe controller error events:\n$out\n";
|
||||
- } else {
|
||||
- print "No HiSilicon Kunpeng920 PCIe controller errors.\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
}
|
||||
@@ -1741,22 +1746,24 @@ sub vendor_errors
|
||||
$query_handle->bind_columns(\($id, $timestamp, $version, $soc_id, $socket_id, $totem_id, $nimbus_id, $sub_system_id, $module_id, $sub_module_id, $core_id, $port_id, $err_type, $pcie_info, $err_severity, $regs));
|
||||
$out = "";
|
||||
while($query_handle->fetch()) {
|
||||
- $out .= "$id. $timestamp Error Info: ";
|
||||
- $out .= "version=$version, ";
|
||||
- $out .= "soc_id=$soc_id, " if ($soc_id);
|
||||
- $out .= "socket_id=$socket_id, " if ($socket_id);
|
||||
- $out .= "totem_id=$totem_id, " if ($totem_id);
|
||||
- $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
- $out .= "sub_system_id=$sub_system_id, " if ($sub_system_id);
|
||||
- $out .= "module_id=$module_id, " if ($module_id);
|
||||
- $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
- $out .= "core_id=$core_id, " if ($core_id);
|
||||
- $out .= "port_id=$port_id, " if ($port_id);
|
||||
- $out .= "err_type=$err_type, " if ($err_type);
|
||||
- $out .= "pcie_info=$pcie_info, " if ($pcie_info);
|
||||
- $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
- $out .= "Error Registers: $regs" if ($regs);
|
||||
- $out .= "\n\n";
|
||||
+ if ($module eq 0 || ($module_id && ($module eq $module_id))) {
|
||||
+ $out .= "$id. $timestamp Error Info: ";
|
||||
+ $out .= "version=$version, ";
|
||||
+ $out .= "soc_id=$soc_id, " if ($soc_id);
|
||||
+ $out .= "socket_id=$socket_id, " if ($socket_id);
|
||||
+ $out .= "totem_id=$totem_id, " if ($totem_id);
|
||||
+ $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
|
||||
+ $out .= "sub_system_id=$sub_system_id, " if ($sub_system_id);
|
||||
+ $out .= "module_id=$module_id, " if ($module_id);
|
||||
+ $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
|
||||
+ $out .= "core_id=$core_id, " if ($core_id);
|
||||
+ $out .= "port_id=$port_id, " if ($port_id);
|
||||
+ $out .= "err_type=$err_type, " if ($err_type);
|
||||
+ $out .= "pcie_info=$pcie_info, " if ($pcie_info);
|
||||
+ $out .= "err_severity=$err_severity, " if ($err_severity);
|
||||
+ $out .= "Error Registers: $regs" if ($regs);
|
||||
+ $out .= "\n\n";
|
||||
+ }
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng9xx common error events:\n$out\n";
|
||||
--
|
||||
2.25.1
|
||||
|
||||
148
0006-rasdaemon-ras-mc-ctl-Relocate-reading-and-display-Ku.patch
Normal file
148
0006-rasdaemon-ras-mc-ctl-Relocate-reading-and-display-Ku.patch
Normal file
@ -0,0 +1,148 @@
|
||||
From 88bf3126312645843152c6c3215b54b120bcc1ec Mon Sep 17 00:00:00 2001
|
||||
From: Shiju Jose <shiju.jose@huawei.com>
|
||||
Date: Mon, 7 Mar 2022 12:38:45 +0000
|
||||
Subject: [PATCH 6/6] rasdaemon: ras-mc-ctl: Relocate reading and display
|
||||
Kunpeng920 errors to under Kunpeng9xx
|
||||
|
||||
Relocate reading and display Kunpeng920 errors to under Kunpeng9xx.
|
||||
|
||||
Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
|
||||
---
|
||||
util/ras-mc-ctl.in | 38 ++++++++++----------------------------
|
||||
1 file changed, 10 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/util/ras-mc-ctl.in b/util/ras-mc-ctl.in
|
||||
index d728300..2ab9602 100755
|
||||
--- a/util/ras-mc-ctl.in
|
||||
+++ b/util/ras-mc-ctl.in
|
||||
@@ -1527,7 +1527,6 @@ sub errors
|
||||
|
||||
# Definitions of the vendor platform IDs.
|
||||
use constant {
|
||||
- HISILICON_KUNPENG_920 => "Kunpeng920",
|
||||
HISILICON_KUNPENG_9XX => "Kunpeng9xx",
|
||||
};
|
||||
|
||||
@@ -1549,8 +1548,8 @@ sub vendor_errors_summary
|
||||
|
||||
my $dbh = DBI->connect("dbi:SQLite:dbname=$dbname", "", "", {});
|
||||
|
||||
- # HiSilicon Kunpeng920 errors
|
||||
- if ($platform_id eq HISILICON_KUNPENG_920) {
|
||||
+ # HiSilicon Kunpeng9xx common errors
|
||||
+ if ($platform_id eq HISILICON_KUNPENG_9XX) {
|
||||
$query = "select err_severity, module_id, count(*) from hip08_oem_type1_event_v2 group by err_severity, module_id";
|
||||
$query_handle = $dbh->prepare($query);
|
||||
$query_handle->execute();
|
||||
@@ -1565,9 +1564,7 @@ sub vendor_errors_summary
|
||||
$out .= "\t$module_id: $count\n";
|
||||
}
|
||||
if ($out ne "") {
|
||||
- print "HiSilicon Kunpeng920 OEM type1 error events summary:\n$out\n";
|
||||
- } else {
|
||||
- print "No HiSilicon Kunpeng920 OEM type1 errors.\n\n";
|
||||
+ print "HiSilicon Kunpeng9xx OEM type1 error events summary:\n$out\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
|
||||
@@ -1585,9 +1582,7 @@ sub vendor_errors_summary
|
||||
$out .= "\t$module_id: $count\n";
|
||||
}
|
||||
if ($out ne "") {
|
||||
- print "HiSilicon Kunpeng920 OEM type2 error events summary:\n$out\n";
|
||||
- } else {
|
||||
- print "No HiSilicon Kunpeng920 OEM type2 errors.\n\n";
|
||||
+ print "HiSilicon Kunpeng9xx OEM type2 error events summary:\n$out\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
|
||||
@@ -1605,15 +1600,10 @@ sub vendor_errors_summary
|
||||
$out .= "\t$sub_module_id: $count\n";
|
||||
}
|
||||
if ($out ne "") {
|
||||
- print "HiSilicon Kunpeng920 PCIe controller error events summary:\n$out\n";
|
||||
- } else {
|
||||
- print "No HiSilicon Kunpeng920 PCIe controller errors.\n\n";
|
||||
+ print "HiSilicon Kunpeng9xx PCIe controller error events summary:\n$out\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
- }
|
||||
|
||||
- # HiSilicon Kunpeng9xx common errors
|
||||
- if ($platform_id eq HISILICON_KUNPENG_9XX) {
|
||||
$query = "select err_severity, module_id, count(*) from hisi_common_section_v2 group by err_severity, module_id";
|
||||
$query_handle = $dbh->prepare($query);
|
||||
$query_handle->execute();
|
||||
@@ -1629,8 +1619,6 @@ sub vendor_errors_summary
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng9xx common error events summary:\n$out\n";
|
||||
- } else {
|
||||
- print "No HiSilicon Kunpeng9xx common errors.\n\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
}
|
||||
@@ -1661,8 +1649,8 @@ sub vendor_errors
|
||||
|
||||
my $dbh = DBI->connect("dbi:SQLite:dbname=$dbname", "", "", {});
|
||||
|
||||
- # HiSilicon Kunpeng920 errors
|
||||
- if ($platform_id eq HISILICON_KUNPENG_920) {
|
||||
+ # HiSilicon Kunpeng9xx common errors
|
||||
+ if ($platform_id eq HISILICON_KUNPENG_9XX) {
|
||||
$query = "select id, timestamp, version, soc_id, socket_id, nimbus_id, module_id, sub_module_id, err_severity, regs_dump from hip08_oem_type1_event_v2 order by id, module_id, err_severity";
|
||||
$query_handle = $dbh->prepare($query);
|
||||
$query_handle->execute();
|
||||
@@ -1683,7 +1671,7 @@ sub vendor_errors
|
||||
}
|
||||
}
|
||||
if ($out ne "") {
|
||||
- print "HiSilicon Kunpeng920 OEM type1 error events:\n$out\n";
|
||||
+ print "HiSilicon Kunpeng9xx OEM type1 error events:\n$out\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
|
||||
@@ -1707,7 +1695,7 @@ sub vendor_errors
|
||||
}
|
||||
}
|
||||
if ($out ne "") {
|
||||
- print "HiSilicon Kunpeng920 OEM type2 error events:\n$out\n";
|
||||
+ print "HiSilicon Kunpeng9xx OEM type2 error events:\n$out\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
|
||||
@@ -1733,13 +1721,10 @@ sub vendor_errors
|
||||
}
|
||||
}
|
||||
if ($out ne "") {
|
||||
- print "HiSilicon Kunpeng920 PCIe controller error events:\n$out\n";
|
||||
+ print "HiSilicon Kunpeng9xx PCIe controller error events:\n$out\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
- }
|
||||
|
||||
- # HiSilicon Kunpeng9xx common errors
|
||||
- if ($platform_id eq HISILICON_KUNPENG_9XX) {
|
||||
$query = "select id, timestamp, version, soc_id, socket_id, totem_id, nimbus_id, sub_system_id, module_id, sub_module_id, core_id, port_id, err_type, pcie_info, err_severity, regs_dump from hisi_common_section_v2 order by id, module_id, err_severity";
|
||||
$query_handle = $dbh->prepare($query);
|
||||
$query_handle->execute();
|
||||
@@ -1767,8 +1752,6 @@ sub vendor_errors
|
||||
}
|
||||
if ($out ne "") {
|
||||
print "HiSilicon Kunpeng9xx common error events:\n$out\n";
|
||||
- } else {
|
||||
- print "No HiSilicon Kunpeng9xx common errors.\n";
|
||||
}
|
||||
$query_handle->finish;
|
||||
}
|
||||
@@ -1779,7 +1762,6 @@ sub vendor_errors
|
||||
sub vendor_platforms
|
||||
{
|
||||
print "\nSupported platforms for the vendor-specific errors:\n";
|
||||
- print "\tHiSilicon Kunpeng920, platform-id=\"", HISILICON_KUNPENG_920, "\"\n";
|
||||
print "\tHiSilicon Kunpeng9xx, platform-id=\"", HISILICON_KUNPENG_9XX, "\"\n";
|
||||
print "\n";
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
Name: rasdaemon
|
||||
Version: 0.6.7
|
||||
Release: 3
|
||||
Release: 4
|
||||
License: GPLv2
|
||||
Summary: Utility to get Platform Reliability, Availability and Serviceability (RAS) reports via the Kernel tracing events
|
||||
URL: https://github.com/mchehab/rasdaemon.git
|
||||
@ -29,6 +29,12 @@ Patch7: 0001-rasdaemon-Fix-the-issue-of-sprintf-data-type-mismatc.patch
|
||||
Patch8: 0002-rasdaemon-Fix-the-issue-of-command-option-r-for-hip0.patch
|
||||
Patch9: 0003-rasdaemon-Fix-some-print-format-issues-for-hisi-comm.patch
|
||||
Patch10: 0004-rasdaemon-Add-some-modules-supported-by-hisi-common-.patch
|
||||
Patch11: 0001-rasdaemon-Modify-recording-Hisilicon-common-error-da.patch
|
||||
Patch12: 0002-rasdaemon-ras-mc-ctl-Modify-error-statistics-for-HiS.patch
|
||||
Patch13: 0003-rasdaemon-ras-mc-ctl-Reformat-error-info-of-the-HiSi.patch
|
||||
Patch14: 0004-rasdaemon-ras-mc-ctl-Add-printing-usage-if-necessary.patch
|
||||
Patch15: 0005-rasdaemon-ras-mc-ctl-Add-support-to-display-the-HiSi.patch
|
||||
Patch16: 0006-rasdaemon-ras-mc-ctl-Relocate-reading-and-display-Ku.patch
|
||||
|
||||
%description
|
||||
The rasdaemon program is a daemon which monitors the platform
|
||||
@ -74,6 +80,19 @@ rm INSTALL %{buildroot}/usr/include/*.h
|
||||
/usr/bin/systemctl enable rasdaemon.service >/dev/null 2>&1 || :
|
||||
|
||||
%changelog
|
||||
* Mon Mar 07 2022 Shiju Jose<shiju.jose@huawei.com> - 0.6.7-4
|
||||
- Type:feature
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:
|
||||
1. Modify recording Hisilicon common error data in the rasdaemon and
|
||||
2. In the ras-mc-ctl,
|
||||
2.1. Improve Hisilicon common error statistics.
|
||||
2.2. Add support to display the HiSilicon vendor-errors for a specified module.
|
||||
2.3. Add printing usage if necessary parameters are not passed for the HiSilicon vendor-errors options.
|
||||
2.4. Reformat error info of the HiSilicon Kunpeng920.
|
||||
2.5. Relocate reading and display Kunpeng920 errors to under Kunpeng9xx.
|
||||
|
||||
* Wed Mar 2 2022 tanxiaofei<tanxiaofei@huawei.com> - 0.6.7-3
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user