History log of /src/sys/arch/i386/stand/lib/bootinfo_biosgeom.c |
Revision | | Date | Author | Comments |
1.24 |
| 01-Aug-2019 |
manu | Fix buffer overflow in BIOS disk geometry collect for bootinfo
This spares a boot-time panic on iMac with fusion drive, which feature both a hard drive and a solid-state drive.
|
1.23 |
| 24-Jan-2017 |
nonaka | branches: 1.23.6; 1.23.14; 1.23.18; Initial commit of native amd64 EFI boot loader.
|
1.22 |
| 16-May-2013 |
christos | branches: 1.22.10; 1.22.14; 1.22.18; Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts because it also uses struct dos_partition.
|
1.21 |
| 25-Dec-2010 |
jakllsch | branches: 1.21.8; 1.21.18; Use printf format macros for long longs.
|
1.20 |
| 20-Nov-2009 |
dsl | branches: 1.20.4; EXT13_DEVPATH_SIGNATURE should be EXTINFO_DEVPATH_SIGNATURE
|
1.19 |
| 11-Dec-2005 |
christos | branches: 1.19.78; 1.19.92; merge ktrace-lwp.
|
1.18 |
| 29-Jun-2005 |
junyoung | Massive renames for consistency: biosdiskreset -> biosdisk_reset biosread -> biosdisk_read get_diskinfo -> biosdisk_getinfo int13_extension -> biosdisk_int13ext biosextread -> biosdisk_extread int13_getextinfo -> biosdisk_getextinfo struct biosdisk_ext13info -> biosdisk_extinfo BIOSDISK_EXT13 -> BIOSDISK_INT13EXT BIOSDISK_EXT13INFO_V{2,3} -> BIOSDISK_EXTINFO_V{2,3} EXT13_* -> EXTINFO_*
|
1.17 |
| 23-Jun-2005 |
junyoung | Define BIOSDISK_DEFAULT_SECSIZE in biosdisk_ll.h and replace BIOSDISK_SECSIZE with it.
|
1.16 |
| 22-Jun-2005 |
junyoung | Use get_harddrives().
|
1.15 |
| 22-Jun-2005 |
junyoung | Add support for cd9660 file system to the i386 BIOS bootloader.
|
1.14 |
| 21-Jun-2005 |
junyoung | Cosmetic changes.
|
1.13 |
| 24-Mar-2004 |
drochner | remove license clauses 3 and 4 from my cpoyright notices
|
1.12 |
| 08-Oct-2003 |
lukem | Overhaul MBR handling (part 1):
<sys/bootblock.h>: * Added definitions for the Master Boot Record (MBR) used by a variety of systems (primarily i386), including the format of the BIOS Parameter Block (BPB). This information was cribbed from a variety of sources including <sys/disklabel_mbr.h> which this is a superset of.
As part of this, some data structure elements and #defines were renamed to be more "namespace friendly" and consistent with other bootblocks and MBR documentation. Update all uses of the old names to the new names.
<sys/disklabel_mbr.h>: * Deprecated in favor of <sys/bootblock.h> (the latter is more "host tool" friendly).
amd64 & i386: * Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to be consistent with the naming convention of the msdosfs tools.
* Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1 and it's confusing to have two functionally equivalent bootblocks, especially given that "ufs" has multiple meanings (it could be a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).
* Rework pbr.S (the first sector of bootxx_*): + Ensure that BPB (bytes 11..89) and the partition table (bytes 446..509) do not contain code. + Add support for booting from FAT partitions if BOOT_FROM_FAT is defined. (Only set for bootxx_msdos). + Remove "dummy" partition 3; if people want to installboot(8) these to the start of the disk they can use fdisk(8) to create a real MBR partition table... + Compile with TERSE_ERROR so it fits because of the above. Whilst this is less user friendly, I feel it's important to have a valid partition table and BPB in the MBR/PBR.
* Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent with other platforms.
* Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that we can boot off FAT partitions.
* Crank version of /usr/mdec/boot to 3.1, and fix some of the other entries in the version file.
installboot(8) (i386): * Read the existing MBR of the filesystem and retain the BIOS Parameter Block (BPB) in bytes 11..89 and the MBR partition table in bytes 446..509. (Previously installboot(8) would trash those two sections of the MBR.)
mbrlabel(8): * Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code to map the MBR partition type to the NetBSD disklabel type.
Test built "make release" for i386, and new bootblocks verified to work (even off FAT!).
|
1.11 |
| 16-Apr-2003 |
dsl | branches: 1.11.2; Add code to parse V3.x bios disk information. This should let NetBSD guarantee to tie together the bios disk numbers with the physical hardware. #defined out because I don't have a system with a bios that supports it.
|
1.10 |
| 01-Feb-2003 |
dsl | Change all .S files to use .code16 and .code32 Support 32bit addresses >64k as valid on bios calls. Move stack for dosboot and biosboot to >64 so stack doesn't hit data. Use disk sector number passed by mbr code to select default partition (the mbr code doesn't do this yet). NB only biosboot and dosboot have been tested so far. (changes approved by christos and fvdl)
|
1.9 |
| 07-Jul-2001 |
perry | branches: 1.9.4; b*()->mem*()
|
1.8 |
| 30-Mar-1999 |
drochner | branches: 1.8.22; adapt to set_geometry change: we don't have to correct the geometry anymore
|
1.7 |
| 28-Mar-1999 |
fvdl | Only use the total number of sectors information field from the EDD if the bit is set that declares the geometry valid. The spec itself says that this field isn't covered by the "geometry valid" bit, but at least one BIOS implements it that way.
|
1.6 |
| 12-Mar-1999 |
fvdl | Clean up the BIOS disk matching code a bit (better naming, one structure and sysctl to export to userland). Also, only use total number of sectors given in the extended parameters if the physical chs geometry is marked invalid. Hopefully fixes a problem where BIOSs would not correctly fill in this field.
|
1.5 |
| 11-Mar-1999 |
fvdl | Declare nhd to be unsigned char, as we're only copying one byte to it. From Matthias Drochner.
|
1.4 |
| 08-Mar-1999 |
fvdl | * query BIOS geometry information, possibly using the int 13 extensions. * pass them on to the kernel * print a message if the 2nd stage bootloader returns (i.e. fails) instead of just hanging.
|
1.3 |
| 28-Jan-1999 |
christos | Minor changes to prototypes.
|
1.2 |
| 27-Jan-1999 |
thorpej | Use the MI <sys/disklabel_mbr.h>, not our own machine-dependent definitions.
|
1.1 |
| 17-Sep-1997 |
drochner | branches: 1.1.2; Function to collect geometry and partitioning information about the BIOS-known disks in a "bootinfo" structure (still experimental).
|
1.1.2.2 |
| 22-Sep-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.1.2.1 |
| 17-Sep-1997 |
thorpej | file bootinfo_biosgeom.c was added on branch marc-pcmcia on 1997-09-22 06:31:25 +0000
|
1.8.22.1 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.9.4.2 |
| 07-Jul-2001 |
perry | b*()->mem*()
|
1.9.4.1 |
| 07-Jul-2001 |
perry | file bootinfo_biosgeom.c was added on branch sommerfeld_i386mp_1 on 2001-07-07 22:57:58 +0000
|
1.11.2.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.11.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.11.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.11.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.19.92.2 |
| 10-Jan-2011 |
jym | Sync with HEAD
|
1.19.92.1 |
| 24-Oct-2010 |
jym | Sync with HEAD
|
1.19.78.1 |
| 11-Mar-2010 |
yamt | sync with head
|
1.20.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.21.18.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.21.18.1 |
| 23-Jun-2013 |
tls | resync from head
|
1.21.8.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.22.18.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.22.14.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.22.10.1 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.23.18.1 |
| 13-Aug-2019 |
martin | Pull up following revision(s) (requested by manu in ticket #51):
sys/arch/i386/stand/lib/bootinfo_biosgeom.c: revision 1.24
Fix buffer overflow in BIOS disk geometry collect for bootinfo
This spares a boot-time panic on iMac with fusion drive, which feature both a hard drive and a solid-state drive.
|
1.23.14.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.23.6.1 |
| 13-Aug-2019 |
martin | Pull up following revision(s) (requested by manu in ticket #1336):
sys/arch/i386/stand/lib/bootinfo_biosgeom.c: revision 1.24
Fix buffer overflow in BIOS disk geometry collect for bootinfo
This spares a boot-time panic on iMac with fusion drive, which feature both a hard drive and a solid-state drive.
|