mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-22 15:22:39 +00:00
2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
Kick out Multiboot 2 draft as a branch. Initially it is identical to Multiboot 1, except for the magic numbers. * doc/multiboot.h: Rename to ... * doc/multiboot2.h: ... this. Update all users. (MULTIBOOT_HEADER_MAGIC): Replace with ... (MULTIBOOT2_HEADER_MAGIC): ... this. Update all users. (MULTIBOOT_BOOTLOADER_MAGIC): Replace with ... (MULTIBOOT2_BOOTLOADER_MAGIC): ... this. Update all users.
This commit is contained in:
1 parent
df6eb305d1
commit
9eaa21f055
6 files changed
+32
-20
No files matched your search
@@ -1,3 +1,15 @@
|
||||
2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
|
||||
|
||||
Kick out Multiboot 2 draft as a branch. Initially it is
|
||||
identical to Multiboot 1, except for the magic numbers.
|
||||
|
||||
* doc/multiboot.h: Rename to ...
|
||||
* doc/multiboot2.h: ... this. Update all users.
|
||||
(MULTIBOOT_HEADER_MAGIC): Replace with ...
|
||||
(MULTIBOOT2_HEADER_MAGIC): ... this. Update all users.
|
||||
(MULTIBOOT_BOOTLOADER_MAGIC): Replace with ...
|
||||
(MULTIBOOT2_BOOTLOADER_MAGIC): ... this. Update all users.
|
||||
|
||||
2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
|
||||
|
||||
* doc/multiboot.h (MULTIBOOT_UNSUPPORTED): Remove macro (moved to
|
||||
|
||||
+4
-4
@@ -1,10 +1,10 @@
|
||||
info_TEXINFOS = multiboot.texi
|
||||
EXAMPLES = boot.S kernel.c multiboot.h
|
||||
multiboot_TEXINFOS = boot.S.texi kernel.c.texi multiboot.h.texi
|
||||
EXAMPLES = boot.S kernel.c multiboot2.h
|
||||
multiboot_TEXINFOS = boot.S.texi kernel.c.texi multiboot2.h.texi
|
||||
SRC2TEXI = src2texi
|
||||
noinst_SCRIPTS = $(SRC2TEXI)
|
||||
EXTRA_PROGRAMS = kernel
|
||||
pkginclude_HEADERS = multiboot.h
|
||||
pkginclude_HEADERS = multiboot2.h
|
||||
|
||||
# The example kernel is built if you specify --enable-example-kernel.
|
||||
if BUILD_EXAMPLE_KERNEL
|
||||
@@ -14,7 +14,7 @@ kernel_CFLAGS = -fno-builtin -nostdinc -O -g -Wall \
|
||||
-imacros $(top_builddir)/config.h
|
||||
kernel_LDFLAGS = -nostdlib -Wl,-N -Wl,-Ttext -Wl,100000 -Wl,--build-id=none
|
||||
|
||||
boot.o: multiboot.h
|
||||
boot.o: multiboot2.h
|
||||
endif
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(noinst_SCRIPTS) \
|
||||
|
||||
+3
-3
@@ -16,7 +16,7 @@
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#define ASM_FILE 1
|
||||
#include <multiboot.h>
|
||||
#include <multiboot2.h>
|
||||
|
||||
/* C symbol format. HAVE_ASM_USCORE is defined by configure. */
|
||||
#ifdef HAVE_ASM_USCORE
|
||||
@@ -49,11 +49,11 @@ _start:
|
||||
/* Multiboot header. */
|
||||
multiboot_header:
|
||||
/* magic */
|
||||
.long MULTIBOOT_HEADER_MAGIC
|
||||
.long MULTIBOOT2_HEADER_MAGIC
|
||||
/* flags */
|
||||
.long MULTIBOOT_HEADER_FLAGS
|
||||
/* checksum */
|
||||
.long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
|
||||
.long -(MULTIBOOT2_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
|
||||
#ifndef __ELF__
|
||||
/* header_addr */
|
||||
.long multiboot_header
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#include <multiboot.h>
|
||||
#include <multiboot2.h>
|
||||
|
||||
/* Macros. */
|
||||
|
||||
@@ -58,7 +58,7 @@ cmain (unsigned long magic, unsigned long addr)
|
||||
cls ();
|
||||
|
||||
/* Am I booted by a Multiboot-compliant boot loader? */
|
||||
if (magic != MULTIBOOT_BOOTLOADER_MAGIC)
|
||||
if (magic != MULTIBOOT2_BOOTLOADER_MAGIC)
|
||||
{
|
||||
printf ("Invalid magic number: 0x%x\n", (unsigned) magic);
|
||||
return;
|
||||
|
||||
+7
-7
@@ -1078,7 +1078,7 @@ Multiboot kernel. The source files can be found under the directory
|
||||
@file{doc} in the Multiboot source distribution.
|
||||
|
||||
The kernel @file{kernel} consists of only three files: @file{boot.S},
|
||||
@file{kernel.c} and @file{multiboot.h}. The assembly source
|
||||
@file{kernel.c} and @file{multiboot2.h}. The assembly source
|
||||
@file{boot.S} is written in GAS (@pxref{Top, , GNU assembler, as.info,
|
||||
The GNU assembler}), and contains the Multiboot information structure to
|
||||
comply with the specification. When a Multiboot-compliant boot loader
|
||||
@@ -1089,25 +1089,25 @@ the user of the halt state and stops forever until you push the reset
|
||||
key. The file @file{kernel.c} contains the function @code{cmain},
|
||||
which checks if the magic number passed by the boot loader is valid and
|
||||
so on, and some functions to print messages on the screen. The file
|
||||
@file{multiboot.h} defines some macros, such as the magic number for the
|
||||
@file{multiboot2.h} defines some macros, such as the magic number for the
|
||||
Multiboot header, the Multiboot header structure and the Multiboot
|
||||
information structure.
|
||||
|
||||
@menu
|
||||
* multiboot.h::
|
||||
* multiboot2.h::
|
||||
* boot.S::
|
||||
* kernel.c::
|
||||
* Other Multiboot kernels::
|
||||
@end menu
|
||||
|
||||
|
||||
@node multiboot.h
|
||||
@subsection multiboot.h
|
||||
@node multiboot2.h
|
||||
@subsection multiboot2.h
|
||||
|
||||
This is the source code in the file @file{multiboot.h}:
|
||||
This is the source code in the file @file{multiboot2.h}:
|
||||
|
||||
@example
|
||||
@include multiboot.h.texi
|
||||
@include multiboot2.h.texi
|
||||
@end example
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* multiboot.h - Multiboot header file. */
|
||||
/* Copyright (C) 1999,2003,2007,2008,2009 Free Software Foundation, Inc.
|
||||
/* multiboot2.h - Multiboot 2 header file. */
|
||||
/* Copyright (C) 1999,2003,2007,2008,2009,2010 Free Software Foundation, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to
|
||||
@@ -26,10 +26,10 @@
|
||||
#define MULTIBOOT_SEARCH 8192
|
||||
|
||||
/* The magic field should contain this. */
|
||||
#define MULTIBOOT_HEADER_MAGIC 0x1BADB002
|
||||
#define MULTIBOOT2_HEADER_MAGIC 0xe85250d6
|
||||
|
||||
/* This should be in %eax. */
|
||||
#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002
|
||||
#define MULTIBOOT2_BOOTLOADER_MAGIC 0x36d76289
|
||||
|
||||
/* Alignment of multiboot modules. */
|
||||
#define MULTIBOOT_MOD_ALIGN 0x00001000
|
||||
Reference in new issue
Block a user