diff options
author | phk <phk@FreeBSD.org> | 2002-10-07 12:15:11 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-10-07 12:15:11 +0000 |
commit | 1270e840d81ae68d8b322f5219ccc75878b4f60e (patch) | |
tree | b3dffbb0c1dc81ac15ac5db050392bd8c3eaaef1 /sys/boot | |
parent | ab9fa59b00ddcbf7220e0cce6bc78a173c637f56 (diff) | |
download | FreeBSD-src-1270e840d81ae68d8b322f5219ccc75878b4f60e.zip FreeBSD-src-1270e840d81ae68d8b322f5219ccc75878b4f60e.tar.gz |
Move MEM_USR a page upwards to make space for larger UFS1 boot2.
Load 4 sectors more than we used to. This is harmless overhead for
the UFS1_ONLY case, but sufficient for boot2(UFS1+2).
Sponsored by: DARPA & NAI Labs
Diffstat (limited to 'sys/boot')
-rw-r--r-- | sys/boot/i386/boot2/boot1.S | 8 | ||||
-rw-r--r-- | sys/boot/i386/boot2/boot1.s | 8 | ||||
-rw-r--r-- | sys/boot/i386/btx/btx/btx.S | 2 | ||||
-rw-r--r-- | sys/boot/i386/btx/btx/btx.s | 2 |
4 files changed, 10 insertions, 10 deletions
diff --git a/sys/boot/i386/boot2/boot1.S b/sys/boot/i386/boot2/boot1.S index 25f05d4..50a6d01 100644 --- a/sys/boot/i386/boot2/boot1.S +++ b/sys/boot/i386/boot2/boot1.S @@ -22,7 +22,7 @@ .set MEM_BUF,0x8c00 # Load area .set MEM_BTX,0x9000 # BTX start .set MEM_JMP,0x9010 # BTX entry point - .set MEM_USR,0xa000 # Client start + .set MEM_USR,0xb000 # Client start .set BDA_BOOT,0x472 # Boot howto flag # Partition Constants @@ -177,17 +177,17 @@ main.4: xor %dx,%dx # Partition:drive # it also runs from. The boot2.bin binary starts right after the end of # BTX, so we have to figure out where the start of it is and then move the # binary to 0xb000. Normally, BTX clients start at MEM_USR, or 0xa000, but -# when we use btxld create boot2, we use an entry point of 0x1000. That +# when we use btxld to create boot2, we use an entry point of 0x1000. That # entry point is relative to MEM_USR; thus boot2.bin starts at 0xb000. # main.5: mov %dx,MEM_ARG # Save args - movb $0x10,%dh # Sector count + movb $0x14,%dh # Sector count callw nread # Read disk mov $MEM_BTX,%bx # BTX mov 0xa(%bx),%si # Get BTX length and set add %bx,%si # %si to start of boot2.bin mov $MEM_USR+SIZ_PAG,%di # Client page 1 - mov $MEM_BTX+0xe*SIZ_SEC,%cx # Byte + mov $MEM_BTX+0x12*SIZ_SEC,%cx # Byte sub %si,%cx # count rep # Relocate movsb # client diff --git a/sys/boot/i386/boot2/boot1.s b/sys/boot/i386/boot2/boot1.s index 25f05d4..50a6d01 100644 --- a/sys/boot/i386/boot2/boot1.s +++ b/sys/boot/i386/boot2/boot1.s @@ -22,7 +22,7 @@ .set MEM_BUF,0x8c00 # Load area .set MEM_BTX,0x9000 # BTX start .set MEM_JMP,0x9010 # BTX entry point - .set MEM_USR,0xa000 # Client start + .set MEM_USR,0xb000 # Client start .set BDA_BOOT,0x472 # Boot howto flag # Partition Constants @@ -177,17 +177,17 @@ main.4: xor %dx,%dx # Partition:drive # it also runs from. The boot2.bin binary starts right after the end of # BTX, so we have to figure out where the start of it is and then move the # binary to 0xb000. Normally, BTX clients start at MEM_USR, or 0xa000, but -# when we use btxld create boot2, we use an entry point of 0x1000. That +# when we use btxld to create boot2, we use an entry point of 0x1000. That # entry point is relative to MEM_USR; thus boot2.bin starts at 0xb000. # main.5: mov %dx,MEM_ARG # Save args - movb $0x10,%dh # Sector count + movb $0x14,%dh # Sector count callw nread # Read disk mov $MEM_BTX,%bx # BTX mov 0xa(%bx),%si # Get BTX length and set add %bx,%si # %si to start of boot2.bin mov $MEM_USR+SIZ_PAG,%di # Client page 1 - mov $MEM_BTX+0xe*SIZ_SEC,%cx # Byte + mov $MEM_BTX+0x12*SIZ_SEC,%cx # Byte sub %si,%cx # count rep # Relocate movsb # client diff --git a/sys/boot/i386/btx/btx/btx.S b/sys/boot/i386/btx/btx/btx.S index e5c8ec4..cdcf448 100644 --- a/sys/boot/i386/btx/btx/btx.S +++ b/sys/boot/i386/btx/btx/btx.S @@ -28,7 +28,7 @@ .set MEM_DIR,0x4000 # Page directory .set MEM_TBL,0x5000 # Page tables .set MEM_ORG,0x9000 # BTX code - .set MEM_USR,0xa000 # Start of user memory + .set MEM_USR,0xb000 # Start of user memory # # Paging control. # diff --git a/sys/boot/i386/btx/btx/btx.s b/sys/boot/i386/btx/btx/btx.s index e5c8ec4..cdcf448 100644 --- a/sys/boot/i386/btx/btx/btx.s +++ b/sys/boot/i386/btx/btx/btx.s @@ -28,7 +28,7 @@ .set MEM_DIR,0x4000 # Page directory .set MEM_TBL,0x5000 # Page tables .set MEM_ORG,0x9000 # BTX code - .set MEM_USR,0xa000 # Start of user memory + .set MEM_USR,0xb000 # Start of user memory # # Paging control. # |