History log of /src/sys/arch/x86/include/bootinfo.h |
Revision | | Date | Author | Comments |
1.32 |
| 30-Apr-2025 |
imil | Introduce pvh_boot boolean to identify the real hypervisor when booting in PVH mode.
As of now, sys/arch/x86/x86/identcpu.c / identify_hypervisor() returns in the case of vm_guest being VM_GUEST_GENPVH, yet this VM type is not an actual hypervisor but an information recorded in locore.S to drive boot method. We need to investigate what type of hypervisor is really running the VM in order to apply specifics, so instead of relying on vm_guest_is_pvh() which only checks for VM_GUEST_XENPVH || VM_GUEST_GENPVH, pvh_boot informs on the boot method while allowing to identify the real hypervisor.
Idea ok'd by bouyer@, tested on Xen domU, Xen dom0 with GENERIC PVH and qemu GENERIC PVH boot.
|
1.31 |
| 20-Aug-2022 |
riastradh | x86/bootinfo.h: Add include guard.
|
1.30 |
| 21-Jun-2019 |
nonaka | PR/54147: Increase BOOTINFO_MAXSIZE to 16Kib.
Some systems require a larger bootinfo size for memory descriptors.
|
1.29 |
| 13-Apr-2018 |
nonaka | branches: 1.29.2; x86: Increase BOOTINFO_MAXSIZE to 8Kib.
Proposed on port-i386 and port-amd64 with no objections: http://mail-index.netbsd.org/port-i386/2018/04/11/msg003692.html http://mail-index.netbsd.org/port-amd64/2018/04/11/msg002697.html
|
1.28 |
| 09-Nov-2017 |
christos | branches: 1.28.2; add "prekern" to the string list.
|
1.27 |
| 07-Oct-2017 |
maxv | Add a new option in libsa, to load dynamic binaries. A separate function is used, and it does not break in any way the generic static loader. Then, add a new "pkboot" command in the x86 bootloader, which boots a GENERIC_KASLR kernel via the prekern. (See thread on tech-kern@.)
|
1.26 |
| 14-Feb-2017 |
nonaka | branches: 1.26.6; x86: add e820 memory type.
|
1.25 |
| 24-Jan-2017 |
nonaka | Initial commit of native amd64 EFI boot loader.
|
1.24 |
| 28-Jan-2016 |
christos | branches: 1.24.2; 1.24.4; Add support for grub to find the ACPI root table pointer via a bootinfo entry from grub. From: https://mail-index.netbsd.org/tech-kern/2014/05/22/msg017119.html
|
1.23 |
| 30-Aug-2013 |
jmcneill | branches: 1.23.6; Add support for using a raw file-system image as memory disk root with the x86 bootloader.
|
1.22 |
| 16-May-2013 |
christos | branches: 1.22.2; Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts because it also uses struct dos_partition.
|
1.21 |
| 16-May-2013 |
christos | Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts because it also uses struct dos_partition.
|
1.20 |
| 16-May-2013 |
christos | Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts because it also uses struct dos_partition.
|
1.19 |
| 28-Nov-2011 |
tls | branches: 1.19.8;
Add support for passing saved entropy (random seed file) to the kernel from the bootloader. This can fix the problem of poor quality keys for other kernel modules which call arc4random() early in kernel startup (NFS startup, in particular, causes this).
We continue to rely on the etc/rc.d/random_seed script to save entropy to the seed file at shutdown and erase the seed file at startup.
Boot loader support implemented only for i386 and amd64 ports for now but it should be easy for other ports to do the same or similar.
|
1.18 |
| 26-May-2011 |
uebayasi | branches: 1.18.4; Support userconf(4) command in boot(8)/boot.cfg(5) on i386/amd64.
From jmmv@, no objections seen in the proposed thread:
http://mail-index.netbsd.org/tech-kern/2009/01/22/msg004081.html
|
1.17 |
| 06-Feb-2011 |
jmcneill | add BI_MODULE_IMAGE boot module type
|
1.16 |
| 24-Aug-2009 |
jmcneill | branches: 1.16.4; 1.16.6; 1.16.8; Pass the VBE mode number from the bootloader to the kernel, and then make the ACPI wakecode aware of it. Restore the desired VBE mode on resume when acpi_vbios_reset=1, so suspend/resume with genfb console will work.
|
1.15 |
| 16-Feb-2009 |
jmcneill | Kernel-side modifications for framebuffer console support on i386 and amd64.
* New BTINFO_FRAMEBUFFER kernel parameter to pass screen configuration * Early attach support for framebuffer console * Pass BTINFO_FRAMEBUFFER parameters to genfb in device_register * Provide hooks to genfb to set VGA DAC palette in 8bpp mode
|
1.14 |
| 09-Sep-2008 |
tron | branches: 1.14.2; 1.14.8; Remove duplicate definition of "bootinfo" structure. Patch provided by Juan RP in PR kern/39495.
|
1.13 |
| 02-May-2008 |
ad | branches: 1.13.2; 1.13.6; - Give x86 BIOS boot the ability to load new style modules and pass them into the kernel. Based on a patch by jmcneill@, with many fixes and improvements by me.
- Put MEMORY_DISK_DYNAMIC and MODULAR into the GENERIC kernels, so that you can load miniroot.kmod from the boot blocks and boot into the installer!
|
1.12 |
| 25-Dec-2007 |
perry | branches: 1.12.6; 1.12.8; 1.12.10; Convert many of the uses of __attribute__ to equivalent __packed, __unused and __dead macros from cdefs.h
|
1.11 |
| 03-Feb-2006 |
jmmv | branches: 1.11.46; 1.11.52; 1.11.56; 1.11.60; Implement support for 'The Multiboot Specification' so that i386 kernels can be booted directly from Multiboot-compliant boot loaders (e.g. GRUB). See the added multiboot(8) manual page for more information.
No objections in tech-kern@; only positive comments.
|
1.10 |
| 30-Dec-2005 |
jmmv | branches: 1.10.2; 1.10.4; Add a 'struct bootinfo' to represent the bootinfo structure used in the kernel by x86 platforms (instead of a simple char *). This way, the code in, e.g., lookup_bootinfo, is a bit easier to understand.
While here, move the lookup_bootinfo function used in x86 platforms (amd64, i386 and xen) to a common file (x86/x86_machdep.c), as it was exactly the same in all of them.
|
1.9 |
| 06-Jul-2005 |
junyoung | branches: 1.9.2; BIOSDISK_EXT13INFO_V3 -> BIOSDISK_EXTINFO_V3 u_intNN_t -> uintNN_t u_int -> unsigned int Remove trailing spaces
|
1.8 |
| 12-Jun-2005 |
dyoung | Make disklabel(8) and fdisk(8) into "host tools " last step: build and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel, ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.
To avoid clashes with a build-host's header files, especially on *BSD, the host-tools versions of fdisk and disklabel search for #includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h, and bootinfo.h in a new #includes namespace, nbinclude/. That is, they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>, <nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and such. I have also updated the system headers to #include from nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
|
1.7 |
| 04-Feb-2005 |
fvdl | The bootinfo_wedge structure must be packed, or the 32bit alignments used by the bootloader don't match the amd64 kernel.
|
1.6 |
| 23-Oct-2004 |
thorpej | branches: 1.6.4; 1.6.6; Add support for passing booted wedge information to the kernel.
|
1.5 |
| 24-Mar-2004 |
drochner | remove license clauses 3 and 4 from my cpoyright notices
|
1.4 |
| 27-Oct-2003 |
junyoung | Nuke __P().
|
1.3 |
| 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.2 |
| 16-Apr-2003 |
dsl | branches: 1.2.2; Add definitions (#defined out) to pass the result of the v3.x bios extended disk information request to the kernel. Binary compatible with the existing code, disabled because I don't have a system with a bios that supports the request.
|
1.1 |
| 26-Feb-2003 |
fvdl | Move some files out of i386 into x86, so that they can be shared with other ports.
|
1.2.2.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.2.2.5 |
| 06-Feb-2005 |
skrll | Sync with HEAD.
|
1.2.2.4 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.2.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.2.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.2.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.6.6.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.6.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.9.2.2 |
| 21-Jan-2008 |
yamt | sync with head
|
1.9.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.10.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.10.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
1.11.60.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.11.56.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.11.52.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.11.46.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.12.10.3 |
| 16-Sep-2009 |
yamt | sync with head
|
1.12.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.12.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.12.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.12.6.2 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.12.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.13.6.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.13.2.1 |
| 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.14.8.4 |
| 27-Aug-2011 |
jym | Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen work of cherry@.
No regression observed on suspend/restore.
|
1.14.8.3 |
| 28-Mar-2011 |
jym | Sync with HEAD. TODO before merge: - shortcut for suspend code in sysmon, when powerd(8) is not running. Borrow ``xs_watch'' thread context? - bug hunting in xbd + xennet resume. Rings are currently thrashed upon resume, so current implementation force flush them on suspend. It's not really needed.
|
1.14.8.2 |
| 01-Nov-2009 |
jym | Sync with HEAD.
|
1.14.8.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.14.2.1 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.16.8.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.16.6.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.16.4.2 |
| 31-May-2011 |
rmind | sync with head
|
1.16.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.18.4.2 |
| 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.18.4.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.19.8.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.19.8.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.19.8.1 |
| 23-Jun-2013 |
tls | resync from head
|
1.22.2.1 |
| 18-May-2014 |
rmind | sync with head
|
1.23.6.3 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.23.6.2 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.23.6.1 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.24.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.24.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.26.6.2 |
| 27-Jun-2019 |
martin | Pull up following revision(s) (requested by nonaka in ticket #1282):
sys/arch/x86/include/bootinfo.h: revision 1.30
PR/54147: Increase BOOTINFO_MAXSIZE to 16Kib.
Some systems require a larger bootinfo size for memory descriptors.
|
1.26.6.1 |
| 14-Apr-2018 |
martin | Pull up following revision(s) (requested by nonaka in ticket #753):
sys/arch/x86/include/bootinfo.h: revision 1.29
x86: Increase BOOTINFO_MAXSIZE to 8Kib.
Proposed on port-i386 and port-amd64 with no objections: http://mail-index.netbsd.org/port-i386/2018/04/11/msg003692.html http://mail-index.netbsd.org/port-amd64/2018/04/11/msg002697.html
|
1.28.2.1 |
| 16-Apr-2018 |
pgoyette | Sync with HEAD, resolve some conflicts
|
1.29.2.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|