All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vladimir 'φ-coder/phcoder' Serbinenko" <phcoder@gmail.com>
To: The development of GNU GRUB <grub-devel@gnu.org>
Cc: Matthew Garrett <mjg@redhat.com>
Subject: Re: [PATCH V3 1/3] Update the Linux boot protocol
Date: Wed, 08 Feb 2012 20:35:09 +0100	[thread overview]
Message-ID: <4F32CE6D.5090703@gmail.com> (raw)
In-Reply-To: <1328720102-4914-1-git-send-email-mjg@redhat.com>

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<mjg@redhat.com>
> +
> +	* include/grub/i386/linux.h (linux_kernel_header): Update to
> +	boot protocol 2.10.
> +	(linux_kernel_params): Likewise
> +
>   2012-02-07  Vladimir Serbinenko<phcoder@gmail.com>
>
>   	* 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



  parent reply	other threads:[~2012-02-08 19:35 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-08 16:55 [PATCH V3 1/3] Update the Linux boot protocol Matthew Garrett
2012-02-08 16:55 ` [PATCH V3 2/3] Add support for avoiding firmware in relocations Matthew Garrett
2012-02-08 19:41   ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-08 22:22   ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-08 22:25   ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-08 16:55 ` [PATCH V3 3/3] Update Linux loader to follow the kernel's preferences Matthew Garrett
2012-02-08 19:49   ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-08 19:35 ` Vladimir 'φ-coder/phcoder' Serbinenko [this message]
2012-02-26 21:01   ` [PATCH V3 1/3] Update the Linux boot protocol Keshav P R
2012-02-26 21:12     ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-26 21:18       ` Keshav P R
2012-02-26 21:22         ` Keshav P R
2012-02-26 21:29           ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-26 21:34         ` Vladimir 'φ-coder/phcoder' Serbinenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F32CE6D.5090703@gmail.com \
    --to=phcoder@gmail.com \
    --cc=grub-devel@gnu.org \
    --cc=mjg@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.