From: Vladimir 'phcoder' Serbinenko Date: Sat, 3 Apr 2010 12:25:31 +0000 (+0200) Subject: MIPS support. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50a4d243bd0143132236248df780102155778b26;p=thirdparty%2Fgrub.git 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. --- diff --git a/ChangeLog b/ChangeLog index 33f46a1ee..51ef42b9f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2010-04-03 Vladimir Serbinenko + + 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 * doc/multiboot.texi: Removed the promise of BIOS availability. diff --git a/doc/multiboot.texi b/doc/multiboot.texi index a80197a6c..e0dca1a70 100644 --- a/doc/multiboot.texi +++ b/doc/multiboot.texi @@ -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: diff --git a/doc/multiboot2.h b/doc/multiboot2.h index 647109c0b..275debe75 100644 --- a/doc/multiboot2.h +++ b/doc/multiboot2.h @@ -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