This patch is to introduce multiboot 2 loading capabilities to grub2
for powerpc & i386-pc. This patch was more so started by Hollis Blanchard getting multiboot 2 working for powerpc and I added to it and cleaned it up. One of the ideas with this patch is to keep everything under one command for the user. So instead of having a "multiboot2" & "module2" command, I created a proxy like mechanism so that you have only one command for both multiboot 1 & 2 ... "multiboot". This is where "loader/multiboot_loader.c" comes from. I could have integrated things more but I figure the current approach will less likely break anything. So if your OS is multiboot 2 capable, the user would do the following to load it up from a grub prompt: grub> multiboot <location of kernel> <kernel args> grub> module <some image> <multiboot tag> <image arguments> grub> module <isome mage> <multiboot tag> <image arguments> grub ..... The other thing that this patch does is it begins to make the multiboot 1 code a bit more architecture agnostic so IF someone wanted to implement it on another architecture they can. A bit of file moving around and definition renaming is also apart of this patch. I have also taken the time to make sure that it does not break multiboot 1 loading on i386-pc. But mulitboot 2 may still need a little more testing and work for i386-pc. Powerpc multiboot 2 has been heavily tested and does work.
This commit is contained in:
parent
daf0f0ba3e
commit
e5dfe7775a
17 changed files with 1315 additions and 300 deletions
29
ChangeLog
29
ChangeLog
|
@ -1,3 +1,32 @@
|
|||
2007-07-24 Jerone Young <jerone@gmail.com>
|
||||
|
||||
* conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
|
||||
modules for compilation.
|
||||
* conf/powerpc-ieee1275.rmk: Likewise.
|
||||
|
||||
* include/multiboot.h: Move multiboot definitions to one file. Rename
|
||||
many definitions to not get grub specific.
|
||||
* include/multiboot2.h: Create header with multiboot 2 definitions.
|
||||
* include/grub/multiboot.h: Header for grub specific function
|
||||
prototypes and definitions.
|
||||
* include/grub/multiboot2.h: Likewise.
|
||||
* include/grub/multiboot_loader.h: Likewise.
|
||||
* include/grub/i386/pc/multiboot.h: Removed.
|
||||
* include/grub/powerpc/ieee1275/multiboot.h: Removed.
|
||||
|
||||
* loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
|
||||
and 2 to allow for one multiboot and module commands.
|
||||
* loader/multiboot2.c: Add multiboot2 functionality.
|
||||
* loader/i386/pc/multiboot.c: Modify for new multiboot header location
|
||||
and definition names.
|
||||
* loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
|
||||
2 functions.
|
||||
* loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
|
||||
ieee1275 specific multiboot2 code.
|
||||
|
||||
* kern/i386/pc/startup.S: Change headers and definition names for
|
||||
multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
|
||||
|
||||
2007-07-22 Robert Millan <rmh@aybabtu.com>
|
||||
|
||||
* geninitheader.sh: Process file specified in first parameter rather
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue