Merge pull request #16 from memtest86plus/x86fr/misc_features

New reset method
This commit is contained in:
Doc TB 2022-03-08 23:42:23 +01:00 committed by GitHub
commit 3ead0458c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,6 +13,7 @@
#include "io.h"
#include "hwctrl.h"
#include "unistd.h"
//------------------------------------------------------------------------------
// Public Functions
@ -25,6 +26,15 @@ void reboot(void)
// Pulse the system reset signal.
outb(0xfe, 0x64);
// If not working, use cf9 method after 100ms delay
usleep(100000);
uint8_t cf9 = inb(0xcf9) & ~6;
outb(cf9|2, 0xcf9); /* Request hard reset */
usleep(50);
outb(cf9|6, 0xcf9); /* Actually do the reset */
usleep(50);
}
void floppy_off()