xen-devel.lists.xenproject.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).