All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Feng Kan <fkan@apm.com>,
	xen-devel@lists.xenproject.org, sstabellini@kernel.org
Subject: Re: [XEN-devel] arm64: fix incorrect pa_range_info table to support 42 bit PA systems.
Date: Mon, 15 May 2017 15:53:49 +0100	[thread overview]
Message-ID: <32f2ca06-7344-6fa8-63a0-225faa111bb5@arm.com> (raw)
In-Reply-To: <1494635168-27062-1-git-send-email-fkan@apm.com>

Hello Feng,

On 13/05/17 01:26, Feng Kan wrote:
> The pa_range_info table contain incorrect root_order and t0sz which
> prevent 42 bit PA systems from booting dom0.

As I mentioned in the previous thread [1], this is not a bug. What you 
configure below is the stage-2 page table and not the hypervisor page-table.

It is perfectly fine to expose less IPA (Intermediate Physical Address) 
bits than the number of PA (Physical Address) bits as long as all the 
address wired are below 40 bits (assumption made by the patch who added 
this code). Does your hardware have devices/RAM above 40 bits? If so, 
then you need to mention in the commit message.

This bring another question, now you will allocate 8 pages by default 
for both DOM0 and guests. Exposing 42 bits IPA to a guest does not sound 
necessary, so we would waste memory here. How are you going to address that?

Lastly, please quote the ARM ARM when you modify the generic ARM code to 
help the reviewer checking your code.

Cheers,

[1] 
https://lists.xenproject.org/archives/html/xen-devel/2017-05/msg01254.html

>
> Signed-off-by: Feng Kan <fkan@apm.com>
> ---
>  xen/arch/arm/p2m.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index 34d5776..cbb8675 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -1479,7 +1479,7 @@ void __init setup_virt_paging(void)
>          [0] = { 32,      32/*32*/,  0,          1 },
>          [1] = { 36,      28/*28*/,  0,          1 },
>          [2] = { 40,      24/*24*/,  1,          1 },
> -        [3] = { 42,      24/*22*/,  1,          1 },
> +        [3] = { 42,      22/*22*/,  3,          1 },
>          [4] = { 44,      20/*20*/,  0,          2 },
>          [5] = { 48,      16/*16*/,  0,          2 },
>          [6] = { 0 }, /* Invalid */
>

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2017-05-15 14:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-13  0:26 [XEN-devel] arm64: fix incorrect pa_range_info table to support 42 bit PA systems Feng Kan
2017-05-15 14:53 ` Julien Grall [this message]
2017-05-15 17:11   ` Feng Kan
2017-05-15 17:14     ` Julien Grall

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=32f2ca06-7344-6fa8-63a0-225faa111bb5@arm.com \
    --to=julien.grall@arm.com \
    --cc=fkan@apm.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.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.