diff options
author | Huang, Ying <ying.huang@intel.com> | 2008-03-27 22:49:50 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-26 15:34:42 -0400 |
commit | fb884381273669fad034538e6cb186678407cf22 (patch) | |
tree | 2f54f6bb709f50da5325e8e3a9e1c52c649deb4d /Documentation | |
parent | c14b2adf19b5d35aff91280b1a73c41a4dcabfe3 (diff) |
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>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/i386/boot.txt | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Documentation/i386/boot.txt b/Documentation/i386/boot.txt index 2eb16100bb3f..0fac3465f2e3 100644 --- a/Documentation/i386/boot.txt +++ b/Documentation/i386/boot.txt | |||
@@ -42,6 +42,8 @@ Protocol 2.05: (Kernel 2.6.20) Make protected mode kernel relocatable. | |||
42 | Protocol 2.06: (Kernel 2.6.22) Added a field that contains the size of | 42 | Protocol 2.06: (Kernel 2.6.22) Added a field that contains the size of |
43 | the boot command line | 43 | the boot command line |
44 | 44 | ||
45 | Protocol 2.09: (kernel 2.6.26) Added a field of 64-bit physical | ||
46 | pointer to single linked list of struct setup_data. | ||
45 | 47 | ||
46 | **** MEMORY LAYOUT | 48 | **** MEMORY LAYOUT |
47 | 49 | ||
@@ -172,6 +174,8 @@ Offset Proto Name Meaning | |||
172 | 0240/8 2.07+ hardware_subarch_data Subarchitecture-specific data | 174 | 0240/8 2.07+ hardware_subarch_data Subarchitecture-specific data |
173 | 0248/4 2.08+ payload_offset Offset of kernel payload | 175 | 0248/4 2.08+ payload_offset Offset of kernel payload |
174 | 024C/4 2.08+ payload_length Length of kernel payload | 176 | 024C/4 2.08+ payload_length Length of kernel payload |
177 | 0250/8 2.09+ setup_data 64-bit physical pointer to linked list | ||
178 | of struct setup_data | ||
175 | 179 | ||
176 | (1) For backwards compatibility, if the setup_sects field contains 0, the | 180 | (1) For backwards compatibility, if the setup_sects field contains 0, the |
177 | real value is 4. | 181 | real value is 4. |
@@ -572,6 +576,28 @@ command line is entered using the following protocol: | |||
572 | covered by setup_move_size, so you may need to adjust this | 576 | covered by setup_move_size, so you may need to adjust this |
573 | field. | 577 | field. |
574 | 578 | ||
579 | Field name: setup_data | ||
580 | Type: write (obligatory) | ||
581 | Offset/size: 0x250/8 | ||
582 | Protocol: 2.09+ | ||
583 | |||
584 | The 64-bit physical pointer to NULL terminated single linked list of | ||
585 | struct setup_data. This is used to define a more extensible boot | ||
586 | parameters passing mechanism. The definition of struct setup_data is | ||
587 | as follow: | ||
588 | |||
589 | struct setup_data { | ||
590 | u64 next; | ||
591 | u32 type; | ||
592 | u32 len; | ||
593 | u8 data[0]; | ||
594 | }; | ||
595 | |||
596 | Where, the next is a 64-bit physical pointer to the next node of | ||
597 | linked list, the next field of the last node is 0; the type is used | ||
598 | to identify the contents of data; the len is the length of data | ||
599 | field; the data holds the real payload. | ||
600 | |||
575 | 601 | ||
576 | **** MEMORY LAYOUT OF THE REAL-MODE CODE | 602 | **** MEMORY LAYOUT OF THE REAL-MODE CODE |
577 | 603 | ||