History log of /src/sys/arch/i386/stand/lib/bootinfo_memmap.c |
Revision | | Date | Author | Comments |
1.8 |
| 24-Aug-2024 |
riastradh | i386/stand/lib: Nix trailing whitespace and tidy comments a bit.
No functional change intended.
PR port-amd64/49470: NetBSD 7 BETA reboots after bootloader (HP 2133)
|
1.7 |
| 17-Aug-2024 |
andvar | Allocate buf[6] instead of buf[5] to work around buggy firmware, which may write mementry to 24 bytes instead 20 requested with ACPI 3.0 enabled, causing corrupted stack and wrong marks[] values in common_load_kernel(). This in turn was leading to erroneous caluclations and memory addresses. This eventually may result in null pointer dereference in the kernel and sudden reboot for VIA based systems.
Commit should fix boot issues for VIA C7-M based HP 2133 Mini-Note, mentioned in the original bug report. For AMD based HP Compaq 6005 Pro discussed in a separate thread, the issue may be different.
Tested on my VIA C7-D based Biostar Viotech 3100+ motherboard.
needs-pullups to 9, 10.
PR install/49470
|
1.6 |
| 13-Sep-2019 |
manu | branches: 1.6.26; 1.6.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
|
1.5 |
| 14-Dec-2008 |
christos | branches: 1.5.58; 1.5.66; 1.5.70; ANSI and KNF from Anon Ymous
|
1.4 |
| 11-Dec-2005 |
christos | branches: 1.4.74; 1.4.78; 1.4.86; merge ktrace-lwp.
|
1.3 |
| 24-Mar-2004 |
drochner | remove license clauses 3 and 4 from my cpoyright notices
|
1.2 |
| 07-Jul-2001 |
perry | branches: 1.2.4; 1.2.24; b*()->mem*()
|
1.1 |
| 08-Mar-1999 |
drochner | branches: 1.1.22; add a function to pass the "memory map" ie the outcome of INT15/0xe820, to the kernel
|
1.1.22.1 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.2.24.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.2.24.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.2.24.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.2.4.2 |
| 07-Jul-2001 |
perry | b*()->mem*()
|
1.2.4.1 |
| 07-Jul-2001 |
perry | file bootinfo_memmap.c was added on branch sommerfeld_i386mp_1 on 2001-07-07 22:57:58 +0000
|
1.4.86.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.4.78.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.4.74.1 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.5.70.2 |
| 03-Sep-2024 |
martin | Pull up following revision(s) (requested by andvar in ticket #1884):
sys/arch/i386/stand/lib/bootinfo_memmap.c: revision 1.7 sys/arch/i386/stand/lib/bootinfo_memmap.c: revision 1.8 sys/arch/i386/stand/lib/getextmemx.c: revision 1.11 sys/arch/i386/stand/lib/getextmemx.c: revision 1.12 sys/arch/i386/stand/lib/biosmemx.S: revision 1.12 sys/arch/i386/stand/lib/biosmemx.S: revision 1.13
Allocate buf[6] instead of buf[5] to work around buggy firmware, which may write mementry to 24 bytes instead 20 requested with ACPI 3.0 enabled, causing corrupted stack and wrong marks[] values in common_load_kernel().
This in turn was leading to erroneous caluclations and memory addresses.
This eventually may result in null pointer dereference in the kernel and sudden reboot for VIA based systems.
Commit should fix boot issues for VIA C7-M based HP 2133 Mini-Note, mentioned in the original bug report. For AMD based HP Compaq 6005 Pro discussed in a separate thread, the issue may be different.
Tested on my VIA C7-D based Biostar Viotech 3100+ motherboard. PR install/49470
i386/stand/lib: Nix trailing whitespace and tidy comments a bit. No functional change intended. PR port-amd64/49470: NetBSD 7 BETA reboots after bootloader (HP 2133)
|
1.5.70.1 |
| 17-Sep-2019 |
martin | 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
|
1.5.66.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.5.58.1 |
| 18-Sep-2019 |
martin | 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.
|
1.6.32.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|
1.6.26.1 |
| 03-Sep-2024 |
martin | Pull up following revision(s) (requested by andvar in ticket #815):
sys/arch/i386/stand/lib/bootinfo_memmap.c: revision 1.7 sys/arch/i386/stand/lib/bootinfo_memmap.c: revision 1.8 sys/arch/i386/stand/lib/getextmemx.c: revision 1.11 sys/arch/i386/stand/lib/getextmemx.c: revision 1.12 sys/arch/i386/stand/lib/biosmemx.S: revision 1.12 sys/arch/i386/stand/lib/biosmemx.S: revision 1.13
Allocate buf[6] instead of buf[5] to work around buggy firmware, which may write mementry to 24 bytes instead 20 requested with ACPI 3.0 enabled, causing corrupted stack and wrong marks[] values in common_load_kernel().
This in turn was leading to erroneous caluclations and memory addresses.
This eventually may result in null pointer dereference in the kernel and sudden reboot for VIA based systems.
Commit should fix boot issues for VIA C7-M based HP 2133 Mini-Note, mentioned in the original bug report. For AMD based HP Compaq 6005 Pro discussed in a separate thread, the issue may be different.
Tested on my VIA C7-D based Biostar Viotech 3100+ motherboard. PR install/49470
i386/stand/lib: Nix trailing whitespace and tidy comments a bit. No functional change intended. PR port-amd64/49470: NetBSD 7 BETA reboots after bootloader (HP 2133)
|