Changeset 149d14e5 in mainline for kernel/arch/amd64/src/pm.c


Ignore:
Timestamp:
2009-04-06T16:18:41Z (15 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade
Children:
13a638d
Parents:
415d272
Message:

ia32, amd64: do not reboot via a triple fault (which is nasty), but use the i8042 controller to trigger CPU reset

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/pm.c

    r415d272 r149d14e5  
    231231}
    232232
    233 /* Reboot the machine by initiating
    234  * a triple fault
    235  */
    236 void arch_reboot(void)
    237 {
    238         preemption_disable();
    239         ipl_t ipl = interrupts_disable();
    240        
    241         memsetb(idt, sizeof(idt), 0);
    242         idtr_load(&idtr);
    243        
    244         interrupts_restore(ipl);
    245         asm volatile (
    246                 "int $0x03\n"
    247                 "cli\n"
    248                 "hlt\n"
    249         );
    250 }
    251 
    252233/** @}
    253234 */
Note: See TracChangeset for help on using the changeset viewer.