x86, boot: Document for linked list of struct setup_data
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>
This commit is contained in:
parent
c14b2adf19
commit
fb88438127
|
@ -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
|
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.09: (kernel 2.6.26) Added a field of 64-bit physical
|
||||||
|
pointer to single linked list of struct setup_data.
|
||||||
|
|
||||||
**** MEMORY LAYOUT
|
**** MEMORY LAYOUT
|
||||||
|
|
||||||
|
@ -172,6 +174,8 @@ Offset Proto Name Meaning
|
||||||
0240/8 2.07+ hardware_subarch_data Subarchitecture-specific data
|
0240/8 2.07+ hardware_subarch_data Subarchitecture-specific data
|
||||||
0248/4 2.08+ payload_offset Offset of kernel payload
|
0248/4 2.08+ payload_offset Offset of kernel payload
|
||||||
024C/4 2.08+ payload_length Length 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
|
(1) For backwards compatibility, if the setup_sects field contains 0, the
|
||||||
real value is 4.
|
real value is 4.
|
||||||
|
@ -572,6 +576,28 @@ command line is entered using the following protocol:
|
||||||
covered by setup_move_size, so you may need to adjust this
|
covered by setup_move_size, so you may need to adjust this
|
||||||
field.
|
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
|
**** MEMORY LAYOUT OF THE REAL-MODE CODE
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue