Revert "Move stack to below 0x7c00; leaving it at the default location"
authorMichael Brown <mcb30@etherboot.org>
Thu, 28 Jun 2007 20:50:36 +0000 (21:50 +0100)
committerMichael Brown <mcb30@etherboot.org>
Thu, 28 Jun 2007 20:50:36 +0000 (21:50 +0100)
This reverts commit 03ca71c38da9cc6df01ecd9ef16e97a0edb6a4e9.

src/arch/i386/prefix/dskprefix.S

index 2df00ae..9b1ebaa 100644 (file)
 
        jmp     $BOOTSEG, $go           /* reload cs:ip to match relocation addr */
 go: 
-       xorw    %ax,%ax                 /* put stack at 0000:7c00 */
-       movw    %ax,%ss
-       movw    $0x7c00,%sp
-
        movw    $0x2000-12, %di         /* 0x2000 is arbitrary value >= length */
                                        /* of bootsect + room for stack + 12 for */
                                        /* saved disk parm block */
@@ -42,6 +38,8 @@ go:
        movw    $BOOTSEG, %ax
        movw    %ax,%ds
        movw    %ax,%es
+       movw    %ax,%ss                 /* put stack at BOOTSEG:0x4000-12. */
+       movw    %di,%sp
 
 /* Many BIOS's default disk parameter tables will not recognize multi-sector
  * reads beyond the maximum sector number specified in the default diskette
@@ -52,7 +50,7 @@ go:
  * will set the maximum sector count to 36 - the most we will encounter on an
  * ED 2.88.  High doesn't hurt.        Low does.
  *
- * Segments are as follows: ds=es=cs - BOOTSEG
+ * Segments are as follows: ds=es=ss=cs - BOOTSEG
  */
 
        xorw    %cx,%cx