]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
MIPS support.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 3 Apr 2010 12:25:31 +0000 (14:25 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 3 Apr 2010 12:25:31 +0000 (14:25 +0200)
* doc/multiboot2.h (GRUB_MULTIBOOT_ARCHITECTURE_I386): Removed leftover
GRUB_ prefix.
(MULTIBOOT_ARCHITECTURE_MIPS32): New constant.
* doc/multiboot.texi (MIPS machine state): New section.
(Header magic fields): New possible value of arcitecture field.

ChangeLog
doc/multiboot.texi
doc/multiboot2.h

index 33f46a1eef9cdc9985b4e20d647e64abba1acaa4..51ef42b9f79862785549055551820e12cb23967c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2010-04-03  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       MIPS support.
+
+       * doc/multiboot2.h (GRUB_MULTIBOOT_ARCHITECTURE_I386): Removed leftover
+       GRUB_ prefix.
+       (MULTIBOOT_ARCHITECTURE_MIPS32): New constant.
+       * doc/multiboot.texi (MIPS machine state): New section.
+       (Header magic fields): New possible value of arcitecture field.
+
 2010-03-28  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * doc/multiboot.texi: Removed the promise of BIOS availability.
index a80197a6c225725b1292c081b83c12fc093c3070..e0dca1a70c901e0d83c15327969e81f577fba914 100644 (file)
@@ -392,6 +392,7 @@ The field @samp{architecture} specifies the Central Processing Unit
 Instruction Set Architecture. Since @samp{magic} isn't a palindrome
 it already specifies the endianness ISAs differing only in endianness
 recieve the same ID. @samp{0} means 32-bit (protected) mode of i386.
+@samp{4} means 32-bit MIPS.
 
 @item header_length
 The field @samp{header_length} specifies the Length of multiboot header
@@ -601,7 +602,34 @@ If this tag is present modules must be page aligned.
 
 
 @node Machine state
-@section Machine state
+@section MIPS machine state
+
+When the boot loader invokes the operating system, the machine
+must have the following state:
+
+@table @samp
+@item R4 (also known as A0)
+Must contain the magic value @samp{0x36d76289}; the presence of this
+value indicates to the operating system that it was loaded by a
+Multiboot-compliant boot loader (e.g. as opposed to another type of
+boot loader that the operating system can also be loaded from).
+
+@item R5 (also known as A1)
+Must contain the 32-bit physical address of the Multiboot
+information structure provided by the boot loader (@pxref{Boot
+information format}).
+@end table
+
+All other processor registers and flag bits are undefined. This
+includes, in particular:
+
+@table @samp
+@item R29/SP
+The OS image must create its own stack as soon as it needs one.
+
+@end table
+
+@section I386 machine state
 
 When the boot loader invokes the 32-bit operating system, the machine
 must have the following state:
index 647109c0be7a781f6352a4a93ad4e109a67735a7..275debe758d0aa7f95d8ec8266fecd1d24286b3a 100644 (file)
@@ -61,7 +61,8 @@
 #define MULTIBOOT_HEADER_TAG_FRAMEBUFFER  5
 #define MULTIBOOT_HEADER_TAG_MODULE_ALIGN  6
 
-#define GRUB_MULTIBOOT_ARCHITECTURE_I386  0
+#define MULTIBOOT_ARCHITECTURE_I386  0
+#define MULTIBOOT_ARCHITECTURE_MIPS32  4
 #define MULTIBOOT_HEADER_TAG_OPTIONAL 1
 
 #define MULTIBOOT_CONSOLE_FLAGS_CONSOLE_REQUIRED 1