#define outb(y, x) printf("out8(0x%08x, 0x%02x);\n", x, y); mdelay(100); ide_out8(x -0x1200, y); #define inb(y) printf("in8(0x%02x);\n", y); mdelay(100); ide_in8(y - 0x1200) #define ALTSTATUS 0x120a while (1) { // outb(0x0a, ALTSTATUS); inb(0x1207); inb(0x1222); outb(0x04, 0x1222); inb(0x1222); inb(ALTSTATUS); inb(0x1207); inb(0x1222); outb(0x00, 0x1222); inb(0x1222); // outb(0x0a, ALTSTATUS); inb(0x1207); inb(0x1222); outb(0x00, 0x1222); inb(0x1222); inb(0x1207); outb(0x55, 0x1202); outb(0xaa, 0x1203); outb(0xaa, 0x1202); outb(0x55, 0x1203); outb(0x55, 0x1202); outb(0xaa, 0x1203); inb(0x1202); inb(0x1203); // outb(0x0a, ALTSTATUS); // outb(0x0e, ALTSTATUS); // outb(0x0a, ALTSTATUS); inb(0x1207); inb(0x1207); inb(0x1207); inb(0x1201); inb(0x1202); inb(0x1203); inb(0x1204); inb(0x1205); inb(0x1206); // outb(0x0a, ALTSTATUS); inb(0x1207); inb(0x1222); outb(0x00, 0x1222); inb(0x1222); // outb(0x08, ALTSTATUS); inb(0x1207); inb(0x1222); outb(0x00, 0x1222); inb(0x1222); inb(0x1207); inb(0x1207); inb(0x1207); inb(0x1207); inb(0x1207); outb(0xa1, 0x1207); printf("prepare for crash:\n"); inb(0x1207); inb(0x1207); } #endif