The NetBSD Project

CVS log for src/sys/arch/i386/stand/efiboot/boot.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / arch / i386 / stand / efiboot

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.21.4.2 / (download) - annotate - [select for diffs], Fri Nov 3 10:01:13 2023 UTC (5 months, 1 week ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Changes since 1.21.4.1: +3 -3 lines
Diff to previous 1.21.4.1 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored)

Pull up following revision(s) (requested by rin in ticket #452):

	sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.7
	sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.8
	sys/arch/i386/stand/efiboot/boot.c: revision 1.23
	sys/arch/i386/stand/efiboot/efidisk.c: revision 1.10
	sys/arch/i386/stand/efiboot/devopen.c: revision 1.14
	sys/arch/i386/stand/efiboot/efimemory.c: revision 1.10

x86/efiboot: Nix trailing whitespace.

whitespace -> tab, blank line, no binary changes.

``int i'' is used only for SUPPORT_NFS || SUPPORT_TFTP.

Revision 1.23 / (download) - annotate - [select for diffs], Sun May 14 09:07:54 2023 UTC (11 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

x86/efiboot: Nix trailing whitespace.

Revision 1.21.4.1 / (download) - annotate - [select for diffs], Sat May 13 13:26:56 2023 UTC (11 months ago) by martin
Branch: netbsd-10
Changes since 1.21: +46 -1 lines
Diff to previous 1.21 (colored)

Pull up following revision(s) (requested by manu in ticket #159):

	share/man/man8/man8.x86/boot.8: revision 1.27
	sys/arch/i386/stand/efiboot/version: revision 1.3
	share/man/man8/man8.x86/boot.8: revision 1.28
	share/man/man8/man8.x86/boot.8: revision 1.29
	sys/arch/i386/stand/lib/exec.c: revision 1.79
	sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
	sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
	sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
	sys/arch/i386/stand/efiboot/boot.c: revision 1.22
	sys/arch/amd64/amd64/locore.S: revision 1.219
	sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
	sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
	sys/arch/amd64/conf/files.amd64: revision 1.121
	sys/arch/amd64/conf/std.amd64: revision 1.13
	share/man/man8/man8.x86/pxeboot.8: revision 1.6
	sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
	sys/arch/amd64/amd64/locore.S: revision 1.220
	share/man/man8/man8.x86/dosboot.8: revision 1.4
	share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.


Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.


Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH

Revision 1.13.2.4 / (download) - annotate - [select for diffs], Sat May 13 11:45:53 2023 UTC (11 months ago) by martin
Branch: netbsd-9
Changes since 1.13.2.3: +46 -1 lines
Diff to previous 1.13.2.3 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)

Pull up following revision(s) (requested by manu in ticket #1632):

	share/man/man8/man8.x86/boot.8: revision 1.27
	sys/arch/i386/stand/efiboot/version: revision 1.3
	share/man/man8/man8.x86/boot.8: revision 1.28 (via patch)
	share/man/man8/man8.x86/boot.8: revision 1.29 (via patch)
	sys/arch/i386/stand/lib/exec.c: revision 1.79
	sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
	sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
	sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
	sys/arch/i386/stand/efiboot/boot.c: revision 1.22
	sys/arch/amd64/amd64/locore.S: revision 1.219
	sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
	sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
	sys/arch/amd64/conf/files.amd64: revision 1.121
	sys/arch/amd64/conf/std.amd64: revision 1.13
	share/man/man8/man8.x86/pxeboot.8: revision 1.6
	sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
	sys/arch/amd64/amd64/locore.S: revision 1.220
	share/man/man8/man8.x86/dosboot.8: revision 1.4
	share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.

Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.

Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH

Revision 1.22 / (download) - annotate - [select for diffs], Thu Apr 20 00:42:24 2023 UTC (11 months, 3 weeks ago) by manu
Branch: MAIN
Changes since 1.21: +46 -1 lines
Diff to previous 1.21 (colored)

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Jun 8 21:43:45 2022 UTC (22 months ago) by wiz
Branch: MAIN
CVS Tags: netbsd-10-base, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.20: +1 -3 lines
Diff to previous 1.20 (colored)

Do not use default entry's parameters for for plain "boot" command

Go back to the "menu" instead of you want that.

Patch from RVP in PR 56862, ok uwe@

Revision 1.20 / (download) - annotate - [select for diffs], Tue Sep 7 11:41:31 2021 UTC (2 years, 7 months ago) by nia
Branch: MAIN
Changes since 1.19: +8 -30 lines
Diff to previous 1.19 (colored)

Remove banner printing code from bootloaders, add it to libsa.

This harmonizes efiboot and the various x86 bootloaders to use shared
code for printing the banner. By friendly coincidence, it also adds
support for specifying 'banner=' in arm efiboot's boot.cfg, as on x86.

Revision 1.17.12.2 / (download) - annotate - [select for diffs], Sun Aug 1 22:42:10 2021 UTC (2 years, 8 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.17.12.1: +14 -3 lines
Diff to previous 1.17.12.1 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

Sync with HEAD.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Jun 22 19:53:58 2021 UTC (2 years, 9 months ago) by nia
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2
Changes since 1.18: +14 -3 lines
Diff to previous 1.18 (colored)

efiboot (x86): add ASCII art

Revision 1.17.12.1 / (download) - annotate - [select for diffs], Thu Jun 17 04:46:21 2021 UTC (2 years, 9 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.17: +23 -1 lines
Diff to previous 1.17 (colored)

Sync w/ HEAD.

Revision 1.17.14.1 / (download) - annotate - [select for diffs], Mon May 31 22:15:13 2021 UTC (2 years, 10 months ago) by cjep
Branch: cjep_staticlib_x
Changes since 1.17: +23 -1 lines
Diff to previous 1.17 (colored) next main 1.18 (colored)

sync with head

Revision 1.18 / (download) - annotate - [select for diffs], Sun May 30 05:59:22 2021 UTC (2 years, 10 months ago) by mlelstv
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1
Changes since 1.17: +23 -1 lines
Diff to previous 1.17 (colored)

Add "root" command to provide a BTINFO_ROOTDEVICE parameter.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:54 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.10: +98 -45 lines
Diff to previous 1.10 (colored) next main 1.11 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.5.2.9 / (download) - annotate - [select for diffs], Fri Sep 27 09:40:08 2019 UTC (4 years, 6 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE
Changes since 1.5.2.8: +27 -4 lines
Diff to previous 1.5.2.8 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored)

Pull up following revision(s) (requested by nonaka in ticket #1392):

	sys/arch/i386/stand/efiboot/conf.c: revision 1.3
	sys/arch/i386/stand/efiboot/devopen.h: revision 1.5
	sys/arch/i386/stand/efiboot/devopen.c: revision 1.8
	sys/arch/i386/stand/efiboot/boot.c: revision 1.17
	sys/arch/i386/stand/efiboot/dev_net.c: revision 1.3

x86 efiboot: pass a filename to BOOTP and parse a DHCP server provided filename.

Revision 1.13.2.3 / (download) - annotate - [select for diffs], Fri Sep 27 09:32:22 2019 UTC (4 years, 6 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Changes since 1.13.2.2: +27 -4 lines
Diff to previous 1.13.2.2 (colored) to branchpoint 1.13 (colored)

Pull up following revision(s) (requested by nonaka in ticket #253):

	sys/arch/i386/stand/efiboot/conf.c: revision 1.3
	sys/arch/i386/stand/efiboot/devopen.h: revision 1.5
	sys/arch/i386/stand/efiboot/devopen.c: revision 1.8
	sys/arch/i386/stand/efiboot/boot.c: revision 1.17
	sys/arch/i386/stand/efiboot/dev_net.c: revision 1.3

x86 efiboot: pass a filename to BOOTP and parse a DHCP server provided filename.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Sep 26 12:21:03 2019 UTC (4 years, 6 months ago) by nonaka
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, is-mlppp-base, is-mlppp, cjep_staticlib_x-base, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: thorpej-i2c-spi-conf, cjep_staticlib_x
Changes since 1.16: +27 -4 lines
Diff to previous 1.16 (colored)

x86 efiboot: pass a filename to BOOTP and parse a DHCP server provided filename.

Revision 1.5.2.8 / (download) - annotate - [select for diffs], Wed Sep 18 17:30:05 2019 UTC (4 years, 6 months ago) by martin
Branch: netbsd-8
Changes since 1.5.2.7: +2 -2 lines
Diff to previous 1.5.2.7 (colored) to branchpoint 1.5 (colored)

Pull up following revision(s) [adapted, via patch]
(requested by manu in ticket #1382):

	sys/arch/i386/include/multiboot2.h: revision 1.1
	sys/arch/i386/stand/lib/exec.c: revision 1.74
	sys/arch/i386/stand/efiboot/efiboot.c: revision 1.11
	sys/arch/i386/stand/efiboot/bootia32/multiboot32.S: revision 1.1
	sys/arch/i386/stand/lib/biosdisk.c: revision 1.52
	sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.5
	distrib/sets/lists/comp/md.amd64: revision 1.273
	sys/arch/i386/stand/efiboot/eficons.c: revision 1.7
	sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.5
	distrib/sets/lists/comp/md.i386: revision 1.191
	sys/arch/i386/stand/lib/libi386.h: revision 1.45
	sys/arch/i386/stand/lib/bootinfo_memmap.c: revision 1.6
	sys/arch/i386/stand/lib/pread.c: revision 1.8
	sys/arch/i386/stand/efiboot/efiboot.h: revision 1.10
	sys/arch/i386/stand/efiboot/bootia32/Makefile: revision 1.3
	sys/arch/i386/stand/lib/Makefile: revision 1.47
	sys/arch/i386/stand/efiboot/bootx64/Makefile: revision 1.2
	sys/arch/i386/stand/lib/multiboot.S: revision 1.3
	sys/arch/i386/stand/efiboot/bootx64/multiboot64.S: revision 1.1
	sys/arch/i386/stand/efiboot/efimemory.c: revision 1.9
	sys/arch/i386/stand/efiboot/boot.c: revision 1.16
	sys/arch/i386/include/Makefile: revision 1.50
	sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.16
	share/man/man8/man8.x86/boot.8: revision 1.20
	sys/arch/i386/stand/boot/Makefile.boot: revision 1.73
	sys/arch/i386/stand/pxeboot/Makefile: revision 1.26
	sys/arch/i386/stand/lib/exec_multiboot1.c: revision 1.1
	sys/arch/i386/stand/netboot/Makefile.netboot: revision 1.11
	sys/arch/i386/stand/lib/exec_multiboot2.c: revision 1.1
	sys/arch/i386/stand/lib/biosdisk.h: revision 1.12
	sys/arch/i386/stand/lib/exec_multiboot2.c: revision 1.2
	sys/arch/i386/stand/dosboot/Makefile: revision 1.32
	sys/external/bsd/gnu-efi/dist/inc/efiapi.h (apply patch)

Add multiboot 2 support to x86 bootloaders

multiboot 2 is required to boot Xen on an EFI system.

This also require a kernel patch for properly discovering
the ACPI RSDP, which is available after 20190912, in
src/sys/arch/x86/acpi/acpi_machdep.c 1.26-1.28

There are a few missing bit in this multiboot 2 implementation
(which are unused by Xen):
- Header tags Address, Freambuffer, and Relocatable are ignored
- Tags APM and Network are not provided
- Tags ACPI old and ACP new are only provided for ACPI boot
- Tag boot device does not provides the subpart (BSD disklabel partition)

Notes:
- multiboot2 is disabled in dosboot, otherwise the binary
  gets too big and build fails.
- in src/sys/arch/i386/stand/efiboot, consinit() is renamed
  as efi_consinit() to avoid prototype conflicts in src/sys/sys/systm.h

Remove debug define.

It remained there unseen because it was misspelled!

Remove obsoeolete BUGS note that UEFI bootloader does not support multiboot

Add new multiboot2.h header.

Revision 1.13.2.2 / (download) - annotate - [select for diffs], Tue Sep 17 19:32:00 2019 UTC (4 years, 6 months ago) by martin
Branch: netbsd-9
Changes since 1.13.2.1: +2 -2 lines
Diff to previous 1.13.2.1 (colored) to branchpoint 1.13 (colored)

Pull up following revision(s) (requested by manu in ticket #203):

	sys/arch/i386/include/multiboot2.h: revision 1.1
	sys/arch/i386/stand/lib/exec.c: revision 1.74
	sys/arch/i386/stand/efiboot/efiboot.c: revision 1.11
	sys/arch/i386/stand/efiboot/bootia32/multiboot32.S: revision 1.1
	sys/arch/i386/stand/lib/biosdisk.c: revision 1.52
	sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.5
	sys/arch/i386/stand/efiboot/eficons.c: revision 1.7
	sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.5
	sys/arch/i386/stand/lib/libi386.h: revision 1.45
	sys/arch/i386/stand/lib/bootinfo_memmap.c: revision 1.6
	sys/arch/i386/stand/lib/pread.c: revision 1.8
	sys/arch/i386/stand/efiboot/efiboot.h: revision 1.10
	sys/arch/i386/stand/efiboot/bootia32/Makefile: revision 1.3
	sys/arch/i386/stand/lib/Makefile: revision 1.47
	sys/arch/i386/stand/efiboot/bootx64/Makefile: revision 1.2
	sys/arch/i386/stand/lib/multiboot.S: revision 1.3
	sys/arch/i386/stand/efiboot/bootx64/multiboot64.S: revision 1.1
	sys/arch/i386/stand/efiboot/efimemory.c: revision 1.9
	sys/arch/i386/stand/efiboot/boot.c: revision 1.16
	sys/arch/i386/include/Makefile: revision 1.50
	sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.16
	share/man/man8/man8.x86/boot.8: revision 1.20
	sys/arch/i386/stand/boot/Makefile.boot: revision 1.73
	sys/arch/i386/stand/pxeboot/Makefile: revision 1.26
	sys/arch/i386/stand/lib/exec_multiboot1.c: revision 1.1
	sys/arch/i386/stand/netboot/Makefile.netboot: revision 1.11
	sys/arch/i386/stand/lib/exec_multiboot2.c: revision 1.1
	sys/arch/i386/stand/lib/biosdisk.h: revision 1.12
	sys/arch/i386/stand/lib/exec_multiboot2.c: revision 1.2
	sys/arch/i386/stand/dosboot/Makefile: revision 1.32

Add multiboot 2 support to x86 bootloaders

multiboot 2 is required to boot Xen on an EFI system.

This also require a kernel patch for properly discovering
the ACPI RSDP, which is available after 20190912, in
src/sys/arch/x86/acpi/acpi_machdep.c 1.26-1.28

There are a few missing bit in this multiboot 2 implementation
(which are unused by Xen):
- Header tags Address, Freambuffer, and Relocatable are ignored
- Tags APM and Network are not provided
- Tags ACPI old and ACP new are only provided for ACPI boot
- Tag boot device does not provides the subpart (BSD disklabel partition)
Notes:
- multiboot2 is disabled in dosboot, otherwise the binary
  gets too big and build fails.
- in src/sys/arch/i386/stand/efiboot, consinit() is renamed
  as efi_consinit() to avoid prototype conflicts in src/sys/sys/systm.h

Remove debug define.

It remained there unseen because it was misspelled!

Remove obsoeolete BUGS note that UEFI bootloader does not support multiboot

Revision 1.5.2.7 / (download) - annotate - [select for diffs], Tue Sep 17 18:26:53 2019 UTC (4 years, 6 months ago) by martin
Branch: netbsd-8
Changes since 1.5.2.6: +52 -13 lines
Diff to previous 1.5.2.6 (colored) to branchpoint 1.5 (colored)

Pull up following revision(s) (requested by manu in ticket #1373):

	sys/arch/i386/stand/boot/boot2.c: revision 1.72 (patch)
	sys/arch/i386/stand/lib/biosdisk.c: revision 1.50
	sys/arch/i386/stand/lib/biosdisk.c: revision 1.51
	sys/arch/i386/stand/efiboot/devopen.c: revision 1.6
	sys/arch/i386/stand/efiboot/devopen.h: revision 1.4
	sys/arch/i386/stand/efiboot/devopen.c: revision 1.7
	sys/arch/i386/stand/efiboot/efidisk.c: revision 1.8
	share/man/man8/man8.x86/boot.8: revision 1.16
	share/man/man8/man8.x86/boot.8: revision 1.17
	sys/arch/i386/stand/lib/Makefile: revision 1.46
	sys/arch/i386/stand/boot/devopen.h: revision 1.5
	sys/arch/i386/stand/boot/devopen.c: revision 1.9
	sys/arch/i386/stand/efiboot/boot.c: revision 1.14 (patch)
	sys/arch/i386/stand/efiboot/boot.c: revision 1.15
	sys/arch/i386/stand/lib/biosdisk.h: revision 1.11
	sys/arch/i386/stand/boot/boot2.c: revision 1.71

Add GPT and RAIDframe support to bootloaders

Classic BIOS (/boot) and EFI bootloaders can now name devices
using the NAME=gpt_label syntax, or using raid partitions. Here
are examples:

boot NAME=root:/netbsd
boot raid0e:/netbsd

Correct the memset(3)'s third argument in i386 biosdisk.c

The size of allocation is the size of the structure biosdisk, not the size
of a pointer.

Document new GPT and RAIDframe capacity of bootstrap code
While there, also document EFI setup and some bugs

Typo fixes, 'file system'; new sentence, new line; expand IA-32.

Bump date for previous.

Make sure devices names are copied including last byte
Fix from M. Levinson.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Fri Sep 13 07:00:13 2019 UTC (4 years, 7 months ago) by martin
Branch: netbsd-9
Changes since 1.13: +52 -13 lines
Diff to previous 1.13 (colored)

Pull up following revision(s) (requested by manu in ticket #200):

	sys/arch/i386/stand/boot/boot2.c: revision 1.72
	sys/arch/i386/stand/lib/biosdisk.c: revision 1.50
	sys/arch/i386/stand/lib/biosdisk.c: revision 1.51
	sys/arch/i386/stand/efiboot/devopen.c: revision 1.6
	sys/arch/i386/stand/efiboot/devopen.h: revision 1.4
	sys/arch/i386/stand/efiboot/devopen.c: revision 1.7
	sys/arch/i386/stand/efiboot/efidisk.c: revision 1.8
	share/man/man8/man8.x86/boot.8: revision 1.16
	share/man/man8/man8.x86/boot.8: revision 1.17
	sys/arch/i386/stand/lib/Makefile: revision 1.46
	sys/arch/i386/stand/boot/devopen.h: revision 1.5
	sys/arch/i386/stand/boot/devopen.c: revision 1.9
	sys/arch/i386/stand/efiboot/boot.c: revision 1.14
	sys/arch/i386/stand/efiboot/boot.c: revision 1.15
	sys/arch/i386/stand/lib/biosdisk.h: revision 1.11
	sys/arch/i386/stand/boot/boot2.c: revision 1.71

Add GPT and RAIDframe support to bootloaders

Classic BIOS (/boot) and EFI bootloaders can now name devices
using the NAME=gpt_label syntax, or using raid partitions. Here
are examples:

boot NAME=root:/netbsd
boot raid0e:/netbsd

Correct the memset(3)'s third argument in i386 biosdisk.c

The size of allocation is the size of the structure biosdisk, not the size
of a pointer.

Document new GPT and RAIDframe capacity of bootstrap code
While there, also document EFI setup and some bugs

Typo fixes, 'file system'; new sentence, new line; expand IA-32.
Bump date for previous.

Make sure devices names are copied including last byte
Fix from M. Levinson.

Revision 1.16 / (download) - annotate - [select for diffs], Fri Sep 13 02:19:45 2019 UTC (4 years, 7 months ago) by manu
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

Add multiboot 2 support to x86 bootloaders

multiboot 2 is required to boot Xen on an EFI system.
This also require a kernel patch for properly discovering
the ACPI RSDP, which is available after 20190912, in
src/sys/arch/x86/acpi/acpi_machdep.c 1.26-1.28

There are a few missing bit in this multiboot 2 implementation
(which are unused by Xen):
- Header tags Address, Freambuffer, and Relocatable are ignored
- Tags APM and Network are not provided
- Tags ACPI old and ACP new are only provided for ACPI boot
- Tag boot device does not provides the subpart (BSD disklabel partition)

Notes:
- multiboot2 is disabled in dosboot, otherwise the binary
  gets too big and build fails.
- in src/sys/arch/i386/stand/efiboot, consinit() is renamed
  as efi_consinit() to avoid prototype conflicts in src/sys/sys/systm.h

Revision 1.15 / (download) - annotate - [select for diffs], Mon Sep 2 06:10:24 2019 UTC (4 years, 7 months ago) by manu
Branch: MAIN
Changes since 1.14: +3 -2 lines
Diff to previous 1.14 (colored)

Make sure devices names are copied including last byte

Fix from M. Levinson.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Aug 18 02:18:24 2019 UTC (4 years, 7 months ago) by manu
Branch: MAIN
Changes since 1.13: +51 -13 lines
Diff to previous 1.13 (colored)

Add GPT and RAIDframe support to bootloaders

Classic BIOS (/boot) and EFI bootloaders can now name devices
using the NAME=gpt_label syntax, or using raid partitions. Here
are examples:
boot NAME=root:/netbsd
boot raid0e:/netbsd

Revision 1.5.2.6 / (download) - annotate - [select for diffs], Thu Aug 1 13:22:48 2019 UTC (4 years, 8 months ago) by martin
Branch: netbsd-8
Changes since 1.5.2.5: +8 -29 lines
Diff to previous 1.5.2.5 (colored) to branchpoint 1.5 (colored)

Pull up following revision(s) (requested by nonaka in ticket #1309):

	sys/arch/i386/stand/lib/exec.c: revision 1.73
	sys/arch/i386/stand/efiboot/efiboot.c: revision 1.10
	sys/arch/i386/stand/lib/libi386.h: revision 1.44
	sys/arch/i386/stand/efiboot/efimemory.c: revision 1.6
	sys/arch/i386/stand/efiboot/efimemory.c: revision 1.7
	sys/arch/i386/stand/efiboot/efimemory.c: revision 1.8
	sys/arch/i386/stand/efiboot/efiboot.c: revision 1.9
	sys/arch/i386/stand/efiboot/boot.c: revision 1.12
	sys/arch/i386/stand/efiboot/boot.c: revision 1.13
	sys/arch/i386/stand/efiboot/efiboot.h: revision 1.9
	sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.15
	sys/arch/i386/stand/efiboot/dev_net.c: revision 1.2

Added tftp support to x86 efiboot.

Pre-allocate memory for the kernel space at startup.

Added BTINFO_EFIMEMMAP compaction support to x86 efiboot.

Sync the output of memmap command to the output of stand/efiboot mem command.

Added missing efi_memory_probe() call.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Jul 29 11:28:51 2019 UTC (4 years, 8 months ago) by nonaka
Branch: MAIN
CVS Tags: netbsd-9-base
Branch point for: netbsd-9
Changes since 1.12: +7 -4 lines
Diff to previous 1.12 (colored)

Added BTINFO_EFIMEMMAP compaction support to x86 efiboot.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Jul 26 12:09:48 2019 UTC (4 years, 8 months ago) by nonaka
Branch: MAIN
Changes since 1.11: +2 -26 lines
Diff to previous 1.11 (colored)

Pre-allocate memory for the kernel space at startup.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jun 20 17:33:31 2019 UTC (4 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.10: +14 -2 lines
Diff to previous 1.10 (colored)

Add KASLR support in UEFI.

Revision 1.5.10.5 / (download) - annotate - [select for diffs], Mon Apr 16 01:59:54 2018 UTC (5 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.5.10.4: +25 -6 lines
Diff to previous 1.5.10.4 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored)

Sync with HEAD, resolve some conflicts

Revision 1.5.2.5 / (download) - annotate - [select for diffs], Wed Apr 11 14:51:43 2018 UTC (6 years ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.5.2.4: +25 -6 lines
Diff to previous 1.5.2.4 (colored) to branchpoint 1.5 (colored)

Pull up following revision(s) (requested by nonaka in ticket #739):

	sys/arch/i386/stand/efiboot/efinet.h: revision 1.1
	sys/arch/i386/stand/efiboot/efinet.c: revision 1.1
	sys/arch/i386/stand/efiboot/conf.c: revision 1.2
	sys/arch/i386/stand/efiboot/devopen.c: revision 1.5
	sys/arch/i386/stand/efiboot/efidisk.c: revision 1.6
	sys/arch/i386/stand/efiboot/devopen.h: revision 1.3
	sys/arch/i386/stand/efiboot/efipxe.c: revision 1.1
	sys/arch/i386/stand/efiboot/efiboot.c: revision 1.7
	sys/arch/i386/stand/efiboot/boot.c: revision 1.10
	sys/arch/i386/stand/efiboot/efiboot.h: revision 1.8
	sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.12
	sys/arch/i386/stand/efiboot/dev_net.c: revision 1.1

efiboot: Added network boot support.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Apr 11 10:32:09 2018 UTC (6 years ago) by nonaka
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi
Changes since 1.9: +25 -6 lines
Diff to previous 1.9 (colored)

efiboot: Added network boot support.

Revision 1.5.10.4 / (download) - annotate - [select for diffs], Sat Apr 7 04:12:14 2018 UTC (6 years ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.5.10.3: +8 -2 lines
Diff to previous 1.5.10.3 (colored) to branchpoint 1.5 (colored)

Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$

Revision 1.5.2.4 / (download) - annotate - [select for diffs], Wed Apr 4 16:34:39 2018 UTC (6 years ago) by martin
Branch: netbsd-8
Changes since 1.5.2.3: +8 -2 lines
Diff to previous 1.5.2.3 (colored) to branchpoint 1.5 (colored)

Pull up following revision(s) (requested by nonaka in ticket #692):

	sys/arch/i386/stand/efiboot/devopen.c: revision 1.4
	sys/arch/i386/stand/efiboot/efidisk.c: revision 1.5
	sys/arch/i386/stand/efiboot/devopen.h: revision 1.2
	sys/arch/i386/stand/efiboot/efidisk.h: revision 1.3
	sys/lib/libsa/bootcfg.h: revision 1.2
	sys/arch/i386/stand/efiboot/boot.c: revision 1.9
	sys/lib/libsa/bootcfg.c: revision 1.3
	sys/arch/i386/stand/lib/bootmenu.c: revision 1.17
	sys/arch/i386/stand/lib/biosdisk.c: revision 1.49
	sys/arch/i386/stand/efiboot/TODO.efiboot: revision 1.5
	sys/arch/i386/stand/lib/bootmenu.h: revision 1.6
	sys/arch/i386/stand/lib/biosdisk.h: revision 1.10

efiboot: try to read boot.cfg from /EFI/NetBSD on ESP of the booted disk.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Apr 2 09:44:18 2018 UTC (6 years ago) by nonaka
Branch: MAIN
CVS Tags: pgoyette-compat-0407
Changes since 1.8: +8 -2 lines
Diff to previous 1.8 (colored)

efiboot: try to read boot.cfg from /EFI/NetBSD on ESP of the booted disk.

Revision 1.5.2.3 / (download) - annotate - [select for diffs], Mon Apr 2 08:50:33 2018 UTC (6 years ago) by martin
Branch: netbsd-8
Changes since 1.5.2.2: +90 -28 lines
Diff to previous 1.5.2.2 (colored) to branchpoint 1.5 (colored)

Pull up following revision(s) (requested by nonaka in ticket #685):

	sys/arch/i386/stand/efiboot/efidisk.c: revision 1.4
	sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.4
	sys/arch/i386/stand/efiboot/eficons.c: revision 1.5
	sys/arch/i386/stand/efiboot/efichar.c: revision 1.1
	sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.4
	sys/arch/i386/stand/efiboot/boot.c: revision 1.8
	sys/arch/i386/stand/efiboot/efimemory.c: revision 1.5
	sys/arch/i386/stand/efiboot/efiboot.c: revision 1.6
	sys/arch/i386/stand/efiboot/efidelay.c: revision 1.2
	sys/arch/i386/stand/efiboot/efiboot.h: revision 1.7
	sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.11

efiboot: Added serial console support.

Revision 1.5.10.3 / (download) - annotate - [select for diffs], Fri Mar 30 06:20:11 2018 UTC (6 years ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.5.10.2: +90 -28 lines
Diff to previous 1.5.10.2 (colored) to branchpoint 1.5 (colored)

Resolve conflicts between branch and HEAD

Revision 1.8 / (download) - annotate - [select for diffs], Tue Mar 27 14:15:05 2018 UTC (6 years ago) by nonaka
Branch: MAIN
CVS Tags: pgoyette-compat-0330
Changes since 1.7: +90 -28 lines
Diff to previous 1.7 (colored)

efiboot: Added serial console support.

Revision 1.5.10.2 / (download) - annotate - [select for diffs], Thu Mar 22 01:44:45 2018 UTC (6 years ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.5.10.1: +7 -1 lines
Diff to previous 1.5.10.1 (colored) to branchpoint 1.5 (colored)

Synch with HEAD, resolve conflicts

Revision 1.5.2.2 / (download) - annotate - [select for diffs], Wed Mar 21 10:50:49 2018 UTC (6 years ago) by martin
Branch: netbsd-8
Changes since 1.5.2.1: +7 -1 lines
Diff to previous 1.5.2.1 (colored) to branchpoint 1.5 (colored)

Pull up following revision(s) (requested by nonaka in ticket #648):
	sys/arch/i386/stand/efiboot/efidisk.c: revision 1.3
	sys/arch/i386/stand/efiboot/devopen.c: revision 1.3
	sys/arch/i386/stand/efiboot/boot.c: revision 1.7
	sys/arch/i386/stand/lib/biosdisk.c: revision 1.48

efiboot: fix it can't boot from HDD.

efiboot: more pager.

efiboot: boot device is always efi_distlist first element.

efiboot: fix to find boot partition process.
NetBSD related partitions with no bootme flag set are also candidates
for boot partition.

Revision 1.7 / (download) - annotate - [select for diffs], Tue Mar 20 10:18:10 2018 UTC (6 years ago) by nonaka
Branch: MAIN
CVS Tags: pgoyette-compat-0322
Changes since 1.6: +7 -1 lines
Diff to previous 1.6 (colored)

efiboot: more pager.

Revision 1.5.10.1 / (download) - annotate - [select for diffs], Thu Mar 15 09:12:03 2018 UTC (6 years, 1 month ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.5: +7 -2 lines
Diff to previous 1.5 (colored)

Synch with HEAD

Revision 1.5.2.1 / (download) - annotate - [select for diffs], Tue Mar 13 14:54:52 2018 UTC (6 years, 1 month ago) by martin
Branch: netbsd-8
Changes since 1.5: +7 -2 lines
Diff to previous 1.5 (colored)

Pull up following revision(s) (requested by nonaka in ticket #625):
	sys/arch/i386/stand/efiboot/efidisk.c: revision 1.2
	sys/arch/i386/stand/efiboot/devopen.c: revision 1.2
	sys/arch/i386/stand/efiboot/efidisk.h: revision 1.2
	sys/arch/i386/stand/efiboot/boot.c: revision 1.6
	sys/arch/i386/stand/efiboot/efidisk_ll.c: revision 1.2
	sys/arch/i386/stand/efiboot/efidev.c: revision 1.1
	sys/arch/i386/stand/lib/biosdisk_ll.h: revision 1.16
	sys/arch/i386/stand/lib/biosdisk.h: revision 1.9
	sys/lib/libsa/cd9660.c: revision 1.31
	sys/arch/i386/stand/efiboot/efiboot.c: revision 1.5
	sys/arch/i386/stand/efiboot/efiboot.h: revision 1.6
	sys/arch/i386/stand/lib/biosdisk.c: revision 1.47
	sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.10
	sys/arch/i386/stand/efiboot/TODO.efiboot: revision 1.4
efiboot: system can boot from CD/DVD-ROM media.

Add missed file in previous commit.

Revision 1.6 / (download) - annotate - [select for diffs], Thu Mar 8 10:34:33 2018 UTC (6 years, 1 month ago) by nonaka
Branch: MAIN
CVS Tags: pgoyette-compat-0315
Changes since 1.5: +7 -2 lines
Diff to previous 1.5 (colored)

efiboot: system can boot from CD/DVD-ROM media.

Revision 1.5.8.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:18 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.5.8.1: +712 -0 lines
Diff to previous 1.5.8.1 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored)

update from HEAD

Revision 1.2.2.3 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:41 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.2.2.2: +105 -12 lines
Diff to previous 1.2.2.2 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Sync with HEAD

Revision 1.4.8.1 / (download) - annotate - [select for diffs], Tue May 2 03:19:17 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.4: +71 -5 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

Sync with HEAD - tag prg-localcount2-base1

Revision 1.5.8.1, Mon May 1 13:03:01 2017 UTC (6 years, 11 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.5: +0 -712 lines
FILE REMOVED

file boot.c was added on branch tls-maxphys on 2017-12-03 11:36:18 +0000

Revision 1.5 / (download) - annotate - [select for diffs], Mon May 1 13:03:01 2017 UTC (6 years, 11 months ago) by nonaka
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, pgoyette-compat-base, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek
Branch point for: tls-maxphys, pgoyette-compat, netbsd-8
Changes since 1.4: +71 -5 lines
Diff to previous 1.4 (colored)

efiboot: implement consdev command.

no support to change console device for efiboot yet.
only pass console parameters to kernel.

Revision 1.4.2.2 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:15 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.4.2.1: +646 -0 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Sync with HEAD

Revision 1.4.6.2 / (download) - annotate - [select for diffs], Sun Mar 12 05:33:49 2017 UTC (7 years, 1 month ago) by nonaka
Branch: bouyer-socketcan
Changes since 1.4.6.1: +646 -0 lines
Diff to previous 1.4.6.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

1673328

Revision 1.4.6.1, Sun Mar 12 05:33:48 2017 UTC (7 years, 1 month ago) by nonaka
Branch: bouyer-socketcan
Changes since 1.4: +0 -646 lines
FILE REMOVED

file boot.c was added on branch bouyer-socketcan on 2017-03-12 05:33:49 +0000

Revision 1.4.2.1, Sun Mar 12 05:33:48 2017 UTC (7 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.4: +0 -646 lines
FILE REMOVED

file boot.c was added on branch pgoyette-localcount on 2017-03-20 06:57:15 +0000

Revision 1.4 / (download) - annotate - [select for diffs], Sun Mar 12 05:33:48 2017 UTC (7 years, 1 month ago) by nonaka
Branch: MAIN
CVS Tags: prg-localcount2-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: prg-localcount2, pgoyette-localcount, bouyer-socketcan
Changes since 1.3: +29 -6 lines
Diff to previous 1.3 (colored)

efiboot: Kernel modules are loaded in pre-allocated memory.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Mar 3 09:29:57 2017 UTC (7 years, 1 month ago) by nonaka
Branch: MAIN
Changes since 1.2: +7 -3 lines
Diff to previous 1.2 (colored)

efiboot: fix efivar command.

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:12 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.2.2.1: +619 -0 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored)

Sync with HEAD

Revision 1.2.2.1, Fri Feb 3 16:42:26 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.2: +0 -619 lines
FILE REMOVED

file boot.c was added on branch nick-nhusb on 2017-02-05 13:40:12 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Fri Feb 3 16:42:26 2017 UTC (7 years, 2 months ago) by roy
Branch: MAIN
CVS Tags: nick-nhusb-base-20170204
Branch point for: nick-nhusb
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored)

rows is a uint ... it will always be greater than or equal to 0.

Revision 1.1 / (download) - annotate - [select for diffs], Tue Jan 24 11:09:14 2017 UTC (7 years, 2 months ago) by nonaka
Branch: MAIN

Initial commit of native amd64 EFI boot loader.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>