summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2018-11-09 12:04:07 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-11-27 16:28:17 -0600
commit8e5dda92903e105c62f52390b35d3e335d55f532 (patch)
tree15710c1b626f3f66a847728a60689ceb46a4e818 /src/include/usr
parent022f2d75d80d7ac11abec2e87da76b8691d0498b (diff)
downloadtalos-hostboot-8e5dda92903e105c62f52390b35d3e335d55f532.tar.gz
talos-hostboot-8e5dda92903e105c62f52390b35d3e335d55f532.zip
Reduce ipmi trace spam for pnor hiomap messages
With the PNOR accesses now going over IPMI, the IPMI traces are now completely overwhelmed by those messages. This change will skip tracing out the messages if they are the hiomap requests. Example of trace spam: 3.34945|IPMI|rp: queuing sync e8:5a 3.34946|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1 3.34952|IPMI|dd: I>write ok e8:5a seq 26 len 6 3.35837|IPMI|dd: I>read b2h ok ec:5a seq 26 len 8 cc 0 3.35947|IPMI|rp: queuing sync e8:5a 3.35948|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1 3.35953|IPMI|dd: I>write ok e8:5a seq 27 len 6 3.36837|IPMI|dd: I>read b2h ok ec:5a seq 27 len 8 cc 0 3.36947|IPMI|rp: queuing sync e8:5a 3.36948|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1 3.36953|IPMI|dd: I>write ok e8:5a seq 28 len 6 3.43855|IPMI|dd: I>read b2h ok ec:5a seq 28 len 8 cc 0 3.43926|IPMI|rp: queuing sync e8:5a 3.43927|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1 3.43933|IPMI|dd: I>write ok e8:5a seq 29 len 6 3.50860|IPMI|dd: I>read b2h ok ec:5a seq 29 len 8 cc 0 3.50902|IPMI|rp: queuing sync e8:5a 3.50902|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1 In a single boot on a system there were close to 4000 of these traces. Change-Id: Ia8944ca7f281986ec0bca7328fa56a7c0d521339 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68605 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/ipmi/ipmiif.H20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/include/usr/ipmi/ipmiif.H b/src/include/usr/ipmi/ipmiif.H
index 59eee8673..0421aaef3 100644
--- a/src/include/usr/ipmi/ipmiif.H
+++ b/src/include/usr/ipmi/ipmiif.H
@@ -116,6 +116,16 @@ namespace IPMI
NETFUN_NONE = (0x30 << 2),
};
+ /**
+ * @brief Generate the response for IPMI network function
+ * @param[in] Standard network function
+ * @return Network function in response (+1)
+ */
+ inline const uint8_t gen_resp_netfn( network_function i_netfn )
+ {
+ return ( ( (i_netfn >> 2) + 1 ) << 2 );
+ };
+
// SMS_ATN OEM Event constants
enum oem_event
{
@@ -314,6 +324,16 @@ namespace IPMI
inline const command_t pnor_hiomap_request(void)
{ return std::make_pair(NETFUN_IBM, 0x5a); }
+ // Efficient comparator to see if the message is a pnor hiomap request
+ inline bool is_pnor_req( uint8_t i_netfun, uint8_t i_cmd )
+ {
+ return (((i_netfun == NETFUN_IBM) ||
+ (i_netfun == gen_resp_netfn(NETFUN_IBM))) //response
+ &&
+ (i_cmd == 0x5a));
+ }
+
+
/**
* Send message asynchronously
* @param[in] i_cmd, the network function and command
OpenPOWER on IntegriCloud