aboutsummaryrefslogtreecommitdiff
path: root/sys/i386/include/bootinfo.h
Commit message (Collapse)AuthorAgeFilesLines
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-161-2/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* i386: Make boot loader smaller by reducing size of bootinfoWarner Losh2022-09-161-12/+3
| | | | | | | | | | | | | | | | | | | We don't need the 56 bytes at the end of bootinfo, and never had. Don't copy them from old boot loaders, and don't provide them with new boot loaders. Add comments about what versions of FreeBSD 'old' means in various contexts. Add note that old disk loader (from 1.x/2.x) is doomed to failure because it doesn't provide metadata that we now require to boot, and has been since approximately FreeBSD 7.x. Retain all this information to explain why we have 4 arguments that are always 0, even though it's ancient history. This saves 56 bytes in the boot loader. Sponsored by: Netflix Reviewed by: phk, rgrimes, kib Differential Revision: https://reviews.freebsd.org/D36550
* i386: Mark the obsolete fields in bootinfo with _was_Warner Losh2022-09-161-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | Mark the obsolete fields in bootinfo with _was_. Note that the fields from bi_memdesc_version to the end of the structure never were used in a release. They were added in April 2010 for i386 EFI booting. The boot loader set these fields though 2019, but no kernel ever looked at them and we never supported i386 EFI booting, and likely never will in this form. They can likely be deleted entirely in the future, but locore.S needs to change to do that (it also needs to change to drop support for really old booting scenarios as well, which will eliminate bi_endcommon too). All the other fields haven't been used since the 4.x -> 5.x cutover of the wdc driver to ata. The bi_bios_dev field is used in the handoff between bootXX and the loader. The loader uses it to determine what disk it was loaded off of to detmerine the default root filesystem. It's not used by the i386 kernel anymore to determine anything. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D36544
* sys/i386: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-271-0/+2
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326260
* i386 bootinfo: re-arrange EFI fields for natural alignment and packingAndriy Gapon2012-05-131-4/+4
| | | | | | | | Suggested by: bde MFC after: 2 weeks Notes: svn path=/head/; revision=235391
* Add EFI boot info fields.Rui Paulo2010-04-071-0/+7
| | | | Notes: svn path=/head/; revision=206381
* Slightly cleanup the 'bootdev' concept on x86 by changing the variousJohn Baldwin2007-10-241-12/+6
| | | | | | | | | | | macros to treat the 'slice' field as a real part of the bootdev instead of as hack that spans two other fields (adaptor (sic) and controller) that are not used in any modern FreeBSD boot code. MFC after: 1 week Notes: svn path=/head/; revision=172921
* Libdisk does not need to include <sys/diskslice.h> any more.Poul-Henning Kamp2003-04-041-0/+44
| | | | | | | | | | | | Move the remaining bits of <sys/diskslice.h> to <i386/include/bootinfo.h> Move i386/pc98 specific bits from <sys/reboot.h> to <i386/include/bootinfo.h> as well. Adjust includes in sys/boot accordingly. Notes: svn path=/head/; revision=113083
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"Peter Wemm1999-12-291-1/+1
| | | | | | | | | is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come. Notes: svn path=/head/; revision=55205
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50477
* Remove the bi_vesa field, as vesa modeswitching is no longer performedMike Smith1998-10-011-2/+2
| | | | | | | by the bootblocks. Notes: svn path=/head/; revision=39865
* Pass the BIOS unit number from which the kernel/loader was obtained inMike Smith1998-10-011-2/+2
| | | | | | | the bootinfo struct so that it can be reused later. Notes: svn path=/head/; revision=39864
* Add extra bootinfo fields for the three-stage bootloader; the end of theMike Smith1998-09-141-1/+5
| | | | | | | | loaded kernel aggregate, a pointer to the kernel environment data and a pointer to the preloaded module metadata. Notes: svn path=/head/; revision=39180
* Don't pretend to support ix86's with 16-bit ints by using longs justBruce Evans1998-07-111-15/+15
| | | | | | | | | | | to ensure 32-bit variables. Doing so broke i386's with 64-bit longs. Use fixed-size integral types instead of plain ints, shorts, chars and pointers since the bootinfo struct layout is a binary interface. The boot blocks could reasonably be implemented using 16-bit code. Notes: svn path=/head/; revision=37550
* Add support for booting in VESA 0x102 videomode. Corresponding patches toPoul-Henning Kamp1997-07-311-2/+3
| | | | | | | syscons are being reviewed by sos. Notes: svn path=/head/; revision=27789
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notPeter Wemm1997-02-221-1/+1
| | | | | | | ready for it yet. Notes: svn path=/head/; revision=22975
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-01-141-1/+1
| | | | | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise. Notes: svn path=/head/; revision=21673
* Remove trailing whitespace.Rodney W. Grimes1995-05-301-2/+2
| | | | Notes: svn path=/head/; revision=8876
* Load the kernel symbol table in the boot loader and not at compile time.Bruce Evans1995-01-251-10/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Boot with the -D flag if you want symbols.) Make it easier to extend `struct bootinfo' without losing either forwards or backwards compatibility. ddb_aout.c: Get the symbol table from wherever the loader put it. Nuke db_symtab[SYMTAB_SPACE]. boot.c: Enable loading of symbols. Align them on a page boundary. Add printfs about the symbol table sizes. Pass the memory sizes to the kernel. Fix initialization of `unit' (it got moved out of the loop). Fix adding the bss size (it got moved inside an ifdef). Initialize serial port when RB_SERIAL is toggled on. Fix comments. Clean up formatting of recently added code. io.c: Clean up formatting of recently added code. netboot/main.c, machdep.c, wd.c: Change names of bootinfo fields. LINT: Nuke SYMTAB_SPACE. Fix comment about DODUMP. Makefile.i386: Nuke use of dbsym. Exclude gcc symbols from kernel unless compiling with -g. Remove unused macro. Fix comments and formatting. genassym.c: Generate defines for some new bootinfo fields. Change names of old ones. locore.s: Copy only the valid part of the `struct bootinfo' passed by the loader. Reserve space for symbol table, if any. machdep.c: Check the memory sizes passed by the loader, if any. Don't use them yet. bootinfo.h: Add a size field so that we can resolve some mismatches between the loader bootinfo and the kernel boot info. The version number is not so good for this because of historical botches and because it's harder to maintain. Add memory size and symbol table fields. Change the names of everything. Hacks to save a few bytes: asm.S, boot.c, boot2.S: Replace `ouraddr' by `(BOOTSEG << 4)'. boot.c: Don't statically initialize `loadflags' to 0. Disable the "REDUNDANT" code that skips the BIOS variables. Eliminate `total'. Combine some more printfs. boot.h, disk.c, io.c, table.c: Move all statically initialzed data to table.c. io.c: Don't put the A20 gate bits in a variable. Notes: svn path=/head/; revision=5908
* Declare the bootinfo structure in the kernel.Poul-Henning Kamp1994-11-181-1/+4
| | | | Notes: svn path=/head/; revision=4599
* Add space for the bios-geometry in the bootinfo struct.Poul-Henning Kamp1994-11-181-1/+4
| | | | Notes: svn path=/head/; revision=4598
* 1. bootinfo.h defines the structure passed in to the kernel by theRodney W. Grimes1994-10-061-0/+44
new boot code. Notes: svn path=/head/; revision=3385