grub-devel
[Top][All Lists]
Advanced

[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
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]