We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello,
ARM's advice on disabling cpuidle (powerdown to cores) after Linux boots works fine. However, I find that the debugger still hangs in cases where the kernel hasn't booted all the way, and I need to connect the debugger.
Can you provide advice on how to disable cpuidle properly at compile time on a Linux Kernel > 4.0?
https://community.arm.com/developer/tools-software/oss-platforms/w/docs/287/common-issues-using-ds-5-with-juno
Thank you
Hi 'mindchasers'Using the Arm DS or DS-5 Debugger, it is possible to debug the Linux kernel, from its entry point, through the pre-MMU stages, and then seamlessly through the MMU enable stage to post-MMU debug with full kernel awareness, all the way to the login prompt, and all with source-level symbols. To do this, see the blog at community.arm.com/.../debugging-the-armv8-a-linux-kernel-with-ds-5(this was written for DS-5, but most still applies to Arm DS).Of course, the debugging view can get interrupted when cores power-down. To disable cpuidle at compile time, you should be able to set CPU_IDLE=n in the menuconfig.Which Arm Debugger are you using, and to what target platform are you connecting? Are you connecting using a debug hardware such as DSTREAM?Can you describe the debugger "hang" that you see - are you sure it is related to cores being powered down? Maybe try connecting to just a single core that you know remains powered up (e.g. the primary core).Alternatively try connecting the debugger much earlier in the boot sequence, before the cores start powering-down.In particular, see the section in the blog "Debugging the Kernel : Pre-MMU Stage" and the use of the "set os physical-address" command.Hope this helps