2 Replies Latest reply on Nov 17, 2014 11:10 AM by Sankar

    Application Core Processor Initialization




      I am trying to understand the (hardware) delays during a processing core initialization. The core is moved to offline and online state through Linux hot-plug mechanism. The core moving to online state starts with sending INIT IPI to the destination core's local APIC followed by START UP IPI. I noticed few hardcoded delays added in this process from linux's source code. However the data sheet - Appendix B.4 from http://www.intel.com/design/pentium/datashts/24201606.pdf -  contains a pseudo-code (given below) that instructs to add the delays.


      BSP sends AP an INIT IPI

      BSP DELAYs (10mSec)

      If (APIC_VERSION is not an 82489DX) {

      BSP sends AP a STARTUP IPI

      BSP DELAYs (200µSEC)

      BSP sends AP a STARTUP IPI

      BSP DELAYs (200µSEC)


      BSP verifies synchronization with executing AP


      I am not sure the reason for adding these hard-coded delays in the startup code. If anyone has any knowledge on this, I would really appreciate if you could help me understand this.


      - Sankar