freebsd-nq/sys/boot/i386
Andriy Gapon 4efe2886a5 boot: use packed attribute for edd_params* structures and their substructures
The sole purpose of this change is to make sure that sizeof produces
"canonical" sizes for these structures.  This is to avoid triggering
bugs in the BIOSes that properly handle only the canonical values of
input length provided to INT 13h AH=48h.
The canonical sizes are: 30 for v2, 66 for v3, etc.
Buggy BIOS code probably looks like:
if (input_length > 30) {   /* > v2 */
	assume that input length is 66 /* assume v3 or later */
}

This should fix boot problems at least on Supermicro X8DT6 and possibly
on P410i Smart Array Controller (as found in e.g. HP DL360 G7).

Reported by:	gnn, np, rstone
Debugged by:	rstone
Discussed with:	ae, np, rstone
MFC after:	4 days
2012-11-14 11:05:16 +00:00
..
boot0
boot0ext
boot0sio
boot2 Shrink boot2 by 8 bytes, by eliminating some unneeded instructions in 2012-11-08 23:21:02 +00:00
btx add detection of serial console presence to btx and boot2-like blocks 2012-10-06 20:08:29 +00:00
cdboot
common boot: use packed attribute for edd_params* structures and their substructures 2012-11-14 11:05:16 +00:00
efi
gptboot add detection of serial console presence to btx and boot2-like blocks 2012-10-06 20:08:29 +00:00
gptzfsboot
kgzldr
libfirewire
libi386 Add the flags parameter to the disk_open() function and DISK_F_NOCACHE 2012-10-21 12:14:58 +00:00
loader Hook in new files menusets.4th and manual. 2012-11-07 02:14:03 +00:00
mbr
pmbr When GPT signature is invalid in the primary GPT header, then try to 2012-08-05 12:57:38 +00:00
pxeldr
zfsboot add detection of serial console presence to btx and boot2-like blocks 2012-10-06 20:08:29 +00:00
zfsloader
Makefile
Makefile.inc boot: use -march=i386 for both i386 and amd64 builds 2012-10-20 16:57:23 +00:00