Bug 7255

Summary: The CPU is very hot if break into EFI shell
Product: [Hardware Platforms] MinnowBoard MAX Firmware Reporter: YONG LI <sdliyong>
Component: minnowboard-uefi-firmwareAssignee: YONG LI <sdliyong>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: Medium CC: california.l.sullivan, david.anders, david.wei, dvhart, jeremy.burr, michael.p.krau, mike.wu, sdliyong, shifeix.a.lu, sjolley.yp.pm, warthog9
Version: 2C A2   
Target Milestone: Production Release   
Hardware: MinnowBoard Max   
OS: x86_64   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description YONG LI 2015-01-27 01:17:49 UTC
Just want to report that if I break into the BIOS EFI shell, and wait for a while(3-5 minutes), the CPU will very hot! It is much hotter than the Linux is running.

Maybe the BIOS does not support the CPU temperature controlling?
If the BIOS can decrease the CPU frequency when breaking into the EFI shell, maybe helpful
Comment 1 Michael Krau 2015-02-12 23:45:47 UTC
Questions that would help:

Is the issue that the CPU is getting hotter under the Shell than under an OS? 

OR

Is it a matter of the CPU getting unduly hot?

Also

How hot is hot, could you provide a temperature value?
Is the processor too hot to handle with bare skin?  


In general response to processor temperature:

BIOS does not have C-States support, where throttling is managed by software/firmware.  By design the Firmware Shell is such a simple environment.  This would be true of any simple monitor or old single thread execution environment (like DOS) as well.

Therefore a higher temperature under the shell in comparison to a full featured OS (Linux or Windows) would be anticipated. 


However, the CPU hardware has integral thermal control so there should be no danger of the hardware being damaged by overheating, or becoming damaging to skin contact.  The processor will throttle or reduce duty cycle as a function of that control (to keep the temperature within the operating constrains of the hardware).   

In the worst case, the hardware will shutdown should the temperature get too high, but the thermal planning and design around the MinnowBoard MAX should prevent that contingency for reasonable use.  

Bottom line: If the temperature is too high then it may indicate an error within the device configuration.  If it is high but within constraints, then it is just an expected behavior of the processor in the different software environments.

This is why the temperature data is so important to understanding and responding to this issue.
Comment 2 YONG LI 2015-02-13 00:16:42 UTC
Thanks for the update!

The EFI shell is much hoter than the Linux shell. It is too hot to touch with fingers, but i did not have the data for the temperature. 

Let me find a device and measure the temperature
Comment 3 Darren Hart 2015-02-13 02:32:00 UTC
Independent of C-States, I've suggested we investigate whatever loops may be used in the firmware and ensure we are doing basic things like inserting NOP instructions to not unduly raise the CPU temp. Thanks for reporting Yong Li, a temperature measurement would be very helpful so we can check if it is within specs.
Comment 4 Mike Wu 2015-02-26 05:56:31 UTC
UEFI firmware CPU driver does have capability to put CPU (BSP and Aps) in busy loop, halt(C1) and even mwait deep c-state, in the idle. it was enabled on other platforms like server and desktop before. We will port the code into MBM as low priority.
Comment 5 David_Wei 2015-04-07 05:35:25 UTC
V0.79 release will implement C1 solution, which pushs each core into C1 state when there is no task under execution.
Comment 6 David_Wei 2015-04-13 02:58:28 UTC
Please double check with V0.79 firmware binary.
Comment 7 California Sullivan 2015-08-18 00:10:39 UTC
This is completely subjective (just holding my finger to the heatsink after sitting in the UEFI shell for 20 minutes), but the temperature feels the same in 0.82, 0.79, and 0.78 firmware releases.

Is there a way to get the CPU temperature from the UEFI shell?
Comment 8 Lu_Shifei 2015-09-07 08:59:25 UTC
I am using infrared radiation thermometer to measure the processor temperature with 0.79 and 0.82 firmware less than 3 degrees with 0.78 firmware on Dual-Core,
measured the processor temperature with 0.79 and 0.82 firmware less than 10 degrees with 0.78 firmware on Quad-Core under UEFI shell.
Comment 9 Stephen K Jolley 2017-06-13 18:07:21 UTC
We are no longer tracking in Yocto Project Bugzilla MinnowBoard and MinnowBoard-MAX HW and firmware bugs.