Skip to content

Commit

Permalink
x86, boot: Document for linked list of struct setup_data
Browse files Browse the repository at this point in the history
Documentation for linked list of struct setup_data.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
  • Loading branch information
Huang, Ying authored and Ingo Molnar committed Apr 26, 2008
1 parent c14b2ad commit fb88438
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions Documentation/i386/boot.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ Protocol 2.05: (Kernel 2.6.20) Make protected mode kernel relocatable.
Protocol 2.06: (Kernel 2.6.22) Added a field that contains the size of
the boot command line

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

Expand Down Expand Up @@ -172,6 +174,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.
Expand Down Expand Up @@ -572,6 +576,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

Expand Down

0 comments on commit fb88438

Please sign in to comment.