/openbmc/qemu/hw/ppc/ |
H A D | pnv_sbe.c | 2 * QEMU PowerPC PowerNV Emulation of some SBE behaviour 38 * SBE MBOX register address 39 * Reg 0 - 3 : Host to send command packets to SBE 40 * Reg 4 - 7 : SBE to send response packets to Host 58 * Doorbell register to trigger SBE interrupt. Set by OPAL to inform 59 * the SBE about a waiting message in the Host/SBE mailbox registers 64 * Doorbell register for host bridge interrupt. Set by the SBE to inform 65 * host about a response message in the Host/SBE mailbox registers 76 /* SBE Control Register */ 79 /* SBE interrupt s0/s1 bits */ [all …]
|
/openbmc/openpower-sbe-interface/ |
H A D | sbe_chipOp_handler.hpp | 12 namespace sbe namespace 21 * @brief Helper function for invokeSBEChipOperation(),to write to the SBE FIFO 28 * @param[in] FIFO device path associated with SBE. 29 * @param[in] Command buffer to be written to the SBE FIFO 33 * @return Response buffer returned by the SBE for the input command. 41 * the data obtained from the SBE. Input buffer will be validated and on failure 47 * - SBE Internal failures 49 * @param[in/out] On input - SBE data obtained from the SBE FIFO device. 58 * @brief Interface to invoke a SBE chip operation.It calls internal API to 59 * write to the SBE FIFO and validates the data obtained by the SBE. It throws [all …]
|
H A D | sbe_interfaces.cpp | 13 namespace sbe namespace 53 // Handle byte order mismatch ,SBE is big endian and BMC is in read() 59 // Buffer to hold the response data along with the SBE header in read() 63 // Write the command buffer to the SBE FIFO and obtain the response from the in read() 64 // SBE FIFO device.This interface will parse the obtained SBE response and in read() 65 // any internal SBE failures will be communicated via exceptions in read() 81 // Handle byte order mismatch, SBE is big endian and BMC is in write() 91 // Buffer to hold the SBE response status in write() 95 // Write the command buffer to the SBE FIFO and obtain the response from the in write() 96 // SBE FIFO device.This interface will parse the obtained SBE response and in write() [all …]
|
H A D | sbe_chipOp_handler.cpp | 12 namespace sbe namespace 83 // Derive the total read length which should include the FFDC, which SBE in writeToFifo() 112 // Number of 32-bit words obtained from the SBE in parseResponse() 115 // Fetch the SBE header and SBE chiop primary and secondary status in parseResponse() 116 // Last value in the buffer will have the offset for the SBE header in parseResponse() 123 errMsg << "Distance to SBE status header value " in parseResponse() 157 // Extract the SBE FFDC and throw it to the caller in parseResponse() 171 // TODO:use elog infrastructure to return the SBE and Hardware procedure in parseResponse() 174 errMsg << "Chip operation failed with SBE response code:" in parseResponse() 189 } // namespace sbe
|
H A D | sbe_interfaces.hpp | 7 namespace sbe namespace 17 * @param[in] FIFO device path associated with the SBE. 28 * @param[in] FIFO device path associated with the SBE. 35 } // namespace sbe
|
/openbmc/linux/drivers/soc/aspeed/ |
H A D | aspeed-sbc.c | 17 struct sbe { struct 26 static struct sbe sbe; argument 51 sbe.abr_image = !!(security_status & ABR_IMAGE_SOURCE); in aspeed_sbc_init() 52 sbe.low_security_key = !!(security_status & LOW_SEC_KEY); in aspeed_sbc_init() 53 sbe.otp_protected = !!(security_status & OTP_PROTECTED); in aspeed_sbc_init() 54 sbe.secure_boot = !!(security_status & SECURE_BOOT); in aspeed_sbc_init() 56 sbe.uart_boot = !(security_status & UART_BOOT); in aspeed_sbc_init() 58 pr_info("AST2600 secure boot %s\n", sbe.secure_boot ? "enabled" : "disabled"); in aspeed_sbc_init() 64 debugfs_create_u8("abr_image", 0444, sbc_dir, &sbe.abr_image); in aspeed_sbc_init() 65 debugfs_create_u8("low_security_key", 0444, sbc_dir, &sbe.low_security_key); in aspeed_sbc_init() [all …]
|
/openbmc/phosphor-logging/extensions/openpower-pels/ |
H A D | sbe_ffdc_handler.hpp | 14 namespace sbe namespace 17 // SBE FFDC sub type. 21 * @brief FFDC Package structure and definitions based on SBE chip-op spec. 23 * SBE FFDC Starts with a header word (Word 0) that has an unique magic 34 * 2. SBE firmware (e.g. traces, attributes and other information). 77 * | Word 4 | SBE FFDC Dump Fields (Bitmaped) | 97 * @brief This class provides higher level interface to process SBE ffdc 100 * - Process the SBE FFDC data with the help of FAPI infrastructure and 103 * - Add the user data section with SBE FFDC data to support SBE provided 105 * - Any SBE FFDC processing will result additional log message in journal [all …]
|
H A D | sbe_ffdc_handler.cpp | 40 namespace sbe namespace 77 lg2::info("SBE FFDC processing requested"); in SbeFFDC() 80 // associated to the SBE FFDC in SbeFFDC() 122 // Process SBE file. in SbeFFDC() 130 lg2::info("SBE FFDC file fd:({FD}), parsing started", "FD", fd); in parse() 135 // get SBE FFDC data. in parse() 139 lg2::error("Empty SBE FFDC file fd:({FD}), skipping", "FD", fd); in parse() 219 // SBE FFDC processing is not required for SBE Plat errors RCs. in parse() 220 // Plat errors processing is driven by SBE provided user data in parse() 228 lg2::info("SBE FFDC: Internal FFDC packet"); in parse() [all …]
|
/openbmc/phosphor-dbus-interfaces/yaml/com/ibm/Dump/Entry/ |
H A D | SBE.interface.yaml | 2 Implement this to add SBE dump management. 4 Self Boot Engine(SBE) is a microcontroller that sits inside the processor to 7 other hardware access operations SBE can encounter errors and become 11 packaged into the OpenPOWER dump format and which is called as SBE dump. 12 There will be one instance of SBE on each processor. Implement this 13 interface to add support for managing the SBE dump. 26 A unique id of the failing SBE which is causing the dump. This ID 27 could be used to identify the specific SBE within the system. The
|
/openbmc/openpower-debug-collector/dump/ |
H A D | sbe_dump_collector.hpp | 65 * @brief Collects a dump from a single SBE. 68 * dump from the specified SBE. 70 * @param chip A pointer to the pdbg_target structure representing the SBE. 74 * @param clockState The clock state of the SBE during dump collection. 100 * dump, software dump, etc., as defined by the SBE dump type enumeration. 159 using namespace openpower::dump::SBE; in checkFastarrayCollectionNeeded() 169 * Logs an error and creates a PEL for SBE chip-op failures. 171 * @param sbeError - An error object encapsulating details about the SBE 174 * @param sbeType - The type of SBE, used to determine the event log 176 * @param cmdClass - The command class associated with the SBE operation. [all …]
|
H A D | dump_utils.hpp | 22 * returned by the SBE 88 * Request SBE dump from the dump manager 90 * Request SBE dump from the dump manager and register a monitor for observing 93 * @param failingUnit The id of the proc containing failed SBE 95 * @param sbeType Type of the SBE
|
H A D | sbe_consts.hpp | 4 namespace openpower::dump::SBE namespace 11 // SBE dump types 37 } // namespace openpower::dump::SBE
|
/openbmc/openpower-debug-collector/watchdog/ |
H A D | watchdog_main.cpp | 37 * @brief get SBE special callout information 39 * @details This function adds the special sbe callout in the user provided 87 sbeError = sbe::captureFFDC(procTarget); in handleSbeBootError() 107 lg2::error("SBE Boot failure"); in handleSbeBootError() 121 // get SBE ffdc file descriptor in handleSbeBootError() 139 // Additional callout is required for SBE timeout case in handleSbeBootError() 140 // In this case no SBE FFDC information available and in handleSbeBootError() 155 lg2::error("Skipping SBE special callout due to Exception({ERROR})", in handleSbeBootError() 166 // Check SBE dump collection allowed in handleSbeBootError() 167 bool dumpAllowed = sbe::isDumpAllowed(procTarget); in handleSbeBootError() [all …]
|
/openbmc/openpower-hw-diags/attn/ |
H A D | vital_handler.cpp | 15 * @brief Request SBE hreset and try to clear sbe attentions 17 * @param[in] sbeInstance - sbe instance to hreset (0 based) 23 // attempt sbe hreset and attention interrupt clear in attemptSbeRecovery() 55 trace::err("sbe attention did not clear"); in attemptSbeRecovery() 71 trace::inf("sbe attention cleared"); in attemptSbeRecovery() 122 * @brief Handle SBE vital attention 154 // attempt to recover the sbe in handleVital() 164 requestDump(pelId, DumpParameters{0, DumpType::SBE}); in handleVital()
|
H A D | attn_handler.cpp | 56 /** @brief Handle phal sbe exception */ 165 // SBE vital attention active and not masked? in attnHandler() 298 openpower::phal::sbe::getTiInfo(attnProc, &tiInfo, &tiInfoLen); in handleSpecial() 303 // note: phal::sbe::getTiInfo = command class | command == in handleSpecial() 304 // 0xa900 | 0x04 = 0xa904. The sbe fifo command class and in handleSpecial() 408 msg = "SBE attn"; in activeAttn() 443 * @brief Handle phal sbe exception 446 * @param[in] procNum - processor number associated with sbe exception 456 // Create event log entry with SBE FFDC data if provided in phalSbeExceptionHandler() 460 trace::err("SBE FFDC data is available"); in phalSbeExceptionHandler() [all …]
|
/openbmc/docs/designs/ |
H A D | power-systems-memory-preserving-reboot.md | 30 - **Self Boot Engine (SBE)**: A microcontroller built into the host processors 78 the SBE on each of the processors. SBE stops the running cores and collects the 80 data is collected, the SBE returns control to the BMC. BMC then initiates a 103 - BMC should inform SBE to start the memory preserving reboot and collect the 131 systems, an additional s0 interrupt will be sent to SBE to stop the cores 148 chip-op to each SBE 150 #### 5 - SBE collects the hardware data 152 Each SBE collects the architected states and stores it into a pre-defined 157 Once the SBE finishes the hardware collection, it does following to boot the 165 Once SBE is started, it starts hostboot, hostboot copies the architected states [all …]
|
/openbmc/openpower-proc-control/procedures/p9/ |
H A D | start_host.cpp | 66 // Kick off the SBE to start the boot in startHost() 73 log<level::INFO>("Setting SBE seeprom side to 0", in startHost() 79 log<level::INFO>("Setting SBE seeprom side to 1", in startHost() 82 // Bit 17 of the ctrl status reg indicates sbe seeprom boot side in startHost() 86 // Ensure SBE start bit is 0 to handle warm reboot scenarios in startHost() 89 // Start the SBE in startHost()
|
/openbmc/openbmc/meta-openpower/recipes-phosphor/logging/ |
H A D | python3-sbe-log-parsers_git.bb | 1 SUMMARY = "SBE log python parsers" 2 DESCRIPTION = "Used by peltool to parse SBE UserData sections and SRC details" 3 HOMEPAGE = "https://github.ibm.com/open-power/sbe" 12 SRC_URI = "git://git@github.com/open-power/sbe;branch="master-p10";protocol=ssh;protocol=https"
|
/openbmc/openpower-debug-collector/ |
H A D | watchdog_timeout.cpp | 53 bool primaryIplDone = sbe::isPrimaryIplDone(); in main() 65 // SBE boot done, Need to collect hostboot dump in main() 71 // SBE boot window, handle SBE boot failure in main() 72 lg2::info("Handle SBE boot failure"); in main()
|
/openbmc/openpower-occ-control/ |
H A D | pldm.hpp | 70 * @param[in] sbeCallBack - callBack handler to invoke when the SBE 118 * sensorId to OCC/SBE instance mapping information and the sensor 129 /** @brief Fetch the OCC/SBE state effecter PDRs and populate the cache 130 * with OCC/SBE instance to EffecterID information. 148 * @return PLDM request message to be sent to host for OCC reset or SBE 164 * @param[in] instanceID - SBE instance to HRESET 198 * SBE changes 226 /** @brief PLDM Sensor ID to SBE Instance mapping 235 /** @brief Sensor offset of the SBE state set ID 244 /** @brief SBE instance mapping to PLDM Effecter ID [all …]
|
/openbmc/openpower-proc-control/procedures/phal/ |
H A D | enter_mpreboot.cpp | 46 * @brief Calls sbe_enter_mpipl on the SBE in the provided target. 53 using namespace openpower::phal::sbe; in sbeEnterMpReboot() 65 // SBE is not ready to accept chip-ops, in sbeEnterMpReboot() 108 // Request SBE Dump in sbeEnterMpReboot() 111 DumpType::SBE}; in sbeEnterMpReboot() 134 * @brief initiate memory preserving reboot on each SBE.
|
H A D | thread_stopall.cpp | 35 // CMD details based on SBE spec, used for logging purpose in threadStopAll() 46 if (!openpower::phal::sbe::isPrimaryIplDone()) in threadStopAll() 71 openpower::phal::sbe::threadStopProc(procTarget); in threadStopAll() 77 // Create PEL only for valid SBE reported failures in threadStopAll() 106 // SBE is not ready to accept chip-ops, in threadStopAll()
|
/openbmc/openpower-proc-control/extensions/phal/ |
H A D | phal_error.hpp | 49 * @brief Process SBE boot failure/success status 51 * This function is used for SBE related failure handling during 52 * boot path. For any SBE related boot failure reason code, collects 53 * the SBE FFDC using libphal api's. Based on the reason code provided
|
/openbmc/openpower-hw-diags/util/ |
H A D | pldm.cpp | 340 /** @brief Return map of sensor ID to SBE instance 343 * @param[out] sensorInstanceMap - map of sensor to SBE instance 406 // map sensor ID to zero based SBE instance in fetchSensorInfo() 417 /** @brief Return map of SBE instance to effecter ID 420 * @param[out] instanceToEffecterMap - map of sbe instance to effecter ID 485 // map zero based SBE instance to effecter ID in fetchEffecterInfo() 496 /** @brief Reset SBE using HBRT PLDM interface */ 499 trace::inf("requesting sbe hreset"); in hresetSbe() 513 // find the state effecter ID for the given SBE instance in hresetSbe() 517 trace::err("failed to find effecter for SBE"); in hresetSbe() [all …]
|
/openbmc/linux/drivers/edac/ |
H A D | octeon_edac-l2c.c | 69 if (err_tdtx.s.dbe || err_tdtx.s.sbe || in _octeon_l2c_poll_oct2() 81 if (err_tdtx.s.sbe) { in _octeon_l2c_poll_oct2() 84 err_tdtx_reset.s.sbe = 1; in _octeon_l2c_poll_oct2() 105 if (err_ttgx.s.dbe || err_ttgx.s.sbe) in _octeon_l2c_poll_oct2() 116 if (err_ttgx.s.sbe) { in _octeon_l2c_poll_oct2() 119 err_ttgx_reset.s.sbe = 1; in _octeon_l2c_poll_oct2()
|