void full_reset(void) { /* Enable power on after power fail... */ unsigned byte; byte = pci_read_config8(PCI_DEV(0, 0x1f, 0), 0xa4); byte &= 0xfe; pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xa4, byte); outb(0x0e, 0xcf9); } static void power_down_reset_check(void) { uint8_t cmos; cmos=cmos_read(RTC_BOOT_BYTE)>>4 ; print_debug("Boot byte = "); print_debug_hex8(cmos); print_debug("\n"); if((cmos>2)&&(cmos&1)) full_reset(); }