Do not qualify active attentions with true-mask
We were using cfam 0x100d to qualify active attentions as valid
reasons for invocation of the attention handler. This is not
needed as the attention handler will only be invoked by a GPIO
event which should only occur when 0x100d is configured correclty.
Signed-off-by: Ben Tyner <ben.tyner@ibm.com>
Change-Id: I7814ab9f3b4a79801d8f66f75589dd5722a7c4d2
diff --git a/attn/attn_handler.cpp b/attn/attn_handler.cpp
index e8684c6..9bd3ac7 100644
--- a/attn/attn_handler.cpp
+++ b/attn/attn_handler.cpp
@@ -100,6 +100,11 @@
}
else
{
+ // CFAM 0x100d is expected to have bits set corresponding
+ // to attentions that can generate an attention interrupt.
+ // We will trace this register value to help debug cases
+ // where the attention handler was invoked unexpectedly.
+
std::stringstream ss; // log message stream
ss << "cfam 0x100d = 0x";
ss << std::hex << std::setw(8) << std::setfill('0');
@@ -107,14 +112,14 @@
trace<level::INFO>(ss.str().c_str());
// bit 0 on "left": bit 30 = SBE vital attention
- if (isr_val & isr_mask & 0x00000002)
+ if (isr_val & 0x00000002)
{
active_attentions.emplace_back(
Attention::Vital, handleVital, target, i_config);
}
// bit 0 on "left": bit 1 = checkstop
- if (isr_val & isr_mask & 0x40000000)
+ if (isr_val & 0x40000000)
{
active_attentions.emplace_back(Attention::Checkstop,
handleCheckstop, target,
@@ -122,7 +127,7 @@
}
// bit 0 on "left": bit 2 = special attention
- if (isr_val & isr_mask & 0x20000000)
+ if (isr_val & 0x20000000)
{
active_attentions.emplace_back(Attention::Special,
handleSpecial, target,