Home
last modified time | relevance | path

Searched full:attention (Results 1 – 25 of 189) sorted by relevance

12345678

/openbmc/openpower-hw-diags/attn/
H A DAttention_Handler.md1 # Attention Handler
5 An attention is a hardware, firmware or software alert mechanism used to request
6 service from an Attention Handler via an attention signal (e.g. a GPIO). An
7 attention handler is, in this case, a stateless service that handles attention
8 requests. The attention handler in combination with a hardware analyzer
12 attention handler or attention handler service. When operating in application
15 of the attention handler service, per attention signal.
19 The main role of the attention handler is a long running process monitoring the
20 attention interrupt signal and delegating tasks to external components to aid in
21 handling attention requests. The attention handler is loaded into memory when
[all …]
H A Dattention.hpp12 /** @brief attention handler configuration flags */
16 * @brief These objects contain information about an active attention.
18 * An Attention object is created for each active attention. These objects
20 * the attention handler function to call for handling the attention. Each
21 * Attention object also carries a priority value. This priority is used
22 * to determine which attention event(s) to handle when there are more than
25 class Attention class
37 Attention() = delete;
40 Attention(AttentionType i_type, int (*i_handler)(Attention*),
44 ~Attention() = default;
[all …]
H A Dattn_handler.hpp9 /** @brief Attention global status bits */
17 * @brief Clear attention interrupts
19 * The attention interrupts are sticky and may still be set (MPIPL) even if
20 * there are no active attentions. If there is an active attention then
26 * @brief The main attention handler logic
29 * System Checkstop (checkstop) and Special Attention (special) and handle
34 * special: Determine if the special attention is a Breakpoint (BP),
36 * special attention type, do the following:
42 * @param i_config pointer to attention handler configuration object
47 * @brief Determine if attention is active and not masked
[all …]
H A Dattention.cpp1 #include <attn/attention.hpp>
8 Attention::Attention(AttentionType i_type, int (*i_handler)(Attention*), in Attention() function in attn::Attention
15 /** @brief Get attention priority */
16 int Attention::getPriority() const in getPriority()
22 Config* Attention::getConfig() const in getConfig()
27 /* @brief Call attention handler function */
28 int Attention::handle() in handle()
33 /* @brief Get attention handler target */
34 pdbg_target* Attention::getTarget() const in getTarget()
40 bool Attention::operator<(const Attention& right) const in operator <()
H A Dattn_handler.cpp14 #include <attn/attention.hpp>
37 * @brief Handle checkstop attention
39 * @param i_attention Attention object
40 * @return 0 indicates that the checkstop attention was successfully handled
41 * 1 indicates that the checkstop attention was NOT successfully
44 int handleCheckstop(Attention* i_attention);
47 * @brief Handle special attention
49 * @param i_attention Attention object
50 * @return 0 indicates that the special attention was successfully handled
51 * 1 indicates that the special attention was NOT successfully handled
[all …]
H A Dvital_handler.cpp1 #include <attn/attention.hpp>
23 // attempt sbe hreset and attention interrupt clear in attemptSbeRecovery()
31 // try to clear attention interrupts in attemptSbeRecovery()
34 // loop through processors checking attention interrupts in attemptSbeRecovery()
50 // get attention interrupts on processor in attemptSbeRecovery()
55 trace::err("sbe attention did not clear"); in attemptSbeRecovery()
71 trace::inf("sbe attention cleared"); in attemptSbeRecovery()
78 * @brief Check for active checkstop attention
98 // check for active checkstop attention in checkstopActive()
122 * @brief Handle SBE vital attention
[all …]
H A Dvital_handler.hpp7 * @brief Handle SBE vital attention
9 * @param i_attention Attention object
10 * @return 0 indicates that the vital attention was successfully handled
11 * 1 indicates that the vital attention was NOT successfully handled
13 int handleVital(Attention* i_attention);
H A Dattn_main.hpp9 * @brief Load the attention handler as a gpio monitor
11 * Request the attention gpio for monitoring and attach the attention handler
14 * @param i_config pointer to attention handler configuration object
H A Dmeson.build21 # attention handler default config override
24 # install attention handler unit file
33 # install attention handler config file
44 'attention.cpp',
H A Dattn_main.cpp7 * @brief Attention handler application main()
19 "attention", GPIOD_LINE_REQUEST_EVENT_FALLING_EDGE, 0}; in attnDaemon()
21 // get handle to attention GPIO line in attnDaemon()
H A Dbp_handler.hpp7 * @brief Breakpoint special attention handler
9 * Handler for special attention events due to a breakpoint condition.
H A Dattn_common.hpp11 /** @brief Attention handler return codes */
33 /** @brief Attention handler error reason codes */
46 * When we receive a Checkstop or special Attention Term Immediate,
H A Dattn_monitor.hpp13 * @brief Responsible for monitoring attention GPIO state change
29 * @param i_attnConfig poiner to attention handler configuration object
61 /** @brief attention handler configuration object pointer */
H A Dattn_monitor.cpp22 trace::inf("Attention GPIO active"); in scheduleGPIOEvent()
43 // active attention when gpio == 0 in handleGPIOEvent()
61 /** @brief Request a GPIO line for monitoring attention events */
H A Dattn_logging.hpp29 /** @brief Commit special attention TI event to log */
41 /** @brief Commit attention handler failure event to log */
/openbmc/openpower-hw-diags/test/
H A Dtest-end2end.cpp3 #include <attn/attention.hpp>
14 int handleSpecial(Attention* i_attention);
15 int handleCheckstop(Attention* i_attention);
16 int handleVital(Attention* i_attention);
19 /** @brief Attention handler test application */
27 // create attention handler config object in main()
33 // exercise attention gpio event path in main()
48 // Exercise special, checkstop and vital attention handler paths in main()
52 std::vector<attn::Attention> attentions; in main()
54 attentions.emplace_back(attn::Attention::AttentionType::Special, in main()
[all …]
H A Dtest-attention.cpp1 #include <attn/attention.hpp>
13 int handleSpecial(Attention* i_attention);
20 int handleAttention(Attention* attention) in handleAttention() argument
23 if (attention != nullptr) in handleAttention()
34 // Attention type
35 Attention::AttentionType gType = Attention::AttentionType::Special;
37 int (*gHandler)(Attention*) = &(handleSpecial);
62 pAttn = std::make_unique<Attention>( in SetUp()
63 Attention(gType, gHandler, target, config)); in SetUp()
71 std::unique_ptr<Attention> pAttn;
[all …]
/openbmc/openpower-hw-diags/
H A Dmain.cpp9 * @brief Attention handler application main()
12 * application will either be loaded as a daemon for monitoring the attention
18 * --start: Start the attention handler
19 * --stop: Stop the attention handler
20 * --all <on|off>: All attention handling
21 * --vital <on|off>: Vital attention handling
22 * --checkstop <on|off>: Checkstop attention handling
23 * --terminate <on|off>: Terminate Immiediately attention handling
24 * --breakpoints <on|off>: Breakpoint attention handling
41 printf(" --start: Start the attention handler\n"); in main()
[all …]
H A Dmain_nl.cpp4 #include <attn/attention.hpp>
15 * @brief Attention handler application main()
18 * application can be loaded as a daemon for monitoring the attention
24 * --daemon: Start the attention handler daemon
47 // they are initialized for the attention handler, invocation of in main()
48 // the analyzer via attention handler and direct invocation of in main()
H A Dlistener.cpp18 * @brief Start a thread to monitor the attention GPIO
20 * @param i_config Attention handler configuration object
24 // Configure and start attention monitor in threadGpioMon()
30 /** @brief Start a thread to listen for attention handler messages */
48 // only once. All other communtication with the attention handler will in threadListener()
91 // stop attention handler daemon? in threadListener()
101 // start attention handler daemon? in threadListener()
H A Dcli.hpp34 * attention handler configuration object as needed.
38 * @param o_config pointer to attention handler configuration object
/openbmc/qemu/include/scsi/
H A Dutils.h104 /* Unit attention, Capacity data has changed */
106 /* Unit attention, SCSI bus reset */
110 /* Unit attention, Power on, reset or bus device reset occurred */
112 /* Unit attention, Medium may have changed*/
114 /* Unit attention, Reported LUNs data has changed */
116 /* Unit attention, Device internal reset */
/openbmc/docs/designs/
H A Dpower-systems-memory-preserving-reboot.md54 - **Attention**: The signal generated by the hardware or the firmware for a
96 - The hypervisor should send a special attention to BMC to notify about a severe
99 - BMC should receive special TI attention from hypervisor
129 When there is a fault, the hypervisor generates attention. The attention
130 listener on the BMC detects the attention. In the case of OpenPOWER based Linux
136 The attention listener on the BMC calls a chip-op to analyze the reason for the
137 attention.
141 Attention on the BMC sets the Diagnostic target for reboot to initiate a memory
232 - Add support to openpower-hw-diags to catch special attention and initiate
235 - SBE needs to support a new operation to analyze the attention received from
/openbmc/openpower-hw-diags/analyzer/
H A Danalyzer_main.cpp67 trace::err("Unsupported attention type: %u", i_type); in __attn()
128 // Filter for root cause attention. in analyzeHardware()
143 // If a root cause attention was found, or if this was a system checkstop, in analyzeHardware()
149 trace::inf("Root cause attention: %s 0x%0" PRIx32 " %s", in analyzeHardware()
155 // This is bad. Analysis should have found a root cause attention in analyzeHardware()
159 trace::err("System checkstop with no root cause attention"); in analyzeHardware()
174 // Resolve the root cause attention. in analyzeHardware()
220 // the command line, that there will not be an active attention. In in analyzeHardware()
H A Dfilter-root-cause.cpp143 // MC_USTLFIR are considered a channel failure attention. in __findMemoryChannelFailure()
174 // attention. Note that this function excludes memory channel failure attentions
284 // Find any processor with chip checkstop attention that did not in __findNonExternalCs()
327 // At this point, the attention has not been explicitly ignored. So in __findTiRootCause()
383 // potential root cause of a system checkstop attention. These would include in findRootCause()
384 // any attention that would generate an SUE. Note that is it possible for in findRootCause()
394 // system checkstop attention. These would include any attention that would in findRootCause()
402 // with the ATTN_FROM_OCMB flag in case there was an attention from an in findRootCause()
410 // chip that reported the attention. In other words, no external checkstop in findRootCause()
537 // Find the initial root cause attention based on common rules for FIR in filterRootCause()

12345678