power_supply: Sharp SL-6000 (tosa) batteries support
[pandora-kernel.git] / Documentation / i386 / boot.txt
index 2eb1610..95ad15c 100644 (file)
@@ -40,8 +40,18 @@ Protocol 2.05:       (Kernel 2.6.20) Make protected mode kernel relocatable.
                Introduce relocatable_kernel and kernel_alignment fields.
 
 Protocol 2.06: (Kernel 2.6.22) Added a field that contains the size of
-               the boot command line
+               the boot command line.
 
+Protocol 2.07: (Kernel 2.6.24) Added paravirtualised boot protocol.
+               Introduced hardware_subarch and hardware_subarch_data
+               and KEEP_SEGMENTS flag in load_flags.
+
+Protocol 2.08: (Kernel 2.6.26) Added crc32 checksum and ELF format
+               payload. Introduced payload_offset and payload length
+               fields to aid in locating the payload.
+
+Protocol 2.09: (Kernel 2.6.26) Added a field of 64-bit physical
+               pointer to single linked list of struct setup_data.
 
 **** MEMORY LAYOUT
 
@@ -172,6 +182,8 @@ Offset      Proto   Name            Meaning
 0240/8 2.07+   hardware_subarch_data Subarchitecture-specific data
 0248/4 2.08+   payload_offset  Offset of kernel payload
 024C/4 2.08+   payload_length  Length of kernel payload
+0250/8 2.09+   setup_data      64-bit physical pointer to linked list
+                               of struct setup_data
 
 (1) For backwards compatibility, if the setup_sects field contains 0, the
     real value is 4.
@@ -572,6 +584,28 @@ command line is entered using the following protocol:
        covered by setup_move_size, so you may need to adjust this
        field.
 
+Field name:    setup_data
+Type:          write (obligatory)
+Offset/size:   0x250/8
+Protocol:      2.09+
+
+  The 64-bit physical pointer to NULL terminated single linked list of
+  struct setup_data. This is used to define a more extensible boot
+  parameters passing mechanism. The definition of struct setup_data is
+  as follow:
+
+  struct setup_data {
+         u64 next;
+         u32 type;
+         u32 len;
+         u8  data[0];
+  };
+
+  Where, the next is a 64-bit physical pointer to the next node of
+  linked list, the next field of the last node is 0; the type is used
+  to identify the contents of data; the len is the length of data
+  field; the data holds the real payload.
+
 
 **** MEMORY LAYOUT OF THE REAL-MODE CODE