svn commit: r200310 - in head/sys/boot/i386: gptboot zfsboot
John Baldwin
jhb at FreeBSD.org
Wed Dec 9 13:09:32 PST 2009
Author: jhb
Date: Wed Dec 9 21:09:32 2009
New Revision: 200310
URL: http://svn.freebsd.org/changeset/base/200310
Log:
Fix a confusing typo in the EDD packet structure used in gptboot and
gptzfsboot. I got the segment and offset fields reversed in the structure,
but I also succeeded in crossing the assignments so the actual EDD packet
ended up correct.
MFC after: 1 week
Modified:
head/sys/boot/i386/gptboot/gptboot.c
head/sys/boot/i386/zfsboot/zfsboot.c
Modified: head/sys/boot/i386/gptboot/gptboot.c
==============================================================================
--- head/sys/boot/i386/gptboot/gptboot.c Wed Dec 9 20:36:56 2009 (r200309)
+++ head/sys/boot/i386/gptboot/gptboot.c Wed Dec 9 21:09:32 2009 (r200310)
@@ -642,8 +642,8 @@ bcmp(const void *b1, const void *b2, siz
static struct {
uint16_t len;
uint16_t count;
- uint16_t seg;
uint16_t off;
+ uint16_t seg;
uint64_t lba;
} packet;
@@ -656,8 +656,8 @@ drvread(void *buf, daddr_t lba, unsigned
printf("%c\b", c = c << 8 | c >> 24);
packet.len = 0x10;
packet.count = nblk;
- packet.seg = VTOPOFF(buf);
- packet.off = VTOPSEG(buf);
+ packet.off = VTOPOFF(buf);
+ packet.seg = VTOPSEG(buf);
packet.lba = lba;
v86.ctl = V86_FLAGS;
v86.addr = 0x13;
Modified: head/sys/boot/i386/zfsboot/zfsboot.c
==============================================================================
--- head/sys/boot/i386/zfsboot/zfsboot.c Wed Dec 9 20:36:56 2009 (r200309)
+++ head/sys/boot/i386/zfsboot/zfsboot.c Wed Dec 9 21:09:32 2009 (r200310)
@@ -1049,8 +1049,8 @@ putchar(int c)
static struct {
uint16_t len;
uint16_t count;
- uint16_t seg;
uint16_t off;
+ uint16_t seg;
uint64_t lba;
} packet;
#endif
@@ -1065,8 +1065,8 @@ drvread(struct dsk *dsk, void *buf, dadd
printf("%c\b", c = c << 8 | c >> 24);
packet.len = 0x10;
packet.count = nblk;
- packet.seg = VTOPOFF(buf);
- packet.off = VTOPSEG(buf);
+ packet.off = VTOPOFF(buf);
+ packet.seg = VTOPSEG(buf);
packet.lba = lba + dsk->start;
v86.ctl = V86_FLAGS;
v86.addr = 0x13;
More information about the svn-src-all
mailing list