[lkml]   [2011]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH v4 0/7] x86: BSP or CPU0 online/offline
    On 12/06/2011 06:30 PM, Borislav Petkov wrote:

    > On Tue, Dec 06, 2011 at 04:17:58PM +0530, Srivatsa S. Bhat wrote:
    >> In this case, the other patch that I mentioned in my previous mail
    >> would be required (or an equivalent), because the optimization
    >> patch which is now in mainline, would apply the same old microcode
    >> image on this new CPU too, blindly.
    > Not blindly, the microcode is still verified.

    I saw your other mail about the validity of this whole scenario, and I
    kind of agree to your point.

    My thoughts below might not be so relevant/significant considering that,
    but anyways, just to understand what you said above:
    I didn't quite find where the microcode is verified if the kernel happens
    to have the microcode image already.

    From what I saw, microcode image is not freed nor invalidated when a
    CPU goes down (which was introduced by the optimization patch). And hence,
    when the CPU comes back up, the call sequence would look something like:

    case CPU_ONLINE:
    * microcode_update_cpu(cpu);
    * microcode_resume_cpu(cpu) /* Because uci->valid was 1 */
    * eventually calls apply_microcode_amd(cpu) for AMD or
    apply_microcode(cpu) for Intel

    And both these functions simply write the microcode image to the CPU
    and then check whether the _write_ was successful, (not whether the required
    microcode version was applied).

    That was why, to take care of this, the other patch (below) was written, IMHO.

    Srivatsa S. Bhat

     \ /
      Last update: 2011-12-06 15:07    [W:0.036 / U:141.476 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site