Re: [PATCH] restore floppy boot image

From: Timothy Miller
Date: Wed Jun 30 2004 - 15:21:57 EST




Joshua wrote:

+enter:

You get a segment number here into AX...

+ pop %ax /* Pointer to setup area */
+ mov %ax, %ds
+ mov %ax, %es
+ mov %ax, %fs
+ mov %ax, %gs
+ movb $0x20, 0x210 /* Tell setup.S that we are the bootsect
*/
+ orb $0x1, 0x211 /* Covert any zImage to bzImage (weird) */
+ movw $0x0, 0x214 /* This is where we loaded it */
+ movw $0x10, 0x216
+
+ /*
+ * This procedure turns off the floppy drive motor, so
+ * that we enter the kernel in a known state, and
+ * don't have to worry about it later.
+ *
+ * Actually, all this does is not annoy sysadmin, when he is
+ * forced to use this method of booting, because if the floppy
+ * is a demand-loaded module, the motor just won't turn off
+ * otherwise.
+ */
+
+ mov $0x3f2, %dx

Then you clobber it here....

+ mov $0, %al
+ /* outb */
+ .byte 0xEE /* I don't have time to figure out
+ * why this didn't assemble. */
+
+ /*
+ * Enter kernel with interrupts off, and at segment +20 from
+ * legacy bootsect location
+ */
+ cli

And then you use the clobbered value here. (Unless the low byte of SS is supposed to be zero.)

+ mov %ax, %ss
+ mov $0xFFF0, %sp /* Plenty heap */
+ ljmp $KS_LOAD + 0x20, $0

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/