History log of /src/sys/arch/i386/include/multiboot.h |
Revision | | Date | Author | Comments |
1.11 |
| 18-Oct-2019 |
manu | Multiboot2 kernel support for i386
That implementation works either with BIOS or UEFI bootstrap
This requires the following kernel changes:
Add UEFI boot services and I/O method protoypes src/sys/arch/x86/include/efi.h 1.8 - 1.9
Fix EFI system table mapping in virtual space src/sys/arch/x86/x86/efi.c 1.19 - 1.20
Make sure no bioscall is issued when booting off UEFI system src/sys/arch/i386/i386/machdep.c 1.821 - 1.822 src/sys/arch/i386/pci/piixpcib.c 1.22 - 1.23
And the following bootstrap changes:
Add kernel symbols for multiboot1 src/sys/arch/i386/stand/lib/exec_multiboot1.c 1.2 - 1.3 src/sys/arch/i386/stand/lib/libi386.h 1.45 - 1.47
Fix kernel symbols for multiboot2 src/sys/arch/i386/stand/lib/exec_multiboot2.c 1.2 - 1.3
|
1.10 |
| 13-Nov-2018 |
mlelstv | Framebuffer definitions for multiboot protocol.
|
1.9 |
| 13-Apr-2018 |
khorben | branches: 1.9.2; Correct discrepancy with the Multiboot specification
The VBE mode was missing, and the types of the subsequent VBE members were also wrong. Nothing in NetBSD's base seems to be using this, and therefore nothing is expected to break as a result of this fix, or any binary to change for that matter. The latest specification (as of today) can be found at: https://www.gnu.org/software/grub/manual/multiboot/multiboot.html
This was already reported in misc/52366, and addresses part of it.
Patch sent to port-i386@. Build-tested on NetBSD/amd64.
|
1.8 |
| 22-Feb-2009 |
ahoka | branches: 1.8.62; Add a missing opt_multiboot.h into sys/arch/i386/i386/machdep.c. Also do the missed rename of multiboot_ksyms_init to multiboot_ksyms_addsyms_elf to compile with MULTIBOOT set.
This caused a minor and a more serious bug in the past: - dmesg did not contain the information about the loader - /dev/ksyms did not work when the kernel was booted with a multiboot bootloader (grub for example)
Ok by jmcneill, joerg.
|
1.7 |
| 11-Oct-2008 |
joerg | branches: 1.7.2; 1.7.8; Add "multiboot" command to boot multiboot compliant kernels like Xen. Patch provided by Robert Swindell with fixes for the command line parsing and addition of passing module options from me. The kernel now always gets the full string for modules like for the command line, everything before the first space/tab is the path name of the module.
|
1.6 |
| 28-Apr-2008 |
martin | branches: 1.6.6; Remove clause 3 and 4 from TNF licenses
|
1.5 |
| 21-Feb-2007 |
thorpej | branches: 1.5.42; 1.5.44; 1.5.46; Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
1.4 |
| 25-Oct-2006 |
jmmv | branches: 1.4.4; Remove the usage of Multiboot's "a.out kludge" to tell the boot loader to reserve some more space for the BSS section than the binary says. This trick was used to leave room after the kernel's image to copy the symbol table following the format required by ksyms_init. (It was also used to workaround a bug in the physical address fields of the binary, but this has been long fixed.) Yes, the MULTIBOOT_SYMTAB_SPACE option goes away; yay!
Instead, copy the required data after the kernel in a way that avoids having to reserve space and use the new ksyms_init_explicit function to avoid the need to construct a minimal ELF image.
Fixes ksyms when using an "unpatched" GRUB (one that does not contain the fix to honour the "a.out kludge" for ELF images, even when present) -- i.e. ddb and lkms. As a side effect, the new code is much clearer to read and digest.
Closes PR port-i386/32865.
|
1.3 |
| 04-Feb-2006 |
jmmv | branches: 1.3.2; 1.3.14; 1.3.18; 1.3.20; 1.3.22; Revert yesterday's change that attempted to fix the detection of the boot device when using a Multiboot boot loader. It couldn't work because these boot loaders do not pass a checksum of the disk so matchbiosdisk() cannot really find any matches. I should have gone to sleep before commiting...
Found by xtraeme@.
|
1.2 |
| 03-Feb-2006 |
jmmv | branches: 1.2.2; When booting an i386 kernel with Multiboot, properly detect the boot device by looking it up in the x86_alldisks table (instead of trying to match it to 'wd*' manually).
In order to do this, move the cpu_rootconf function from x86 common code to amd64 and i386 specific one. This way, i386 can do an extra step (call the appropriate Multiboot code) in the appropriate place (after x86_matchbiosdisks and before findroot()).
|
1.1 |
| 03-Feb-2006 |
jmmv | 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.2.2.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.3.22.1 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.3.20.2 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.3.20.1 |
| 04-Feb-2006 |
rpaulo | file multiboot.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:40:14 +0000
|
1.3.18.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.3.14.4 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.3.14.3 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.3.14.2 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.3.14.1 |
| 04-Feb-2006 |
yamt | file multiboot.h was added on branch yamt-lazymbuf on 2006-06-21 14:52:30 +0000
|
1.3.2.2 |
| 18-Feb-2006 |
yamt | sync with head.
|
1.3.2.1 |
| 04-Feb-2006 |
yamt | file multiboot.h was added on branch yamt-uio_vmspace on 2006-02-18 15:38:37 +0000
|
1.4.4.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.5.46.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.5.46.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.5.44.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.5.42.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.5.42.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.6.6.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.7.8.2 |
| 01-Nov-2009 |
jym | Sync with HEAD.
|
1.7.8.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.7.2.1 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.8.62.2 |
| 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.8.62.1 |
| 16-Apr-2018 |
pgoyette | Sync with HEAD, resolve some conflicts
|
1.9.2.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.9.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|