Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jul 2011 18:58:18 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/boot/i386/zfsboot zfsldr.S
Message-ID:  <201107141858.p6EIwUmB030496@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jhb         2011-07-14 18:58:18 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_8)
    sys/boot/i386/zfsboot zfsldr.S 
  Log:
  SVN rev 224033 on 2011-07-14 18:58:18Z by jhb
  
  MFC 223477,223597,223611:
  - The recent change to increase the zfsboot size to 64k made a few BIOSes
    unhappy (probably they don't handle crossing the 64k boundary, etc.).
    Fix this by changing zfsldr to use a loop reading from the disk one
    sector at a time.  To avoid trashing the saved copy of the MBR which is
    used for disk I/O, read zfsboot2 at address 0x9000.  This has the
    advantage that BTX no longer needs to be relocated as it is read into
    the correct location.  However, the loop to relocate zfsboot2.bin can
    now cross a 64k boundary, so change it to use relative segments instead.
    (This will need further work if zfsboot2.bin ever exceeds 64k.)
  
    While here, stop storing a relocated copy of zfsldr at 0x700.  This was
    only used by the xread hack which has recently been removed (and even
    that use was dubious).  Also, include the BIOS error code as hex when
    reporting read errors to aid in debugging.
  
  - Remove the fake BPB from zfsldr.  zfsldr doesn't support booting from
    floppies, so it will not be used as the start of an emulated floppy
    image on a bootable CD which is what the fake BPB was used for.
  - Only check that EDD packet mode is available once at the start of
    zfsldr rather than for each disk sector now that we read data in one
    sector at a time.  As a result, collapse the remaining bits of read
    up into nread and rename nread to read.
  
  Revision  Changes    Path
  1.1.4.4   +86 -136   src/sys/boot/i386/zfsboot/zfsldr.S



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107141858.p6EIwUmB030496>