]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC 226748:
authorjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 9 Nov 2011 18:26:19 +0000 (18:26 +0000)
committerjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 9 Nov 2011 18:26:19 +0000 (18:26 +0000)
commit86c4df5b86a6bafcd01ad054e98c0f138bc5a667
tree461bc932bc1b766ad882757bb1dc8323723b4136
parent75b93f2c73ed6b22e5a14a7f58701ba946ec19de
MFC 226748:
- Add a new header for the x86 boot code that defines various structures
  and constants related to the BIOS Enhanced Disk Drive Specification.
- Use this header instead of magic numbers and various duplicate structure
  definitions for doing I/O.
- Use an actual structure for the request to fetch drive parameters in
  drvsize() rather than a gross hack of a char array with some magic
  size.  While here, change drvsize() to only pass the 1.1 version of
  the structure and not request device path information.  If we want
  device path information you have to set the length of the device
  path information as an input (along with probably checking the actual
  EDD version to see which size one should use as the device path
  information is variable-length).  This fixes data smashing problems
  from passing an EDD 3 structure to BIOSes supporting EDD 4.

Approved by: re (kib)

git-svn-id: svn://svn.freebsd.org/base/stable/9@227400 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/boot/i386/common/drv.c
sys/boot/i386/common/edd.h [new file with mode: 0644]
sys/boot/i386/libi386/Makefile
sys/boot/i386/libi386/bioscd.c
sys/boot/i386/libi386/biosdisk.c
sys/boot/i386/libi386/libi386.h