Add Attn config option for clearing Attn Interrupts
Added attn config option
Added UT for attn config object
Added UT for cli that uses attn config object
Signed-off-by: austinfcui <austinfcui@gmail.com>
Change-Id: I0e30ebf4d94de676814bf5e173691c4d1ee362cb
diff --git a/attn/attn_config.cpp b/attn/attn_config.cpp
index eae96f9..98ec388 100644
--- a/attn/attn_config.cpp
+++ b/attn/attn_config.cpp
@@ -29,6 +29,7 @@
iv_flags.set(enCheckstop);
iv_flags.set(enTerminate);
iv_flags.set(enBreakpoints);
+ iv_flags.set(enClrAttnIntr);
}
/** @brief Clear configuration flag */
@@ -44,6 +45,7 @@
iv_flags.reset(enCheckstop);
iv_flags.reset(enTerminate);
iv_flags.reset(enBreakpoints);
+ iv_flags.reset(enClrAttnIntr);
}
} // namespace attn
diff --git a/attn/attn_config.hpp b/attn/attn_config.hpp
index 7aad393..98a6606 100644
--- a/attn/attn_config.hpp
+++ b/attn/attn_config.hpp
@@ -12,6 +12,7 @@
enTerminate = 2,
enBreakpoints = 3,
dfltTi = 4,
+ enClrAttnIntr = 5,
lastFlag
};
@@ -40,10 +41,6 @@
/** @brief Clear all configuration flags */
void clearFlagAll();
- /** @brief Set state of all configuration data */
- void setConfig(bool i_vital, bool i_checkstop, bool i_terminate,
- bool i_breakpoints);
-
private:
std::bitset<lastFlag> iv_flags; // configuration flags
};
diff --git a/attn/attn_handler.cpp b/attn/attn_handler.cpp
index 59dfab3..3252078 100644
--- a/attn/attn_handler.cpp
+++ b/attn/attn_handler.cpp
@@ -78,8 +78,12 @@
*/
void attnHandler(Config* i_config)
{
- // Clear attention interrupts that may still be active (MPIPL)
- clearAttnInterrupts();
+ // Check if enClrAttnIntr is enabled
+ if (true == i_config->getFlag(enClrAttnIntr))
+ {
+ // Clear attention interrupts that may still be active (MPIPL)
+ clearAttnInterrupts();
+ }
// Vector of active attentions to be handled
std::vector<Attention> active_attentions;