All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: Oleksandr Dmytryshyn <oleksandr.dmytryshyn@globallogic.com>,
	Ian Campbell <ian.campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	Tim Deegan <tim@xen.org>,
	xen-devel@lists.xen.org
Subject: Re: [PATCH v2] xen: arm: introduce uImage probe function for Dom0
Date: Wed, 20 Aug 2014 10:59:47 -0500	[thread overview]
Message-ID: <53F4C5F3.2090301@linaro.org> (raw)
In-Reply-To: <1408529074-20013-1-git-send-email-oleksandr.dmytryshyn@globallogic.com>

Hi Oleksandr,

On 20/08/14 05:04, Oleksandr Dmytryshyn wrote:
> Patch adds a possibility to boot dom0 kernel from uImage.
> This is needed to improve boot-time. Comparing to zImage,
> uImage is not packed, therefore we can save time needed
> to unpack.

Can you add a link to the uImage format in the commit message and/or patch?

> Signed-off-by: Oleksandr Dmytryshyn <oleksandr.dmytryshyn@globallogic.com>
> ---
> Changed since v1:
>   * fixed commit message
>   * added uimage structure definition
>   * removed checking of the append device tree
>
>   xen/arch/arm/kernel.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 63 insertions(+)
>
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index d635a7e..20e6884 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -16,6 +16,9 @@
>
>   #include "kernel.h"
>
> +#define UIMAGE32_MAGIC        0x27051956
> +#define UIMAGE32_NMLEN        32
> +

Why did you add "32" in the name? The uimage header is architecture 
independent.

[..]

> +    start = be32_to_cpu(uimage.load);
> +    len = be32_to_cpu(uimage.size);
> +
> +    if ( len > size )
> +        return -EINVAL;
> +
> +    /*
> +     * If start is sizeof(zimage) zImage is position independent -- load it
> +     * at 32k from start of RAM.

The comment doesn't seems relevant. Why are you talking about zimage?

> +     */
> +    if ( start == 0 )
> +        info->zimage.start = info->mem.bank[0].start + 0x8000;
> +    else
> +        info->zimage.start = start;

I know we have this check on zImage. As the kernel should be position 
independent, otherwise it will unlikely boot as DOM0, I think it would 
be better to print a warning if start != 0.

Or maybe we should just ignore it so the same uImage would be able to 
work on both bare-metal and Xen.

> +
> +    info->zimage.kernel_addr = addr + sizeof(uimage);
> +    info->zimage.len = len;
> +    info->entry = info->zimage.start;
> +    info->load = kernel_zimage_load;
> +
> +#ifdef CONFIG_ARM_64
> +    info->type = DOMAIN_32BIT;
> +#endif

As said a bit earlier, the uImage is architecture independent. You have 
to check the arch field to know the kernel is 32 or 64 bits.

Regards,

-- 
Julien Grall

      reply	other threads:[~2014-08-20 15:59 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-20 10:04 [PATCH v2] xen: arm: introduce uImage probe function for Dom0 Oleksandr Dmytryshyn
2014-08-20 15:59 ` Julien Grall [this message]

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=53F4C5F3.2090301@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=ian.campbell@citrix.com \
    --cc=oleksandr.dmytryshyn@globallogic.com \
    --cc=stefano.stabellini@citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.org \
    /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.