ARM Server I2C Bus Clock Frequency Configuration for Soft Lockup Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
ARM servers experience soft lockup crashes due to clock frequency confusion on the I2C bus, which affects system time reading and leads to downtime, resulting in economic losses.
Innovation Solution
A starting method for ARM servers that sets the I2C bus clock frequency to a preset frequency matching the BMC's clock frequency, initializes the I2C bus, reads RTC time, and determines successful reading to display system time, thereby avoiding clock frequency confusion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the I2C bus reads RTC time at different time frequencies in BIOS and BMC, then both systems can access time information, but clock frequency confusion occurs causing soft lockup problems
Solution Approach 1:
The patent changes the clock frequency parameter of the I2C bus from its default value to a preset value that is consistent with the BMC's reading frequency. This parameter adjustment eliminates the frequency conflict between BIOS and BMC, preventing soft lockup while maintaining time reading functionality in both systems.
2Reliability
If the I2C bus clock frequency is set to match BMC frequency, then soft lockup is avoided, but the BIOS may not be able to read RTC time correctly
Solution Approach 1:
The patent applies preliminary action by setting the I2C bus clock frequency to the preset value during system initialization, before either BIOS or BMC attempts to read the RTC time. This pre-configuration ensures that when both systems subsequently access the RTC time, they operate under consistent frequency conditions, preventing soft lockup while maintaining reading accuracy.
Data Source
AI summary
The present application relates to the technical field of computers. Disclosed are a starting method and apparatus for an Advanced RISC Machine (ARM) server, an ARM server, and a non-volatile computer-readable storage medium. The method includes: after a Basic Input Output System (BIOS) is started, setting a clock frequency of an Inter-Integrated Circuit (I2C) bus to a preset clock frequency by using the BIOS, where the preset clock frequency is a clock frequency at which a baseboard management controller (BMC) reads real-time clock (RTC) time through the I2C bus; initializing the I2C bus by using the BIOS, and starting and entering an operating system; reading the RTC time through the I2C bus by using the BIOS, and determining whether the BIOS successfully reads the RTC time; and if the BIOS successfully reads the RTC time, displaying, under the operating system, system time corresponding to the RTC time.


