• Alok Kataria's avatar
    x86: fix paranoia about using BIOS quickboot mechanism. · 63d38198
    Alok Kataria authored
    > > Make sure that we clear the "shutdown status flag" in the CMOS
    > > register after each CPU is brought up.  This fixes a problem where the
    > > "shutdown status flag" may remain set when a CPU is brought up after
    > > booting.
    >
    > btw., what problem does this result in, exactly?
    
    The shutdown status flag set to "0xA", corresponds to "JMP double word
    request without INT init".
    
    This JMP at reboot time is at an unintended location. And results in
    Triple faults in our case.
    Though this error at reboot can be safely ignored in a VM environment,
    am not sure what the effect would be on a physical system. May be it
    will result in a triple fault and an eventual hardware reset thus
    masking this BUG in the kernel.
    
    This fix just makes sure that we reset that status flag after
    initialization is done.
    
    Fix paranoia about using BIOS quickboot mechanism.
    
    Make sure that we clear the "shutdown status flag" in the CMOS register
    after each CPU is brought up.  This fixes a problem where the "shutdown
    status flag" may remain set when a CPU is brought up after booting.
    Signed-off-by: default avatarAlok N Kataria <akataria@vmware.com>
    Signed-off-by: default avatarDan Arai <arai@vmware.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    63d38198
smpboot.c 35.8 KB