[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH V3 1/3] Update the Linux boot protocol
From: |
Keshav P R |
Subject: |
Re: [PATCH V3 1/3] Update the Linux boot protocol |
Date: |
Mon, 27 Feb 2012 02:31:28 +0530 |
Status of this patch in grub2 v2.00 code freeze?
- Keshav
On 09/02/2012, Vladimir 'φ-coder/phcoder' Serbinenko <address@hidden> wrote:
> Go ahead.
> On 08.02.2012 17:55, Matthew Garrett wrote:
>> The Linux boot header includes information on the kernel's desired load
>> address and alignment. Add support for that.
>> ---
>> ChangeLog | 6 ++++++
>> include/grub/i386/linux.h | 28 +++++++++++++++++++++++-----
>> 2 files changed, 29 insertions(+), 5 deletions(-)
>>
>> diff --git a/ChangeLog b/ChangeLog
>> index ede7f8e..2bdb3a0 100644
>> --- a/ChangeLog
>> +++ b/ChangeLog
>> @@ -1,3 +1,9 @@
>> +2012-02-08 Matthew Garrett<address@hidden>
>> +
>> + * include/grub/i386/linux.h (linux_kernel_header): Update to
>> + boot protocol 2.10.
>> + (linux_kernel_params): Likewise
>> +
>> 2012-02-07 Vladimir Serbinenko<address@hidden>
>>
>> * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
>> diff --git a/include/grub/i386/linux.h b/include/grub/i386/linux.h
>> index 6aa2391..8e27b93 100644
>> --- a/include/grub/i386/linux.h
>> +++ b/include/grub/i386/linux.h
>> @@ -86,7 +86,7 @@ enum
>> GRUB_VIDEO_LINUX_TYPE_SIMPLE = 0x70 /* Linear framebuffer without
>> any additional functions. */
>> };
>>
>> -/* For the Linux/i386 boot protocol version 2.03. */
>> +/* For the Linux/i386 boot protocol version 2.10. */
>> struct linux_kernel_header
>> {
>> grub_uint8_t code1[0x0020];
>> @@ -131,8 +131,16 @@ struct linux_kernel_header
>> grub_uint32_t initrd_addr_max; /* Highest address for initrd */
>> grub_uint32_t kernel_alignment;
>> grub_uint8_t relocatable;
>> - grub_uint8_t pad[3];
>> + grub_uint8_t min_alignment;
>> + grub_uint8_t pad[2];
>> grub_uint32_t cmdline_size;
>> + grub_uint32_t hardware_subarch;
>> + grub_uint64_t hardware_subarch_data;
>> + grub_uint32_t payload_offset;
>> + grub_uint32_t payload_length;
>> + grub_uint64_t setup_data;
>> + grub_uint64_t pref_address;
>> + grub_uint64_t init_size;
>> } __attribute__ ((packed));
>>
>> /* Boot parameters for Linux based on 2.6.12. This is used by the setup
>> @@ -276,10 +284,20 @@ struct linux_kernel_params
>> grub_uint32_t ramdisk_size; /* initrd size */
>> grub_uint32_t bootsect_kludge; /* obsolete */
>> grub_uint16_t heap_end_ptr; /* Free memory after setup end
>> */
>> - grub_uint16_t pad1; /* Unused */
>> + grub_uint8_t ext_loader_ver; /* Extended loader version */
>> + grub_uint8_t ext_loader_type; /* Extended loader type */
>> grub_uint32_t cmd_line_ptr; /* Points to the kernel command
>> line */
>> -
>> - grub_uint8_t pad2[164]; /* 22c */
>> + grub_uint32_t initrd_addr_max; /* Maximum initrd address */
>> + grub_uint32_t kernel_alignment; /* Alignment of the kernel */
>> + grub_uint8_t relocatable_kernel; /* Is the kernel relocatable */
>> + grub_uint8_t pad1[3];
>> + grub_uint32_t cmdline_size; /* Size of the kernel command
>> line */
>> + grub_uint32_t hardware_subarch;
>> + grub_uint64_t hardware_subarch_data;
>> + grub_uint32_t payload_offset;
>> + grub_uint32_t payload_length;
>> + grub_uint64_t setup_data;
>> + grub_uint8_t pad2[120]; /* 258 */
>> struct grub_e820_mmap e820_map[GRUB_E820_MAX_ENTRY]; /* 2d0 */
>>
>> } __attribute__ ((packed));
>
>
> --
> Regards
> Vladimir 'φ-coder/phcoder' Serbinenko
>
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel
>